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

Reply via email to