Hi, I sent this question to Mr. Greg Kroah-Hartman a few days ago, and he suggested that I post it to the linux-usb-devel list instead... So here I am. Hopefully someone can help.
Please bare with me for a few moments -- this is something of an odd problem and it might not be immediately clear why it's specifically related to Linux. I have, at my desk, a Pentium 3 500 MHz running Linux 2.4.21, a G3 500 MHz running OS X 10.2.6 and a 266 MHz Cyrix MediaGXm running Windows 2000 Server. In order to save space, I decided it might be a good idea to have all of these share a keyboard and mouse. To this end, I purchased a "USB 2.0 Manual Share 4 Port Switch", a USB keyboard with a built in-hub (i.e., it has two extra USB ports on its rear) and a USB trackball. The USB switch has four "B" type USB ports on the back -- I connect a USB A->B cable from each of those (well, three out of the four) to a USB port on the back on each of the three machines. It also has one "A" type port. I connect the USB keyboard to the "A" port, and the USB trackball to one of the "A" ports on the back of the USB keyboard. This seems to work just fine, except for one thing... While Win2K Server and OS X both take around a second *at most* to power up the keyboard and mouse when they've been switched over to the respective machine... Linux takes something like 5-6 seconds. Which can be quite annoying. Things that may be worth noting: 1) When plugged into the back of the keyboard, the trackball does come on pretty much at the exact same time as the keyboard. 2) If I plug an unpowered hub into the back of the switch and plug the keyboard and trackball into two ports on that hub, Linux powers the trackball after 2-3 seconds (still slower than Win2K or OS X) and still takes about 5-6 seconds to power the keyboard. 3) I was hoping this would be fixed in 2.6.xxx, but I recently tried 2.6.0-test2 and the 5-6 second wait for the keyboard seems to have become *longer* and took about 9-10 seconds instead. 4) The behavior described here occurs *exactly the same* whether the cable from the switch is going to the on-board UHCI controller on my motherboard, or to an IOGear GIC220U USB 2-port USB 2.0 PCI card, where they're apparently being handled by the onboard OHCI controller as the keyboard and trackball are both USB 1.1 devices. My Mac is an older Mac that does not have USB function on the logic board, so I also have a second IOGear GIC220U in it (they were on sale at Fry's Electronics -- $9 with a $9 rebate, so pay tax only...) -- And the Mac still powers up the keyboard and trackball within only a second or two. The behavior also occurs *exactly the same* with both variants of the UHCI driver. The following messages show up in my /var/log/messages when I "switch back" to Linux with the USB switch (as you can see, in this instance activation took a full *7* seconds... This is with the on-board OHCI on the IOGear card, though it's pretty much the same with the UHCI on the motherboard): Aug 10 08:53:48 thevillage kernel: hub.c: new USB device 00:0d.0-2, assigned address 7 Aug 10 08:53:48 thevillage kernel: hub.c: USB hub found Aug 10 08:53:48 thevillage kernel: hub.c: 3 ports detected Aug 10 08:53:49 thevillage kernel: hub.c: new USB device 00:0d.0-2.1, assigned address 8 Aug 10 08:53:54 thevillage kernel: input0: USB HID v1.10 Keyboard [Silitek Gateway USB Hub Keyboard] on usb3:8.0 Aug 10 08:53:54 thevillage kernel: input1: USB HID v1.10 Pointer [Silitek Gateway USB Hub Keyboard] on usb3:8.1 Aug 10 08:53:55 thevillage kernel: hub.c: new USB device 00:0d.0-2.3, assigned address 9 Aug 10 08:53:55 thevillage kernel: input2: USB HID v1.10 Mouse [Logitech Trackball] on usb3:9.0 I'm not really sure what the input1 "Pointer" it's detecting is -- the keyboard does NOT have a pointer of any sort on it. It's possible that there's another model of this keyboard that *does* have a pointer but my specific one does not have the physical feature. The keyboard in question is a SILITEK SK-6205H, which was apparently made for Gateway and has the Gateway logo printed on it in the upper right hand corner. I purchased it because it was the only ergonomic USB keyboard at the store I went to that wasn't made by Microsoft. (I think there might have been one by Logitech there too actually, but if there was, it was way out of my price range.) I'd been using it for quite a while as my Linux box's keyboard before I came up with the idea to set up the switch... So I wasn't aware this issue existed until it was too late to return it. The trackball in question is a Logitech Trackman Marble. (Optical)... Which is an awesome trackball. Here's the related bits from /proc/bus/usb/devices, hopefully I picked out the correct sections: T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 7 Spd=12 MxCh= 3 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0443 ProdID=004f Rev= 1.00 S: Manufacturer=Silitek S: Product=Gateway USB Hub Keyboard C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=255ms T: Bus=03 Lev=02 Prnt=07 Port=00 Cnt=01 Dev#= 8 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0443 ProdID=004e Rev= 1.00 S: Manufacturer=Silitek S: Product=Gateway USB Hub Keyboard C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=hid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=24ms I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=hid E: Ad=82(I) Atr=03(Int.) MxPS= 4 Ivl=48ms T: Bus=03 Lev=02 Prnt=07 Port=02 Cnt=02 Dev#= 9 Spd=1.5 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c404 Rev= 2.20 S: Manufacturer=Logitech S: Product=Trackball C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=hid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms Can you offer any assistance? I'd very much like it if Linux only took 1-2 seconds to activate these devices, the same way as OS X and Windows... My Linux machine is actually the machine I use the most -- it's fair to say that *whenever* I'm using one of the other machines, I still have to switch back to the Linux machine regularly for *something*. It gets quite frustrating to have to wait 5-6 seconds over and over and over again -- I'm actually starting to look around for stackable keyboard drawers! (So I could have a keyboard drawer with a second keyboard drawer UNDER it...) Ronald Rael Harvest [EMAIL PROTECTED] http://thevillage.2y.net:6 "Please God, let me find my blue hat with the red trim." (Frances Farmer) ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel