On Wed, 26 Nov 2003, Kleiner Hampel wrote: > Am Mit, den 26.11.2003 schrieb Alan Stern um 16:28: > > Interesting. It shows everything working at first, and then the device > > fails at the first large (>64 KB) read. > > > > Is this using the EHCI driver (is it a high-speed connection)? I've seen > > problems similar to yours on systems where the EHCI driver was trying to > > transfer data faster than the device could cope with. > > Yes, it's using ehci driver at 480MBit/s. > But it works with kernel 2.4.22!
I'm sending this to David Brownell as well because he knows all about the EHCI driver and may be able to help. FYI David, the original error log can be found at http://marc.theaimsgroup.com/?l=linux-usb-devel&m=106971141102441&w=2 > > Can you try running exactly the same experiment (with usb-storage > > debugging configured on) under 2.4.22? Comparing the two debugging logs > > might provide some answers. > > Here is what dmesg shows (i loaded the modules and did a simple "fdisk > -l /dev/sda"). Looking through the dmesg output isn't as useful as I had hoped. There are other differences between 2.4 and 2.6 that obscure the problem we're trying to solve. Don't be too surprised that something works under 2.4 and fails under 2.6! There have been a lot of changes. Sometimes a change that's intended to improve performance can actually hurt, when running with hardware that won't support the extra speed. There are other differences too, not just in the drivers. The commands send by the two kernels aren't queued in the same way, for example. I think David will be able to send some suggestions for things to try that will either fix your problem or at least narrow it down. Alan Stern > usb.c: registered new driver usbdevfs > usb.c: registered new driver hub > PCI: Found IRQ 9 for device 02:0d.2 > PCI: Sharing IRQ 9 with 00:1f.4 > PCI: Sharing IRQ 9 with 02:0b.0 > PCI: Sharing IRQ 9 with 02:0b.1 > ehci_hcd 02:0d.2: PCI device 1106:3104 > ehci_hcd 02:0d.2: irq 9, pci mem d4840000 > usb.c: new USB bus registered, assigned bus number 1 > ehci_hcd 02:0d.2: USB 2.0 enabled, EHCI 0.95, driver 2003-Jun-19/2.4 > hub.c: USB hub found > hub.c: 4 ports detected > hub.c: new USB device 02:0d.2-1, assigned address 2 > usb.c: USB device 2 (vend/prod 0x5e3/0x702) is not claimed by any active > driver. > usb-uhci.c: $Revision: 1.275 $ time 13:53:03 Nov 23 2003 > usb-uhci.c: High bandwidth mode enabled > PCI: Found IRQ 9 for device 00:1f.2 > PCI: Setting latency timer of device 00:1f.2 to 64 > usb-uhci.c: USB UHCI at I/O 0xa400, IRQ 9 > usb-uhci.c: Detected 2 ports > usb.c: new USB bus registered, assigned bus number 2 > hub.c: USB hub found > hub.c: 2 ports detected > PCI: Found IRQ 9 for device 00:1f.4 > PCI: Sharing IRQ 9 with 02:0b.0 > PCI: Sharing IRQ 9 with 02:0b.1 > PCI: Sharing IRQ 9 with 02:0d.2 > PCI: Setting latency timer of device 00:1f.4 to 64 > usb-uhci.c: USB UHCI at I/O 0xa000, IRQ 9 > usb-uhci.c: Detected 2 ports > usb.c: new USB bus registered, assigned bus number 3 > hub.c: USB hub found > hub.c: 2 ports detected > PCI: Found IRQ 9 for device 02:0d.0 > usb-uhci.c: USB UHCI at I/O 0xd400, IRQ 9 > usb-uhci.c: Detected 2 ports > usb.c: new USB bus registered, assigned bus number 4 > hub.c: USB hub found > hub.c: 2 ports detected > PCI: Found IRQ 9 for device 02:0d.1 > PCI: Sharing IRQ 9 with 02:0a.0 > usb-uhci.c: USB UHCI at I/O 0xd000, IRQ 9 > usb-uhci.c: Detected 2 ports > usb.c: new USB bus registered, assigned bus number 5 > hub.c: USB hub found > hub.c: 2 ports detected > usb-uhci.c: v1.275:USB Universal Host Controller Interface driver > SCSI subsystem driver Revision: 1.00 > Initializing USB Mass Storage driver... > usb.c: registered new driver usb-storage > usb-storage: act_altsettting is 0 > usb-storage: id_index calculated to be: 73 > usb-storage: Array length appears to be: 75 > usb-storage: USB Mass Storage device detected > usb-storage: Endpoints: In: 0xd37ad38c Out: 0xd37ad3a0 Int: 0x00000000 > (Period 0) > usb-storage: New GUID 05e307020000000000000000 > usb-storage: GetMaxLUN command result is 1, data is 0 > usb-storage: Transport: Bulk > usb-storage: Protocol: Transparent SCSI > usb-storage: *** thread sleeping. > scsi0 : SCSI emulation for USB Mass Storage devices > usb-storage: queuecommand() called > usb-storage: *** thread awakened. > usb-storage: Command INQUIRY (6 bytes) > usb-storage: 12 00 00 00 ff 00 82 d3 ac 10 9d d2 > usb-storage: Bulk command S 0x43425355 T 0x1 Trg 0 LUN 0 L 255 F 128 CL > 6 > usb-storage: Bulk command transfer result=0 > usb-storage: usb_stor_transfer_partial(): xfer 255 bytes > usb-storage: usb_stor_bulk_msg() returned 0 xferred 40/255 > usb-storage: Bulk data transfer result 0x1 > usb-storage: Attempting to get CSW... > usb-storage: clearing endpoint halt for pipe 0xc0008280 > usb-storage: usb_stor_clear_halt: result=0 > usb-storage: Attempting to get CSW (2nd try)... > usb-storage: Bulk status result = 0 > usb-storage: Bulk status Sig 0x53425355 T 0x1 R 215 Stat 0x0 > usb-storage: Fixing INQUIRY data to show SCSI rev 2 - was 0 > usb-storage: scsi cmd done, result=0x0 > usb-storage: *** thread sleeping. > Vendor: ST360015 Model: A Rev: 0811 > Type: Direct-Access ANSI SCSI revision: 02 > usb-storage: queuecommand() called > usb-storage: *** thread awakened. > usb-storage: Bad target number (1/0) > usb-storage: *** thread sleeping. > usb-storage: queuecommand() called > usb-storage: *** thread awakened. > usb-storage: Bad target number (2/0) > usb-storage: *** thread sleeping. > usb-storage: queuecommand() called > usb-storage: *** thread awakened. > usb-storage: Bad target number (3/0) > usb-storage: *** thread sleeping. > usb-storage: queuecommand() called > usb-storage: *** thread awakened. > usb-storage: Bad target number (4/0) > usb-storage: *** thread sleeping. > usb-storage: queuecommand() called > usb-storage: *** thread awakened. > usb-storage: Bad target number (5/0) > usb-storage: *** thread sleeping. > usb-storage: queuecommand() called > usb-storage: *** thread awakened. > usb-storage: Bad target number (6/0) > usb-storage: *** thread sleeping. > usb-storage: queuecommand() called > usb-storage: *** thread awakened. > usb-storage: Bad target number (7/0) > usb-storage: *** thread sleeping. > Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 > usb-storage: queuecommand() called > usb-storage: *** thread awakened. > usb-storage: Command TEST_UNIT_READY (6 bytes) > usb-storage: 00 00 00 00 00 00 00 00 00 00 00 00 > usb-storage: Bulk command S 0x43425355 T 0x2 Trg 0 LUN 0 L 0 F 0 CL 6 > usb-storage: Bulk command transfer result=0 > usb-storage: Attempting to get CSW... > usb-storage: Bulk status result = 0 > usb-storage: Bulk status Sig 0x53425355 T 0x2 R 0 Stat 0x0 > usb-storage: scsi cmd done, result=0x0 > usb-storage: *** thread sleeping. > usb-storage: queuecommand() called > usb-storage: *** thread awakened. > usb-storage: Command READ_CAPACITY (10 bytes) > usb-storage: 25 00 00 00 00 00 00 00 00 00 00 00 > usb-storage: Bulk command S 0x43425355 T 0x3 Trg 0 LUN 0 L 8 F 128 CL 10 > usb-storage: Bulk command transfer result=0 > usb-storage: usb_stor_transfer_partial(): xfer 8 bytes > usb-storage: usb_stor_bulk_msg() returned 0 xferred 8/8 > usb-storage: usb_stor_transfer_partial(): transfer complete > usb-storage: Bulk data transfer result 0x0 > usb-storage: Attempting to get CSW... > usb-storage: Bulk status result = 0 > usb-storage: Bulk status Sig 0x53425355 T 0x3 R 0 Stat 0x0 > usb-storage: scsi cmd done, result=0x0 > usb-storage: *** thread sleeping. > SCSI device sda: 117231408 512-byte hdwr sectors (60022 MB) > sda:<7>usb-storage: queuecommand() called > usb-storage: *** thread awakened. > usb-storage: Command READ_10 (10 bytes) > usb-storage: 28 00 00 00 00 00 00 00 08 00 00 00 > usb-storage: Bulk command S 0x43425355 T 0x4 Trg 0 LUN 0 L 4096 F 128 CL > 10 > usb-storage: Bulk command transfer result=0 > usb-storage: usb_stor_transfer_partial(): xfer 4096 bytes > usb-storage: usb_stor_bulk_msg() returned 0 xferred 4096/4096 > usb-storage: usb_stor_transfer_partial(): transfer complete > usb-storage: Bulk data transfer result 0x0 > usb-storage: Attempting to get CSW... > usb-storage: Bulk status result = 0 > usb-storage: Bulk status Sig 0x53425355 T 0x4 R 0 Stat 0x0 > usb-storage: scsi cmd done, result=0x0 > usb-storage: *** thread sleeping. > sda1 > WARNING: USB Mass Storage data integrity not assured > USB Mass Storage device found at 2 > USB Mass Storage support registered. > usb-storage: queuecommand() called > usb-storage: *** thread awakened. > usb-storage: Command READ_10 (10 bytes) > usb-storage: 28 00 00 00 00 00 00 00 08 00 00 00 > usb-storage: Bulk command S 0x43425355 T 0x5 Trg 0 LUN 0 L 4096 F 128 CL > 10 > usb-storage: Bulk command transfer result=0 > usb-storage: usb_stor_transfer_partial(): xfer 4096 bytes > usb-storage: usb_stor_bulk_msg() returned 0 xferred 4096/4096 > usb-storage: usb_stor_transfer_partial(): transfer complete > usb-storage: Bulk data transfer result 0x0 > usb-storage: Attempting to get CSW... > usb-storage: Bulk status result = 0 > usb-storage: Bulk status Sig 0x53425355 T 0x5 R 0 Stat 0x0 > usb-storage: scsi cmd done, result=0x0 > usb-storage: *** thread sleeping. > usb-storage: queuecommand() called > usb-storage: *** thread awakened. > usb-storage: Command READ_10 (10 bytes) > usb-storage: 28 00 00 00 00 08 00 00 20 00 00 00 > usb-storage: Bulk command S 0x43425355 T 0x6 Trg 0 LUN 0 L 16384 F 128 > CL 10 > usb-storage: Bulk command transfer result=0 > usb-storage: usb_stor_transfer_partial(): xfer 4096 bytes > usb-storage: usb_stor_bulk_msg() returned 0 xferred 4096/4096 > usb-storage: usb_stor_transfer_partial(): transfer complete > usb-storage: usb_stor_transfer_partial(): xfer 4096 bytes > usb-storage: usb_stor_bulk_msg() returned 0 xferred 4096/4096 > usb-storage: usb_stor_transfer_partial(): transfer complete > usb-storage: usb_stor_transfer_partial(): xfer 4096 bytes > usb-storage: usb_stor_bulk_msg() returned 0 xferred 4096/4096 > usb-storage: usb_stor_transfer_partial(): transfer complete > usb-storage: usb_stor_transfer_partial(): xfer 4096 bytes > usb-storage: usb_stor_bulk_msg() returned 0 xferred 4096/4096 > usb-storage: usb_stor_transfer_partial(): transfer complete > usb-storage: Bulk data transfer result 0x0 > usb-storage: Attempting to get CSW... > usb-storage: Bulk status result = 0 > usb-storage: Bulk status Sig 0x53425355 T 0x6 R 0 Stat 0x0 > usb-storage: scsi cmd done, result=0x0 > usb-storage: *** thread sleeping. > > > regards, > hampel > > ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
