My continuing USB saga
Walter Dnes
waltdnes-SLHPyeZ9y/tg9hUCZPvPmw at public.gmane.org
Tue Mar 28 06:14:22 UTC 2006
I've now gotten to the point where I can get...
- either all my USB devices to run (would you believe "crawl") at USB
1.1. And "mount -t auto" works.
- or I can get my USB 2 devices to run at blazing USB2 speed, but USB1
devices flake out. And "mount -t auto" doesn't work on, even on
USB2 devices. But at least I can set up udev rules to mount specific
devices, and I know that my backup drives will always be reiserfs and
my SD cards (camera) will always be FAT16.
My older computer (1999 Dell PIII) was strictly USB 1.1. ehci_ocd
would die when I tried loading it, and only ohci_ocd would work. All my
USB devices ran ("crawled" might be more accurate) according to spec.
Even "mount -t auto" worked OK for USB filesystems (SD card and external
hard drives).
I got a hunch that this might be a clue to my problems on my newer
machine. With only ehci_hcd (with or without root hub translation) some
of my older USB devices would not work at all. With *BOTH* ohci_ocd and
ehci_ocd built into the kernel, the older USB devices were a bit flakey.
"mount -t auto" would die, but "mount -t reiserfs" (or whatever) would
work OK for the SD card. The external hard drive refused to work.
Mount commands failed with the complaint that /dev/sdb1 was not a block
device (or sometimes did not exist). It's *SUPPOSED* to be USB2, but
the connecter looks like a USB1.1 connector. Unlike the shirt-pocket
drives, the big external USB has its own power supply, so power should
not be an issue.
Since I do have 2 USB2 shirt-pocket drives (off-site backup, one of
them is always in my safety-deposit box), I don't want to go back to
ohci-only. After testing various combinations, I settled on building
ohci_hcd into the kernel, and making ehci_ocd a module. So now...
- all my USB stuff runs fine under ohci_hcd, except for the fact that
USB2 stuff runs a lot slower.
- after "modprobe ehci_hcd", my USB2 drives run at USB2 speed, but
USB1.1 peripherals are either flakey or non-functional and
"mount -t auto" no longer works.
- after I "rmmod ehci_hcd" things work as before under ohci_hcd. I
have to run "udevstart" if I want to use a device name that I've set
up with /etc/udev/rules.d/10-local.rules
Anybody have any ideas on getting ohci_hcd and ehci_hcd to co-exist
and/or force my USB1 peripherals to use ohci_hcd? Here's a few listings
of /proc/bus/usb/devices
External drive under ehci_hcd; does not work.
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh=10
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.15-gentoo-r1 ehci_hcd
S: Product=EHCI Host Controller
S: SerialNumber=0000:00:02.1
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=256ms
T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 20 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=03e0 ProdID=6830 Rev= 0.01
S: Manufacturer=PI-036
S: Product=1394/USB2.0 COMBO Drive
S: SerialNumber=000000007254
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
Works under ohci_ocd.
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh=10
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.15-gentoo-r1 ohci_hcd
S: Product=OHCI Host Controller
S: SerialNumber=0000:00:02.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=03e0 ProdID=6830 Rev= 0.01
S: Manufacturer=PI-036
S: Product=1394/USB2.0 COMBO Drive
S: SerialNumber=000000007254
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=88(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
--
Walter Dnes <waltdnes-SLHPyeZ9y/tg9hUCZPvPmw at public.gmane.org> In linux /sbin/init is Job #1
My musings on technology and security at http://tech_sec.blog.ca
--
The Toronto Linux Users Group. Meetings: http://tlug.ss.org
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://tlug.ss.org/subscribe.shtml
More information about the Legacy
mailing list