> > I'm going to play around with the hardware (case, power supply, cables,
> > other pci-cards, different processor,...) tomorrow.

sorry, didn't have time for that yet.

> > But for now I tried it with your patches (on top of 2.6.11-rc5).
> > I had to fiddle around a bit with them to make them apply & compile
> > together. I attached them just in case someone else is interested.
> > Maybe you can take a look that I didn't mess them up.
>
> The kernel is a moving target...  And those patches were written for the
> USB development kernel, which isn't exactly the same as 2.6.11-rc5.  If
> the patches need updating I'll compare my version with yours.

It wasn't the kernel but the patches among themselves. It seems like the
 new reset code wasn't written with the scsi struct stuff in mind, it e.g.
had some us->host stuff in it which I had to replace.

> > Until the disconnect the speed is a little bit better. The messages are a
> > bit different than before: I continously get this type of message:
>
> <...>
>
> That's the normal case.  It's supposed to be like that always.

Ok, so this doesn't mean any kind of error, retransmission or the like.

> This shows a port reset failing.  It's not clear why it failed (looks like
> you didn't have CONFIG_USB_DEBUG set), but maybe that doesn't matter.

Sorry, forgot that during configure.

Here are the logs with CONFIG_USB_DEBUG:

a "regular" reset:

usb-storage: *** thread awakened.
usb-storage: Command READ_10 (10 bytes)
usb-storage:  28 00 00 dc 81 1f 00 01 00 00
usb-storage: Bulk Command S 0x43425355 T 0x26ea L 131072 F 128 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code 0; transferred 31/31
usb-storage: -- transfer complete
usb-storage: Bulk command transfer result=0
usb-storage: usb_stor_bulk_transfer_sglist: xfer 131072 bytes, 17 entries
usb-storage: Status code -121; transferred 130061/131072
usb-storage: -- short read transfer
usb-storage: Bulk data transfer result 0x1
usb-storage: Attempting to get CSW...
usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
usb-storage: command_abort called
usb-storage: usb_stor_stop_transport called
usb-storage: -- cancelling URB
usb-storage: Status code -104; transferred 0/13
usb-storage: -- transfer cancelled
usb-storage: Bulk status result = 4
usb-storage: -- command was aborted
ehci_hcd 0000:00:0a.2: port 4 high speed
ehci_hcd 0000:00:0a.2: GetStatus port 4 status 001005 POWER sig=se0  PE CONNECT
usb 1-4: reset high speed USB device using ehci_hcd and address 2
ehci_hcd 0000:00:0a.2: port 4 high speed
ehci_hcd 0000:00:0a.2: GetStatus port 4 status 001005 POWER sig=se0  PE CONNECT
usb-storage: usb_reset_device returns 0
usb-storage: scsi command aborted
usb-storage: *** thread sleeping.
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command TEST_UNIT_READY (6 bytes)
usb-storage:  00 00 00 00 00 00
usb-storage: Bulk Command S 0x43425355 T 0x26ea L 0 F 0 Trg 0 LUN 0 CL 6
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code 0; transferred 31/31
usb-storage: -- transfer complete
usb-storage: Bulk command transfer result=0
usb-storage: Attempting to get CSW...
usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
usb-storage: Status code 0; transferred 13/13
usb-storage: -- transfer complete
usb-storage: Bulk status result = 0
usb-storage: Bulk Status S 0x53425355 T 0x26ea R 0 Stat 0x0
usb-storage: scsi cmd done, result=0x0
usb-storage: *** thread sleeping.

and a failed reset with disconnect:

