
Dear Sergei,
In message 20100807101848.636cb978@mosly you wrote:
I have 250GB USB-HDD attached to sheevaplug and using u-boot
U-Boot 2010.03-00176-g42f7128 (Aug 06 2010 - 22:24:34) Marvell-Sheevaplug
It's a tip of 'u-boot-marvell/testing' branch.
Did you try current mainline instead? It is usually not recommended to use any of the custodian trees and especially their testing branches unless you know _exactly_ what these contain and what you are looking after.
[ 23.015860] scsi0 : usb-storage 1-1:1.0 [ 26.054268] scsi 0:0:0:0: Direct-Access StoreJet Transcend PQ: 0 ANSI: 2 CCS [ 28.774083] sd 0:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/232 GiB)
...
Device 0: Vendor: StoreJet Rev: Prod: Transcend Type: Hard Disk Capacity: 28759.9 MB = 28.0 GB (488397168 x 512)
Heh, capacity is reported incorrectly, but it works am I'm able to load kernel from there.
The reason for this is that the multiplication 488397168 x 512 will overflow a 32 bit integer as used in "disk/part.c"; this shouldbe fixed...
All these things are almost 100% reproducible.
Vendor-shipped (Marvell's) u-boot has exactly the same disease: ** MARVELL BOARD: SHEEVA PLUG LE U-Boot 1.1.4 (Mar 19 2009 - 16:06:59) Marvell version: 3.4.16
This can be anything - issues with the USB driver, missing or incorrect initializatioon of the SoC, or even hardware issues.
Can you try to debug it?
Best regards,
Wolfgang Denk