Gentoo Archives: gentoo-user

From: Walter Dnes <waltdnes@××××××××.org>
To: Gentoo Users List <gentoo-user@l.g.o>
Subject: [gentoo-user] My continuing USB problems; mostly solved
Date: Sat, 18 Mar 2006 18:44:13
Message-Id: 20060318183825.GB7489@waltdnes.org
1 My older computer (1999 Dell PIII) was strictly USB 1.1. ehci_ocd
2 would die when I tried loading it, and only ohci_ocd would work. All my
3 USB devices ran ("crawled" might be more accurate) according to spec.
4 Even "mount -t auto" worked OK for USB filesystems (SD card and external
5 hard drive).
6
7 Yesterday, I got a hunch that this might be a clue to my problems on
8 my newer machine. With only ehci_hcd (with or without root hub
9 translation) some of my older USB devices would not work at all. With
10 *BOTH* ohci_ocd and ehci_ocd built into the kernel, the older USB
11 devices were a bit flakey. "mount -t auto" would die, but
12 "mount -t reiserfs" (or whatever) would work OK for the SD card. The
13 external hard drive refused to work. Mount commands failed with the
14 complaint that /dev/sdb1 was not a block device (or sometimes did not
15 exist). It's *SUPPOSED* to be USB2, but the connecter looks like a
16 USB1.1 connector. Unlike the shirt-pocket drives, the big external USB
17 has its own power supply, so power should not be an issue.
18
19 Since I do have 2 USB2 shirt-pocket drives (off-site backup, one of
20 them is always in my safety-deposit box), I don't want to go back to
21 ohci-only. After testing various combinations, I settled on building
22 ohci_hcd into the kernel, and making ehci_ocd a module. So now...
23
24 - all my USB stuff runs fine under ohci_hcd, except for the fact that
25 USB2 stuff runs a lot slower.
26
27 - after "modprobe ehci_hcd", my USB2 drives run at USB2 speed, but
28 USB1.1 peripherals are either flakey or non-functional and
29 "mount -t auto" no longer works.
30
31 - after I "rmmod ehci_hcd" things work as before under ohci_hcd. I
32 have to run "udevstart" if I want to use a device name that I've set
33 up with /etc/udev/rules.d/10-local.rules
34
35 Anybody have any ideas on getting ohci_hcd and ehci_hcd to co-exist
36 and/or force some of my USB stuff to use ohci_hcd? Here's a few listings
37 of /proc/bus/usb/devices
38
39 External drive under ehci_hcd; does not work.
40
41 T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh=10
42 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
43 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
44 P: Vendor=0000 ProdID=0000 Rev= 2.06
45 S: Manufacturer=Linux 2.6.15-gentoo-r1 ehci_hcd
46 S: Product=EHCI Host Controller
47 S: SerialNumber=0000:00:02.1
48 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
49 I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
50 E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=256ms
51
52 T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 20 Spd=480 MxCh= 0
53 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
54 P: Vendor=03e0 ProdID=6830 Rev= 0.01
55 S: Manufacturer=PI-036
56 S: Product=1394/USB2.0 COMBO Drive
57 S: SerialNumber=000000007254
58 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
59 I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
60 E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
61 E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
62
63
64
65 Works under ohci_ocd.
66
67 T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh=10
68 B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
69 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
70 P: Vendor=0000 ProdID=0000 Rev= 2.06
71 S: Manufacturer=Linux 2.6.15-gentoo-r1 ohci_hcd
72 S: Product=OHCI Host Controller
73 S: SerialNumber=0000:00:02.0
74 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
75 I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
76 E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
77
78 T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
79 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
80 P: Vendor=03e0 ProdID=6830 Rev= 0.01
81 S: Manufacturer=PI-036
82 S: Product=1394/USB2.0 COMBO Drive
83 S: SerialNumber=000000007254
84 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
85 I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
86 E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
87 E: Ad=88(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
88
89
90 --
91 Walter Dnes <waltdnes@××××××××.org> In linux /sbin/init is Job #1
92 My musings on technology and security at http://tech_sec.blog.ca
93 --
94 gentoo-user@g.o mailing list