David: I'm going to have to ask for your help in tracing this any farther.
Here's a commented log extract from Andras: On Thu, 5 Jun 2003, Major A wrote: > Now, with the disk connected directly, I can see a bit more output > though: > > > Jun 5 20:53:25 ventus kernel: usb-storage: Bulk command transfer result=0 > > Jun 5 20:53:25 ventus kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer > > 131072 bytes, 32 entries > > Jun 5 20:53:25 ventus kernel: usb-storage: Status code 0; transferred > > 131072/131072 > > Jun 5 20:53:25 ventus kernel: usb-storage: -- transfer complete > > Jun 5 20:53:25 ventus kernel: usb-storage: Bulk data transfer result 0x0 That was the successful completion of the data part of a READ(10). > > Jun 5 20:53:25 ventus kernel: usb-storage: Attempting to get CSW... > > Jun 5 20:53:25 ventus kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 > > bytes > > Jun 5 20:53:55 ventus kernel: usb-storage: usb_storage_command_abort called > > Jun 5 20:53:55 ventus kernel: usb-storage: usb_stor_stop_transport called > > Jun 5 20:53:55 ventus kernel: usb-storage: -- cancelling URB > > Jun 5 20:53:55 ventus kernel: usb-storage: Status code -104; transferred 0/13 > > Jun 5 20:53:55 ventus kernel: usb-storage: -- transfer cancelled > > Jun 5 20:53:55 ventus kernel: usb-storage: Bulk status result = 3 > > Jun 5 20:53:55 ventus kernel: usb-storage: -- command was aborted But the accompanying status bulk-in transfer timed out. Unfortunately, there's no information from the EHCI driver to indicate if anything else happened. > > Jun 5 20:53:55 ventus kernel: usb-storage: Bulk reset requested > > Jun 5 20:53:55 ventus kernel: usb-storage: usb_stor_control_msg: rq=ff rqtype=21 > > value=0000 index=00 len=0 > > Jun 5 20:54:15 ventus kernel: usb-storage: Timeout -- cancelling URB > > Jun 5 20:54:15 ventus kernel: usb-storage: Soft reset failed: -104 A control transfer telling the device to reset also timed out. > > Jun 5 20:54:15 ventus kernel: usb-storage: scsi command aborted > > Jun 5 20:54:15 ventus kernel: usb-storage: *** thread sleeping. > > Jun 5 20:54:15 ventus kernel: usb-storage: queuecommand() called > > Jun 5 20:54:15 ventus kernel: usb-storage: *** thread awakened. > > Jun 5 20:54:15 ventus kernel: usb-storage: Command TEST_UNIT_READY (6 bytes) > > Jun 5 20:54:15 ventus kernel: usb-storage: 00 00 00 00 00 00 > > Jun 5 20:54:15 ventus kernel: usb-storage: Bulk command S 0x43425355 T 0x136 Trg > > 0 LUN 0 L 0 F 0 CL 6 > > Jun 5 20:54:15 ventus kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 > > bytes > > Jun 5 20:54:15 ventus kernel: usb-storage: Status code 0; transferred 31/31 > > Jun 5 20:54:15 ventus kernel: usb-storage: -- transfer complete > > Jun 5 20:54:15 ventus kernel: usb-storage: Bulk command transfer result=0 The command bulk-out transfer part of the TUR apparently worked, oddly enough. > > Jun 5 20:54:15 ventus kernel: usb-storage: Attempting to get CSW... > > Jun 5 20:54:15 ventus kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 13 > > bytes > > Jun 5 20:54:25 ventus kernel: usb-storage: usb_storage_command_abort called > > Jun 5 20:54:25 ventus kernel: usb-storage: usb_stor_stop_transport called > > Jun 5 20:54:25 ventus kernel: usb-storage: -- cancelling URB > > Jun 5 20:54:25 ventus kernel: usb-storage: Status code -104; transferred 0/13 > > Jun 5 20:54:25 ventus kernel: usb-storage: -- transfer cancelled > > Jun 5 20:54:25 ventus kernel: usb-storage: Bulk status result = 3 > > Jun 5 20:54:25 ventus kernel: usb-storage: -- command was aborted But then the status bulk-in part timed out. > > Jun 5 20:54:25 ventus kernel: usb-storage: Bulk reset requested > > Jun 5 20:54:25 ventus kernel: usb-storage: usb_stor_control_msg: rq=ff rqtype=21 > > value=0000 index=00 len=0 > > > Jun 5 20:54:45 ventus kernel: usb-storage: Timeout -- cancelling URB > > Jun 5 20:54:45 ventus kernel: usb-storage: Soft reset failed: -104 As did another soft reset control message. > > Jun 5 20:54:45 ventus kernel: usb-storage: scsi command aborted > > Jun 5 20:54:45 ventus kernel: usb-storage: *** thread sleeping. > > Jun 5 20:54:45 ventus kernel: usb-storage: usb_storage_device_reset called > > Jun 5 20:54:45 ventus kernel: usb-storage: Bulk reset requested > > Jun 5 20:54:45 ventus kernel: usb-storage: usb_stor_control_msg: rq=ff rqtype=21 > > value=0000 index=00 len=0 > > Jun 5 20:55:05 ventus kernel: usb-storage: Timeout -- cancelling URB > > Jun 5 20:55:05 ventus kernel: usb-storage: Soft reset failed: -104 The SCSI midlayer tried to request its own soft reset, which also timed out. > > Jun 5 20:55:05 ventus kernel: usb-storage: usb_storage_bus_reset called Then it asked for a hard device reset, which translates into usb_reset_device(). The debugging messages added by Andras, which I've removed here, make it clear that usb_hub_port_wait_reset() eventually returns 1, indicating a disconnect. > > Jun 5 20:55:05 ventus kernel: hub 5-0:0: port 1 not reset yet, waiting 10ms > > Jun 5 20:55:05 ventus kernel: hub 5-0:0: port 1 not reset yet, waiting 10ms > > Jun 5 20:55:06 ventus kernel: hub 5-0:0: port 1 not reset yet, waiting 200ms > > Jun 5 20:55:06 ventus kernel: ehci-hcd 00:09.2: GetStatus port 1 status 001002 > > POWER sig=se0 CSC > > Jun 5 20:55:06 ventus kernel: usb-storage: usb_reset_device returns -19 >From then on, there was nothing to try. I strongly suspect -- but I don't know for certain -- that the device did not really disconnect itself electrically from the bus. In fact, Andras stated that rebooting without unplugging or powering-off the device got everything working again. Does this suggest any place to start looking in the EHCI driver? Would turning on the driver's verbose debugging help? Is there anything else to try? Alan Stern ------------------------------------------------------- This SF.net email is sponsored by: Etnus, makers of TotalView, The best thread debugger on the planet. Designed with thread debugging features you've never dreamed of, try TotalView 6 free at www.etnus.com. _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel