On Sun, 2 Oct 2005 04:46:49 -0400, Glenn Maynard <[EMAIL PROTECTED]> wrote:
> (but the same thing happens with ub with most of the newer patches).
The following happens, according to the log:
dd605110 211283826 S Bo:004:02 -115 31 = 55534243 07000000 00000000 00000600
00000000 00000000 00000000 000000
dd605110 211284886 C Bo:004:02 0 31 >
<--- We send Test Unit Ready, transfer completes
dd605110 211284896 S Bi:004:01 -115 13 <
dd605110 211285882 C Bi:004:01 0 13 = 00005553 42530700 00000000 00
<--- The device replies with 2 zero bytes before the status
dd605110 211285890 S Bi:004:01 -115 13 <
dd605110 216285135 C Bi:004:01 -104 0
<--- OK, this is naturally a 104, so an open fails
<--- Application tries to open again
dd605110 216285209 S Bo:004:02 -115 31 = 55534243 08000000 00000000 00000600
00000000 00000000 00000000 000000
dd605110 216287133 C Bo:004:02 0 31 >
dd605110 216287140 S Bi:004:01 -115 13 <
dd605110 216288133 C Bi:004:01 0 13 = 55534253 08000000 00000000 00
<--- Test Unit Ready succeeds, everything is peachy
dd605110 216288185 S Bo:004:02 -115 31 = 55534243 09000000 08000000 80000a25
00000000 00000000 00000000 000000
dd605110 216291133 C Bo:004:02 0 31 >
dd605110 216291140 S Bi:004:01 -115 8 <
dd605110 216292133 C Bi:004:01 0 8 = 0007cfff 00000200
dd605110 216292140 S Bi:004:01 -115 13 <
dd605110 216295132 C Bi:004:01 0 13 = 55534253 09000000 00000000 00
<---- Reading the capacity succeeds
dd605110 216295299 S Bo:004:02 -115 31 = 55534243 0a000000 00000000 00000600
00000000 00000000 00000000 000000
dd605110 216296132 C Bo:004:02 0 31 >
dd605110 216296140 S Bi:004:01 -115 13 <
dd605110 216299131 C Bi:004:01 0 13 = 55534253 0a000000 00000000 00
dd605110 216299177 S Bo:004:02 -115 31 = 55534243 0b000000 08000000 80000a25
00000000 00000000 00000000 000000
dd605110 216300131 C Bo:004:02 0 31 >
dd605110 216300138 S Bi:004:01 -115 8 <
dd605110 216303131 C Bi:004:01 0 8 = 0007cfff 00000200
dd605110 216303138 S Bi:004:01 -115 13 <
<---- We do revalidation twice, there's a known issue in the block layer.
Anyway, so far so good.
dd605110 216306130 C Bi:004:01 0 13 = 55534253 0b000000 00000000 00
dd605110 216306252 S Bo:004:02 -115 31 = 55534243 0c000000 00100000 80000a28
00000000 00000008 00000000 000000
dd605110 216307131 C Bo:004:02 0 31 >
<---- We try to read partition table, command transfer ends normally
dd605110 216307138 S Bi:004:01 -115 4096 <
dd605110 221306384 C Bi:004:01 -104 0
<---- Data transfer times out.
After that, device is dead, not accepting new commands.
The device is flakey, obviously. However, perhaps other drivers have
a way of recovering from this situation. For example, usb-storage
can do a port reset.
Does it work with usb-storage?
If yes, I suppose it's a good time to add proper resetting and recovery
to ub.
-- Pete
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel