On Tue, 12 Sep 2006, Vivek Dharmadhikari wrote: > Alan > > The drive do responds to MODE SENSE when plugged into Linux PC. > > I used the USB analyzer and I see following commands on the wire. > > 1. Inquiry message - Device responds with 36 bytes of data and returns > success in CSW > 2. Test Unit Ready - Device returns error(0x1) in CSW > 3. Request Sense - Device responds with 18 bytes of data and returns > success in CSW > 4. Test Unit Ready - Device Returns Success in CSW > 5. Unknown Command(opcode 0x25) - Device responds with 8 bytes of data > and return success in CSW.
0x25 is READ CAPACITY. > The above sequence of commands and their contents are identicle for both > our embedded system and Linuc PC. The next command(given below) causes > different reaction from the device on our system and PC. Okay, good. You've found the first place where there's a difference between the behavior on the two systems. > 6 Mode Sense(6) - on our embedded system, the device do not return > ACK to data1 packet. However, On the PC, the device return the ACK to > data1 packet. > > 7. Our embedded system repeat the Mode Sense(6) command three times and > do not see the ACK from the device. The USB host driver then do reset. > On the PC, the host proceeds with the Test Unit Ready command. > > There is gap of 12ms between the last EOP bit of ACK for CSW in command > 5 above and the SYNC pattern for Mode Sense(6) command when using our > system. On the other hand,the same gap is only 1-2ms on PC. > > The gap of 12ms is the only difference between the trace for our system > and PC. The bytes of the two CBW packets are otherwise identical? > Is it possible that the large gap of 12ms confuses the device ? It should not be possible. The only reason I can think of for the difference in behavior would be if the device didn't receive the data1 packet correctly. But that seems very unlikely. Have you tried this with a different device? Maybe a different brand of USB flash memory device will work better. This sure seems to be a problem with the USB device and not with your embedded Linux system. If a different USB mass-storage device fails in the same way then I would change my mind. Still, you're in a better position than I am to track down the reason for the failure. You have the USB analyzer traces to compare, you know exactly where to look, and you have the hardware to experiment with. Alan Stern ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