usb-storage: *** thread awakened.
usb-storage: Command READ_10 (10 bytes)
usb-storage:  28 00 08 d1 77 47 00 01 00 00
usb-storage: Bulk Command S 0x43425355 T 0xef61 L 131072 F 128 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code 0; transferred 31/31
usb-storage: -- transfer complete
usb-storage: Bulk command transfer result=0
usb-storage: usb_stor_bulk_transfer_sglist: xfer 131072 bytes, 32 entries
usb-storage: Status code 0; transferred 131072/131072
usb-storage: -- transfer complete
usb-storage: Bulk data transfer result 0x0
usb-storage: Attempting to get CSW...
usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
usb-storage: Status code 0; transferred 13/13
usb-storage: -- transfer complete
usb-storage: Bulk status result = 0
usb-storage: Bulk Status S 0x53425355 T 0xef61 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 08 d1 78 47 00 01 00 00
usb-storage: Bulk Command S 0x43425355 T 0xef62 L 131072 F 128 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code 0; transferred 31/31
usb-storage: -- transfer complete
usb-storage: Bulk command transfer result=0
usb-storage: usb_stor_bulk_transfer_sglist: xfer 131072 bytes, 32 entries
usb-storage: Status code -32; transferred 115200/131072
usb-storage: clearing endpoint halt for pipe 0xc0040280
usb-storage: usb_stor_control_msg: rq=01 rqtype=02 value=0000 index=88 len=0
usb-storage: usb_stor_clear_halt: result = 0
usb-storage: Bulk data transfer result 0x2
usb-storage: Attempting to get CSW...
usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
usb-storage: Status code -32; transferred 0/13
usb-storage: clearing endpoint halt for pipe 0xc0040280
usb-storage: usb_stor_control_msg: rq=01 rqtype=02 value=0000 index=88 len=0
ehci_hcd 0000:00:0a.2: devpath 4 ep0out 3strikes
usb-storage: usb_stor_clear_halt: result = -71
usb-storage: Bulk status result = 4
usb-storage: -- transport indicates error, resetting
ehci_hcd 0000:00:0a.2: GetStatus port 4 status 001000 POWER sig=se0 
ehci_hcd 0000:00:0a.2: GetStatus port 4 status 001000 POWER sig=se0 
hub 1-0:1.0: logical disconnect on port 4
usb-storage: usb_reset_device returns -19
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
hub 1-0:1.0: state 5 ports 4 chg 0010 evt 0000
hub 1-0:1.0: port 4, status 0100, change 0000, 12 Mb/s
usb 1-4: USB disconnect, address 2
usb 1-4: usb_disable_device nuking all URBs
usb 1-4: unregistering interface 1-4:1.0
usb-storage: storage_disconnect() called
usb-storage: usb_stor_stop_transport called
kobject_hotplug
fill_kobj_path: path = '/class/scsi_device/0:0:0:0'
fill_kobj_path: path = 
'/devices/pci0000:00/0000:00:0a.2/usb1/1-4/1-4:1.0/host0/target0:0:0/0:0:0:0'
kobject_hotplug: /sbin/udevsend scsi_device seq=601 HOME=/ 
PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=remove 
DEVPATH=/class/scsi_device/0:0:0:0 SUBSYSTEM=scsi_device
usb-storage: queuecommand called
usb-storage: Fail command during disconnect
SCSI error : <0 0 0 0> return code = 0x10000
end_request: I/O error, dev sda, sector 147945543
usb-storage: queuecommand called
usb-storage: Fail command during disconnect
SCSI error : <0 0 0 0> return code = 0x10000
end_request: I/O error, dev sda, sector 147945551
usb-storage: queuecommand called
usb-storage: Fail command during disconnect
[...]
usb-storage: Fail command during disconnect
SCSI error : <0 0 0 0> return code = 0x10000
end_request: I/O error, dev sda, sector 147946047
kobject 0:0:0:0: cleaning up
kobject sda1: unregistering
kobject_hotplug
fill_kobj_path: path = '/block/sda/sda1'
fill_kobj_path: path = 
'/devices/pci0000:00/0000:00:0a.2/usb1/1-4/1-4:1.0/host0/target0:0:0/0:0:0:0'
kobject_hotplug: /sbin/udevsend block seq=602 HOME=/ 
PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=remove DEVPATH=/block/sda/sda1 
SUBSYSTEM=block
kobject iosched: unregistering
kobject iosched: cleaning up
kobject queue: unregistering
kobject queue: cleaning up
kobject_hotplug
fill_kobj_path: path = '/block/sda'
fill_kobj_path: path = 
'/devices/pci0000:00/0000:00:0a.2/usb1/1-4/1-4:1.0/host0/target0:0:0/0:0:0:0'
kobject_hotplug: /sbin/udevsend block seq=603 HOME=/ 
PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=remove DEVPATH=/block/sda 
SUBSYSTEM=block
kobject_hotplug
fill_kobj_path: path = 
'/devices/pci0000:00/0000:00:0a.2/usb1/1-4/1-4:1.0/host0/target0:0:0/0:0:0:0'
kobject_hotplug: /sbin/udevsend scsi seq=604 HOME=/ 
PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=remove 
DEVPATH=/devices/pci0000:00/0000:00:0a.2/usb1/1-4/1-4:1.0/host0/target0:0:0/0:0:0:0
 SUBSYSTEM=scsi
