[U-Boot] Failing USB devices

Marek Vasut marex at denx.de
Fri Aug 23 05:23:14 CEST 2013


Dear Andrew Murray,

> Hello,
> 
> I'm unable to use some mass storage devices with the current git version
> (6612ab33956ae09c5ba2fde9c1540b519625ba37) of UBoot on a TI Davinci custom
> board. I have 7 pen drives, and 2 of them fail.
> 
> I-O DATA USB Flash Disk (0x04bb/0x0c43)
> 
> ...
> 2 USB Device(s) found
> scan end
>        scanning usb for storage devices... i=0
> i=1
> 
> 
> USB Mass Storage device detected
> Transport: Bulk/Bulk/Bulk
> Endpoints In 1 Out 2 Int 0
> usb_control_msg: request: 0xFE, requesttype: 0xA1, value 0x0 index 0x0
> length 0x1
> Get Max LUN -> len = 1, result = 0
>  address 2
> COMMAND phase
> DATA phase
> STATUS phase
> !CSWSIGNATURE
> BBB_reset
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0
> length 0x0
> RESET:stall
> inquiry returns -1
> COMMAND phase
> DATA phase
> STATUS phase
> !CSWSIGNATURE
> BBB_reset
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0
> length 0x0
> RESET:stall
> inquiry returns -1
> COMMAND phase
> DATA phase
> STATUS phase
> !CSWSIGNATURE
> BBB_reset
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0
> length 0x0
> RESET:stall
> inquiry returns -1
> COMMAND phase
> DATA phase
> STATUS phase
> !CSWSIGNATURE
> BBB_reset
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0
> length 0x0
> RESET:stall
> inquiry returns -1
> COMMAND phase
> DATA phase
> STATUS phase
> !CSWSIGNATURE
> BBB_reset
> usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0
> length 0x0
> RESET:stall
> inquiry returns -1
> error in inquiry
> i=2
> 0 Storage Device(s) found
> 
> In this case putting a delay of 1000ms in usb_stor_BBB_transport between
> the COMMAND and DATA phase, (in place of the conditional 5ms USB_READY
> delay), overcomes this issue. It seems this 1000ms delay is only required
> for the first COMMAND, subsequent COMMAND phases seem happy with the 5ms
> delay.
> 
> Lexar JumpDrive 32GB (0x0424/0x2507):
> 

So the device takes too long to init itself after powering up the port. It would 
be nice if you could check the spec and see if there is a way to query the 
device for ready condition. Although I remember we already do that.

Best regards,
Marek Vasut


More information about the U-Boot mailing list