[U-Boot] problem with USB storage STALL status

Anton Vasilyev anton.vasilyev.87 at gmail.com
Wed Feb 27 11:05:48 CET 2013


Greetings,

I faced with problem: when I read data from USB Storage It unpredictably
goes to 'RESET:stall' condition.
After this read continuously fall down to usb_stor_BBB_reset() function
Comment to this function told about Reset recovery:
* For Reset Recovery the host shall issue in the following order:
* a) a Bulk-Only Mass Storage Reset
* b) a Clear Feature HALT to the Bulk-In endpoint
* c) a Clear Feature HALT to the Bulk-Out endpoint
*
* This is done in 3 steps.
*
* If the reset doesn't succeed, the device should be port reset.

Whereas Universal Serial Bus Specification Revision 2.0 in section 8.5.3
describes that STALL handshake will be returned on all succeeding accesses
until a SETUP PID is received.

I can't understand how correctly work with STALL status and where is a root
of problem.




Debug information is following:

STATUS phase
dev=3f3b03d8, pipe=c8008383, buffer=3f1f7490, length=13, req=(null)
TOKEN=0x80008d00
.read10: start 7c70 blocks 28
COMMAND phase
dev=3f3b03d8, pipe=c8008303, buffer=3f1f7444, length=31, req=(null)
TOKEN=0x80008c00
DATA phase
dev=3f3b03d8, pipe=c8008383, buffer=0058e000, length=20480, req=(null)
TOKEN=0x8000dd08
usb_bulk_msg error status 32
BBB_reset
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0
length 0x0
dev=3f3b03d8, pipe=88000303, buffer=(null), length=0, req=3f1f7430
req=255 (0xff), type=33 (0x21), value=0 (0x0), index=0
TOKEN=0x80248
RESET:stall
Read ERROR
COMMAND phase
dev=3f3b03d8, pipe=c8008303, buffer=3f1f7444, length=31, req=(null)
dev=3, usbsts=0x88, p[1]=0x8001205, p[2]=0x0
usb_stor_BBB_comdat:usb_bulk_msg error
failed to send CBW status -2147483648
BBB_reset
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0
length 0x0
dev=3f3b03d8, pipe=88000303, buffer=(null), length=0, req=3f1f7430
req=255 (0xff), type=33 (0x21), value=0 (0x0), index=0
TOKEN=0x80248
RESET:stall
Request Sense returned 00 00 00
.read10: start 7c70 blocks 28
COMMAND phase
dev=3f3b03d8, pipe=c8008303, buffer=3f1f7444, length=31, req=(null)
dev=3, usbsts=0x88, p[1]=0x8001205, p[2]=0x0
usb_stor_BBB_comdat:usb_bulk_msg error
failed to send CBW status -2147483648
BBB_reset
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0
length 0x0
dev=3f3b03d8, pipe=88000303, buffer=(null), length=0, req=3f1f7430
req=255 (0xff), type=33 (0x21), value=0 (0x0), index=0
TOKEN=0x80248
RESET:stall
Read ERROR
COMMAND phase
dev=3f3b03d8, pipe=c8008303, buffer=3f1f7444, length=31, req=(null)
dev=3, usbsts=0x88, p[1]=0x8001205, p[2]=0x0
usb_stor_BBB_comdat:usb_bulk_msg error
failed to send CBW status -2147483648
BBB_reset
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0
length 0x0
dev=3f3b03d8, pipe=88000303, buffer=(null), length=0, req=3f1f7430
req=255 (0xff), type=33 (0x21), value=0 (0x0), index=0
TOKEN=0x80248
RESET:stall
Request Sense returned 00 00 00
.read10: start 7c70 blocks 28
COMMAND phase
dev=3f3b03d8, pipe=c8008303, buffer=3f1f7444, length=31, req=(null)
dev=3, usbsts=0x88, p[1]=0x8001205, p[2]=0x0
usb_stor_BBB_comdat:usb_bulk_msg error
failed to send CBW status -2147483648
BBB_reset
usb_control_msg: request: 0xFF, requesttype: 0x21, value 0x0 index 0x0
length 0x0
dev=3f3b03d8, pipe=88000303, buffer=(null), length=0, req=3f1f7430
req=255 (0xff), type=33 (0x21), value=0 (0x0), index=0
TOKEN=0x80248
RESET:stall
Read ERROR

-- 
Best regards,
Anton Vasilyev.


More information about the U-Boot mailing list