kobject_hotplug
fill_kobj_path: path = '/class/scsi_host/host0'
fill_kobj_path: path = '/devices/pci0000:00/0000:00:0a.2/usb1/1-4/1-4:1.0/host0'
kobject_hotplug: /sbin/udevsend scsi_host seq=605 HOME=/ 
PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=remove DEVPATH=/class/scsi_host/host0 
SUBSYSTEM=scsi_host
kobject host0: cleaning up
usb-storage: -- usb_stor_release_resources
usb-storage: -- sending exit command to thread
usb-storage: *** thread awakened.
usb-storage: -- exit command received
usb-storage: -- dissociate_dev
kobject_hotplug
fill_kobj_path: path = '/devices/pci0000:00/0000:00:0a.2/usb1/1-4/1-4:1.0'
usb 1-4:1.0: hotplug
kobject_hotplug: /sbin/udevsend usb seq=606 HOME=/ 
PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=remove 
DEVPATH=/devices/pci0000:00/0000:00:0a.2/usb1/1-4/1-4:1.0 SUBSYSTEM=usb
usb 1-4: unregistering device
kobject_hotplug
fill_kobj_path: path = '/devices/pci0000:00/0000:00:0a.2/usb1/1-4'
usb 1-4: hotplug
kobject_hotplug: /sbin/udevsend usb seq=607 HOME=/ 
PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=remove 
DEVPATH=/devices/pci0000:00/0000:00:0a.2/usb1/1-4 SUBSYSTEM=usb
hub 1-0:1.0: state 5 ports 4 chg 0000 evt 0010
ehci_hcd 0000:00:0a.2: GetStatus port 4 status 001803 POWER sig=j  CSC CONNECT
hub 1-0:1.0: port 4, status 0501, change 0001, 480 Mb/s
scsi0 (0:0): rejecting I/O to dead device
Buffer I/O error on device dm-0, logical block 18493185
hub 1-0:1.0: debounce: port 4: total 100ms stable 100ms status 0x501
ehci_hcd 0000:00:0a.2: port 4 high speed
ehci_hcd 0000:00:0a.2: GetStatus port 4 status 001005 POWER sig=se0  PE CONNECT
usb 1-4: new high speed USB device using ehci_hcd and address 3
ehci_hcd 0000:00:0a.2: port 4 high speed
ehci_hcd 0000:00:0a.2: GetStatus port 4 status 001005 POWER sig=se0  PE CONNECT
usb 1-4: new device strings: Mfr=56, Product=78, SerialNumber=100
usb 1-4: default language 0x0409
usb 1-4: Product: USB2.0 Storage Device
usb 1-4: Manufacturer: Cypress Semiconductor
usb 1-4: SerialNumber: DEF1076A66AF
kobject 1-4: registering. parent: usb1, set: devices
kobject_hotplug
fill_kobj_path: path = '/devices/pci0000:00/0000:00:0a.2/usb1/1-4'
usb 1-4: hotplug
kobject_hotplug: /sbin/udevsend usb seq=608 HOME=/ 
PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=add 
DEVPATH=/devices/pci0000:00/0000:00:0a.2/usb1/1-4 SUBSYSTEM=usb
usb 1-4: adding 1-4:1.0 (config #1, interface 0)
kobject 1-4:1.0: registering. parent: 1-4, set: devices
kobject_hotplug
fill_kobj_path: path = '/devices/pci0000:00/0000:00:0a.2/usb1/1-4/1-4:1.0'
usb 1-4:1.0: hotplug
kobject_hotplug: /sbin/udevsend usb seq=609 HOME=/ 
PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=add 
DEVPATH=/devices/pci0000:00/0000:00:0a.2/usb1/1-4/1-4:1.0 SUBSYSTEM=usb
usb-storage 1-4:1.0: usb_probe_interface
usb-storage 1-4:1.0: usb_probe_interface - got id
usb-storage: USB Mass Storage device detected
usb-storage: -- associate_dev
usb-storage: Vendor: 0x04b4, Product: 0x6830, Revision: 0x0001
usb-storage: Interface Subclass: 0x06, Protocol: 0x50
usb-storage: Vendor: Cypress Semiconductor,  Product: USB2.0 Storage Device
usb-storage: Transport: Bulk
usb-storage: Protocol: Transparent SCSI
usb-storage: usb_stor_control_msg: rq=fe rqtype=a1 value=0000 index=00 len=1
usb-storage: GetMaxLUN command result is -32, data is 169
usb-storage: usb_stor_control_msg: rq=01 rqtype=02 value=0000 index=88 len=0
usb-storage: usb_stor_clear_halt: result = 0
usb-storage: usb_stor_control_msg: rq=01 rqtype=02 value=0000 index=02 len=0
usb-storage: usb_stor_clear_halt: result = 0
usb-storage: *** thread sleeping.
scsi1 : SCSI emulation for USB Mass Storage devices
kobject host1: registering. parent: 1-4:1.0, set: devices
kobject host1: registering. parent: scsi_host, set: class_obj
kobject_hotplug
fill_kobj_path: path = '/class/scsi_host/host1'
fill_kobj_path: path = '/devices/pci0000:00/0000:00:0a.2/usb1/1-4/1-4:1.0/host1'
kobject_hotplug: /sbin/udevsend scsi_host seq=610 HOME=/ 
PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=add DEVPATH=/class/scsi_host/host1 
SUBSYSTEM=scsi_host
usb-storage: device found at 3
usb-storage: waiting for device to settle before scanning
scsi0 (0:0): rejecting I/O to dead device
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command INQUIRY (6 bytes)
usb-storage:  12 00 00 00 24 00
usb-storage: Bulk Command S 0x43425355 T 0xefa3 L 36 F 128 Trg 0 LUN 0 CL 6
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code 0; transferred 31/31
usb-storage: -- transfer complete
usb-storage: Bulk command transfer result=0
usb-storage: usb_stor_bulk_transfer_buf: xfer 36 bytes
usb-storage: Status code 0; transferred 36/36
usb-storage: -- transfer complete
usb-storage: Bulk data transfer result 0x0
usb-storage: Attempting to get CSW...
usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
usb-storage: Status code 0; transferred 13/13
usb-storage: -- transfer complete
usb-storage: Bulk status result = 0
usb-storage: Bulk Status S 0x53425355 T 0xefa3 R 0 Stat 0x0
usb-storage: scsi cmd done, result=0x0
usb-storage: *** thread sleeping.
  Vendor: Maxtor 6  Model: Y200P0            Rev:  0 0
  Type:   Direct-Access                      ANSI SCSI revision: 00
kobject target1:0:0: registering. parent: host1, set: devices
kobject 1:0:0:0: registering. parent: target1:0:0, set: devices
kobject_hotplug
fill_kobj_path: path = 
'/devices/pci0000:00/0000:00:0a.2/usb1/1-4/1-4:1.0/host1/target1:0:0/1:0:0:0'
kobject_hotplug: /sbin/udevsend scsi seq=611 HOME=/ 
PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=add 
DEVPATH=/devices/pci0000:00/0000:00:0a.2/usb1/1-4/1-4:1.0/host1/target1:0:0/1:0:0:0
 SUBSYSTEM=scsi
scsi0 (0:0): rejecting I/O to dead device
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command TEST_UNIT_READY (6 bytes)
usb-storage:  00 00 00 00 00 00
usb-storage: Bulk Command S 0x43425355 T 0xefa4 L 0 F 0 Trg 0 LUN 0 CL 6
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code 0; transferred 31/31
usb-storage: -- transfer complete
usb-storage: Bulk command transfer result=0
usb-storage: Attempting to get CSW...
usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
usb-storage: Status code 0; transferred 13/13
usb-storage: -- transfer complete
usb-storage: Bulk status result = 0
usb-storage: Bulk Status S 0x53425355 T 0xefa4 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
usb-storage: Bulk Command S 0x43425355 T 0xefa5 L 8 F 128 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code 0; transferred 31/31
usb-storage: -- transfer complete
usb-storage: Bulk command transfer result=0
usb-storage: usb_stor_bulk_transfer_buf: xfer 8 bytes
scsi0 (0:0): rejecting I/O to dead device
usb-storage: Status code 0; transferred 8/8
usb-storage: -- transfer complete
usb-storage: Bulk data transfer result 0x0
usb-storage: Attempting to get CSW...
usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
scsi0 (0:0): rejecting I/O to dead device
usb-storage: Status code 0; transferred 13/13
usb-storage: -- transfer complete
usb-storage: Bulk status result = 0
usb-storage: Bulk Status S 0x53425355 T 0xefa5 R 0 Stat 0x0
usb-storage: scsi cmd done, result=0x0
usb-storage: *** thread sleeping.
SCSI device sdb: 398297088 512-byte hdwr sectors (203928 MB)
sdb: assuming drive cache: write through
kobject sdb: registering. parent: <NULL>, set: block
kobject_hotplug
fill_kobj_path: path = '/block/sdb'
fill_kobj_path: path = 
'/devices/pci0000:00/0000:00:0a.2/usb1/1-4/1-4:1.0/host1/target1:0:0/1:0:0:0'
kobject_hotplug: /sbin/udevsend block seq=612 HOME=/ 
PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION=add DEVPATH=/block/sdb SUBSYSTEM=block


> Sorry, nothing more has come up.  I think the only way to attack this
> problem will be by modifying the ehci-hcd driver.  But exactly what's
> going wrong and what changes are needed...  no idea.  You wouldn't happen
> to have a USB bus analyzer lying around, would you?  :-)

Uhhmm, I used to have one down in the garage just beneath the
warp engine and the teleporter - but now it's gone :-)

Kind regards,

Gerd


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to