Hi Andries, > (iii) maybe your device wants to return more bytes than 4; > the error is -EOVERFLOW, that is, "babble". > I expect my recent patch would help.
Unfortunately, it doesn't. The "babble" still happens, even if requesting 8 bytes: Before patching: May 26 08:21:00 gfrw1044 kernel: sdc: Mode Sense: 4b 00 00 08 May 26 08:21:00 gfrw1044 kernel: usb-storage: queuecommand() called May 26 08:21:00 gfrw1044 kernel: usb-storage: *** thread awakened. May 26 08:21:00 gfrw1044 kernel: usb-storage: Command MODE_SENSE (6 bytes) May 26 08:21:00 gfrw1044 kernel: usb-storage: 1a 48 08 00 04 00 May 26 08:21:00 gfrw1044 kernel: usb-storage: Bulk command S 0x43425355 T 0x12 Trg 0 LUN 2 L 4 F 128 CL 6 May 26 08:21:00 gfrw1044 kernel: usb-storage: usb_stor_bulk_transfer_buf(): xfer 31 bytes May 26 08:21:00 gfrw1044 kernel: usb-storage: Status code 0; transferred 31/31 May 26 08:21:00 gfrw1044 kernel: usb-storage: -- transfer complete May 26 08:21:00 gfrw1044 kernel: usb-storage: Bulk command transfer result=0 May 26 08:21:00 gfrw1044 kernel: usb-storage: usb_stor_bulk_transfer_buf(): xfer 4 bytes May 26 08:21:00 gfrw1044 kernel: drivers/usb/host/uhci-hcd.c: uhci_result_common() failed with status 500000 May 26 08:21:00 gfrw1044 kernel: [c3003240] link (03003212) element (03002030) May 26 08:21:00 gfrw1044 kernel: 0: [c3002030] link (00000001) e3 SPD IOC Stalled Babble Length=3 MaxLen=3 DT1 EndPt=1 Dev=2, PID=69(IN) (buf=0076ae00) With patch to sd.c applied and translation 6->10: May 27 21:40:57 gfrw1044 kernel: sdc: Mode Sense: 47 00 00 ff May 27 21:40:57 gfrw1044 kernel: usb-storage: queuecommand() called May 27 21:40:57 gfrw1044 kernel: usb-storage: *** thread awakened. May 27 21:40:57 gfrw1044 kernel: usb-storage: Command MODE_SENSE (6 bytes) May 27 21:40:57 gfrw1044 kernel: usb-storage: 1a 48 08 00 08 00 May 27 21:40:57 gfrw1044 kernel: usb-storage: Invoking Mode Translation May 27 21:40:57 gfrw1044 kernel: usb-storage: Bulk command S 0x43425355 T 0x12 Trg 0 LUN 2 L 8 F 128 CL 12 May 27 21:40:57 gfrw1044 kernel: usb-storage: usb_stor_bulk_transfer_buf(): xfer 31 bytes May 27 21:40:57 gfrw1044 kernel: usb-storage: Status code 0; transferred 31/31 May 27 21:40:57 gfrw1044 kernel: usb-storage: -- transfer complete May 27 21:40:57 gfrw1044 kernel: usb-storage: Bulk command transfer result=0 May 27 21:40:57 gfrw1044 kernel: usb-storage: usb_stor_bulk_transfer_buf(): xfer 8 bytes May 27 21:40:57 gfrw1044 kernel: drivers/usb/host/uhci-hcd.c: uhci_result_common() failed with status 500000 May 27 21:40:57 gfrw1044 kernel: [c0e40240] link (00e40212) element (00dfb030) May 27 21:40:57 gfrw1044 kernel: 0: [c0dfb030] link (00000001) e3 SPD IOC Stalled Babble Length=7 MaxLen=7 DT1 EndPt=1 Dev=2, PID=69(IN) (buf=00ebfe00) Thanks, --jochen ------------------------------------------------------- This SF.net email is sponsored by: ObjectStore. If flattening out C++ or Java code to make your application fit in a relational database is painful, don't do it! Check out ObjectStore. Now part of Progress Software. http://www.objectstore.net/sourceforge _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel