usb/81621: external hd hangs under load on ehci
Scott Mitchell
rsm at FreeBSD.org
Wed Nov 22 05:30:23 PST 2006
The following reply was made to PR usb/81621; it has been noted by GNATS.
From: Scott Mitchell <rsm at FreeBSD.org>
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: usb/81621: external hd hangs under load on ehci
Date: Wed, 22 Nov 2006 13:20:16 +0000
A few more observations on this problem. Firstly it seems that Ian's patch
for VIA EHCI controllers is already in 6.1, so that clearly isn't helping
in this case at least. I also ran a few more tests with 3 different
machines and all the USB 2.0 devices I could scrape together. The machines
and their EHCI controllers are:
#1
FreeBSD llama.fishballoon.org 6.1-SECURITY FreeBSD 6.1-SECURITY #0: Mon Aug 28 05:21:08 UTC 2006 root at builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386
ehci0: <VIA VT6202 USB 2.0 controller> mem 0xdf102000-0xdf1020ff irq 12 at device 16.3 on pci0
ehci0: [GIANT-LOCKED]
usb3: EHCI version 1.0
usb3: companion controllers, 2 ports each: usb0 usb1 usb2
usb3: <VIA VT6202 USB 2.0 controller> on ehci0
usb3: USB revision 2.0
#2
FreeBSD tuatara.fishballoon.org 6.1-SECURITY FreeBSD 6.1-SECURITY #0: Mon Aug 28 05:21:08 UTC 2006 root at builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386
ehci0: <VIA VT6202 USB 2.0 controller> mem 0xda008000-0xda0080ff irq 10 at device 17.2 on pci0
ehci0: [GIANT-LOCKED]
usb4: EHCI version 0.95
usb4: companion controllers, 2 ports each: usb2 usb3
usb4: <VIA VT6202 USB 2.0 controller> on ehci0
usb4: USB revision 2.0
#3
(Booted from a 6.1-R fixit CD - can't be bothered to type out the uname :-)
ehci0: <NEC uPD 720100 USB 2.0 controller>
usb2: EHCI version 0.95
usb2: companion controllers, 3 ports each: usb0 usb1
usb2: <NEC uPD 720100 USB 2.0 controller>
usb2: USB revision 2.0
I tried these umass devices (all claim to be USB2.0):
Vosonic VP6230 disk/card reader combo:
da5: < VP6230 1.09> Fixed Direct Access SCSI-0 device
Nikon D50 digital camera:
da2: <NIKON D50 1.00> Removable Direct Access SCSI-2 device
Seagate enclosure with 300GB disk:
da0: <ST330063 1A 3.04> Fixed Direct Access SCSI-0 device
Kingston 2GB flash drive:
da1: <Kingston DataTraveler 2.0 1.00> Removable Direct Access SCSI-2 device
Apple iPod:
da0: <Apple iPod 1.53> Removable Direct Access SCSI-0 device
Tested by reading a reasonable amount of data (500MB) from the raw device
and also by writing then reading back a 500MB file from the mounted
FAT filesystem, re-mounting it between the writing and reading steps. The
300GB drive was apparently too big for mount_msdosfs to handle so I only
did the raw test there. All the reading/writing was done with dd using a
1MB block size.
On machine #1 (VIA VT6202, EHCI 1.0) everything attached to ehci0 fine, but
would hang for several minutes with a lot of this on the console:
Nov 22 00:52:41 llama kernel: umass0: BBB reset failed, TIMEOUT
Nov 22 00:53:46 llama kernel: umass0: BBB bulk-in clear stall failed, TIMEOUT
Nov 22 00:54:51 llama kernel: umass0: BBB bulk-out clear stall failed, TIMEOUT
I got this with the raw and file transfer, sometimes immediately, sometimes
after transferring up to a couple of hundred MB.
On machine #2 (VIA VT6202, EHCI 0.95) everything attached to ehci0 except
for the VP6230 which insisted on attaching as a USB1.1 device instead (it
does this under Windows on the same machine too). Apart from that all the
tests were successful, no hangs or other weirdness.
On machine #3 (NEC uPD 720100, EHCI 0.95) everything attached to ehci0 and
all the tests were completely successful.
I'm not sure what any of that proves except that VIA EHCI controllers
clearly have some issues that aren't restricted to FreeBSD MS-DOS
filesystem driver. I'm open to suggestions for any additional debugging,
although not much is possible on machine #1 as it's my firewall/router :(
Cheers,
Scott
--
===========================================================================
Scott Mitchell | PGP Key ID | "Eagles may soar, but weasels
Cambridge, England | 0x54B171B9 | don't get sucked into jet engines"
scott at fishballoon.org | 0xAA775B8B | -- Anon
More information about the freebsd-usb
mailing list