On 29.04.2007 23:17 Alan Stern  wrote:
> On Sun, 29 Apr 2007, [ISO-8859-15] Dirk Försterling wrote:
>> Any idea about how to fix that slowdown?
> 
> David Brownell has suggested that it might be a hardware problem in the
> PCI card's controller hardware, that it doesn't stop doing DMA when it is
> told to.  Of course that's just a guess; there's no way to tell at this
> point.  (In fact there may be no way to tell at all, leaving little choice
> but to buy a different brand of PCI USB card and see if it works any
> better...)

Well... as with so many PC-components: The card worked without a problem in
another machine. (running windows - I'll see if I can test it again with Linux)
Transfer rates with the same external hdd were about 22MB/s read and 7MB/s
write - this is almost as fast as I could get with yet another machine's
on-board USB port (25MB/s and 9MB/s, Linux 2.6.19.5).

> You might be able to get some more useful information by doing this: Turn
> on CONFIG_USB_DEBUG and rebuild the USB drivers.  Then with the new
> drivers loaded, plug in the USB drive and unplug it again a little while
> later.  Presumably the overall system slowdown will continue.  Post the
> output from dmesg so we can see if anything strange shows up in the log.  

Okay, here you go:

(loading ehci_hcd)
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
ehci_hcd: block sizes: qh 128 qtd 96 itd 192 sitd 96
PCI: Found IRQ 3 for device 0000:00:13.2
PCI: Sharing IRQ 3 with 0000:00:11.0
ehci_hcd 0000:00:13.2: EHCI Host Controller
drivers/usb/core/inode.c: creating file 'devices'
drivers/usb/core/inode.c: creating file '001'
ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:13.2: reset hcs_params 0x2204 dbg=0 cc=2 pcc=2 ordered !ppc 
ports=4
ehci_hcd 0000:00:13.2: reset hcc_params 6872 thresh 7 uframes 256/512/1024
ehci_hcd 0000:00:13.2: MWI active
ehci_hcd 0000:00:13.2: supports USB remote wakeup
ehci_hcd 0000:00:13.2: irq 3, io mem 0xea001000
ehci_hcd 0000:00:13.2: reset command 080002 (park)=0 ithresh=8 period=1024 
Reset HALT
ehci_hcd 0000:00:13.2: init command 010009 (park)=0 ithresh=1 period=256 RUN
ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: default language 0x0409
usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.21.1z1 ehci_hcd
usb usb1: SerialNumber: 0000:00:13.2
usb usb1: uevent
usb usb1: usb_probe_device
usb usb1: configuration #1 chosen from 1 choice
usb usb1: adding 1-0:1.0 (config #1, interface 0)
usb 1-0:1.0: uevent
hub 1-0:1.0: usb_probe_interface
hub 1-0:1.0: usb_probe_interface - got id
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 4 ports detected
hub 1-0:1.0: standalone hub
hub 1-0:1.0: no power switching (usb 1.0)
hub 1-0:1.0: individual port over-current protection
hub 1-0:1.0: Single TT
hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns)
hub 1-0:1.0: power on to power good time: 20ms
hub 1-0:1.0: local power source is good
hub 1-0:1.0: trying to enable port power on non-switchable hub
hub 1-0:1.0: state 7 ports 4 chg 0000 evt 0000
drivers/usb/core/inode.c: creating file '001'

(plugging in the drive)
hub 1-0:1.0: state 7 ports 4 chg 0000 evt 0002
ehci_hcd 0000:00:13.2: GetStatus port 1 status 001803 POWER sig=j CSC CONNECT
hub 1-0:1.0: port 1, status 0501, change 0001, 480 Mb/s
hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x501
ehci_hcd 0000:00:13.2: port 1 high speed
ehci_hcd 0000:00:13.2: GetStatus port 1 status 001005 POWER sig=se0 PE CONNECT
usb 1-1: new high speed USB device using ehci_hcd and address 2
ehci_hcd 0000:00:13.2: port 1 high speed
ehci_hcd 0000:00:13.2: GetStatus port 1 status 001005 POWER sig=se0 PE CONNECT
usb 1-1: default language 0x0409
usb 1-1: new device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: External HDD
usb 1-1: Manufacturer: Western Digital
usb 1-1: SerialNumber: <serial number>
usb 1-1: uevent
usb 1-1: usb_probe_device
usb 1-1: configuration #1 chosen from 1 choice
usb 1-1: adding 1-1:1.0 (config #1, interface 0)
usb 1-1:1.0: uevent

(unplugging the device a while later)
hub 1-0:1.0: state 7 ports 4 chg 0000 evt 0002
ehci_hcd 0000:00:13.2: GetStatus port 1 status 001002 POWER sig=se0 CSC
hub 1-0:1.0: port 1, status 0100, change 0001, 12 Mb/s
usb 1-1: USB disconnect, address 2
usb 1-1: unregistering device
usb 1-1: usb_disable_device nuking all URBs
usb 1-1: unregistering interface 1-1:1.0
 usbdev1.2_ep01: ep_device_release called for usbdev1.2_ep01
 usbdev1.2_ep81: ep_device_release called for usbdev1.2_ep81
usb 1-1:1.0: uevent
 usbdev1.2_ep00: ep_device_release called for usbdev1.2_ep00
usb 1-1: uevent
hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x100

At this point, the slowdown was not yet gone (as expected). After
about 15 minutes, I "switched to turbo" again:

(unloading ehci_hcd)
ehci_hcd 0000:00:13.2: remove, state 1
ehci_hcd 0000:00:13.2: roothub graceful disconnect
usb usb1: USB disconnect, address 1
usb usb1: unregistering device
usb usb1: usb_disable_device nuking all URBs
ehci_hcd 0000:00:13.2: shutdown urb d1298120 pipe 40408180 ep1in-intr
usb usb1: unregistering interface 1-0:1.0
 usbdev1.1_ep81: ep_device_release called for usbdev1.1_ep81
usb 1-0:1.0: uevent
 usbdev1.1_ep00: ep_device_release called for usbdev1.1_ep00
usb usb1: uevent
ehci_hcd 0000:00:13.2: stop
ehci_hcd 0000:00:13.2: reset command 01000b (park)=0 ithresh=1 period=256 Reset 
RUN
ehci_hcd 0000:00:13.2: irq normal 13 err 0 reclaim 5 (lost 0)
ehci_hcd 0000:00:13.2: complete 12 unlink 0
ehci_hcd 0000:00:13.2: ehci_stop completed status 1000 Halt
ehci_hcd 0000:00:13.2: USB bus 1 deregistered

Immediately after the rmmod, the network speed was up again.

> And include also the contents of the files in
> 
>       /sys/class/usb_host/usb_host1


### /sys/class/usb_host/usb_host1/companion:
(empty)
### /sys/class/usb_host/usb_host1/registers:
bus pci, device 0000:00:13.2 (driver 10 Dec 2004)
EHCI Host Controller
EHCI 1.00, hcd state 1
ownership 00000001
SMI sts/enable 0xc0080000
structural params 0x00002204
capability params 0x00006872
status a008 Async Recl FLR
command 010009 (park)=0 ithresh=1 period=256 RUN
intrenable 37 IAA FATAL PCD ERR INT
uframe 182d                              <--- (this value changes constantly)
port 1 status 001000 POWER sig=se0
port 2 status 001000 POWER sig=se0
port 3 status 001000 POWER sig=se0
port 4 status 001000 POWER sig=se0
irq normal 13 err 0 reclaim 5 (lost 0)
complete 12 unlink 0
### /sys/class/usb_host/usb_host1/periodic:
size = 256
### /sys/class/usb_host/usb_host1/async:
(empty)
### /sys/class/usb_host/usb_host1/uevent:
(write only)
### /sys/class/usb_host/usb_host1/device/usb1/1-0:1.0/modalias:
usb:v0000p0000d0206dc09dsc00dp01ic09isc00ip00
### /sys/class/usb_host/usb_host1/device/usb1/1-0:1.0/bInterfaceProtocol:
00
### /sys/class/usb_host/usb_host1/device/usb1/1-0:1.0/bInterfaceSubClass:
00
### /sys/class/usb_host/usb_host1/device/usb1/1-0:1.0/bInterfaceClass:
09
### /sys/class/usb_host/usb_host1/device/usb1/1-0:1.0/bNumEndpoints:
01
### /sys/class/usb_host/usb_host1/device/usb1/1-0:1.0/bAlternateSetting:
 0
### /sys/class/usb_host/usb_host1/device/usb1/1-0:1.0/bInterfaceNumber:
00
### /sys/class/usb_host/usb_host1/device/usb1/1-0:1.0/power/wakeup:
(empty)
### /sys/class/usb_host/usb_host1/device/usb1/1-0:1.0/uevent:
(write only)
### /sys/class/usb_host/usb_host1/device/usb1/serial:
0000:00:13.2
### /sys/class/usb_host/usb_host1/device/usb1/product:
EHCI Host Controller
### /sys/class/usb_host/usb_host1/device/usb1/manufacturer:
Linux 2.6.21.1 ehci_hcd
### /sys/class/usb_host/usb_host1/device/usb1/quirks:
0x0
### /sys/class/usb_host/usb_host1/device/usb1/maxchild:
4
### /sys/class/usb_host/usb_host1/device/usb1/version:
 2.00
### /sys/class/usb_host/usb_host1/device/usb1/devnum:
1
### /sys/class/usb_host/usb_host1/device/usb1/speed:
480
### /sys/class/usb_host/usb_host1/device/usb1/bMaxPacketSize0:
64
### /sys/class/usb_host/usb_host1/device/usb1/bNumConfigurations:
1
### /sys/class/usb_host/usb_host1/device/usb1/bDeviceProtocol:
01
### /sys/class/usb_host/usb_host1/device/usb1/bDeviceSubClass:
00
### /sys/class/usb_host/usb_host1/device/usb1/bDeviceClass:
09
### /sys/class/usb_host/usb_host1/device/usb1/bcdDevice:
0206
### /sys/class/usb_host/usb_host1/device/usb1/idProduct:
0000
### /sys/class/usb_host/usb_host1/device/usb1/idVendor:
0000
### /sys/class/usb_host/usb_host1/device/usb1/bMaxPower:
  0mA
### /sys/class/usb_host/usb_host1/device/usb1/bmAttributes:
e0
### /sys/class/usb_host/usb_host1/device/usb1/bConfigurationValue:
1
### /sys/class/usb_host/usb_host1/device/usb1/bNumInterfaces:
 1
### /sys/class/usb_host/usb_host1/device/usb1/configuration:
(empty)
### /sys/class/usb_host/usb_host1/device/usb1/power/wakeup:
enabled
### /sys/class/usb_host/usb_host1/device/usb1/uevent:
(write only)
### /sys/class/usb_host/usb_host1/device/pools:
poolinfo - 0.1
ehci_sitd           0    0   96  0
ehci_itd            0    0  192  0
ehci_qh             1   32  128  1
ehci_qtd            1   42   96  1
buffer-2048         0    0 2048  0
buffer-512          0    0  512  0
buffer-128          0    0  128  0
buffer-32           1  128   32  1
### /sys/class/usb_host/usb_host1/device/resource0:
(Input/output error)
### /sys/class/usb_host/usb_host1/device/config:
(binary content)
### /sys/class/usb_host/usb_host1/device/broken_parity_status:
0
### /sys/class/usb_host/usb_host1/device/enable:
1
### /sys/class/usb_host/usb_host1/device/modalias:
pci:v00001106d00003104sv00001106sd00003104bc0Csc03i20
### /sys/class/usb_host/usb_host1/device/local_cpus:
1
### /sys/class/usb_host/usb_host1/device/irq:
3
### /sys/class/usb_host/usb_host1/device/class:
0x0c0320
### /sys/class/usb_host/usb_host1/device/subsystem_device:
0x3104
### /sys/class/usb_host/usb_host1/device/subsystem_vendor:
0x1106
### /sys/class/usb_host/usb_host1/device/device:
0x3104
### /sys/class/usb_host/usb_host1/device/vendor:
0x1106
### /sys/class/usb_host/usb_host1/device/resource:
0x00000000ea001000 0x00000000ea0010ff 0x0000000000000200
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
### /sys/class/usb_host/usb_host1/device/power/wakeup:
enabled
### /sys/class/usb_host/usb_host1/device/uevent:
(write only)

I can't interpret that data. Is it sufficient to say what
the (probable) cause of the slowdown is? Can I do anything
else to find out?

  -dirk

-- 
                   D i r k   F "o r s t e r l i n g
                   [EMAIL PROTECTED]  http://r.zorbla.de/
                            -------------
   A child of five could understand this. Fetch me a child of five!

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Linux-usb-users@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to