Re: PROBLEM: USB keyboards works only 4 per PC host port

From: Randy Dunlap
Date: Thu Aug 14 2008 - 21:49:43 EST


On Sun, 10 Aug 2008 04:08:37 +0100 Aivils Stoss wrote:

> On Saturday 09 August 2008 11:42:26 am Samuel Thibault wrote:
> > Aivils Stoss, le Fri 08 Aug 2008 07:02:24 +0100, a écrit :
> > > I suppose this is Linux kernel bug because i test keyboards under
> > > Windows, which support any schema of cascading of usb hubs.
> >
> > On the very same machine and hubs?
>
> Yes, on same machine. Under Windows i don't have evdev interface,
> checked only how keypress go to console.
> Of course to repeat a try You must have at least 5 keyboards and
> 1 7-port or 2 4-port hubs and kernel 2.6.22 and above. I allways
> got result - 5th, 6th, 7th keyboard does not send events to console
> or evdev.


[adding linux-usb mailing list]

Hi,

I finally got 5 USB keyboards together along with 2 hubs.
I daisy-chained the hubs and connected 1 keyboard to the hub that is
on the notebook computer USB port, then I connected 4 keyboards to the
second hub. They all worked for me, meaning that I can type on all of
them and have their characters show up on my console.

I'm testing with 2.6.7-rc2.
'usbtree' output of the USB subsystem is attached.


---
~Randy
Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA
http://linuxplumbersconf.org/
/: Bus 05.Port 1: Dev 1, Class=root_hub, Drv=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Drv=uhci_hcd/2p, 12M
|_ Port 1: Dev 2, If 0, Prod=Microsoft IntelliMouse® Explorer, Class=HID, Drv=usbhid, 1.5M
|_ Port 2: Dev 3, If 0, Prod=Generic USB Hub, Class=hub, Drv=hub/4p, 12M
|_ Port 1: Dev 8, If 0, Prod=Mobility USB EasiDock 200, Class=hub, Drv=hub/9p, 12M
|_ Port 1: Dev 17, If 0, Prod=API USB KB HUB, Class=hub, Drv=hub/3p, 12M
|_ Port 1: Dev 18, If 0, Prod=API USB KB HUB, Class=HID, Drv=usbhid, 12M
|_ Port 2: Dev 19, If 0, Prod=, Class=HID, Drv=usbhid, 1.5M
|_ Port 2: Dev 14, If 0, Prod=USB Keyboard, Class=HID, Drv=usbhid, 1.5M
|_ Port 2: Dev 14, If 1, Prod=, Class=HID, Drv=usbhid, 1.5M
|_ Port 3: Dev 13, If 0, Prod=USB Multimedia Keyboard, Class=HID, Drv=usbhid, 1.5M
|_ Port 3: Dev 13, If 1, Prod=, Class=HID, Drv=usbhid, 1.5M
|_ Port 4: Dev 11, If 0, Prod=Dell USB Keyboard Hub, Class=hub, Drv=hub/3p, 12M
|_ Port 1: Dev 12, If 0, Prod=Dell USB Keyboard, Class=HID, Drv=usbhid, 12M
|_ Port 1: Dev 12, If 1, Prod=, Class=HID, Drv=usbhid, 12M
|_ Port 8: Dev 9, If 0, Prod=Mobility PS/2 Keyboard And Mouse I/F, Class=HID, Drv=usbhid, 12M
|_ Port 9: Dev 10, If 0, Prod=Mobility USB Serial Converter, Class=vend., Drv=none, 12M
|_ Port 2: Dev 15, If 0, Prod=Multimedia Keyboard Hub, Class=hub, Drv=hub/3p, 12M
|_ Port 1: Dev 16, If 0, Prod=Multimedia Keyboard Hub, Class=HID, Drv=usbhid, 12M
|_ Port 1: Dev 16, If 1, Prod=, Class=HID, Drv=usbhid, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Drv=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Drv=uhci_hcd/2p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Drv=ehci_hcd/8p, 480M