* PROBLEM: USB keyboards works only 4 per PC host port
@ 2008-08-08 6:02 Aivils Stoss
2008-08-09 10:42 ` Samuel Thibault
0 siblings, 1 reply; 20+ messages in thread
From: Aivils Stoss @ 2008-08-08 6:02 UTC (permalink / raw)
To: linux-input, jkosina, linux-kernel, linuxconsole-dev
Hello All!
PROBLEM: USB keyboards works only 4 per PC host port.
I work for project which will use 15 - 25 keyboards for children teaching.
I discover current Linux 2.6.22 , 2.6.24, 2.6.26 dot not support more
than 4 keyboards per single PC host port. All plugged in keyboards
are listed as USB devices, listed as input devices, but capable to
send input events are only 4 keyboards, no matter where keyboards
are plugged in to HUB cascade. All plugged in keyboards switch LED's,
when i press NumLock.
I tested various usb-hub units and various host PC hardware, i even
replace hub power supplay units from 5V1A to 5V3A. All tested cases
give best results - 4 keyboards per PC host port and worstest - some PC
cannot do more than 8 keyboards at all.
I suppose this is Linux kernel bug because i test keyboards under
Windows, which support any schema of cascading of usb hubs.
I will send any log file if that is necessary, but trouble will pop up
in a row of kernels. 2.6.22 didn't have error messages. 2.6.24, 2.6.26
tend to total slow down with eternal reset messages:
Jul 25 07:16:00 awork kernel: input,hiddev97: USB HID v1.10 Mouse
[USB-compliant keyboard] on usb-0000:00:1d.0-1.1.2
Jul 25 07:16:01 awork kernel: usb 2-1.1.1: reset low speed USB device using
uhci_hcd and address 17
Jul 25 07:16:01 awork kernel: usb 2-1.1.2: reset low speed USB device using
uhci_hcd and address 18
Jul 25 07:16:02 awork kernel: usb 2-1.1.1: reset low speed USB device using
uhci_hcd and address 17
Best regards,
Aivils Stoss
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-08 6:02 PROBLEM: USB keyboards works only 4 per PC host port Aivils Stoss
@ 2008-08-09 10:42 ` Samuel Thibault
2008-08-10 3:08 ` Aivils Stoss
0 siblings, 1 reply; 20+ messages in thread
From: Samuel Thibault @ 2008-08-09 10:42 UTC (permalink / raw)
To: Aivils Stoss; +Cc: linux-input, jkosina, linux-kernel, linuxconsole-dev
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?
Samuel
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-09 10:42 ` Samuel Thibault
@ 2008-08-10 3:08 ` Aivils Stoss
2008-08-15 1:49 ` Randy Dunlap
0 siblings, 1 reply; 20+ messages in thread
From: Aivils Stoss @ 2008-08-10 3:08 UTC (permalink / raw)
To: Samuel Thibault; +Cc: linux-input, jkosina, linux-kernel, linuxconsole-dev
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.
>
> Samuel
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-10 3:08 ` Aivils Stoss
@ 2008-08-15 1:49 ` Randy Dunlap
2008-08-18 11:12 ` Aivils Stoss
0 siblings, 1 reply; 20+ messages in thread
From: Randy Dunlap @ 2008-08-15 1:49 UTC (permalink / raw)
To: Aivils Stoss, lud
Cc: Samuel Thibault, linux-input, jkosina, linux-kernel, linuxconsole-dev
[-- Attachment #1: Type: text/plain, Size: 1285 bytes --]
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/
[-- Attachment #2: usb-kbds.txt --]
[-- Type: text/plain, Size: 1890 bytes --]
/: 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
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-15 1:49 ` Randy Dunlap
@ 2008-08-18 11:12 ` Aivils Stoss
2008-08-18 15:14 ` Jiri Kosina
2008-08-18 15:14 ` Randy Dunlap
0 siblings, 2 replies; 20+ messages in thread
From: Aivils Stoss @ 2008-08-18 11:12 UTC (permalink / raw)
To: Randy Dunlap
Cc: lud, Samuel Thibault, linux-input, jkosina, linux-kernel,
linuxconsole-dev
On Friday 15 August 2008 7:19:48 am Randy Dunlap wrote:
> 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.
Yeah! 2.6.7 is a bit obsolete. At my end 2.6.15 support more than 4
keyboards per PC port , but mess up input when is plugged more than
9 keyboards. 10th is capable to send keypress events, but last pressed
key will be repeated until ctrl-c . 10th keyboard disturb an auto repeat of
all keyboards.
Aivils
>
>
> ---
> ~Randy
> Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA
> http://linuxplumbersconf.org/
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-18 11:12 ` Aivils Stoss
@ 2008-08-18 15:14 ` Jiri Kosina
2008-08-18 15:14 ` Randy Dunlap
1 sibling, 0 replies; 20+ messages in thread
From: Jiri Kosina @ 2008-08-18 15:14 UTC (permalink / raw)
To: Aivils Stoss
Cc: Randy Dunlap, lud, Samuel Thibault, linux-input, linux-kernel,
linuxconsole-dev
On Mon, 18 Aug 2008, Aivils Stoss wrote:
>> 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.
> Yeah! 2.6.7 is a bit obsolete.
I think that Randy really meant 2.6.27-rc2.
> At my end 2.6.15 support more than 4 keyboards per PC port , but mess up
> input when is plugged more than 9 keyboards. 10th is capable to send
> keypress events, but last pressed key will be repeated until ctrl-c .
> 10th keyboard disturb an auto repeat of all keyboards.
Could you please verify with any more recent kernel than 2.6.15 and report
back whether the issue is still present, please?
Also, is this bug specific to USB keyboards? i.e. if you for example plug
in USB flash sticks instead of keyboards, do they all work correctly?
Thanks,
--
Jiri Kosina
SUSE Labs
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-18 11:12 ` Aivils Stoss
2008-08-18 15:14 ` Jiri Kosina
@ 2008-08-18 15:14 ` Randy Dunlap
2008-08-19 9:57 ` Aivils Stoss
1 sibling, 1 reply; 20+ messages in thread
From: Randy Dunlap @ 2008-08-18 15:14 UTC (permalink / raw)
To: Aivils Stoss
Cc: lud, Samuel Thibault, linux-input, jkosina, linux-kernel,
linuxconsole-dev
On Mon, 18 Aug 2008 16:42:49 +0530 Aivils Stoss wrote:
> On Friday 15 August 2008 7:19:48 am Randy Dunlap wrote:
> > 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.
>
> Yeah! 2.6.7 is a bit obsolete. At my end 2.6.15 support more than 4
> keyboards per PC port , but mess up input when is plugged more than
> 9 keyboards. 10th is capable to send keypress events, but last pressed
> key will be repeated until ctrl-c . 10th keyboard disturb an auto repeat of
> all keyboards.
Sorry, my keyboard made a typo. I'm testing with 2.6.27-rc2.
So the problem is now different from your original report, right?
What speed is the host port that the keyboards are connected to?
Could it be a USB bus bandwidth limitation? (not that any code
checks for that)
I barely found 5 USB keyboards, so I surely can't test 10 or more. ;)
I suppose that it will take some USB debug messages to attempt to see
what is going on...
---
~Randy
Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA
http://linuxplumbersconf.org/
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-18 15:14 ` Randy Dunlap
@ 2008-08-19 9:57 ` Aivils Stoss
2008-08-19 15:03 ` Alan Stern
2008-08-19 15:19 ` Randy Dunlap
0 siblings, 2 replies; 20+ messages in thread
From: Aivils Stoss @ 2008-08-19 9:57 UTC (permalink / raw)
To: Randy Dunlap
Cc: lud, Samuel Thibault, linux-input, jkosina, linux-kernel,
linuxconsole-dev
[-- Attachment #1: Type: text/plain, Size: 3643 bytes --]
On Monday 18 August 2008 8:44:32 pm Randy Dunlap wrote:
> On Mon, 18 Aug 2008 16:42:49 +0530 Aivils Stoss wrote:
> > On Friday 15 August 2008 7:19:48 am Randy Dunlap wrote:
> > > 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.
> >
> > Yeah! 2.6.7 is a bit obsolete. At my end 2.6.15 support more than 4
> > keyboards per PC port , but mess up input when is plugged more than
> > 9 keyboards. 10th is capable to send keypress events, but last pressed
> > key will be repeated until ctrl-c . 10th keyboard disturb an auto repeat
> > of all keyboards.
>
> Sorry, my keyboard made a typo. I'm testing with 2.6.27-rc2.
>
> So the problem is now different from your original report, right?
No problem is same. Older kernels have another troubles.
2.6.22-1-mepis-smp
Quite stable. Have oops sometime inside evdev. Support up to 16
USB keyboards, where 4 hubs are plugged into PC and 4 keyboards on
each hub. Any hub cascade support only 4 keyboards, where 5th or more
is registered but don't send input events. Oops inside evdev , when
USB keyboard unplugged. No slow down even all USB keyboards does
not work properly. My be this one support more than 16 keyboards, but
i don't have PC USB ports enough.
2.6.24-7
4 keyboards per port. If plug in 5th tend to total slow down with this one:
usb 2-1.1.1: reset low speed USB device using
uhci_hcd and address 17
5th - means 5th keyboard in USB hub's cascade, which is plugged into
single PC USB port.
2.6.26
4 keyboards per port. If plug in 5th tend to total slow down.
2.6.27-rc3
Sorry Randy i cannot repeat Your achievement. This worse of all tested
kernels. I got working 3 USB keyboards, when i plug in 4th, all keyboards,
include PS/2 stop working. Kernel does not hung up. I can reach box
via net. dmesg , /proc/bus/input/devices attached. lsusb hung up.
Please notify me , if i should use 2.6.27-rc2 !
Aivils
>
>
> What speed is the host port that the keyboards are connected to?
> Could it be a USB bus bandwidth limitation? (not that any code
> checks for that)
>
> I barely found 5 USB keyboards, so I surely can't test 10 or more. ;)
> I suppose that it will take some USB debug messages to attempt to see
> what is going on...
>
>
> ---
> ~Randy
> Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA
> http://linuxplumbersconf.org/
[-- Attachment #2: dmesg-2.6.27-rc3 --]
[-- Type: text/plain, Size: 30800 bytes --]
stem 00:12: iomem range 0xe0000-0xfffff could not be reserved
system 00:12: iomem range 0x100000-0x3f7fffff could not be reserved
pci 0000:00:1c.0: PCI bridge, secondary bus 0000:03
pci 0000:00:1c.0: IO window: 0xe000-0xefff
pci 0000:00:1c.0: MEM window: disabled
pci 0000:00:1c.0: PREFETCH window: disabled
pci 0000:00:1c.1: PCI bridge, secondary bus 0000:02
pci 0000:00:1c.1: IO window: 0xd000-0xdfff
pci 0000:00:1c.1: MEM window: 0xdff00000-0xdfffffff
pci 0000:00:1c.1: PREFETCH window: disabled
pci 0000:00:1e.0: PCI bridge, secondary bus 0000:01
pci 0000:00:1e.0: IO window: 0xc000-0xcfff
pci 0000:00:1e.0: MEM window: 0xdfe00000-0xdfefffff
pci 0000:00:1e.0: PREFETCH window: disabled
pci 0000:00:1c.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
pci 0000:00:1c.0: setting latency timer to 64
pci 0000:00:1c.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
pci 0000:00:1c.1: setting latency timer to 64
pci 0000:00:1e.0: setting latency timer to 64
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
NET: Registered protocol family 1
audit: initializing netlink socket (disabled)
type=2000 audit(1219146320.240:1): initialized
highmem bounce pool size: 64 pages
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
NTFS driver 2.1.29 [Flags: R/W].
msgmni has been set to 1765
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
pci 0000:00:02.0: Boot video device
pci 0000:00:1d.0: uhci_check_and_reset_hc: cmd = 0x0000
pci 0000:00:1d.0: Performing full reset
pci 0000:00:1d.1: uhci_check_and_reset_hc: cmd = 0x0000
pci 0000:00:1d.1: Performing full reset
pci 0000:00:1d.2: uhci_check_and_reset_hc: cmd = 0x0000
pci 0000:00:1d.2: Performing full reset
pci 0000:00:1d.3: uhci_check_and_reset_hc: cmd = 0x0000
pci 0000:00:1d.3: Performing full reset
pcieport-driver 0000:00:1c.0: setting latency timer to 64
pcieport-driver 0000:00:1c.0: found MSI capability
pci_express 0000:00:1c.0:pcie00: allocate port service
pci_express 0000:00:1c.0:pcie02: allocate port service
pcieport-driver 0000:00:1c.1: setting latency timer to 64
pcieport-driver 0000:00:1c.1: found MSI capability
pci_express 0000:00:1c.1:pcie00: allocate port service
isapnp: Scanning for PnP cards...
Switched to high resolution mode on CPU 1
Switched to high resolution mode on CPU 0
isapnp: No Plug & Play device found
hpet_resources: 0xfed00000 is busy
Serial: 8250/16550 driver4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:0e: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
brd: module loaded
loop: module loaded
input: Macintosh mouse button emulation as /class/input/input0
Driver 'sd' needs updating - please use bus_type methods
Driver 'sr' needs updating - please use bus_type methods
ata_piix 0000:00:1f.1: version 2.12
ata_piix 0000:00:1f.1: PCI INT A -> GSI 22 (level, low) -> IRQ 22
ata_piix 0000:00:1f.1: setting latency timer to 64
scsi0 : ata_piix
scsi1 : ata_piix
ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0xffa0 irq 14
ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xffa8 irq 15
ata1.00: ATA-7: ST3160215A, 3.AAD, max UDMA/100
ata1.00: 312581808 sectors, multi 16: LBA48
ata1.00: configured for UDMA/100
scsi 0:0:0:0: Direct-Access ATA ST3160215A 3.AA PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 312581808 512-byte hardware sectors (160042 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 0:0:0:0: [sda] 312581808 512-byte hardware sectors (160042 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sda: sda1 sda2 < > sda3 sda4
sd 0:0:0:0: [sda] Attached SCSI disk
sd 0:0:0:0: Attached scsi generic sg0 type 0
ata_piix 0000:00:1f.2: PCI INT B -> GSI 23 (level, low) -> IRQ 23
ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
ata_piix 0000:00:1f.2: setting latency timer to 64
scsi2 : ata_piix
scsi3 : ata_piix
ata3: SATA max UDMA/133 cmd 0xb800 ctl 0xb400 bmdma 0xa400 irq 23
ata4: SATA max UDMA/133 cmd 0xb000 ctl 0xa800 bmdma 0xa408 irq 23
ata3.01: NODEV after polling detection
ata3.00: ATAPI: TSSTcorp CDDVDW SH-S203D, SB00, max UDMA/100
ata3.00: configured for UDMA/100
scsi 2:0:0:0: CD-ROM TSSTcorp CDDVDW SH-S203D SB00 PQ: 0 ANSI: 5
sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 2:0:0:0: Attached scsi CD-ROM sr0
sr 2:0:0:0: Attached scsi generic sg1 type 5
ieee1394: raw1394: /dev/raw1394 device initialized
usbmon: debugfs is not available
ehci_hcd: block sizes: qh 128 qtd 96 itd 160 sitd 96
ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 20 (level, low) -> IRQ 20
ehci_hcd 0000:00:1d.7: setting latency timer to 64
ehci_hcd 0000:00:1d.7: EHCI Host Controller
drivers/usb/core/inode.c: creating file 'devices'
drivers/usb/core/inode.c: creating file '001'
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:1d.7: reset hcs_params 0x104208 dbg=1 cc=4 pcc=2 ordered !ppc ports=8
ehci_hcd 0000:00:1d.7: reset hcc_params 6871 thresh 7 uframes 1024 64 bit addr
ehci_hcd 0000:00:1d.7: reset command 080002 (park)=0 ithresh=8 period=1024 Reset HALT
ehci_hcd 0000:00:1d.7: debug port 1
ehci_hcd 0000:00:1d.7: cache line size of 32 is not supported
ehci_hcd 0000:00:1d.7: supports USB remote wakeup
ehci_hcd 0000:00:1d.7: irq 20, io mem 0xdfdffc00
ehci_hcd 0000:00:1d.7: reset command 080002 (park)=0 ithresh=8 period=1024 Reset HALT
ehci_hcd 0000:00:1d.7: init command 010001 (park)=0 ithresh=1 period=1024 RUN
ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: default language 0x0409
usb usb1: uevent
usb usb1: usb_probe_device
usb usb1: configuration #1 chosen from 1 choice
usb usb1: adding 1-0:1.0 (config #1, interface 0)
usb 1-0:1.0: uevent
hub 1-0:1.0: usb_probe_interface
hub 1-0:1.0: usb_probe_interface - got id
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 8 ports detected
hub 1-0:1.0: standalone hub
hub 1-0:1.0: no power switching (usb 1.0)
hub 1-0:1.0: individual port over-current protection
hub 1-0:1.0: power on to power good time: 20ms
hub 1-0:1.0: local power source is good
hub 1-0:1.0: trying to enable port power on non-switchable hub
hub 1-0:1.0: state 7 ports 8 chg 0000 evt 0000
drivers/usb/core/inode.c: creating file '001'
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.27-rc3 ehci_hcd
usb usb1: SerialNumber: 0000:00:1d.7
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at 0x60,0x64 irq 1,12
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
usbcore: registered new interface driver appletouch
cpuidle: using governor ladder
cpuidle: using governor menu
TCP cubic registered
NET: Registered protocol family 17
Starting balanced_irq
Using IPI No-Shortcut mode
input: AT Translated Set 2 keyboard as /class/input/input1
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 252k freed
kjournald starting. Commit interval 5 seconds
usb usb1: uevent
usb 1-0:1.0: uevent
hub 1-0:1.0: hub_suspend
usb usb1: bus auto-suspend
ehci_hcd 0000:00:1d.7: suspend root hub
ACPI: SSDT 3F7AE0C0, 0214 (r1 AMI CPU1PM 1 INTL 20060113)
processor ACPI0007:00: registered as cooling_device0
ACPI: Processor [CPU1] (supports 8 throttling states)
ACPI: SSDT 3F7AE2E0, 0143 (r1 AMI CPU2PM 1 INTL 20060113)
processor ACPI0007:01: registered as cooling_device1
ACPI: Processor [CPU2] (supports 8 throttling states)
input: Power Button (FF) as /class/input/input2
ACPI: Power Button (FF) [PWRF]
input: Power Button (CM) as /class/input/input3
ACPI: Power Button (CM) [PWRB]
Linux agpgart interface v0.103
Atheros(R) L2 Ethernet Driver - version 2.0.4
Copyright (c) 2007 Atheros Corporation.
atl2 0000:02:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
atl2 0000:02:00.0: setting latency timer to 64
USB Universal Host Controller Interface driver v3.0
uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
uhci_hcd 0000:00:1d.0: setting latency timer to 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
drivers/usb/core/inode.c: creating file '002'
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.0: detected 2 ports
uhci_hcd 0000:00:1d.0: uhci_check_and_reset_hc: cmd = 0x0000
uhci_hcd 0000:00:1d.0: Performing full reset
uhci_hcd 0000:00:1d.0: supports USB remote wakeup
uhci_hcd 0000:00:1d.0: irq 20, io base 0x00009000
usb usb2: default language 0x0409
usb usb2: uevent
usb usb2: usb_probe_device
usb usb2: configuration #1 chosen from 1 choice
usb usb2: adding 2-0:1.0 (config #1, interface 0)
usb 2-0:1.0: uevent
hub 2-0:1.0: usb_probe_interface
hub 2-0:1.0: usb_probe_interface - got id
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
hub 2-0:1.0: standalone hub
hub 2-0:1.0: no power switching (usb 1.0)
hub 2-0:1.0: individual port over-current protection
hub 2-0:1.0: power on to power good time: 2ms
hub 2-0:1.0: local power source is good
hub 2-0:1.0: trying to enable port power on non-switchable hub
Floppy drive(s): fd0 is 1.44M
logips2pp: Detected unknown logitech mouse model 106
FDC 0 is a post-1991 82077
input: PC Speaker as /class/input/input4
drivers/usb/core/inode.c: creating file '001'
usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: UHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.27-rc3 uhci_hcd
usb usb2: SerialNumber: 0000:00:1d.0
uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
uhci_hcd 0000:00:1d.1: setting latency timer to 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
drivers/usb/core/inode.c: creating file '003'
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.1: detected 2 ports
uhci_hcd 0000:00:1d.1: uhci_check_and_reset_hc: cmd = 0x0000
uhci_hcd 0000:00:1d.1: Performing full reset
uhci_hcd 0000:00:1d.1: supports USB remote wakeup
uhci_hcd 0000:00:1d.1: irq 17, io base 0x00009400
usb usb3: default language 0x0409
usb usb3: uevent
usb usb3: usb_probe_device
usb usb3: configuration #1 chosen from 1 choice
usb usb3: adding 3-0:1.0 (config #1, interface 0)
usb 3-0:1.0: uevent
hub 3-0:1.0: usb_probe_interface
hub 3-0:1.0: usb_probe_interface - got id
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
hub 3-0:1.0: standalone hub
hub 3-0:1.0: no power switching (usb 1.0)
hub 3-0:1.0: individual port over-current protection
hub 3-0:1.0: power on to power good time: 2ms
hub 3-0:1.0: local power source is good
hub 3-0:1.0: trying to enable port power on non-switchable hub
hub 2-0:1.0: state 7 ports 2 chg 0000 evt 0000
hub 3-0:1.0: state 7 ports 2 chg 0000 evt 0000
drivers/usb/core/inode.c: creating file '001'
usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb3: Product: UHCI Host Controller
usb usb3: Manufacturer: Linux 2.6.27-rc3 uhci_hcd
usb usb3: SerialNumber: 0000:00:1d.1
agpgart-intel 0000:00:00.0: Intel 945G Chipset
agpgart-intel 0000:00:00.0: detected 7932K stolen memory
agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xe0000000
uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
uhci_hcd 0000:00:1d.2: setting latency timer to 64
uhci_hcd 0000:00:1d.2: UHCI Host Controller
drivers/usb/core/inode.c: creating file '004'
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
uhci_hcd 0000:00:1d.2: detected 2 ports
uhci_hcd 0000:00:1d.2: uhci_check_and_reset_hc: cmd = 0x0000
uhci_hcd 0000:00:1d.2: Performing full reset
uhci_hcd 0000:00:1d.2: supports USB remote wakeup
uhci_hcd 0000:00:1d.2: irq 18, io base 0x00009800
usb usb4: default language 0x0409
usb usb4: uevent
usb usb4: usb_probe_device
usb usb4: configuration #1 chosen from 1 choice
usb usb4: adding 4-0:1.0 (config #1, interface 0)
usb 4-0:1.0: uevent
hub 4-0:1.0: usb_probe_interface
hub 4-0:1.0: usb_probe_interface - got id
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
hub 4-0:1.0: standalone hub
hub 4-0:1.0: no power switching (usb 1.0)
hub 4-0:1.0: individual port over-current protection
hub 4-0:1.0: power on to power good time: 2ms
hub 4-0:1.0: local power source is good
hub 4-0:1.0: trying to enable port power on non-switchable hub
hub 4-0:1.0: state 7 ports 2 chg 0000 evt 0000
drivers/usb/core/inode.c: creating file '001'
usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb4: Product: UHCI Host Controller
usb usb4: Manufacturer: Linux 2.6.27-rc3 uhci_hcd
usb usb4: SerialNumber: 0000:00:1d.2
i801_smbus 0000:00:1f.3: PCI INT B -> GSI 23 (level, low) -> IRQ 23
uhci_hcd 0000:00:1d.3: PCI INT D -> GSI 19 (level, low) -> IRQ 19
uhci_hcd 0000:00:1d.3: setting latency timer to 64
uhci_hcd 0000:00:1d.3: UHCI Host Controller
drivers/usb/core/inode.c: creating file '005'
uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
uhci_hcd 0000:00:1d.3: detected 2 ports
uhci_hcd 0000:00:1d.3: uhci_check_and_reset_hc: cmd = 0x0000
uhci_hcd 0000:00:1d.3: Performing full reset
uhci_hcd 0000:00:1d.3: supports USB remote wakeup
uhci_hcd 0000:00:1d.3: irq 19, io base 0x0000a000
usb usb5: default language 0x0409
usb usb5: uevent
usb usb5: usb_probe_device
usb usb5: configuration #1 chosen from 1 choice
usb usb5: adding 5-0:1.0 (config #1, interface 0)
usb 5-0:1.0: uevent
hub 5-0:1.0: usb_probe_interface
hub 5-0:1.0: usb_probe_interface - got id
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 2 ports detected
hub 5-0:1.0: standalone hub
hub 5-0:1.0: no power switching (usb 1.0)
hub 5-0:1.0: individual port over-current protection
hub 5-0:1.0: power on to power good time: 2ms
hub 5-0:1.0: local power source is good
hub 5-0:1.0: trying to enable port power on non-switchable hub
hub 5-0:1.0: state 7 ports 2 chg 0000 evt 0000
drivers/usb/core/inode.c: creating file '001'
usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb5: Product: UHCI Host Controller
usb usb5: Manufacturer: Linux 2.6.27-rc3 uhci_hcd
usb usb5: SerialNumber: 0000:00:1d.3
ath5k_pci 0000:01:01.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
ath5k_pci 0000:01:01.0: registered as 'phy0'
phy0: Selected rate control algorithm 'pid'
ath5k phy0: Atheros AR2413 chip found (MAC: 0x78, PHY: 0x45)
udev: renamed network interface wlan0 to ath0
input: ImExPS/2 Logitech Explorer Mouse as /class/input/input5
EMU10K1X 0000:01:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
Model 1001 Rev 00000000 Serial 10011102
usb usb2: suspend_rh (auto-stop)
usb usb3: suspend_rh (auto-stop)
usb usb4: suspend_rh (auto-stop)
usb usb5: suspend_rh (auto-stop)
splashy[1466]: segfault at c ip b7fb73ce sp bfee7bd0 error 4 in libsplashy.so.1.0.0[b7fb5000+5000]
hub 2-0:1.0: hub_suspend
usb usb2: bus auto-suspend
usb usb2: suspend_rh
Adding 1959920k swap on /dev/sda3. Priority:1 extents:1 across:1959920k
EXT3 FS on sda4, internal journal
hub 3-0:1.0: hub_suspend
usb usb3: bus auto-suspend
usb usb3: suspend_rh
hub 4-0:1.0: hub_suspend
usb usb4: bus auto-suspend
usb usb4: suspend_rh
hub 5-0:1.0: hub_suspend
usb usb5: bus auto-suspend
usb usb5: suspend_rh
device-mapper: ioctl: 4.14.0-ioctl (2008-04-23) initialised: dm-devel@redhat.com
Uniform Multi-Platform E-IDE driver
atl2: eth0 NIC Link is Up<100 Mbps Full Duplex>
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
parport_pc 00:07: reported by Plug and Play ACPI
parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,EPP,ECP,DMA]
lp0: using parport0 (interrupt-driven).
ppdev: user-space parallel port driver
eth0: no IPv6 routers present
warning: `avahi-daemon' uses 32-bit capabilities (legacy support in use)
Bluetooth: Core ver 2.12
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP ver 2.10
Bluetooth: L2CAP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
usb usb5: usb auto-resume
usb usb5: wakeup_rh
hub 5-0:1.0: hub_resume
hub 5-0:1.0: state 7 ports 2 chg 0000 evt 0000
usb usb4: usb auto-resume
usb usb4: wakeup_rh
hub 4-0:1.0: hub_resume
hub 4-0:1.0: state 7 ports 2 chg 0000 evt 0000
usb usb2: usb auto-resume
usb usb2: wakeup_rh
hub 2-0:1.0: hub_resume
hub 2-0:1.0: state 7 ports 2 chg 0000 evt 0000
usb usb3: usb auto-resume
usb usb3: wakeup_rh
hub 3-0:1.0: hub_resume
hub 3-0:1.0: state 7 ports 2 chg 0000 evt 0000
usb usb1: usb auto-resume
ehci_hcd 0000:00:1d.7: resume root hub
hub 1-0:1.0: hub_resume
hub 1-0:1.0: state 7 ports 8 chg 0000 evt 0000
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM ver 1.10
powernow: This module only works with AMD K7 CPUs
usb usb5: suspend_rh (auto-stop)
ADDRCONF(NETDEV_UP): ath0: link is not ready
usb usb4: suspend_rh (auto-stop)
usb usb2: suspend_rh (auto-stop)
usb usb3: suspend_rh (auto-stop)
hub 5-0:1.0: hub_suspend
usb usb5: bus auto-suspend
usb usb5: suspend_rh
hub 4-0:1.0: hub_suspend
usb usb4: bus auto-suspend
usb usb4: suspend_rh
hub 2-0:1.0: hub_suspend
usb usb2: bus auto-suspend
usb usb2: suspend_rh
hub 3-0:1.0: hub_suspend
usb usb3: bus auto-suspend
usb usb3: suspend_rh
hub 1-0:1.0: hub_suspend
usb usb1: bus auto-suspend
ehci_hcd 0000:00:1d.7: suspend root hub
[drm] Initialized drm 1.1.0 20060810
pci 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
pci 0000:00:02.0: setting latency timer to 64
[drm] Initialized i915 1.6.0 20060119 on minor 0
usb usb1: usb resume
ehci_hcd 0000:00:1d.7: resume root hub
hub 1-0:1.0: hub_resume
ehci_hcd 0000:00:1d.7: GetStatus port 4 status 001803 POWER sig=j CSC CONNECT
hub 1-0:1.0: port 4: status 0501 change 0001
hub 1-0:1.0: state 7 ports 8 chg 0010 evt 0000
hub 1-0:1.0: port 4, status 0501, change 0000, 480 Mb/s
ehci_hcd 0000:00:1d.7: port 4 full speed --> companion
ehci_hcd 0000:00:1d.7: GetStatus port 4 status 003801 POWER OWNER sig=j CONNECT
hub 1-0:1.0: port 4 not reset yet, waiting 50ms
usb usb3: usb resume
usb usb3: wakeup_rh
hub 3-0:1.0: hub_resume
uhci_hcd 0000:00:1d.1: port 2 portsc 0093,00
hub 3-0:1.0: port 2: status 0101 change 0001
ehci_hcd 0000:00:1d.7: GetStatus port 4 status 003002 POWER OWNER sig=se0 CSC
hub 1-0:1.0: state 7 ports 8 chg 0000 evt 0010
hub 3-0:1.0: state 7 ports 2 chg 0004 evt 0000
hub 3-0:1.0: port 2, status 0101, change 0000, 12 Mb/s
usb 3-2: new full speed USB device using uhci_hcd and address 2
usb 3-2: ep0 maxpacket = 8
usb 3-2: default language 0x0409
usb 3-2: uevent
usb 3-2: usb_probe_device
usb 3-2: configuration #1 chosen from 1 choice
usb 3-2: adding 3-2:1.0 (config #1, interface 0)
usb 3-2:1.0: uevent
hub 3-2:1.0: usb_probe_interface
hub 3-2:1.0: usb_probe_interface - got id
hub 3-2:1.0: USB hub found
hub 3-2:1.0: 4 ports detected
hub 3-2:1.0: standalone hub
hub 3-2:1.0: ganged power switching
hub 3-2:1.0: global over-current protection
hub 3-2:1.0: power on to power good time: 44ms
hub 3-2:1.0: local power source is good
hub 3-2:1.0: no over-current condition exists
hub 3-2:1.0: enabling power on all ports
hub 3-2:1.0: port 2: status 0101 change 0001
uhci_hcd 0000:00:1d.1: reserve dev 2 ep81-INT, period 128, phase 0, 12 us
drivers/usb/core/inode.c: creating file '002'
usb 3-2: New USB device found, idVendor=058f, idProduct=9254
usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-2: Product: Generic USB Hub
usb 3-2: Manufacturer: ALCOR
hub 3-0:1.0: state 7 ports 2 chg 0000 evt 0004
hub 3-2:1.0: state 7 ports 4 chg 0004 evt 0000
hub 3-2:1.0: port 2, status 0101, change 0000, 12 Mb/s
usb 3-2.2: new full speed USB device using uhci_hcd and address 3
usb 3-2.2: ep0 maxpacket = 8
usb 3-2.2: default language 0x0409
usb 3-2.2: uevent
usb 3-2.2: usb_probe_device
usb 3-2.2: configuration #1 chosen from 1 choice
usb 3-2.2: adding 3-2.2:1.0 (config #1, interface 0)
usb 3-2.2:1.0: uevent
hub 3-2.2:1.0: usb_probe_interface
hub 3-2.2:1.0: usb_probe_interface - got id
hub 3-2.2:1.0: USB hub found
hub 3-2.2:1.0: 4 ports detected
hub 3-2.2:1.0: standalone hub
hub 3-2.2:1.0: individual port power switching
hub 3-2.2:1.0: individual port over-current protection
hub 3-2.2:1.0: power on to power good time: 44ms
hub 3-2.2:1.0: local power source is good
hub 3-2.2:1.0: enabling power on all ports
hub 3-2.2:1.0: port 1: status 0301 change 0001
hub 3-2.2:1.0: port 2: status 0301 change 0001
hub 3-2.2:1.0: port 3: status 0301 change 0001
hub 3-2.2:1.0: port 4: status 0301 change 0001
uhci_hcd 0000:00:1d.1: reserve dev 3 ep81-INT, period 128, phase 0, 12 us
drivers/usb/core/inode.c: creating file '003'
usb 3-2.2: New USB device found, idVendor=058f, idProduct=9254
usb 3-2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-2.2: Product: Generic USB Hub
usb 3-2.2: Manufacturer: ALCOR
hub 3-2:1.0: state 7 ports 4 chg 0000 evt 0004
hub 3-2.2:1.0: state 7 ports 4 chg 001e evt 0000
hub 3-2.2:1.0: port 1, status 0301, change 0000, 1.5 Mb/s
usb 3-2.2.1: new low speed USB device using uhci_hcd and address 4
usb 3-2.2.1: skipped 1 descriptor after interface
usb 3-2.2.1: skipped 1 descriptor after interface
usb 3-2.2.1: default language 0x0409
usb 3-2.2.1: uevent
usb 3-2.2.1: usb_probe_device
usb 3-2.2.1: configuration #1 chosen from 1 choice
usb 3-2.2.1: adding 3-2.2.1:1.0 (config #1, interface 0)
usb 3-2.2.1:1.0: uevent
usb 3-2.2.1: adding 3-2.2.1:1.1 (config #1, interface 1)
usb 3-2.2.1:1.1: uevent
drivers/usb/core/inode.c: creating file '004'
usb 3-2.2.1: New USB device found, idVendor=0a81, idProduct=0101
usb 3-2.2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-2.2.1: Product: USB Keyboard
usb 3-2.2.1: Manufacturer: CHESEN
hub 3-2.2:1.0: port 2, status 0301, change 0000, 1.5 Mb/s
usb 3-2.2.2: new low speed USB device using uhci_hcd and address 5
usb 3-2.2.2: skipped 1 descriptor after interface
usb 3-2.2.2: skipped 1 descriptor after interface
usb 3-2.2.2: default language 0x0409
usb 3-2.2.2: uevent
usb 3-2.2.2: usb_probe_device
usb 3-2.2.2: configuration #1 chosen from 1 choice
usb 3-2.2.2: adding 3-2.2.2:1.0 (config #1, interface 0)
usb 3-2.2.2:1.0: uevent
usb 3-2.2.2: adding 3-2.2.2:1.1 (config #1, interface 1)
usb 3-2.2.2:1.1: uevent
drivers/usb/core/inode.c: creating file '005'
usb 3-2.2.2: New USB device found, idVendor=0a81, idProduct=0101
usb 3-2.2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-2.2.2: Product: USB Keyboard
usb 3-2.2.2: Manufacturer: CHESEN
hub 3-2.2:1.0: port 3, status 0301, change 0000, 1.5 Mb/s
usb 3-2.2.3: new low speed USB device using uhci_hcd and address 6
usb 3-2.2.3: skipped 1 descriptor after interface
usb 3-2.2.3: skipped 1 descriptor after interface
usb 3-2.2.3: default language 0x0409
usb 3-2.2.3: uevent
usb 3-2.2.3: usb_probe_device
usb 3-2.2.3: configuration #1 chosen from 1 choice
usb 3-2.2.3: adding 3-2.2.3:1.0 (config #1, interface 0)
usb 3-2.2.3:1.0: uevent
usb 3-2.2.3: adding 3-2.2.3:1.1 (config #1, interface 1)
usb 3-2.2.3:1.1: uevent
drivers/usb/core/inode.c: creating file '006'
usb 3-2.2.3: New USB device found, idVendor=0a81, idProduct=0101
usb 3-2.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-2.2.3: Product: USB Keyboard
usb 3-2.2.3: Manufacturer: CHESEN
hub 3-2.2:1.0: port 4, status 0301, change 0000, 1.5 Mb/s
usb 3-2.2.4: new low speed USB device using uhci_hcd and address 7
usb 3-2.2.4: skipped 1 descriptor after interface
usb 3-2.2.4: skipped 1 descriptor after interface
usb 3-2.2.4: default language 0x0409
usb 3-2.2.4: uevent
usb 3-2.2.4: usb_probe_device
usb 3-2.2.4: configuration #1 chosen from 1 choice
usb 3-2.2.4: adding 3-2.2.4:1.0 (config #1, interface 0)
usb 3-2.2.4:1.0: uevent
usb 3-2.2.4: adding 3-2.2.4:1.1 (config #1, interface 1)
usb 3-2.2.4:1.1: uevent
drivers/usb/core/inode.c: creating file '007'
usb 3-2.2.4: New USB device found, idVendor=0a81, idProduct=0101
usb 3-2.2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-2.2.4: Product: USB Keyboard
usb 3-2.2.4: Manufacturer: CHESEN
usbcore: registered new interface driver hiddev
usbhid 3-2.2.1:1.0: usb_probe_interface
usbhid 3-2.2.1:1.0: usb_probe_interface - got id
hub 3-2.2:1.0: state 7 ports 4 chg 0000 evt 0008
input: CHESEN USB Keyboard as /class/input/input6
uhci_hcd 0000:00:1d.1: reserve dev 4 ep81-INT, period 8, phase 4, 118 us
input: USB HID v1.10 Keyboard [CHESEN USB Keyboard] on usb-0000:00:1d.1-2.2.1
usbhid 3-2.2.1:1.1: usb_probe_interface
usbhid 3-2.2.1:1.1: usb_probe_interface - got id
input: CHESEN USB Keyboard as /class/input/input7
uhci_hcd 0000:00:1d.1: reserve dev 4 ep82-INT, period 8, phase 4, 118 us
input: USB HID v1.10 Device [CHESEN USB Keyboard] on usb-0000:00:1d.1-2.2.1
usbhid 3-2.2.2:1.0: usb_probe_interface
usbhid 3-2.2.2:1.0: usb_probe_interface - got id
input: CHESEN USB Keyboard as /class/input/input8
uhci_hcd 0000:00:1d.1: reserve dev 5 ep81-INT, period 8, phase 4, 118 us
input: USB HID v1.10 Keyboard [CHESEN USB Keyboard] on usb-0000:00:1d.1-2.2.2
usbhid 3-2.2.2:1.1: usb_probe_interface
usbhid 3-2.2.2:1.1: usb_probe_interface - got id
input: CHESEN USB Keyboard as /class/input/input9
uhci_hcd 0000:00:1d.1: reserve dev 5 ep82-INT, period 8, phase 4, 118 us
input: USB HID v1.10 Device [CHESEN USB Keyboard] on usb-0000:00:1d.1-2.2.2
usbhid 3-2.2.3:1.0: usb_probe_interface
usbhid 3-2.2.3:1.0: usb_probe_interface - got id
input: CHESEN USB Keyboard as /class/input/input10
uhci_hcd 0000:00:1d.1: reserve dev 6 ep81-INT, period 8, phase 4, 118 us
input: USB HID v1.10 Keyboard [CHESEN USB Keyboard] on usb-0000:00:1d.1-2.2.3
usbhid 3-2.2.3:1.1: usb_probe_interface
usbhid 3-2.2.3:1.1: usb_probe_interface - got id
input: CHESEN USB Keyboard as /class/input/input11
uhci_hcd 0000:00:1d.1: reserve dev 6 ep82-INT, period 8, phase 4, 118 us
input: USB HID v1.10 Device [CHESEN USB Keyboard] on usb-0000:00:1d.1-2.2.3
usbhid 3-2.2.4:1.0: usb_probe_interface
usbhid 3-2.2.4:1.0: usb_probe_interface - got id
input: CHESEN USB Keyboard as /class/input/input12
uhci_hcd 0000:00:1d.1: reserve dev 7 ep81-INT, period 8, phase 4, 118 us
input: USB HID v1.10 Keyboard [CHESEN USB Keyboard] on usb-0000:00:1d.1-2.2.4
usbhid 3-2.2.4:1.1: usb_probe_interface
usbhid 3-2.2.4:1.1: usb_probe_interface - got id
input: CHESEN USB Keyboard as /class/input/input13
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
input: USB HID v1.10 Device [CHESEN USB Keyboard] on usb-0000:00:1d.1-2.2.4
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
hub 1-0:1.0: hub_suspend
usb usb1: bus auto-suspend
ehci_hcd 0000:00:1d.7: suspend root hub
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: release dev 7 ep81-INT, period 8, phase 4, 118 us
hub 3-2.2:1.0: state 7 ports 4 chg 0000 evt 0010
hub 3-2.2:1.0: state 7 ports 4 chg 0000 evt 0010
usb 3-2.2.4: reset low speed USB device using uhci_hcd and address 7
hub 3-2.2:1.0: state 7 ports 4 chg 0000 evt 0010
uhci_hcd 0000:00:1d.1: reserve dev 7 ep82-INT, period 8, phase 4, 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
usbhid 3-2.2.4:1.0: forced unbind
usbhid 3-2.2.4:1.0: usb_probe_interface
usbhid 3-2.2.4:1.0: usb_probe_interface - got id
input: CHESEN USB Keyboard as /class/input/input14
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
input: USB HID v1.10 Keyboard [CHESEN USB Keyboard] on usb-0000:00:1d.1-2.2.4
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: release dev 7 ep82-INT, period 8, phase 4, 118 us
hub 3-2.2:1.0: state 7 ports 4 chg 0000 evt 0010
hub 3-2.2:1.0: state 7 ports 4 chg 0000 evt 0010
usb 3-2.2.4: reset low speed USB device using uhci_hcd and address 7
hub 3-2.2:1.0: state 7 ports 4 chg 0000 evt 0010
hub 3-2.2:1.0: state 7 ports 4 chg 0000 evt 0010
uhci_hcd 0000:00:1d.1: reserve dev 7 ep82-INT, period 8, phase 4, 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
usbhid 3-2.2.4:1.0: forced unbind
[-- Attachment #3: input-devices.txt --]
[-- Type: text/plain, Size: 3425 bytes --]
I: Bus=0017 Vendor=0001 Product=0001 Version=0100
N: Name="Macintosh mouse button emulation"
P: Phys=
S: Sysfs=/class/input/input0
U: Uniq=
H: Handlers=mouse0 event0
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/class/input/input1
U: Uniq=
H: Handlers=kbd event1
B: EV=120013
B: KEY=4 2000000 3803078 f800d001 feffffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7
I: Bus=0019 Vendor=0000 Product=0002 Version=0000
N: Name="Power Button (FF)"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/class/input/input2
U: Uniq=
H: Handlers=kbd event2
B: EV=3
B: KEY=100000 0 0 0
I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button (CM)"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/class/input/input3
U: Uniq=
H: Handlers=kbd event3
B: EV=3
B: KEY=100000 0 0 0
I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name="PC Speaker"
P: Phys=isa0061/input0
S: Sysfs=/class/input/input4
U: Uniq=
H: Handlers=kbd event4
B: EV=40001
B: SND=6
I: Bus=0011 Vendor=0002 Product=0006 Version=006a
N: Name="ImExPS/2 Logitech Explorer Mouse"
P: Phys=isa0060/serio1/input0
S: Sysfs=/class/input/input5
U: Uniq=
H: Handlers=mouse1 event5
B: EV=7
B: KEY=1f0000 0 0 0 0 0 0 0 0
B: REL=143
I: Bus=0003 Vendor=0a81 Product=0101 Version=0110
N: Name="CHESEN USB Keyboard"
P: Phys=usb-0000:00:1d.3-2.4.1/input0
S: Sysfs=/class/input/input10
U: Uniq=
H: Handlers=kbd event6
B: EV=120013
B: KEY=10000 7 ff9f207a c14057ff febeffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=1f
I: Bus=0003 Vendor=0a81 Product=0101 Version=0110
N: Name="CHESEN USB Keyboard"
P: Phys=usb-0000:00:1d.3-2.4.1/input1
S: Sysfs=/class/input/input11
U: Uniq=
H: Handlers=kbd event7
B: EV=13
B: KEY=2020000 3878 d801d001 1e0000 0 0 0
B: MSC=10
I: Bus=0003 Vendor=0a81 Product=0101 Version=0110
N: Name="CHESEN USB Keyboard"
P: Phys=usb-0000:00:1d.3-2.4.2/input0
S: Sysfs=/class/input/input12
U: Uniq=
H: Handlers=kbd event8
B: EV=120013
B: KEY=10000 7 ff9f207a c14057ff febeffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=1f
I: Bus=0003 Vendor=0a81 Product=0101 Version=0110
N: Name="CHESEN USB Keyboard"
P: Phys=usb-0000:00:1d.3-2.4.2/input1
S: Sysfs=/class/input/input13
U: Uniq=
H: Handlers=kbd event9
B: EV=13
B: KEY=2020000 3878 d801d001 1e0000 0 0 0
B: MSC=10
I: Bus=0003 Vendor=0a81 Product=0101 Version=0110
N: Name="CHESEN USB Keyboard"
P: Phys=usb-0000:00:1d.3-2.4.3/input0
S: Sysfs=/class/input/input14
U: Uniq=
H: Handlers=kbd event10
B: EV=120013
B: KEY=10000 7 ff9f207a c14057ff febeffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=1f
I: Bus=0003 Vendor=0a81 Product=0101 Version=0110
N: Name="CHESEN USB Keyboard"
P: Phys=usb-0000:00:1d.3-2.4.3/input1
S: Sysfs=/class/input/input15
U: Uniq=
H: Handlers=kbd event11
B: EV=13
B: KEY=2020000 3878 d801d001 1e0000 0 0 0
B: MSC=10
I: Bus=0003 Vendor=0a81 Product=0101 Version=0110
N: Name="CHESEN USB Keyboard"
P: Phys=usb-0000:00:1d.3-2.4.4/input1
S: Sysfs=/class/input/input17
U: Uniq=
H: Handlers=kbd event13
B: EV=13
B: KEY=2020000 3878 d801d001 1e0000 0 0 0
B: MSC=10
I: Bus=0003 Vendor=0a81 Product=0101 Version=0110
N: Name="CHESEN USB Keyboard"
P: Phys=usb-0000:00:1d.3-2.4.4/input0
S: Sysfs=/class/input/input18
U: Uniq=
H: Handlers=kbd event12
B: EV=120013
B: KEY=10000 7 ff9f207a c14057ff febeffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=1f
[-- Attachment #4: lsusb_-v_2.6.22-mepis-smp --]
[-- Type: text/plain, Size: 27017 bytes --]
Bus 003 Device 001: ID 0000:0000
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed hub
bMaxPacketSize0 64
idVendor 0x0000
idProduct 0x0000
bcdDevice 2.06
iManufacturer 3 Linux 2.6.22-1-mepis-smp uhci_hcd
iProduct 2 UHCI Host Controller
iSerial 1 0000:00:1d.1
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 255
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 2
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
bPwrOn2PwrGood 1 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0100 power
Device Status: 0x0003
Self Powered
Remote Wakeup Enabled
Bus 005 Device 007: ID 0a81:0101 Chesen Electronics Corp. Keyboard
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0a81 Chesen Electronics Corp.
idProduct 0x0101 Keyboard
bcdDevice 1.10
iManufacturer 1 CHESEN
iProduct 2 USB Keyboard
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 59
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 33 US
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 65
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 33 US
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 102
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)
Bus 005 Device 006: ID 0a81:0101 Chesen Electronics Corp. Keyboard
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0a81 Chesen Electronics Corp.
idProduct 0x0101 Keyboard
bcdDevice 1.10
iManufacturer 1 CHESEN
iProduct 2 USB Keyboard
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 59
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 33 US
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 65
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 33 US
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 102
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)
Bus 005 Device 005: ID 0a81:0101 Chesen Electronics Corp. Keyboard
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0a81 Chesen Electronics Corp.
idProduct 0x0101 Keyboard
bcdDevice 1.10
iManufacturer 1 CHESEN
iProduct 2 USB Keyboard
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 59
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 33 US
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 65
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 33 US
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 102
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)
Bus 005 Device 004: ID 0a81:0101 Chesen Electronics Corp. Keyboard
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0a81 Chesen Electronics Corp.
idProduct 0x0101 Keyboard
bcdDevice 1.10
iManufacturer 1 CHESEN
iProduct 2 USB Keyboard
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 59
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 33 US
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 65
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 33 US
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 102
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)
Bus 005 Device 003: ID 058f:9254 Alcor Micro Corp. Hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed hub
bMaxPacketSize0 8
idVendor 0x058f Alcor Micro Corp.
idProduct 0x9254 Hub
bcdDevice 3.12
iManufacturer 1 ALCOR
iProduct 2 Generic USB Hub
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 255
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 4
wHubCharacteristic 0x0009
Per-port power switching
Per-port overcurrent protection
bPwrOn2PwrGood 22 * 2 milli seconds
bHubContrCurrent 100 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0303 lowspeed power enable connect
Port 2: 0000.0303 lowspeed power enable connect
Port 3: 0000.0303 lowspeed power enable connect
Port 4: 0000.0303 lowspeed power enable connect
Device Status: 0x0001
Self Powered
Bus 005 Device 002: ID 058f:9254 Alcor Micro Corp. Hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed hub
bMaxPacketSize0 8
idVendor 0x058f Alcor Micro Corp.
idProduct 0x9254 Hub
bcdDevice 3.12
iManufacturer 1 ALCOR
iProduct 2 Generic USB Hub
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 255
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 4
wHubCharacteristic 0x0009
Per-port power switching
Per-port overcurrent protection
bPwrOn2PwrGood 22 * 2 milli seconds
bHubContrCurrent 100 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0100 power
Port 3: 0000.0100 power
Port 4: 0000.0103 power enable connect
Device Status: 0x0001
Self Powered
Bus 005 Device 001: ID 0000:0000
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed hub
bMaxPacketSize0 64
idVendor 0x0000
idProduct 0x0000
bcdDevice 2.06
iManufacturer 3 Linux 2.6.22-1-mepis-smp uhci_hcd
iProduct 2 UHCI Host Controller
iSerial 1 0000:00:1d.3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 255
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 2
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
bPwrOn2PwrGood 1 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0103 power enable connect
Device Status: 0x0003
Self Powered
Remote Wakeup Enabled
Bus 004 Device 001: ID 0000:0000
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed hub
bMaxPacketSize0 64
idVendor 0x0000
idProduct 0x0000
bcdDevice 2.06
iManufacturer 3 Linux 2.6.22-1-mepis-smp uhci_hcd
iProduct 2 UHCI Host Controller
iSerial 1 0000:00:1d.2
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 255
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 2
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
bPwrOn2PwrGood 1 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0100 power
Device Status: 0x0003
Self Powered
Remote Wakeup Enabled
Bus 002 Device 001: ID 0000:0000
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed hub
bMaxPacketSize0 64
idVendor 0x0000
idProduct 0x0000
bcdDevice 2.06
iManufacturer 3 Linux 2.6.22-1-mepis-smp uhci_hcd
iProduct 2 UHCI Host Controller
iSerial 1 0000:00:1d.0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 255
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 2
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
bPwrOn2PwrGood 1 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0100 power
Device Status: 0x0003
Self Powered
Remote Wakeup Enabled
Bus 001 Device 001: ID 0000:0000
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 1 Single TT
bMaxPacketSize0 64
idVendor 0x0000
idProduct 0x0000
bcdDevice 2.06
iManufacturer 3 Linux 2.6.22-1-mepis-smp ehci_hcd
iProduct 2 EHCI Host Controller
iSerial 1 0000:00:1d.7
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
Hub Descriptor:
bLength 11
bDescriptorType 41
nNbrPorts 8
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
TT think time 8 FS bits
bPwrOn2PwrGood 10 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00 0x00
PortPwrCtrlMask 0xff 0xff
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0100 power
Port 3: 0000.0100 power
Port 4: 0000.0100 power
Port 5: 0000.0100 power
Port 6: 0000.0100 power
Port 7: 0000.0100 power
Port 8: 0000.0100 power
Device Status: 0x0003
Self Powered
Remote Wakeup Enabled
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-19 9:57 ` Aivils Stoss
@ 2008-08-19 15:03 ` Alan Stern
2008-08-19 15:19 ` Randy Dunlap
1 sibling, 0 replies; 20+ messages in thread
From: Alan Stern @ 2008-08-19 15:03 UTC (permalink / raw)
To: Aivils Stoss
Cc: Randy Dunlap, lud, Samuel Thibault, linux-input, jkosina,
linux-kernel, linuxconsole-dev
On Tue, 19 Aug 2008, Aivils Stoss wrote:
> No problem is same. Older kernels have another troubles.
> 2.6.22-1-mepis-smp
> Quite stable. Have oops sometime inside evdev. Support up to 16
> USB keyboards, where 4 hubs are plugged into PC and 4 keyboards on
> each hub. Any hub cascade support only 4 keyboards, where 5th or more
> is registered but don't send input events. Oops inside evdev , when
> USB keyboard unplugged. No slow down even all USB keyboards does
> not work properly. My be this one support more than 16 keyboards, but
> i don't have PC USB ports enough.
>
> 2.6.24-7
> 4 keyboards per port. If plug in 5th tend to total slow down with this one:
> usb 2-1.1.1: reset low speed USB device using
> uhci_hcd and address 17
> 5th - means 5th keyboard in USB hub's cascade, which is plugged into
> single PC USB port.
>
> 2.6.26
> 4 keyboards per port. If plug in 5th tend to total slow down.
>
> 2.6.27-rc3
> Sorry Randy i cannot repeat Your achievement. This worse of all tested
> kernels. I got working 3 USB keyboards, when i plug in 4th, all keyboards,
> include PS/2 stop working. Kernel does not hung up. I can reach box
> via net. dmesg , /proc/bus/input/devices attached. lsusb hung up.
Have you tried looking in your system log for error messages indicating
the source of the problem?
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
input: USB HID v1.10 Device [CHESEN USB Keyboard] on usb-0000:00:1d.1-2.2.4
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
Those messages seem pretty clear. Each keyboard requires two interrupt
transfers occupying 118 us of bandwidth apiece. That's 236 us per
keyboard.
Since there is only 900 us total available for interrupt transfers in
any frame, and since uhci-hcd isn't smart enough to allocate different
interrupt endpoints to different frames, you run out of bandwidth after
four keyboards.
Now if you plugged some of these keyboards into different UHCI
controllers on the computer, then the problem wouldn't arise. Each of
your four UHCI controllers has two ports. So without using any hubs at
all, you can plug 8 keyboards into the computer and they will all work.
If you use some extra hubs as well then you can plug four keyboards
into each controller, allowing you to use 16 keyboards total.
Alan Stern
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-19 9:57 ` Aivils Stoss
2008-08-19 15:03 ` Alan Stern
@ 2008-08-19 15:19 ` Randy Dunlap
2008-08-19 15:23 ` Jiri Kosina
1 sibling, 1 reply; 20+ messages in thread
From: Randy Dunlap @ 2008-08-19 15:19 UTC (permalink / raw)
To: Aivils Stoss, stern
Cc: lud, Samuel Thibault, linux-input, jkosina, linux-kernel,
linuxconsole-dev
On Tue, 19 Aug 2008 15:27:06 +0530 Aivils Stoss wrote:
> On Monday 18 August 2008 8:44:32 pm Randy Dunlap wrote:
> > On Mon, 18 Aug 2008 16:42:49 +0530 Aivils Stoss wrote:
> > > On Friday 15 August 2008 7:19:48 am Randy Dunlap wrote:
> > > > 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.
> > >
> > > Yeah! 2.6.7 is a bit obsolete. At my end 2.6.15 support more than 4
> > > keyboards per PC port , but mess up input when is plugged more than
> > > 9 keyboards. 10th is capable to send keypress events, but last pressed
> > > key will be repeated until ctrl-c . 10th keyboard disturb an auto repeat
> > > of all keyboards.
> >
> > Sorry, my keyboard made a typo. I'm testing with 2.6.27-rc2.
> >
> > So the problem is now different from your original report, right?
>
> No problem is same. Older kernels have another troubles.
> 2.6.22-1-mepis-smp
> Quite stable. Have oops sometime inside evdev. Support up to 16
> USB keyboards, where 4 hubs are plugged into PC and 4 keyboards on
> each hub. Any hub cascade support only 4 keyboards, where 5th or more
> is registered but don't send input events. Oops inside evdev , when
> USB keyboard unplugged. No slow down even all USB keyboards does
> not work properly. My be this one support more than 16 keyboards, but
> i don't have PC USB ports enough.
Has the evdev oops been reported and/or fixed?
I think that we would prefer to fix that soonish.
> 2.6.24-7
> 4 keyboards per port. If plug in 5th tend to total slow down with this one:
> usb 2-1.1.1: reset low speed USB device using
> uhci_hcd and address 17
> 5th - means 5th keyboard in USB hub's cascade, which is plugged into
> single PC USB port.
>
> 2.6.26
> 4 keyboards per port. If plug in 5th tend to total slow down.
>
> 2.6.27-rc3
> Sorry Randy i cannot repeat Your achievement. This worse of all tested
> kernels. I got working 3 USB keyboards, when i plug in 4th, all keyboards,
> include PS/2 stop working. Kernel does not hung up. I can reach box
> via net. dmesg , /proc/bus/input/devices attached. lsusb hung up.
Please try to include full dmesg (kernel boot log) in the future.
This was was truncated at the front (early messages).
> Please notify me , if i should use 2.6.27-rc2 !
It doesn't seem preferable for you yet.
Looks like it could be a problem just to put N low-speed devices on one root hub/port:
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
uhci_hcd 0000:00:1d.1: bandwidth allocation failed: period 8, phase 4, 826 + 118 us
etc etc.
Alan (Stern), could you look at this one, please?
> Aivils
>
> >
> >
> > What speed is the host port that the keyboards are connected to?
> > Could it be a USB bus bandwidth limitation? (not that any code
> > checks for that)
> >
> > I barely found 5 USB keyboards, so I surely can't test 10 or more. ;)
> > I suppose that it will take some USB debug messages to attempt to see
> > what is going on...
---
~Randy
Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA
http://linuxplumbersconf.org/
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-19 15:19 ` Randy Dunlap
@ 2008-08-19 15:23 ` Jiri Kosina
2008-08-19 17:55 ` Dmitry Torokhov
2008-08-20 5:40 ` Aivils Stoss
0 siblings, 2 replies; 20+ messages in thread
From: Jiri Kosina @ 2008-08-19 15:23 UTC (permalink / raw)
To: Randy Dunlap
Cc: Aivils Stoss, stern, lud, Samuel Thibault, linux-input,
linux-kernel, linuxconsole-dev
On Tue, 19 Aug 2008, Randy Dunlap wrote:
> > 2.6.22-1-mepis-smp
> > Quite stable. Have oops sometime inside evdev. Support up to 16
> > USB keyboards, where 4 hubs are plugged into PC and 4 keyboards on
> > each hub. Any hub cascade support only 4 keyboards, where 5th or more
> > is registered but don't send input events. Oops inside evdev , when
> > USB keyboard unplugged. No slow down even all USB keyboards does
> > not work properly. My be this one support more than 16 keyboards, but
> > i don't have PC USB ports enough.
> Has the evdev oops been reported and/or fixed? I think that we would
> prefer to fix that soonish.
We haven't seen the respective oops yet, or have I missed it?
I'd bet it is fixed in newer kernels by patches that introduce proper
locking into evdev code.
--
Jiri Kosina
SUSE Labs
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-19 15:23 ` Jiri Kosina
@ 2008-08-19 17:55 ` Dmitry Torokhov
2008-08-20 5:40 ` Aivils Stoss
1 sibling, 0 replies; 20+ messages in thread
From: Dmitry Torokhov @ 2008-08-19 17:55 UTC (permalink / raw)
To: Jiri Kosina
Cc: Randy Dunlap, Aivils Stoss, stern, lud, Samuel Thibault,
linux-input, linux-kernel, linuxconsole-dev
On Tue, Aug 19, 2008 at 05:23:07PM +0200, Jiri Kosina wrote:
> On Tue, 19 Aug 2008, Randy Dunlap wrote:
>
> > > 2.6.22-1-mepis-smp
> > > Quite stable. Have oops sometime inside evdev. Support up to 16
> > > USB keyboards, where 4 hubs are plugged into PC and 4 keyboards on
> > > each hub. Any hub cascade support only 4 keyboards, where 5th or more
> > > is registered but don't send input events. Oops inside evdev , when
> > > USB keyboard unplugged. No slow down even all USB keyboards does
> > > not work properly. My be this one support more than 16 keyboards, but
> > > i don't have PC USB ports enough.
> > Has the evdev oops been reported and/or fixed? I think that we would
> > prefer to fix that soonish.
>
> We haven't seen the respective oops yet, or have I missed it?
>
> I'd bet it is fixed in newer kernels by patches that introduce proper
> locking into evdev code.
>
If evdev (or any other part of the input sybsystem) still oopses in
2.6.26 and 2.6.27 I would like to see that oops very much.
--
Dmitry
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-19 15:23 ` Jiri Kosina
2008-08-19 17:55 ` Dmitry Torokhov
@ 2008-08-20 5:40 ` Aivils Stoss
1 sibling, 0 replies; 20+ messages in thread
From: Aivils Stoss @ 2008-08-20 5:40 UTC (permalink / raw)
To: Jiri Kosina, Dmitry Torokhov
Cc: Randy Dunlap, stern, lud, Samuel Thibault, linux-input,
linux-kernel, linuxconsole-dev
On Tuesday 19 August 2008 8:53:07 pm Jiri Kosina wrote:
> On Tue, 19 Aug 2008, Randy Dunlap wrote:
> > > 2.6.22-1-mepis-smp
> > > Quite stable. Have oops sometime inside evdev. Support up to 16
> > > USB keyboards, where 4 hubs are plugged into PC and 4 keyboards on
> > > each hub. Any hub cascade support only 4 keyboards, where 5th or more
> > > is registered but don't send input events. Oops inside evdev , when
> > > USB keyboard unplugged. No slow down even all USB keyboards does
> > > not work properly. My be this one support more than 16 keyboards, but
> > > i don't have PC USB ports enough.
> >
> > Has the evdev oops been reported and/or fixed? I think that we would
> > prefer to fix that soonish.
>
> We haven't seen the respective oops yet, or have I missed it?
>
> I'd bet it is fixed in newer kernels by patches that introduce proper
> locking into evdev code.
I don't know exists this one in the 2.6.26 and above :o(
Aivils Stoss
# cat /proc/version
Linux version 2.6.22-1-mepis-smp (root@mepis-pro) (gcc version 4.1.2 20061115
(prerelease) (Debian 4.1.1-21)) #1 SMP PREEMPT Sun Dec 2 19:15:40 EST 2007
# dmesg
input: CHESEN USB Keyboard as /class/input/input41
input: USB HID v1.10 Device [CHESEN USB Keyboard] on usb-0000:00:1d.3-2.4.4
hub 5-0:1.0: port 2 disabled by hub (EMI?), re-enabling...
usb 5-2: USB disconnect, address 8
usb 5-2.1: USB disconnect, address 14
usb 5-2.1.2: USB disconnect, address 23
BUG: unable to handle kernel paging request at virtual address 00100100
printing eip:
f8832664
*pde = 00000000
Oops: 0000 [#1]
PREEMPT SMP
Modules linked in: i915 drm evdev binfmt_misc cpufreq_ondemand
cpufreq_userspace cpufreq_powersave acpi_cpufreq speedstep_lib freq_table
rfcomm hidp l2cap bluetooth ppdev lp thermal fan button processor ac battery
ipv6 snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_midi_emul
snd_emu10k1 snd_util_mem snd_hwdep piix ide_core fuse ndiswrapper dm_crypt
dm_snapshot dm_mirror dm_mod usbhid hid sworks_agp amd_k7_agp ali_agp sis_agp
ati_agp nvidia_agp via_agp wlan_scan_sta ath_rate_sample snd_emu10k1x
snd_seq_dummy snd_seq_oss snd_seq_midi snd_seq_midi_event snd_seq snd_rawmidi
snd_seq_device snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd
soundcore intel_agp agpgart ac97_bus i2c_i801 i2c_core snd_page_alloc
parport_pc parport floppy ath_pci wlan ath_hal(P) serio_raw psmouse uhci_hcd
atl2 pcspkr
CPU: 0
EIP: 0060:[<f8832664>] Tainted: P VLI
EFLAGS: 00010206 (2.6.22-1-mepis-smp #1)
EIP is at evdev_disconnect+0x73/0xb1 [evdev]
eax: 00000000 ebx: 000ffcf0 ecx: f73d5540 edx: 01329000
esi: f6c31340 edi: cf00c000 ebp: d2a56800 esp: c1a59e48
ds: 007b es: 007b fs: 00d8 gs: 0000 ss: 0068
Process khubd (pid: 168, ti=c1a58000 task=c1aaf030 task.ti=c1a58000)
Stack: c368c800 c368c800 c368cecc c0321be7 00000000 c048f02c c18de420 d2a56800
f6f98ba0 cf00cc58 f8a51354 caf8501c caf85000 cf00c000 f8a4129d d2a56800
d2a56818 f8a45dc0 e4ef2800 c030715f 00000000 d2a56818 f8a45df4 00000000
Call Trace:
[<c0321be7>] input_unregister_device+0x67/0xfc
[<f8a51354>] hidinput_disconnect+0x2e/0x47 [hid]
[<f8a4129d>] hid_disconnect+0x70/0xc1 [usbhid]
[<c030715f>] usb_unbind_interface+0x44/0x85
[<c02b16a4>] __device_release_driver+0x71/0x8e
[<c02b1a2c>] device_release_driver+0x1e/0x34
[<c02b108e>] bus_remove_device+0x5e/0x6c
[<c02afb7d>] device_del+0x1a4/0x218
[<c0304c75>] usb_disable_device+0x5c/0xbb
[<c0301773>] usb_disconnect+0x83/0x11b
[<c0301761>] usb_disconnect+0x71/0x11b
[<c0301761>] usb_disconnect+0x71/0x11b
[<c0301e5e>] hub_thread+0x365/0xa67
[<c0392677>] __sched_text_start+0x6f7/0x793
[<c0133e60>] autoremove_wake_function+0x0/0x35
[<c0301af9>] hub_thread+0x0/0xa67
[<c0133d93>] kthread+0x38/0x5d
[<c0133d5b>] kthread+0x0/0x5d
[<c01049d7>] kernel_thread_helper+0x7/0x10
=======================
Code: e8 07 e4 ae c7 8b 5e 54 eb 1b 8d 83 08 04 00 00 b9 06 00 02 00 ba 1d 00
00 00 e8 40 11 94 c7 8b 9b 10 04 00 00 81 eb 10 04 00 00 <8b> 83 10 04 00 00
0f 18 00 90 8d 93 10 04 00 00 8d 46 54 39 c2
EIP: [<f8832664>] evdev_disconnect+0x73/0xb1 [evdev] SS:ESP 0068:c1a59e48
hid-debug: input LED.CapsLock = 1
/home/aivils/works/kernel/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed
hid-debug: input LED.CapsLock = 1
/home/aivils/works/kernel/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed
hid-debug: input LED.CapsLock = 1
/home/aivils/works/kernel/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed
hid-debug: input LED.CapsLock = 1
/home/aivils/works/kernel/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed
hid-debug: input LED.CapsLock = 1
/home/aivils/works/kernel/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed
hid-debug: input LED.CapsLock = 0
/home/aivils/works/kernel/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed
hid-debug: input LED.CapsLock = 0
/home/aivils/works/kernel/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed
hid-debug: input LED.CapsLock = 0
/home/aivils/works/kernel/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed
hid-debug: input LED.CapsLock = 0
/home/aivils/works/kernel/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed
hid-debug: input LED.CapsLock = 0
/home/aivils/works/kernel/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed
# cat /proc/modules
i915 21120 2 - Live 0xf8d13000
drm 67092 3 i915, Live 0xf8d21000
evdev 7936 5 - Live 0xf8832000
binfmt_misc 9224 1 - Live 0xf8cc5000
cpufreq_ondemand 7436 2 - Live 0xf8cb0000
cpufreq_userspace 4256 0 - Live 0xf8cb3000
cpufreq_powersave 2560 0 - Live 0xf8c10000
acpi_cpufreq 7624 0 - Live 0xf8c92000
speedstep_lib 4740 0 - Live 0xf8cad000
freq_table 4512 2 cpufreq_ondemand,acpi_cpufreq, Live 0xf8c95000
rfcomm 31256 0 - Live 0xf8cb8000
hidp 15232 2 - Live 0xf8c86000
l2cap 19712 10 rfcomm,hidp, Live 0xf8c9a000
bluetooth 42724 5 rfcomm,hidp,l2cap, Live 0xf8ca1000
ppdev 7684 0 - Live 0xf8c8f000
lp 9476 0 - Live 0xf8c8b000
thermal 11784 0 - Live 0xf8c1a000
fan 4612 0 - Live 0xf8c21000
button 7056 0 - Live 0xf8c1e000
processor 25928 2 acpi_cpufreq,thermal, Live 0xf8c12000
ac 4740 0 - Live 0xf8bfc000
battery 9220 0 - Live 0xf8bf8000
ipv6 217380 12 - Live 0xf8cc9000
snd_emu10k1_synth 6784 0 - Live 0xf8bf5000
snd_emux_synth 29568 1 snd_emu10k1_synth, Live 0xf8bff000
snd_seq_virmidi 6144 1 snd_emux_synth, Live 0xf8bf2000
snd_seq_midi_emul 6016 1 snd_emux_synth, Live 0xf8a7d000
snd_emu10k1 119232 1 snd_emu10k1_synth, Live 0xf8c67000
snd_util_mem 4352 2 snd_emux_synth,snd_emu10k1, Live 0xf8a7a000
snd_hwdep 7556 2 snd_emux_synth,snd_emu10k1, Live 0xf8a77000
piix 8708 0 [permanent], Live 0xf8a66000
ide_core 100036 1 piix, Live 0xf8c4d000
fuse 36756 1 - Live 0xf89f6000
ndiswrapper 162396 0 - Live 0xf8c24000
dm_crypt 11272 0 - Live 0xf884f000
dm_snapshot 14888 0 - Live 0xf8a5c000
dm_mirror 18304 0 - Live 0xf8a48000
dm_mod 43840 3 dm_crypt,dm_snapshot,dm_mirror, Live 0xf8a6b000
usbhid 22240 0 - Live 0xf8a41000
hid 41344 2 hidp,usbhid, Live 0xf8a50000
sworks_agp 8096 0 - Live 0xf89f3000
amd_k7_agp 7436 0 - Live 0xf89f0000
ali_agp 6144 0 - Live 0xf89d3000
sis_agp 7556 0 - Live 0xf89d0000
ati_agp 7564 0 - Live 0xf89cd000
nvidia_agp 7068 0 - Live 0xf89ca000
via_agp 8960 0 - Live 0xf882e000
wlan_scan_sta 11776 1 - Live 0xf89c6000
ath_rate_sample 11776 1 - Live 0xf8959000
snd_emu10k1x 15268 0 - Live 0xf8991000
snd_seq_dummy 3844 0 - Live 0xf8960000
snd_seq_oss 28800 0 - Live 0xf8996000
snd_seq_midi 6944 0 - Live 0xf897c000
snd_seq_midi_event 6656 3 snd_seq_virmidi,snd_seq_oss,snd_seq_midi, Live
0xf895d000
snd_seq 42576 9
snd_emux_synth,snd_seq_virmidi,snd_seq_midi_emul,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event,
Live 0xf89ba000
snd_rawmidi 18208 4 snd_seq_virmidi,snd_emu10k1,snd_emu10k1x,snd_seq_midi,
Live 0xf8856000
snd_seq_device 7308 8
snd_emu10k1_synth,snd_emux_synth,snd_emu10k1,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq,snd_rawmidi,
Live 0xf88f1000
snd_ac97_codec 90788 2 snd_emu10k1,snd_emu10k1x, Live 0xf89d8000
snd_pcm_oss 34976 0 - Live 0xf89b0000
snd_mixer_oss 14592 1 snd_pcm_oss, Live 0xf8977000
snd_pcm 62084 4 snd_emu10k1,snd_emu10k1x,snd_ac97_codec,snd_pcm_oss, Live
0xf899f000
snd_timer 17668 3 snd_emu10k1,snd_seq,snd_pcm, Live 0xf8971000
snd 41316 15
snd_emux_synth,snd_seq_virmidi,snd_emu10k1,snd_hwdep,snd_emu10k1x,snd_seq_dummy,snd_seq_oss,snd_seq,snd_rawmidi,snd_seq_device,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,
Live 0xf897f000
soundcore 6880 1 snd, Live 0xf887d000
intel_agp 21012 1 - Live 0xf896a000
agpgart 25804 10
drm,sworks_agp,amd_k7_agp,ali_agp,sis_agp,ati_agp,nvidia_agp,via_agp,intel_agp,
Live 0xf8962000
ac97_bus 3072 1 snd_ac97_codec, Live 0xf8866000
i2c_i801 8208 0 - Live 0xf8860000
i2c_core 19456 1 i2c_i801, Live 0xf8877000
snd_page_alloc 8328 3 snd_emu10k1,snd_emu10k1x,snd_pcm, Live 0xf885c000
parport_pc 30116 1 - Live 0xf8950000
parport 29512 3 ppdev,lp,parport_pc, Live 0xf88d6000
floppy 50052 0 - Live 0xf8869000
ath_pci 81440 0 - Live 0xf88c1000
wlan 170180 4 wlan_scan_sta,ath_rate_sample,ath_pci, Live 0xf8925000
ath_hal 190544 3 ath_rate_sample,ath_pci, Live 0xf88f5000 (P)
serio_raw 6020 0 - Live 0xf8853000
psmouse 34320 0 - Live 0xf8837000
uhci_hcd 20364 0 - Live 0xf8849000
atl2 24216 0 - Live 0xf8842000
pcspkr 3456 0 - Live 0xf8835000
# objdump -D evdev.ko
evdev.ko: file format elf32-i386
Disassembly of section .text:
00000000 <evdev_poll>:
0: 57 push %edi
1: 56 push %esi
2: 53 push %ebx
3: 89 d3 mov %edx,%ebx
5: 8b b0 80 00 00 00 mov 0x80(%eax),%esi
b: 85 db test %ebx,%ebx
d: 8b be 0c 04 00 00 mov 0x40c(%esi),%edi
13: 8d 57 40 lea 0x40(%edi),%edx
16: 74 08 je 20 <evdev_poll+0x20>
18: 85 d2 test %edx,%edx
1a: 74 04 je 20 <evdev_poll+0x20>
1c: 89 d9 mov %ebx,%ecx
1e: ff 13 call *(%ebx)
20: 8b 96 00 04 00 00 mov 0x400(%esi),%edx
26: 31 c0 xor %eax,%eax
28: 3b 96 04 04 00 00 cmp 0x404(%esi),%edx
2e: ba 41 00 00 00 mov $0x41,%edx
33: 5b pop %ebx
34: 0f 45 c2 cmovne %edx,%eax
37: 83 3f 01 cmpl $0x1,(%edi)
3a: 5e pop %esi
3b: 19 d2 sbb %edx,%edx
3d: 5f pop %edi
3e: 83 e2 18 and $0x18,%edx
41: 09 d0 or %edx,%eax
43: c3 ret
00000044 <evdev_fasync>:
44: 53 push %ebx
45: 83 ec 04 sub $0x4,%esp
48: 8b 9a 80 00 00 00 mov 0x80(%edx),%ebx
4e: 81 c3 08 04 00 00 add $0x408,%ebx
54: 89 1c 24 mov %ebx,(%esp)
57: e8 fc ff ff ff call 58 <evdev_fasync+0x14>
5c: 89 c2 mov %eax,%edx
5e: 31 c0 xor %eax,%eax
60: 85 d2 test %edx,%edx
62: 0f 4e c2 cmovle %edx,%eax
65: 5a pop %edx
66: 5b pop %ebx
67: c3 ret
00000068 <evdev_free>:
68: 8b 50 08 mov 0x8(%eax),%edx
6b: c7 04 95 00 00 00 00 movl $0x0,0x0(,%edx,4)
72: 00 00 00 00
76: e9 fc ff ff ff jmp 77 <evdev_free+0xf>
0000007b <evdev_flush>:
7b: 89 c2 mov %eax,%edx
7d: 8b 80 80 00 00 00 mov 0x80(%eax),%eax
83: 8b 80 0c 04 00 00 mov 0x40c(%eax),%eax
89: 83 38 00 cmpl $0x0,(%eax)
8c: 74 08 je 96 <evdev_flush+0x1b>
8e: 83 c0 1c add $0x1c,%eax
91: e9 fc ff ff ff jmp 92 <evdev_flush+0x17>
96: b8 ed ff ff ff mov $0xffffffed,%eax
9b: c3 ret
0000009c <str_to_user>:
9c: 57 push %edi
9d: 85 c0 test %eax,%eax
9f: 56 push %esi
a0: bf fe ff ff ff mov $0xfffffffe,%edi
a5: 53 push %ebx
a6: 89 ce mov %ecx,%esi
a8: 89 c3 mov %eax,%ebx
aa: 74 29 je d5 <str_to_user+0x39>
ac: 31 c0 xor %eax,%eax
ae: 83 c9 ff or $0xffffffff,%ecx
b1: 89 df mov %ebx,%edi
b3: f2 ae repnz scas %es:(%edi),%al
b5: f7 d1 not %ecx
b7: 49 dec %ecx
b8: 8d 79 01 lea 0x1(%ecx),%edi
bb: 89 f0 mov %esi,%eax
bd: 39 d7 cmp %edx,%edi
bf: 0f 47 fa cmova %edx,%edi
c2: 89 da mov %ebx,%edx
c4: 89 f9 mov %edi,%ecx
c6: e8 fc ff ff ff call c7 <str_to_user+0x2b>
cb: 85 c0 test %eax,%eax
cd: b8 f2 ff ff ff mov $0xfffffff2,%eax
d2: 0f 45 f8 cmovne %eax,%edi
d5: 5b pop %ebx
d6: 89 f8 mov %edi,%eax
d8: 5e pop %esi
d9: 5f pop %edi
da: c3 ret
000000db <bits_to_user>:
db: 53 push %ebx
dc: c1 ea 05 shr $0x5,%edx
df: 8d 1c 95 04 00 00 00 lea 0x4(,%edx,4),%ebx
e6: 89 c2 mov %eax,%edx
e8: 8b 44 24 08 mov 0x8(%esp),%eax
ec: 39 cb cmp %ecx,%ebx
ee: 0f 47 d9 cmova %ecx,%ebx
f1: 89 d9 mov %ebx,%ecx
f3: e8 fc ff ff ff call f4 <bits_to_user+0x19>
f8: 85 c0 test %eax,%eax
fa: b8 f2 ff ff ff mov $0xfffffff2,%eax
ff: 0f 45 d8 cmovne %eax,%ebx
102: 89 d8 mov %ebx,%eax
104: 5b pop %ebx
105: c3 ret
00000106 <evdev_ioctl>:
106: 55 push %ebp
107: 57 push %edi
108: 89 cf mov %ecx,%edi
10a: 56 push %esi
10b: 53 push %ebx
10c: 89 d3 mov %edx,%ebx
10e: 83 ec 54 sub $0x54,%esp
111: 89 44 24 08 mov %eax,0x8(%esp)
115: 8b 80 80 00 00 00 mov 0x80(%eax),%eax
11b: 89 44 24 0c mov %eax,0xc(%esp)
11f: 8b a8 0c 04 00 00 mov 0x40c(%eax),%ebp
125: b8 ed ff ff ff mov $0xffffffed,%eax
12a: 83 7d 00 00 cmpl $0x0,0x0(%ebp)
12e: 8b 75 28 mov 0x28(%ebp),%esi
131: 0f 84 b2 04 00 00 je 5e9 <evdev_ioctl+0x4e3>
137: 81 fa 80 45 2c 40 cmp $0x402c4580,%edx
13d: 0f 84 98 01 00 00 je 2db <evdev_ioctl+0x1d5>
143: 77 3c ja 181 <evdev_ioctl+0x7b>
145: 81 fa 90 45 04 40 cmp $0x40044590,%edx
14b: 0f 84 08 02 00 00 je 359 <evdev_ioctl+0x253>
151: 77 11 ja 164 <evdev_ioctl+0x5e>
153: 81 fa 81 45 04 40 cmp $0x40044581,%edx
159: 0f 85 42 02 00 00 jne 3a1 <evdev_ioctl+0x29b>
15f: e9 c0 01 00 00 jmp 324 <evdev_ioctl+0x21e>
164: 81 fa 03 45 08 40 cmp $0x40084503,%edx
16a: 0f 84 9d 00 00 00 je 20d <evdev_ioctl+0x107>
170: 81 fa 04 45 08 40 cmp $0x40084504,%edx
176: 0f 85 25 02 00 00 jne 3a1 <evdev_ioctl+0x29b>
17c: e9 24 01 00 00 jmp 2a5 <evdev_ioctl+0x19f>
181: 81 fa 02 45 08 80 cmp $0x80084502,%edx
187: 74 43 je 1cc <evdev_ioctl+0xc6>
189: 77 19 ja 1a4 <evdev_ioctl+0x9e>
18b: 81 fa 01 45 04 80 cmp $0x80044501,%edx
191: 74 2a je 1bd <evdev_ioctl+0xb7>
193: 81 fa 84 45 04 80 cmp $0x80044584,%edx
199: 0f 85 02 02 00 00 jne 3a1 <evdev_ioctl+0x29b>
19f: e9 92 01 00 00 jmp 336 <evdev_ioctl+0x230>
1a4: 81 fa 03 45 08 80 cmp $0x80084503,%edx
1aa: 74 2d je 1d9 <evdev_ioctl+0xd3>
1ac: 81 fa 04 45 08 80 cmp $0x80084504,%edx
1b2: 0f 85 e9 01 00 00 jne 3a1 <evdev_ioctl+0x29b>
1b8: e9 b4 00 00 00 jmp 271 <evdev_ioctl+0x16b>
1bd: b8 00 00 01 00 mov $0x10000,%eax
1c2: e8 fc ff ff ff call 1c3 <evdev_ioctl+0xbd>
1c7: e9 1d 04 00 00 jmp 5e9 <evdev_ioctl+0x4e3>
1cc: 8d 56 10 lea 0x10(%esi),%edx
1cf: b9 08 00 00 00 mov $0x8,%ecx
1d4: e9 7f 03 00 00 jmp 558 <evdev_ioctl+0x452>
1d9: 8b 46 18 mov 0x18(%esi),%eax
1dc: a9 00 00 10 00 test $0x100000,%eax
1e1: 0f 84 ef 03 00 00 je 5d6 <evdev_ioctl+0x4d0>
1e7: 8b 86 c4 01 00 00 mov 0x1c4(%esi),%eax
1ed: e8 fc ff ff ff call 1ee <evdev_ioctl+0xe8>
1f2: 85 c0 test %eax,%eax
1f4: 0f 85 d5 03 00 00 jne 5cf <evdev_ioctl+0x4c9>
1fa: 8b 86 c8 01 00 00 mov 0x1c8(%esi),%eax
200: 8d 4f 04 lea 0x4(%edi),%ecx
203: e8 fc ff ff ff call 204 <evdev_ioctl+0xfe>
208: e9 52 03 00 00 jmp 55f <evdev_ioctl+0x459>
20d: 8b 46 18 mov 0x18(%esi),%eax
210: a9 00 00 10 00 test $0x100000,%eax
215: 0f 84 bb 03 00 00 je 5d6 <evdev_ioctl+0x4d0>
21b: 89 c8 mov %ecx,%eax
21d: e8 fc ff ff ff call 21e <evdev_ioctl+0x118>
222: 85 c0 test %eax,%eax
224: 89 d1 mov %edx,%ecx
226: 0f 85 a3 03 00 00 jne 5cf <evdev_ioctl+0x4c9>
22c: 8d 47 04 lea 0x4(%edi),%eax
22f: e8 fc ff ff ff call 230 <evdev_ioctl+0x12a>
234: 85 c0 test %eax,%eax
236: 0f 85 93 03 00 00 jne 5cf <evdev_ioctl+0x4c9>
23c: 8d 5d 1c lea 0x1c(%ebp),%ebx
23f: 89 d8 mov %ebx,%eax
241: 89 54 24 50 mov %edx,0x50(%esp)
245: ba 14 00 00 00 mov $0x14,%edx
24a: 89 0c 24 mov %ecx,(%esp)
24d: 31 c9 xor %ecx,%ecx
24f: e8 fc ff ff ff call 250 <evdev_ioctl+0x14a>
254: b9 01 00 00 00 mov $0x1,%ecx
259: ba 14 00 00 00 mov $0x14,%edx
25e: 8b 44 24 50 mov 0x50(%esp),%eax
262: 89 04 24 mov %eax,(%esp)
265: 89 d8 mov %ebx,%eax
267: e8 fc ff ff ff call 268 <evdev_ioctl+0x162>
26c: e9 0e 01 00 00 jmp 37f <evdev_ioctl+0x279>
271: 89 c8 mov %ecx,%eax
273: e8 fc ff ff ff call 274 <evdev_ioctl+0x16e>
278: 85 c0 test %eax,%eax
27a: 0f 85 4f 03 00 00 jne 5cf <evdev_ioctl+0x4c9>
280: 8d 4c 24 50 lea 0x50(%esp),%ecx
284: 89 f0 mov %esi,%eax
286: ff 96 98 00 00 00 call *0x98(%esi)
28c: 85 c0 test %eax,%eax
28e: 0f 85 55 03 00 00 jne 5e9 <evdev_ioctl+0x4e3>
294: 8b 44 24 50 mov 0x50(%esp),%eax
298: 8d 4f 04 lea 0x4(%edi),%ecx
29b: e8 fc ff ff ff call 29c <evdev_ioctl+0x196>
2a0: e9 ba 02 00 00 jmp 55f <evdev_ioctl+0x459>
2a5: 89 c8 mov %ecx,%eax
2a7: e8 fc ff ff ff call 2a8 <evdev_ioctl+0x1a2>
2ac: 85 c0 test %eax,%eax
2ae: 89 d3 mov %edx,%ebx
2b0: 0f 85 19 03 00 00 jne 5cf <evdev_ioctl+0x4c9>
2b6: 8d 41 04 lea 0x4(%ecx),%eax
2b9: e8 fc ff ff ff call 2ba <evdev_ioctl+0x1b4>
2be: 85 c0 test %eax,%eax
2c0: 0f 85 09 03 00 00 jne 5cf <evdev_ioctl+0x4c9>
2c6: 89 d1 mov %edx,%ecx
2c8: 89 f0 mov %esi,%eax
2ca: 89 54 24 50 mov %edx,0x50(%esp)
2ce: 89 da mov %ebx,%edx
2d0: ff 96 94 00 00 00 call *0x94(%esi)
2d6: e9 0e 03 00 00 jmp 5e9 <evdev_ioctl+0x4e3>
2db: 8d 5c 24 10 lea 0x10(%esp),%ebx
2df: b9 2c 00 00 00 mov $0x2c,%ecx
2e4: 89 fa mov %edi,%edx
2e6: 89 d8 mov %ebx,%eax
2e8: e8 fc ff ff ff call 2e9 <evdev_ioctl+0x1e3>
2ed: 85 c0 test %eax,%eax
2ef: 0f 85 da 02 00 00 jne 5cf <evdev_ioctl+0x4c9>
2f5: 8b 4c 24 08 mov 0x8(%esp),%ecx
2f9: 89 da mov %ebx,%edx
2fb: 89 f0 mov %esi,%eax
2fd: e8 fc ff ff ff call 2fe <evdev_ioctl+0x1f8>
302: 8d 4f 02 lea 0x2(%edi),%ecx
305: 66 8b 54 24 12 mov 0x12(%esp),%dx
30a: 89 c3 mov %eax,%ebx
30c: 89 d0 mov %edx,%eax
30e: e8 fc ff ff ff call 30f <evdev_ioctl+0x209>
313: 89 c2 mov %eax,%edx
315: 89 d8 mov %ebx,%eax
317: 85 d2 test %edx,%edx
319: 0f 84 ca 02 00 00 je 5e9 <evdev_ioctl+0x4e3>
31f: e9 ab 02 00 00 jmp 5cf <evdev_ioctl+0x4c9>
324: 8b 4c 24 08 mov 0x8(%esp),%ecx
328: 89 fa mov %edi,%edx
32a: 89 f0 mov %esi,%eax
32c: e8 fc ff ff ff call 32d <evdev_ioctl+0x227>
331: e9 b3 02 00 00 jmp 5e9 <evdev_ioctl+0x4e3>
336: 8b 46 18 mov 0x18(%esi),%eax
339: 31 d2 xor %edx,%edx
33b: a9 00 00 20 00 test $0x200000,%eax
340: 74 09 je 34b <evdev_ioctl+0x245>
342: 8b 86 9c 00 00 00 mov 0x9c(%esi),%eax
348: 8b 50 40 mov 0x40(%eax),%edx
34b: 89 d0 mov %edx,%eax
34d: 89 f9 mov %edi,%ecx
34f: e8 fc ff ff ff call 350 <evdev_ioctl+0x24a>
354: e9 06 02 00 00 jmp 55f <evdev_ioctl+0x459>
359: 85 c9 test %ecx,%ecx
35b: 8b 45 50 mov 0x50(%ebp),%eax
35e: 74 26 je 386 <evdev_ioctl+0x280>
360: 85 c0 test %eax,%eax
362: 0f 85 75 02 00 00 jne 5dd <evdev_ioctl+0x4d7>
368: 8d 45 1c lea 0x1c(%ebp),%eax
36b: e8 fc ff ff ff call 36c <evdev_ioctl+0x266>
370: 85 c0 test %eax,%eax
372: 0f 85 65 02 00 00 jne 5dd <evdev_ioctl+0x4d7>
378: 8b 44 24 0c mov 0xc(%esp),%eax
37c: 89 45 50 mov %eax,0x50(%ebp)
37f: 31 c0 xor %eax,%eax
381: e9 63 02 00 00 jmp 5e9 <evdev_ioctl+0x4e3>
386: 3b 44 24 0c cmp 0xc(%esp),%eax
38a: 0f 85 54 02 00 00 jne 5e4 <evdev_ioctl+0x4de>
390: 8d 45 1c lea 0x1c(%ebp),%eax
393: e8 fc ff ff ff call 394 <evdev_ioctl+0x28e>
398: c7 45 50 00 00 00 00 movl $0x0,0x50(%ebp)
39f: eb de jmp 37f <evdev_ioctl+0x279>
3a1: 0f b6 c7 movzbl %bh,%eax
3a4: 83 f8 45 cmp $0x45,%eax
3a7: 0f 85 37 02 00 00 jne 5e4 <evdev_ioctl+0x4de>
3ad: 89 d8 mov %ebx,%eax
3af: c1 e8 1e shr $0x1e,%eax
3b2: 83 f8 02 cmp $0x2,%eax
3b5: 0f 85 ae 01 00 00 jne 569 <evdev_ioctl+0x463>
3bb: 89 d8 mov %ebx,%eax
3bd: 25 e0 00 00 00 and $0xe0,%eax
3c2: 83 f8 20 cmp $0x20,%eax
3c5: 75 79 jne 440 <evdev_ioctl+0x33a>
3c7: 89 d8 mov %ebx,%eax
3c9: 83 e0 1f and $0x1f,%eax
3cc: 83 f8 15 cmp $0x15,%eax
3cf: 0f 87 0f 02 00 00 ja 5e4 <evdev_ioctl+0x4de>
3d5: ff 24 85 00 00 00 00 jmp *0x0(,%eax,4)
3dc: 8d 46 18 lea 0x18(%esi),%eax
3df: ba 1f 00 00 00 mov $0x1f,%edx
3e4: eb 42 jmp 428 <evdev_ioctl+0x322>
3e6: 8d 46 1c lea 0x1c(%esi),%eax
3e9: ba ff 01 00 00 mov $0x1ff,%edx
3ee: eb 38 jmp 428 <evdev_ioctl+0x322>
3f0: 8d 46 5c lea 0x5c(%esi),%eax
3f3: eb 2e jmp 423 <evdev_ioctl+0x31d>
3f5: 8d 46 60 lea 0x60(%esi),%eax
3f8: ba 3f 00 00 00 mov $0x3f,%edx
3fd: eb 29 jmp 428 <evdev_ioctl+0x322>
3ff: 8d 46 68 lea 0x68(%esi),%eax
402: eb 08 jmp 40c <evdev_ioctl+0x306>
404: 8d 46 6c lea 0x6c(%esi),%eax
407: eb 1a jmp 423 <evdev_ioctl+0x31d>
409: 8d 46 70 lea 0x70(%esi),%eax
40c: ba 07 00 00 00 mov $0x7,%edx
411: eb 15 jmp 428 <evdev_ioctl+0x322>
413: 8d 46 74 lea 0x74(%esi),%eax
416: ba 7f 00 00 00 mov $0x7f,%edx
41b: eb 0b jmp 428 <evdev_ioctl+0x322>
41d: 8d 86 84 00 00 00 lea 0x84(%esi),%eax
423: ba 0f 00 00 00 mov $0xf,%edx
428: c1 eb 10 shr $0x10,%ebx
42b: 81 e3 ff 3f 00 00 and $0x3fff,%ebx
431: 89 d9 mov %ebx,%ecx
433: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp)
43a: 00
43b: 89 3c 24 mov %edi,(%esp)
43e: eb 29 jmp 469 <evdev_ioctl+0x363>
440: 0f b6 c3 movzbl %bl,%eax
443: 83 f8 18 cmp $0x18,%eax
446: 75 2b jne 473 <evdev_ioctl+0x36d>
448: c1 eb 10 shr $0x10,%ebx
44b: ba ff 01 00 00 mov $0x1ff,%edx
450: 81 e3 ff 3f 00 00 and $0x3fff,%ebx
456: 8d 86 cc 01 00 00 lea 0x1cc(%esi),%eax
45c: 89 d9 mov %ebx,%ecx
45e: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp)
465: 00
466: 89 3c 24 mov %edi,(%esp)
469: e8 6d fc ff ff call db <bits_to_user>
46e: e9 76 01 00 00 jmp 5e9 <evdev_ioctl+0x4e3>
473: 83 f8 19 cmp $0x19,%eax
476: 75 08 jne 480 <evdev_ioctl+0x37a>
478: 8d 86 0c 02 00 00 lea 0x20c(%esi),%eax
47e: eb 33 jmp 4b3 <evdev_ioctl+0x3ad>
480: 83 f8 1a cmp $0x1a,%eax
483: 75 23 jne 4a8 <evdev_ioctl+0x3a2>
485: c1 eb 10 shr $0x10,%ebx
488: ba 07 00 00 00 mov $0x7,%edx
48d: 81 e3 ff 3f 00 00 and $0x3fff,%ebx
493: 8d 86 10 02 00 00 lea 0x210(%esi),%eax
499: 89 d9 mov %ebx,%ecx
49b: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp)
4a2: 00
4a3: 89 3c 24 mov %edi,(%esp)
4a6: eb c1 jmp 469 <evdev_ioctl+0x363>
4a8: 83 f8 1b cmp $0x1b,%eax
4ab: 75 23 jne 4d0 <evdev_ioctl+0x3ca>
4ad: 8d 86 14 02 00 00 lea 0x214(%esi),%eax
4b3: c1 eb 10 shr $0x10,%ebx
4b6: ba 0f 00 00 00 mov $0xf,%edx
4bb: 81 e3 ff 3f 00 00 and $0x3fff,%ebx
4c1: 89 d9 mov %ebx,%ecx
4c3: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp)
4ca: 00
4cb: 89 3c 24 mov %edi,(%esp)
4ce: eb 99 jmp 469 <evdev_ioctl+0x363>
4d0: 83 f8 06 cmp $0x6,%eax
4d3: 75 05 jne 4da <evdev_ioctl+0x3d4>
4d5: 8b 46 04 mov 0x4(%esi),%eax
4d8: eb 12 jmp 4ec <evdev_ioctl+0x3e6>
4da: 83 f8 07 cmp $0x7,%eax
4dd: 75 05 jne 4e4 <evdev_ioctl+0x3de>
4df: 8b 46 08 mov 0x8(%esi),%eax
4e2: eb 08 jmp 4ec <evdev_ioctl+0x3e6>
4e4: 83 f8 08 cmp $0x8,%eax
4e7: 75 1a jne 503 <evdev_ioctl+0x3fd>
4e9: 8b 46 0c mov 0xc(%esi),%eax
4ec: c1 eb 10 shr $0x10,%ebx
4ef: 89 f9 mov %edi,%ecx
4f1: 81 e3 ff 3f 00 00 and $0x3fff,%ebx
4f7: 89 da mov %ebx,%edx
4f9: e8 9e fb ff ff call 9c <str_to_user>
4fe: e9 e6 00 00 00 jmp 5e9 <evdev_ioctl+0x4e3>
503: 89 d8 mov %ebx,%eax
505: 25 c0 00 00 00 and $0xc0,%eax
50a: 83 f8 40 cmp $0x40,%eax
50d: 0f 85 d1 00 00 00 jne 5e4 <evdev_ioctl+0x4de>
513: 89 da mov %ebx,%edx
515: b9 14 00 00 00 mov $0x14,%ecx
51a: 83 e2 3f and $0x3f,%edx
51d: 8b 84 96 c4 00 00 00 mov 0xc4(%esi,%edx,4),%eax
524: 89 44 24 3c mov %eax,0x3c(%esp)
528: 8b 84 96 18 03 00 00 mov 0x318(%esi,%edx,4),%eax
52f: 89 44 24 40 mov %eax,0x40(%esp)
533: 8b 84 96 18 02 00 00 mov 0x218(%esi,%edx,4),%eax
53a: 89 44 24 44 mov %eax,0x44(%esp)
53e: 8b 84 96 18 04 00 00 mov 0x418(%esi,%edx,4),%eax
545: 89 44 24 48 mov %eax,0x48(%esp)
549: 8b 84 96 18 05 00 00 mov 0x518(%esi,%edx,4),%eax
550: 8d 54 24 3c lea 0x3c(%esp),%edx
554: 89 44 24 4c mov %eax,0x4c(%esp)
558: 89 f8 mov %edi,%eax
55a: e8 fc ff ff ff call 55b <evdev_ioctl+0x455>
55f: 85 c0 test %eax,%eax
561: 0f 84 18 fe ff ff je 37f <evdev_ioctl+0x279>
567: eb 66 jmp 5cf <evdev_ioctl+0x4c9>
569: 48 dec %eax
56a: 75 78 jne 5e4 <evdev_ioctl+0x4de>
56c: 89 d8 mov %ebx,%eax
56e: 25 c0 00 00 00 and $0xc0,%eax
573: 3d c0 00 00 00 cmp $0xc0,%eax
578: 75 6a jne 5e4 <evdev_ioctl+0x4de>
57a: 8d 44 24 3c lea 0x3c(%esp),%eax
57e: b9 14 00 00 00 mov $0x14,%ecx
583: 89 fa mov %edi,%edx
585: e8 fc ff ff ff call 586 <evdev_ioctl+0x480>
58a: 85 c0 test %eax,%eax
58c: 75 41 jne 5cf <evdev_ioctl+0x4c9>
58e: 8b 44 24 3c mov 0x3c(%esp),%eax
592: 89 da mov %ebx,%edx
594: 83 e2 3f and $0x3f,%edx
597: 89 84 96 c4 00 00 00 mov %eax,0xc4(%esi,%edx,4)
59e: 8b 44 24 40 mov 0x40(%esp),%eax
5a2: 89 84 96 18 03 00 00 mov %eax,0x318(%esi,%edx,4)
5a9: 8b 44 24 44 mov 0x44(%esp),%eax
5ad: 89 84 96 18 02 00 00 mov %eax,0x218(%esi,%edx,4)
5b4: 8b 44 24 48 mov 0x48(%esp),%eax
5b8: 89 84 96 18 04 00 00 mov %eax,0x418(%esi,%edx,4)
5bf: 8b 44 24 4c mov 0x4c(%esp),%eax
5c3: 89 84 96 18 05 00 00 mov %eax,0x518(%esi,%edx,4)
5ca: e9 b0 fd ff ff jmp 37f <evdev_ioctl+0x279>
5cf: b8 f2 ff ff ff mov $0xfffffff2,%eax
5d4: eb 13 jmp 5e9 <evdev_ioctl+0x4e3>
5d6: b8 da ff ff ff mov $0xffffffda,%eax
5db: eb 0c jmp 5e9 <evdev_ioctl+0x4e3>
5dd: b8 f0 ff ff ff mov $0xfffffff0,%eax
5e2: eb 05 jmp 5e9 <evdev_ioctl+0x4e3>
5e4: b8 ea ff ff ff mov $0xffffffea,%eax
5e9: 83 c4 54 add $0x54,%esp
5ec: 5b pop %ebx
5ed: 5e pop %esi
5ee: 5f pop %edi
5ef: 5d pop %ebp
5f0: c3 ret
000005f1 <evdev_disconnect>:
5f1: 56 push %esi
5f2: 53 push %ebx
5f3: 89 c3 mov %eax,%ebx
5f5: 83 ec 04 sub $0x4,%esp
5f8: 8b 30 mov (%eax),%esi
5fa: e8 fc ff ff ff call 5fb <evdev_disconnect+0xa>
5ff: b8 1c 00 00 00 mov $0x1c,%eax
604: 8d 56 0c lea 0xc(%esi),%edx
607: e8 fc ff ff ff call 608 <evdev_disconnect+0x17>
60c: 8b 56 08 mov 0x8(%esi),%edx
60f: b8 00 00 00 00 mov $0x0,%eax
614: 83 c2 40 add $0x40,%edx
617: 81 ca 00 00 d0 00 or $0xd00000,%edx
61d: e8 fc ff ff ff call 61e <evdev_disconnect+0x2d>
622: 83 7e 04 00 cmpl $0x0,0x4(%esi)
626: c7 06 00 00 00 00 movl $0x0,(%esi)
62c: 74 6a je 698 <evdev_disconnect+0xa7>
62e: 31 d2 xor %edx,%edx
630: 89 d8 mov %ebx,%eax
632: e8 fc ff ff ff call 633 <evdev_disconnect+0x42>
637: 89 d8 mov %ebx,%eax
639: e8 fc ff ff ff call 63a <evdev_disconnect+0x49>
63e: 8b 5e 54 mov 0x54(%esi),%ebx
641: eb 1b jmp 65e <evdev_disconnect+0x6d>
643: 8d 83 08 04 00 00 lea 0x408(%ebx),%eax
649: b9 06 00 02 00 mov $0x20006,%ecx
64e: ba 1d 00 00 00 mov $0x1d,%edx
653: e8 fc ff ff ff call 654 <evdev_disconnect+0x63>
658: 8b 9b 10 04 00 00 mov 0x410(%ebx),%ebx
65e: 81 eb 10 04 00 00 sub $0x410,%ebx
664: 8b 83 10 04 00 00 mov 0x410(%ebx),%eax
66a: 8d 74 26 00 lea 0x0(%esi),%esi
66e: 8d 93 10 04 00 00 lea 0x410(%ebx),%edx
674: 8d 46 54 lea 0x54(%esi),%eax
677: 39 c2 cmp %eax,%edx
679: 75 c8 jne 643 <evdev_disconnect+0x52>
67b: 8d 46 40 lea 0x40(%esi),%eax
67e: b9 01 00 00 00 mov $0x1,%ecx
683: ba 01 00 00 00 mov $0x1,%edx
688: c7 04 24 00 00 00 00 movl $0x0,(%esp)
68f: e8 fc ff ff ff call 690 <evdev_disconnect+0x9f>
694: 5b pop %ebx
695: 5b pop %ebx
696: 5e pop %esi
697: c3 ret
698: 59 pop %ecx
699: 89 f0 mov %esi,%eax
69b: 5b pop %ebx
69c: 5e pop %esi
69d: e9 c6 f9 ff ff jmp 68 <evdev_free>
000006a2 <evdev_connect>:
6a2: 55 push %ebp
6a3: 89 c5 mov %eax,%ebp
6a5: 57 push %edi
6a6: 56 push %esi
6a7: 53 push %ebx
6a8: 83 ec 1c sub $0x1c,%esp
6ab: 89 54 24 14 mov %edx,0x14(%esp)
6af: c7 44 24 18 00 00 00 movl $0x0,0x18(%esp)
6b6: 00
6b7: eb 0b jmp 6c4 <evdev_connect+0x22>
6b9: ff 44 24 18 incl 0x18(%esp)
6bd: 83 7c 24 18 20 cmpl $0x20,0x18(%esp)
6c2: 74 10 je 6d4 <evdev_connect+0x32>
6c4: 8b 44 24 18 mov 0x18(%esp),%eax
6c8: 83 3c 85 00 00 00 00 cmpl $0x0,0x0(,%eax,4)
6cf: 00
6d0: 75 e7 jne 6b9 <evdev_connect+0x17>
6d2: eb 16 jmp 6ea <evdev_connect+0x48>
6d4: c7 04 24 00 00 00 00 movl $0x0,(%esp)
6db: be e9 ff ff ff mov $0xffffffe9,%esi
6e0: e8 fc ff ff ff call 6e1 <evdev_connect+0x3f>
6e5: e9 00 01 00 00 jmp 7ea <evdev_connect+0x148>
6ea: a1 1c 00 00 00 mov 0x1c,%eax
6ef: ba d0 00 00 00 mov $0xd0,%edx
6f4: be f4 ff ff ff mov $0xfffffff4,%esi
6f9: e8 fc ff ff ff call 6fa <evdev_connect+0x58>
6fe: 85 c0 test %eax,%eax
700: 89 c3 mov %eax,%ebx
702: 0f 84 e2 00 00 00 je 7ea <evdev_connect+0x148>
708: 8d 40 54 lea 0x54(%eax),%eax
70b: 89 43 54 mov %eax,0x54(%ebx)
70e: 8d 7b 0c lea 0xc(%ebx),%edi
711: 89 40 04 mov %eax,0x4(%eax)
714: 8d 43 40 lea 0x40(%ebx),%eax
717: e8 fc ff ff ff call 718 <evdev_connect+0x76>
71c: c7 03 01 00 00 00 movl $0x1,(%ebx)
722: 8b 54 24 18 mov 0x18(%esp),%edx
726: 89 53 08 mov %edx,0x8(%ebx)
729: 8b 44 24 14 mov 0x14(%esp),%eax
72d: 89 6b 2c mov %ebp,0x2c(%ebx)
730: 89 7b 24 mov %edi,0x24(%ebx)
733: 89 5b 1c mov %ebx,0x1c(%ebx)
736: 89 43 28 mov %eax,0x28(%ebx)
739: 89 54 24 08 mov %edx,0x8(%esp)
73d: c7 44 24 04 26 00 00 movl $0x26,0x4(%esp)
744: 00
745: 89 3c 24 mov %edi,(%esp)
748: e8 fc ff ff ff call 749 <evdev_connect+0xa7>
74d: 8b 54 24 18 mov 0x18(%esp),%edx
751: 89 7c 24 10 mov %edi,0x10(%esp)
755: 89 1c 95 00 00 00 00 mov %ebx,0x0(,%edx,4)
75c: 89 d5 mov %edx,%ebp
75e: 8b 54 24 14 mov 0x14(%esp),%edx
762: 83 c5 40 add $0x40,%ebp
765: 81 cd 00 00 d0 00 or $0xd00000,%ebp
76b: 8b 82 b0 06 00 00 mov 0x6b0(%edx),%eax
771: 89 6c 24 08 mov %ebp,0x8(%esp)
775: c7 04 24 00 00 00 00 movl $0x0,(%esp)
77c: 89 44 24 0c mov %eax,0xc(%esp)
780: 89 d0 mov %edx,%eax
782: 05 44 06 00 00 add $0x644,%eax
787: 89 44 24 04 mov %eax,0x4(%esp)
78b: e8 fc ff ff ff call 78c <evdev_connect+0xea>
790: 3d 00 f0 ff ff cmp $0xfffff000,%eax
795: 89 c6 mov %eax,%esi
797: 77 3b ja 7d4 <evdev_connect+0x132>
799: 8d 50 08 lea 0x8(%eax),%edx
79c: 89 f9 mov %edi,%ecx
79e: b8 1c 00 00 00 mov $0x1c,%eax
7a3: e8 fc ff ff ff call 7a4 <evdev_connect+0x102>
7a8: 85 c0 test %eax,%eax
7aa: 89 c6 mov %eax,%esi
7ac: 75 1a jne 7c8 <evdev_connect+0x126>
7ae: 8d 43 1c lea 0x1c(%ebx),%eax
7b1: e8 fc ff ff ff call 7b2 <evdev_connect+0x110>
7b6: 85 c0 test %eax,%eax
7b8: 89 c6 mov %eax,%esi
7ba: 74 2e je 7ea <evdev_connect+0x148>
7bc: 89 fa mov %edi,%edx
7be: b8 1c 00 00 00 mov $0x1c,%eax
7c3: e8 fc ff ff ff call 7c4 <evdev_connect+0x122>
7c8: 89 ea mov %ebp,%edx
7ca: b8 00 00 00 00 mov $0x0,%eax
7cf: e8 fc ff ff ff call 7d0 <evdev_connect+0x12e>
7d4: 89 d8 mov %ebx,%eax
7d6: e8 fc ff ff ff call 7d7 <evdev_connect+0x135>
7db: 8b 44 24 18 mov 0x18(%esp),%eax
7df: c7 04 85 00 00 00 00 movl $0x0,0x0(,%eax,4)
7e6: 00 00 00 00
7ea: 83 c4 1c add $0x1c,%esp
7ed: 89 f0 mov %esi,%eax
7ef: 5b pop %ebx
7f0: 5e pop %esi
7f1: 5f pop %edi
7f2: 5d pop %ebp
7f3: c3 ret
000007f4 <evdev_event>:
7f4: 55 push %ebp
7f5: 89 cd mov %ecx,%ebp
7f7: 57 push %edi
7f8: 89 d7 mov %edx,%edi
7fa: 56 push %esi
7fb: 53 push %ebx
7fc: 83 ec 04 sub $0x4,%esp
7ff: 8b 54 24 18 mov 0x18(%esp),%edx
803: 89 14 24 mov %edx,(%esp)
806: 8b 30 mov (%eax),%esi
808: 8b 5e 50 mov 0x50(%esi),%ebx
80b: 85 db test %ebx,%ebx
80d: 74 67 je 876 <evdev_event+0x82>
80f: 8b 83 00 04 00 00 mov 0x400(%ebx),%eax
815: c1 e0 04 shl $0x4,%eax
818: 8d 04 03 lea (%ebx,%eax,1),%eax
81b: e8 fc ff ff ff call 81c <evdev_event+0x28>
820: 8b 83 00 04 00 00 mov 0x400(%ebx),%eax
826: b9 01 00 02 00 mov $0x20001,%ecx
82b: c1 e0 04 shl $0x4,%eax
82e: 66 89 7c 18 08 mov %di,0x8(%eax,%ebx,1)
833: 8b 83 00 04 00 00 mov 0x400(%ebx),%eax
839: c1 e0 04 shl $0x4,%eax
83c: 66 89 6c 18 0a mov %bp,0xa(%eax,%ebx,1)
841: 8b 83 00 04 00 00 mov 0x400(%ebx),%eax
847: 8b 14 24 mov (%esp),%edx
84a: c1 e0 04 shl $0x4,%eax
84d: 89 54 18 0c mov %edx,0xc(%eax,%ebx,1)
851: ba 1d 00 00 00 mov $0x1d,%edx
856: 8b 83 00 04 00 00 mov 0x400(%ebx),%eax
85c: 40 inc %eax
85d: 83 e0 3f and $0x3f,%eax
860: 89 83 00 04 00 00 mov %eax,0x400(%ebx)
866: 8d 83 08 04 00 00 lea 0x408(%ebx),%eax
86c: e8 fc ff ff ff call 86d <evdev_event+0x79>
871: e9 8e 00 00 00 jmp 904 <evdev_event+0x110>
876: 8b 5e 54 mov 0x54(%esi),%ebx
879: eb 68 jmp 8e3 <evdev_event+0xef>
87b: 8b 83 00 04 00 00 mov 0x400(%ebx),%eax
881: c1 e0 04 shl $0x4,%eax
884: 8d 04 03 lea (%ebx,%eax,1),%eax
887: e8 fc ff ff ff call 888 <evdev_event+0x94>
88c: 8b 83 00 04 00 00 mov 0x400(%ebx),%eax
892: b9 01 00 02 00 mov $0x20001,%ecx
897: c1 e0 04 shl $0x4,%eax
89a: 66 89 7c 18 08 mov %di,0x8(%eax,%ebx,1)
89f: 8b 83 00 04 00 00 mov 0x400(%ebx),%eax
8a5: c1 e0 04 shl $0x4,%eax
8a8: 66 89 6c 18 0a mov %bp,0xa(%eax,%ebx,1)
8ad: 8b 83 00 04 00 00 mov 0x400(%ebx),%eax
8b3: 8b 14 24 mov (%esp),%edx
8b6: c1 e0 04 shl $0x4,%eax
8b9: 89 54 18 0c mov %edx,0xc(%eax,%ebx,1)
8bd: ba 1d 00 00 00 mov $0x1d,%edx
8c2: 8b 83 00 04 00 00 mov 0x400(%ebx),%eax
8c8: 40 inc %eax
8c9: 83 e0 3f and $0x3f,%eax
8cc: 89 83 00 04 00 00 mov %eax,0x400(%ebx)
8d2: 8d 83 08 04 00 00 lea 0x408(%ebx),%eax
8d8: e8 fc ff ff ff call 8d9 <evdev_event+0xe5>
8dd: 8b 9b 10 04 00 00 mov 0x410(%ebx),%ebx
8e3: 81 eb 10 04 00 00 sub $0x410,%ebx
8e9: 8b 83 10 04 00 00 mov 0x410(%ebx),%eax
8ef: 8d 74 26 00 lea 0x0(%esi),%esi
8f3: 8d 93 10 04 00 00 lea 0x410(%ebx),%edx
8f9: 8d 46 54 lea 0x54(%esi),%eax
8fc: 39 c2 cmp %eax,%edx
8fe: 0f 85 77 ff ff ff jne 87b <evdev_event+0x87>
904: 8d 46 40 lea 0x40(%esi),%eax
907: b9 01 00 00 00 mov $0x1,%ecx
90c: c7 44 24 18 00 00 00 movl $0x0,0x18(%esp)
913: 00
914: ba 01 00 00 00 mov $0x1,%edx
919: 5e pop %esi
91a: 5b pop %ebx
91b: 5e pop %esi
91c: 5f pop %edi
91d: 5d pop %ebp
91e: e9 fc ff ff ff jmp 91f <evdev_event+0x12b>
00000923 <evdev_release>:
923: 57 push %edi
924: 89 d7 mov %edx,%edi
926: 56 push %esi
927: 53 push %ebx
928: 8b b2 80 00 00 00 mov 0x80(%edx),%esi
92e: 8b 9e 0c 04 00 00 mov 0x40c(%esi),%ebx
934: 39 73 50 cmp %esi,0x50(%ebx)
937: 75 0f jne 948 <evdev_release+0x25>
939: 8d 43 1c lea 0x1c(%ebx),%eax
93c: e8 fc ff ff ff call 93d <evdev_release+0x1a>
941: c7 43 50 00 00 00 00 movl $0x0,0x50(%ebx)
948: 31 c9 xor %ecx,%ecx
94a: 89 fa mov %edi,%edx
94c: 83 c8 ff or $0xffffffff,%eax
94f: e8 f0 f6 ff ff call 44 <evdev_fasync>
954: 8d 8e 10 04 00 00 lea 0x410(%esi),%ecx
95a: 8b 96 10 04 00 00 mov 0x410(%esi),%edx
960: 8b 41 04 mov 0x4(%ecx),%eax
963: 89 42 04 mov %eax,0x4(%edx)
966: 89 10 mov %edx,(%eax)
968: 89 f0 mov %esi,%eax
96a: c7 86 10 04 00 00 00 movl $0x100100,0x410(%esi)
971: 01 10 00
974: c7 41 04 00 02 20 00 movl $0x200200,0x4(%ecx)
97b: e8 fc ff ff ff call 97c <evdev_release+0x59>
980: 8b 43 04 mov 0x4(%ebx),%eax
983: 48 dec %eax
984: 85 c0 test %eax,%eax
986: 89 43 04 mov %eax,0x4(%ebx)
989: 75 16 jne 9a1 <evdev_release+0x7e>
98b: 83 3b 00 cmpl $0x0,(%ebx)
98e: 74 0a je 99a <evdev_release+0x77>
990: 8d 43 1c lea 0x1c(%ebx),%eax
993: e8 fc ff ff ff call 994 <evdev_release+0x71>
998: eb 07 jmp 9a1 <evdev_release+0x7e>
99a: 89 d8 mov %ebx,%eax
99c: e8 c7 f6 ff ff call 68 <evdev_free>
9a1: 5b pop %ebx
9a2: 31 c0 xor %eax,%eax
9a4: 5e pop %esi
9a5: 5f pop %edi
9a6: c3 ret
000009a7 <evdev_write>:
9a7: 55 push %ebp
9a8: 89 cd mov %ecx,%ebp
9aa: 57 push %edi
9ab: 56 push %esi
9ac: be ed ff ff ff mov $0xffffffed,%esi
9b1: 53 push %ebx
9b2: 83 ec 18 sub $0x18,%esp
9b5: 89 54 24 04 mov %edx,0x4(%esp)
9b9: 8b 80 80 00 00 00 mov 0x80(%eax),%eax
9bf: 8b b8 0c 04 00 00 mov 0x40c(%eax),%edi
9c5: 83 3f 00 cmpl $0x0,(%edi)
9c8: 74 47 je a11 <evdev_write+0x6a>
9ca: eb 1f jmp 9eb <evdev_write+0x44>
9cc: 8b 54 24 04 mov 0x4(%esp),%edx
9d0: 8d 44 24 08 lea 0x8(%esp),%eax
9d4: b9 10 00 00 00 mov $0x10,%ecx
9d9: 01 f2 add %esi,%edx
9db: e8 fc ff ff ff call 9dc <evdev_write+0x35>
9e0: 85 c0 test %eax,%eax
9e2: 74 0f je 9f3 <evdev_write+0x4c>
9e4: be f2 ff ff ff mov $0xfffffff2,%esi
9e9: eb 26 jmp a11 <evdev_write+0x6a>
9eb: 31 f6 xor %esi,%esi
9ed: 39 ee cmp %ebp,%esi
9ef: 72 db jb 9cc <evdev_write+0x25>
9f1: eb 1e jmp a11 <evdev_write+0x6a>
9f3: 8b 5c 24 14 mov 0x14(%esp),%ebx
9f7: 8d 47 1c lea 0x1c(%edi),%eax
9fa: 83 c6 10 add $0x10,%esi
9fd: 0f b7 4c 24 12 movzwl 0x12(%esp),%ecx
a02: 0f b7 54 24 10 movzwl 0x10(%esp),%edx
a07: 89 1c 24 mov %ebx,(%esp)
a0a: e8 fc ff ff ff call a0b <evdev_write+0x64>
a0f: eb dc jmp 9ed <evdev_write+0x46>
a11: 83 c4 18 add $0x18,%esp
a14: 89 f0 mov %esi,%eax
a16: 5b pop %ebx
a17: 5e pop %esi
a18: 5f pop %edi
a19: 5d pop %ebp
a1a: c3 ret
00000a1b <evdev_read>:
a1b: 55 push %ebp
a1c: 89 cd mov %ecx,%ebp
a1e: 57 push %edi
a1f: 89 c7 mov %eax,%edi
a21: 56 push %esi
a22: 53 push %ebx
a23: 83 ec 18 sub $0x18,%esp
a26: 83 f9 0f cmp $0xf,%ecx
a29: 89 14 24 mov %edx,(%esp)
a2c: 8b 98 80 00 00 00 mov 0x80(%eax),%ebx
a32: b8 ea ff ff ff mov $0xffffffea,%eax
a37: 8b b3 0c 04 00 00 mov 0x40c(%ebx),%esi
a3d: 0f 86 0e 01 00 00 jbe b51 <evdev_read+0x136>
a43: 8b 83 04 04 00 00 mov 0x404(%ebx),%eax
a49: 39 83 00 04 00 00 cmp %eax,0x400(%ebx)
a4f: 75 14 jne a65 <evdev_read+0x4a>
a51: 83 3e 00 cmpl $0x0,(%esi)
a54: 74 0f je a65 <evdev_read+0x4a>
a56: f6 47 19 08 testb $0x8,0x19(%edi)
a5a: b8 f5 ff ff ff mov $0xfffffff5,%eax
a5f: 0f 85 ec 00 00 00 jne b51 <evdev_read+0x136>
a65: 8b 83 04 04 00 00 mov 0x404(%ebx),%eax
a6b: 39 83 00 04 00 00 cmp %eax,0x400(%ebx)
a71: 75 76 jne ae9 <evdev_read+0xce>
a73: 83 3e 00 cmpl $0x0,(%esi)
a76: 74 71 je ae9 <evdev_read+0xce>
a78: fc cld
a79: 31 c0 xor %eax,%eax
a7b: 8d 7c 24 04 lea 0x4(%esp),%edi
a7f: ab stos %eax,%es:(%edi)
a80: ab stos %eax,%es:(%edi)
a81: ab stos %eax,%es:(%edi)
a82: c7 44 24 0c 00 00 00 movl $0x0,0xc(%esp)
a89: 00
a8a: ab stos %eax,%es:(%edi)
a8b: ab stos %eax,%es:(%edi)
a8c: 64 a1 00 00 00 00 mov %fs:0x0,%eax
a92: 89 44 24 08 mov %eax,0x8(%esp)
a96: 8d 44 24 10 lea 0x10(%esp),%eax
a9a: 89 44 24 10 mov %eax,0x10(%esp)
a9e: 89 44 24 14 mov %eax,0x14(%esp)
aa2: 8d 46 40 lea 0x40(%esi),%eax
aa5: b9 01 00 00 00 mov $0x1,%ecx
aaa: 8d 54 24 04 lea 0x4(%esp),%edx
aae: e8 fc ff ff ff call aaf <evdev_read+0x94>
ab3: 8b 83 04 04 00 00 mov 0x404(%ebx),%eax
ab9: 39 83 00 04 00 00 cmp %eax,0x400(%ebx)
abf: 75 1c jne add <evdev_read+0xc2>
ac1: 83 3e 00 cmpl $0x0,(%esi)
ac4: 74 17 je add <evdev_read+0xc2>
ac6: 64 a1 00 00 00 00 mov %fs:0x0,%eax
acc: 8b 40 04 mov 0x4(%eax),%eax
acf: 8b 40 08 mov 0x8(%eax),%eax
ad2: a8 04 test $0x4,%al
ad4: 75 6a jne b40 <evdev_read+0x125>
ad6: e8 fc ff ff ff call ad7 <evdev_read+0xbc>
adb: eb c5 jmp aa2 <evdev_read+0x87>
add: 8d 46 40 lea 0x40(%esi),%eax
ae0: 8d 54 24 04 lea 0x4(%esp),%edx
ae4: e8 fc ff ff ff call ae5 <evdev_read+0xca>
ae9: 83 3e 00 cmpl $0x0,(%esi)
aec: b8 ed ff ff ff mov $0xffffffed,%eax
af1: 74 5e je b51 <evdev_read+0x136>
af3: eb 1e jmp b13 <evdev_read+0xf8>
af5: 03 04 24 add (%esp),%eax
af8: b9 10 00 00 00 mov $0x10,%ecx
afd: c1 e2 04 shl $0x4,%edx
b00: 8d 14 13 lea (%ebx,%edx,1),%edx
b03: e8 fc ff ff ff call b04 <evdev_read+0xe9>
b08: 85 c0 test %eax,%eax
b0a: 74 20 je b2c <evdev_read+0x111>
b0c: b8 f2 ff ff ff mov $0xfffffff2,%eax
b11: eb 3e jmp b51 <evdev_read+0x136>
b13: 31 c0 xor %eax,%eax
b15: 8b 93 04 04 00 00 mov 0x404(%ebx),%edx
b1b: 39 93 00 04 00 00 cmp %edx,0x400(%ebx)
b21: 74 2e je b51 <evdev_read+0x136>
b23: 8d 70 10 lea 0x10(%eax),%esi
b26: 39 ee cmp %ebp,%esi
b28: 76 cb jbe af5 <evdev_read+0xda>
b2a: eb 25 jmp b51 <evdev_read+0x136>
b2c: 8b 83 04 04 00 00 mov 0x404(%ebx),%eax
b32: 40 inc %eax
b33: 83 e0 3f and $0x3f,%eax
b36: 89 83 04 04 00 00 mov %eax,0x404(%ebx)
b3c: 89 f0 mov %esi,%eax
b3e: eb d5 jmp b15 <evdev_read+0xfa>
b40: 8d 46 40 lea 0x40(%esi),%eax
b43: 8d 54 24 04 lea 0x4(%esp),%edx
b47: e8 fc ff ff ff call b48 <evdev_read+0x12d>
b4c: b8 00 fe ff ff mov $0xfffffe00,%eax
b51: 83 c4 18 add $0x18,%esp
b54: 5b pop %ebx
b55: 5e pop %esi
b56: 5f pop %edi
b57: 5d pop %ebp
b58: c3 ret
00000b59 <evdev_open>:
b59: 55 push %ebp
b5a: 57 push %edi
b5b: 56 push %esi
b5c: 53 push %ebx
b5d: 83 ec 04 sub $0x4,%esp
b60: 89 14 24 mov %edx,(%esp)
b63: 8b 40 34 mov 0x34(%eax),%eax
b66: 25 ff ff 0f 00 and $0xfffff,%eax
b6b: 83 e8 40 sub $0x40,%eax
b6e: 83 f8 1f cmp $0x1f,%eax
b71: 0f 8f a4 00 00 00 jg c1b <evdev_open+0xc2>
b77: 8b 1c 85 00 00 00 00 mov 0x0(,%eax,4),%ebx
b7e: 85 db test %ebx,%ebx
b80: 0f 84 95 00 00 00 je c1b <evdev_open+0xc2>
b86: 83 3b 00 cmpl $0x0,(%ebx)
b89: 0f 84 8c 00 00 00 je c1b <evdev_open+0xc2>
b8f: a1 4c 00 00 00 mov 0x4c,%eax
b94: ba d0 00 00 00 mov $0xd0,%edx
b99: bd f4 ff ff ff mov $0xfffffff4,%ebp
b9e: e8 fc ff ff ff call b9f <evdev_open+0x46>
ba3: 85 c0 test %eax,%eax
ba5: 89 c6 mov %eax,%esi
ba7: 74 77 je c20 <evdev_open+0xc7>
ba9: 89 98 0c 04 00 00 mov %ebx,0x40c(%eax)
baf: 8d b8 10 04 00 00 lea 0x410(%eax),%edi
bb5: 8d 43 54 lea 0x54(%ebx),%eax
bb8: 8b 50 04 mov 0x4(%eax),%edx
bbb: 89 86 10 04 00 00 mov %eax,0x410(%esi)
bc1: 89 78 04 mov %edi,0x4(%eax)
bc4: 89 3a mov %edi,(%edx)
bc6: 89 57 04 mov %edx,0x4(%edi)
bc9: 8b 43 04 mov 0x4(%ebx),%eax
bcc: 40 inc %eax
bcd: 89 43 04 mov %eax,0x4(%ebx)
bd0: 48 dec %eax
bd1: 75 3b jne c0e <evdev_open+0xb5>
bd3: 83 3b 00 cmpl $0x0,(%ebx)
bd6: 74 36 je c0e <evdev_open+0xb5>
bd8: 8d 43 1c lea 0x1c(%ebx),%eax
bdb: e8 fc ff ff ff call bdc <evdev_open+0x83>
be0: 85 c0 test %eax,%eax
be2: 89 c5 mov %eax,%ebp
be4: 74 28 je c0e <evdev_open+0xb5>
be6: 8b 47 04 mov 0x4(%edi),%eax
be9: 8b 96 10 04 00 00 mov 0x410(%esi),%edx
bef: 89 42 04 mov %eax,0x4(%edx)
bf2: 89 10 mov %edx,(%eax)
bf4: 89 f0 mov %esi,%eax
bf6: c7 86 10 04 00 00 00 movl $0x100100,0x410(%esi)
bfd: 01 10 00
c00: c7 47 04 00 02 20 00 movl $0x200200,0x4(%edi)
c07: e8 fc ff ff ff call c08 <evdev_open+0xaf>
c0c: eb 12 jmp c20 <evdev_open+0xc7>
c0e: 8b 04 24 mov (%esp),%eax
c11: 31 ed xor %ebp,%ebp
c13: 89 b0 80 00 00 00 mov %esi,0x80(%eax)
c19: eb 05 jmp c20 <evdev_open+0xc7>
c1b: bd ed ff ff ff mov $0xffffffed,%ebp
c20: 5f pop %edi
c21: 89 e8 mov %ebp,%eax
c23: 5b pop %ebx
c24: 5e pop %esi
c25: 5f pop %edi
c26: 5d pop %ebp
c27: c3 ret
Disassembly of section .exit.text:
00000000 <cleanup_module>:
0: b8 00 00 00 00 mov $0x0,%eax
5: e9 fc ff ff ff jmp 6 <cleanup_module+0x6>
Disassembly of section .altinstr_replacement:
00000000 <.altinstr_replacement>:
0: 0f 18 00 prefetchnta (%eax)
3: 0f 18 00 prefetchnta (%eax)
Disassembly of section .init.text:
00000000 <init_module>:
0: b8 00 00 00 00 mov $0x0,%eax
5: e9 fc ff ff ff jmp 6 <init_module+0x6>
Disassembly of section .rodata:
00000000 <__mod_input_device_table-0x60>:
0: dc 03 faddl (%ebx)
2: 00 00 add %al,(%eax)
4: e6 03 out %al,$0x3
6: 00 00 add %al,(%eax)
8: f0 03 00 lock add (%eax),%eax
b: 00 f5 add %dh,%ch
d: 03 00 add (%eax),%eax
f: 00 ff add %bh,%bh
11: 03 00 add (%eax),%eax
13: 00 1d 04 00 00 e4 add %bl,0xe4000004
19: 05 00 00 e4 05 add $0x5e40000,%eax
1e: 00 00 add %al,(%eax)
20: e4 05 in $0x5,%al
22: 00 00 add %al,(%eax)
24: e4 05 in $0x5,%al
26: 00 00 add %al,(%eax)
28: e4 05 in $0x5,%al
2a: 00 00 add %al,(%eax)
2c: e4 05 in $0x5,%al
2e: 00 00 add %al,(%eax)
30: e4 05 in $0x5,%al
32: 00 00 add %al,(%eax)
34: e4 05 in $0x5,%al
36: 00 00 add %al,(%eax)
38: e4 05 in $0x5,%al
3a: 00 00 add %al,(%eax)
3c: e4 05 in $0x5,%al
3e: 00 00 add %al,(%eax)
40: e4 05 in $0x5,%al
42: 00 00 add %al,(%eax)
44: 04 04 add $0x4,%al
46: 00 00 add %al,(%eax)
48: 09 04 00 or %eax,(%eax,%eax,1)
4b: 00 e4 add %ah,%ah
4d: 05 00 00 e4 05 add $0x5e40000,%eax
52: 00 00 add %al,(%eax)
54: 13 04 00 adc (%eax,%eax,1),%eax
...
00000060 <__mod_input_device_table>:
...
dc: 01 00 add %eax,(%eax)
...
00000160 <evdev_fops>:
...
168: 1b 0a sbb (%edx),%ecx
16a: 00 00 add %al,(%eax)
16c: a7 cmpsl %es:(%edi),%ds:(%esi)
16d: 09 00 or %eax,(%eax)
...
183: 00 06 add %al,(%esi)
185: 01 00 add %eax,(%eax)
...
18f: 00 59 0b add %bl,0xb(%ecx)
192: 00 00 add %al,(%eax)
194: 7b 00 jnp 196 <evdev_fops+0x36>
196: 00 00 add %al,(%eax)
198: 23 09 and (%ecx),%ecx
...
1a2: 00 00 add %al,(%eax)
1a4: 44 inc %esp
...
Disassembly of section .altinstructions:
00000000 <.altinstructions>:
0: 6a 06 push $0x6
2: 00 00 add %al,(%eax)
4: 00 00 add %al,(%eax)
6: 00 00 add %al,(%eax)
8: 19 04 03 sbb %eax,(%ebx,%eax,1)
b: 00 ef add %ch,%bh
d: 08 00 or %al,(%eax)
f: 00 03 add %al,(%ebx)
11: 00 00 add %al,(%eax)
13: 00 19 add %bl,(%ecx)
15: 04 03 add $0x3,%al
Disassembly of section .rodata.str1.1:
00000000 <.rodata.str1.1>:
0: 3c 33 cmp $0x33,%al
2: 3e ds
3: 65 gs
4: 76 64 jbe 6a <evdev_free+0x2>
6: 65 gs
7: 76 3a jbe 43 <__mod_description740+0x3>
9: 20 6e 6f and %ch,0x6f(%esi)
c: 20 6d 6f and %ch,0x6f(%ebp)
f: 72 65 jb 76 <__mod_license741+0xa>
11: 20 66 72 and %ah,0x72(%esi)
14: 65 65 20 65 76 and %ah,%gs:0x76(%ebp)
19: 64 fs
1a: 65 gs
1b: 76 20 jbe 3d <evdev_poll+0x3d>
1d: 64 fs
1e: 65 gs
1f: 76 69 jbe 8a <__mod_vermagic5+0xa>
21: 63 65 73 arpl %sp,0x73(%ebp)
24: 0a 00 or (%eax),%al
26: 65 gs
27: 76 65 jbe 8e <__mod_vermagic5+0xe>
29: 6e outsb %ds:(%esi),(%dx)
2a: 74 25 je 51 <evdev_fasync+0xd>
2c: 64 00 65 76 add %ah,%fs:0x76(%ebp)
30: 64 fs
31: 65 gs
32: 76 00 jbe 34 <evdev_poll+0x34>
Disassembly of section .modinfo:
00000000 <__mod_author739>:
0: 61 popa
1: 75 74 jne 77 <__mod_license741+0xb>
3: 68 6f 72 3d 56 push $0x563d726f
8: 6f outsl %ds:(%esi),(%dx)
9: 6a 74 push $0x74
b: 65 63 68 20 arpl %bp,%gs:0x20(%eax)
f: 50 push %eax
10: 61 popa
11: 76 6c jbe 7f <__mod_license741+0x13>
13: 69 6b 20 3c 76 6f 6a imul $0x6a6f763c,0x20(%ebx),%ebp
1a: 74 65 je 81 <__mod_vermagic5+0x1>
1c: 63 68 40 arpl %bp,0x40(%eax)
1f: 75 63 jne 84 <__mod_vermagic5+0x4>
21: 77 2e ja 51 <__mod_description740+0x11>
23: 63 7a 3e arpl %di,0x3e(%edx)
...
00000040 <__mod_description740>:
40: 64 fs
41: 65 gs
42: 73 63 jae a7 <__mod_vermagic5+0x27>
44: 72 69 jb af <__mod_vermagic5+0x2f>
46: 70 74 jo bc <__module_depends+0x4>
48: 69 6f 6e 3d 49 6e 70 imul $0x706e493d,0x6e(%edi),%ebp
4f: 75 74 jne c5 <__module_depends+0xd>
51: 20 64 72 69 and %ah,0x69(%edx,%esi,2)
55: 76 65 jbe bc <__module_depends+0x4>
57: 72 20 jb 79 <__mod_license741+0xd>
59: 65 gs
5a: 76 65 jbe c1 <__module_depends+0x9>
5c: 6e outsb %ds:(%esi),(%dx)
5d: 74 20 je 7f <__mod_license741+0x13>
5f: 63 68 61 arpl %bp,0x61(%eax)
62: 72 20 jb 84 <__mod_vermagic5+0x4>
64: 64 fs
65: 65 gs
66: 76 69 jbe d1 <__module_depends+0x19>
68: 63 65 73 arpl %sp,0x73(%ebp)
...
0000006c <__mod_license741>:
6c: 6c insb (%dx),%es:(%edi)
6d: 69 63 65 6e 73 65 3d imul $0x3d65736e,0x65(%ebx),%esp
74: 47 inc %edi
75: 50 push %eax
76: 4c dec %esp
...
00000080 <__mod_vermagic5>:
80: 76 65 jbe e7 <__mod_alias22+0x7>
82: 72 6d jb f1 <__mod_alias22+0x11>
84: 61 popa
85: 67 69 63 3d 32 2e 36 addr16 imul $0x2e362e32,61(%bp,%di),%esp
8c: 2e
8d: 32 32 xor (%edx),%dh
8f: 2d 31 2d 6d 65 sub $0x656d2d31,%eax
94: 70 69 jo ff <__mod_alias22+0x1f>
96: 73 2d jae c5 <__module_depends+0xd>
98: 73 6d jae 107 <__mod_alias22+0x27>
9a: 70 20 jo bc <__module_depends+0x4>
9c: 53 push %ebx
9d: 4d dec %ebp
9e: 50 push %eax
9f: 20 70 72 and %dh,0x72(%eax)
a2: 65 gs
a3: 65 gs
a4: 6d insl (%dx),%es:(%edi)
a5: 70 74 jo 11b <evdev_ioctl+0x15>
a7: 20 6d 6f and %ch,0x6f(%ebp)
aa: 64 fs
ab: 5f pop %edi
ac: 75 6e jne 11c <evdev_ioctl+0x16>
ae: 6c insb (%dx),%es:(%edi)
af: 6f outsl %ds:(%esi),(%dx)
b0: 61 popa
b1: 64 20 36 and %dh,%fs:(%esi)
b4: 38 36 cmp %dh,(%esi)
b6: 20 00 and %al,(%eax)
000000b8 <__module_depends>:
b8: 64 fs
b9: 65 gs
ba: 70 65 jo 121 <evdev_ioctl+0x1b>
bc: 6e outsb %ds:(%esi),(%dx)
bd: 64 fs
be: 73 3d jae fd <__mod_alias22+0x1d>
...
000000e0 <__mod_alias22>:
e0: 61 popa
e1: 6c insb (%dx),%es:(%edi)
e2: 69 61 73 3d 69 6e 70 imul $0x706e693d,0x73(%ecx),%esp
e9: 75 74 jne 15f <evdev_ioctl+0x59>
eb: 3a 62 2a cmp 0x2a(%edx),%ah
ee: 76 2a jbe 11a <evdev_ioctl+0x14>
f0: 70 2a jo 11c <evdev_ioctl+0x16>
f2: 65 2a 2d 65 2a 6b 2a sub %gs:0x2a6b2a65,%ch
f9: 72 2a jb 125 <evdev_ioctl+0x1f>
fb: 61 popa
fc: 2a 6d 2a sub 0x2a(%ebp),%ch
ff: 6c insb (%dx),%es:(%edi)
100: 2a 73 2a sub 0x2a(%ebx),%dh
103: 66 data16
104: 2a 77 2a sub 0x2a(%edi),%dh
...
Disassembly of section .data:
00000000 <evdev_handler>:
0: 00 00 add %al,(%eax)
2: 00 00 add %al,(%eax)
4: f4 hlt
5: 07 pop %es
6: 00 00 add %al,(%eax)
8: a2 06 00 00 f1 mov %al,0xf1000006
d: 05 00 00 00 00 add $0x0,%eax
12: 00 00 add %al,(%eax)
14: 60 pusha
15: 01 00 add %eax,(%eax)
17: 00 40 00 add %al,0x0(%eax)
1a: 00 00 add %al,(%eax)
1c: 2e 00 00 add %al,%cs:(%eax)
1f: 00 60 00 add %ah,0x0(%eax)
...
Disassembly of section .gnu.linkonce.this_module:
00000000 <__this_module>:
...
c: 65 gs
d: 76 64 jbe 73 <__this_module+0x73>
f: 65 gs
10: 76 00 jbe 12 <__this_module+0x12>
...
Disassembly of section .bss:
00000000 <evdev_table>:
...
Disassembly of section .comment:
00000000 <.comment>:
0: 00 47 43 add %al,0x43(%edi)
3: 43 inc %ebx
4: 3a 20 cmp (%eax),%ah
6: 28 47 4e sub %al,0x4e(%edi)
9: 55 push %ebp
a: 29 20 sub %esp,(%eax)
c: 34 2e xor $0x2e,%al
e: 31 2e xor %ebp,(%esi)
10: 32 20 xor (%eax),%ah
12: 32 30 xor (%eax),%dh
14: 30 36 xor %dh,(%esi)
16: 31 31 xor %esi,(%ecx)
18: 31 35 20 28 70 72 xor %esi,0x72702820
1e: 65 gs
1f: 72 65 jb 86 <__mod_vermagic5+0x6>
21: 6c insb (%dx),%es:(%edi)
22: 65 gs
23: 61 popa
24: 73 65 jae 8b <__mod_vermagic5+0xb>
26: 29 20 sub %esp,(%eax)
28: 28 44 65 62 sub %al,0x62(%ebp)
2c: 69 61 6e 20 34 2e 31 imul $0x312e3420,0x6e(%ecx),%esp
33: 2e 31 2d 32 31 29 00 xor %ebp,%cs:0x293132
3a: 00 47 43 add %al,0x43(%edi)
3d: 43 inc %ebx
3e: 3a 20 cmp (%eax),%ah
40: 28 47 4e sub %al,0x4e(%edi)
43: 55 push %ebp
44: 29 20 sub %esp,(%eax)
46: 34 2e xor $0x2e,%al
48: 31 2e xor %ebp,(%esi)
4a: 32 20 xor (%eax),%ah
4c: 32 30 xor (%eax),%dh
4e: 30 36 xor %dh,(%esi)
50: 31 31 xor %esi,(%ecx)
52: 31 35 20 28 70 72 xor %esi,0x72702820
58: 65 gs
59: 72 65 jb c0 <__module_depends+0x8>
5b: 6c insb (%dx),%es:(%edi)
5c: 65 gs
5d: 61 popa
5e: 73 65 jae c5 <__module_depends+0xd>
60: 29 20 sub %esp,(%eax)
62: 28 44 65 62 sub %al,0x62(%ebp)
66: 69 61 6e 20 34 2e 31 imul $0x312e3420,0x6e(%ecx),%esp
6d: 2e 31 2d 32 31 29 00 xor %ebp,%cs:0x293132
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
@ 2008-08-19 21:06 juanslayton
0 siblings, 0 replies; 20+ messages in thread
From: juanslayton @ 2008-08-19 21:06 UTC (permalink / raw)
To: Alan Stern
Cc: David Brownell, juanslayton, Aivils Stoss, jkosina, lud,
linux-kernel, Randy Dunlap, linuxconsole-dev, linux-input
Thanks for the clarification.
John
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-19 20:04 ` Alan Stern
@ 2008-08-19 21:05 ` juanslayton
0 siblings, 0 replies; 20+ messages in thread
From: juanslayton @ 2008-08-19 21:05 UTC (permalink / raw)
To: Alan Stern
Cc: David Brownell, juanslayton, Aivils Stoss, jkosina, lud,
linux-kernel, Randy Dunlap, linuxconsole-dev, linux-input
Thanks for the clarification.
John
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-19 19:12 ` David Brownell
@ 2008-08-19 20:04 ` Alan Stern
2008-08-19 21:05 ` juanslayton
0 siblings, 1 reply; 20+ messages in thread
From: Alan Stern @ 2008-08-19 20:04 UTC (permalink / raw)
To: David Brownell
Cc: juanslayton, Aivils Stoss, jkosina, lud, linux-kernel,
Randy Dunlap, linuxconsole-dev, linux-input
On Tue, 19 Aug 2008, David Brownell wrote:
> The OHCI scheduling is pretty simple and compact. I'd think it would
> be easy enough to make UHCI do the same sort of thing: track bandwidth
> assigned to 2^N frames (OHCI hardware imposes a smaller limit for N
> than UHCI hardware does), and pick the least loaded of those frames to
> use for new transfers. In ohci-q.c see balance(), periodic_{,un}link().
>
> Thing is that would involve changing how UHCI manages periodic transfers;
> assuming it hasn't changed those structures since last I looked.
Yes. That's the messy part; the scheduling itself is easy.
Alan Stern
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-19 18:21 ` Alan Stern
@ 2008-08-19 19:12 ` David Brownell
2008-08-19 20:04 ` Alan Stern
0 siblings, 1 reply; 20+ messages in thread
From: David Brownell @ 2008-08-19 19:12 UTC (permalink / raw)
To: Alan Stern, juanslayton
Cc: Aivils Stoss, jkosina, lud, linux-kernel, Randy Dunlap,
linuxconsole-dev, linux-input
--- Alan Stern <stern@rowland.harvard.edu> wrote:
> On Tue, 19 Aug 2008 juanslayton@dslextreme.com wrote:
> > If I understand your analysis, Aivils' problem is because the UHCI
> > controllers are too slow.
>
> Not just that; it also is a question of scheduling. The uhci-hcd
> driver isn't very clever about scheduling, and it tries to put all the
> packets into the same frame. If the packets were distributed among
> multiple frames then the limit would be considerably higher (eight
> times higher in this case).
>
> I'm not sure of the scheduling details in the ohci-hcd driver; they
> might well be more flexible than in uhci-hcd. In which case a single
> OHCI controller would be able to handle up to 32 of these keyboards,
> even though it is no faster than a UHCI controller.
The OHCI scheduling is pretty simple and compact. I'd think it would
be easy enough to make UHCI do the same sort of thing: track bandwidth
assigned to 2^N frames (OHCI hardware imposes a smaller limit for N
than UHCI hardware does), and pick the least loaded of those frames to
use for new transfers. In ohci-q.c see balance(), periodic_{,un}link().
Thing is that would involve changing how UHCI manages periodic transfers;
assuming it hasn't changed those structures since last I looked.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
2008-08-19 16:40 juanslayton
@ 2008-08-19 18:21 ` Alan Stern
2008-08-19 19:12 ` David Brownell
0 siblings, 1 reply; 20+ messages in thread
From: Alan Stern @ 2008-08-19 18:21 UTC (permalink / raw)
To: juanslayton
Cc: Aivils Stoss, jkosina, lud, linux-kernel, Randy Dunlap,
linuxconsole-dev, linux-input
On Tue, 19 Aug 2008 juanslayton@dslextreme.com wrote:
> I have to apologize for my limited knowledge, but mere ignorance never yet
> kept a teacher quiet. I am trying to follow this discussion because
> Aivils and I are basically trying to do the same thing. In my case I am
> presently running 20 keyboards on a 2.6.26 kernel, using an EHCI
> controller, and they all work fine.
You must be using some hubs. The results you get will depend on the
type of hub you use.
> If I understand your analysis, Aivils' problem is because the UHCI
> controllers are too slow.
Not just that; it also is a question of scheduling. The uhci-hcd
driver isn't very clever about scheduling, and it tries to put all the
packets into the same frame. If the packets were distributed among
multiple frames then the limit would be considerably higher (eight
times higher in this case).
I'm not sure of the scheduling details in the ohci-hcd driver; they
might well be more flexible than in uhci-hcd. In which case a single
OHCI controller would be able to handle up to 32 of these keyboards,
even though it is no faster than a UHCI controller.
> (I just happened to get lucky with another
> controller.) I am left with two questions.
>
> 1. What if Aivils needs more than 16 keyboards? (Standard class sizes
> here in California run from 20 to about 30.) Is there any way he can do
> this without a faster controller?
You should realize that Aivils _does_ have an EHCI controller. He just
isn't using it, because his hubs are old. So the easiest approach for
him would be to buy USB-2.0 hubs.
If he doesn't want to do that there are a few ways, but they mostly
boil down to getting more controllers. If he is good at kernel
programming, he could upgrade the scheduling algorithm in uhci-hcd --
but that will be a messy job and probably not worth the time spent
(which is why I've never done it).
> 2. What does the bandwidth limitation say about the maximum number of
> boards with the EHCI controller? I modified the kernel evdev.c and
> input.c files to raise the maximum events from 32 to 64, but I hadn't
> figured in the effects of bandwidth.
Like I said above, it depends on the type of hub you use. If you have
hubs with multiple Transaction Translators then the bandwidth limit
will be very high. I don't know how high exactly, but probably higher
than other limits, like the maximum number of USB devices on a single
bus (127).
If you have hubs with only a single Transaction Translator then the
limit will be lower, but still pretty high. Certainly you would be
able to connect no more than four keyboards to each hub, but you could
have many hubs. The details would depend on the scheduling algorithm
in ehci-hcd, which I'm also not familiar with.
If you have only full-speed hubs (i.e., USB-1.1 hubs rather than
USB-2.0) then you won't be able to make use of the EHCI controller at
all. That's the situation Aivils is in.
Alan Stern
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: PROBLEM: USB keyboards works only 4 per PC host port
@ 2008-08-19 16:40 juanslayton
2008-08-19 18:21 ` Alan Stern
0 siblings, 1 reply; 20+ messages in thread
From: juanslayton @ 2008-08-19 16:40 UTC (permalink / raw)
To: Alan Stern
Cc: Aivils Stoss, jkosina, lud, linux-kernel, Randy Dunlap,
linuxconsole-dev, linux-input
I have to apologize for my limited knowledge, but mere ignorance never yet
kept a teacher quiet. I am trying to follow this discussion because
Aivils and I are basically trying to do the same thing. In my case I am
presently running 20 keyboards on a 2.6.26 kernel, using an EHCI
controller, and they all work fine.
If I understand your analysis, Aivils' problem is because the UHCI
controllers are too slow. (I just happened to get lucky with another
controller.) I am left with two questions.
1. What if Aivils needs more than 16 keyboards? (Standard class sizes
here in California run from 20 to about 30.) Is there any way he can do
this without a faster controller?
2. What does the bandwidth limitation say about the maximum number of
boards with the EHCI controller? I modified the kernel evdev.c and
input.c files to raise the maximum events from 32 to 64, but I hadn't
figured in the effects of bandwidth.
> Now if you plugged some of these keyboards into different UHCI
> controllers on the computer, then the problem wouldn't arise. Each of
> your four UHCI controllers has two ports. So without using any hubs at
> all, you can plug 8 keyboards into the computer and they will all work.
>
> If you use some extra hubs as well then you can plug four keyboards
> into each controller, allowing you to use 16 keyboards total.
>
> Alan Stern
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the
> world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Linuxconsole-dev mailing list
> Linuxconsole-dev@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linuxconsole-dev
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* PROBLEM: USB keyboards works only 4 per PC host port
@ 2008-08-02 6:05 Aivils Stoss
0 siblings, 0 replies; 20+ messages in thread
From: Aivils Stoss @ 2008-08-02 6:05 UTC (permalink / raw)
To: linux-input, jkosina, linux-kernel, linuxconsole-dev
Hello All!
PROBLEM: USB keyboards works only 4 per PC host port.
I work for project which will use 15 - 25 keyboards for children teaching.
I discover current Linux 2.6.22 , 2.6.24, 2.6.26 dot not support more
than 4 keyboards per single PC host port. All plugged in keyboards
are listed as USB devices, listed as input devices, but capable to
send input events are only 4 keyboards, no matter where keyboards
are plugged in to HUB cascade. All plugged in keyboards switch LED's,
when i press NumLock.
I tested various usb-hub units and various host PC hardware, i even
replace hub power supplay units from 5V1A to 5V3A. All tested cases
give best results - 4 keyboards per PC host port and worstest - some PC
cannot do more than 8 keyboards at all.
I suppose this is Linux kernel bug because i test keyboards under
Windows, which support any schema of cascading of usb hubs.
I will send any log file if that is necessary, but trouble will pop up
in a row of kernels. 2.6.22 didn't have error messages. 2.6.24, 2.6.26
tend to total slow down with eternal reset messages:
Jul 25 07:16:00 awork kernel: input,hiddev97: USB HID v1.10 Mouse
[USB-compliant keyboard] on usb-0000:00:1d.0-1.1.2
Jul 25 07:16:01 awork kernel: usb 2-1.1.1: reset low speed USB device using
uhci_hcd and address 17
Jul 25 07:16:01 awork kernel: usb 2-1.1.2: reset low speed USB device using
uhci_hcd and address 18
Jul 25 07:16:02 awork kernel: usb 2-1.1.1: reset low speed USB device using
uhci_hcd and address 17
Jul 25 07:16:03 awork kernel: usb 2-1.1.2: reset low speed USB device using
uhci_hcd and address 18
Jul 25 07:16:04 awork kernel: usb 2-1.1.1: reset low speed USB device using
uhci_hcd and address 17
Jul 25 07:16:05 awork kernel: usb 2-1.1.2: reset low speed USB device using
uhci_hcd and address 18
Best regards,
Aivils Stoss
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2008-08-20 5:40 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-08-08 6:02 PROBLEM: USB keyboards works only 4 per PC host port Aivils Stoss
2008-08-09 10:42 ` Samuel Thibault
2008-08-10 3:08 ` Aivils Stoss
2008-08-15 1:49 ` Randy Dunlap
2008-08-18 11:12 ` Aivils Stoss
2008-08-18 15:14 ` Jiri Kosina
2008-08-18 15:14 ` Randy Dunlap
2008-08-19 9:57 ` Aivils Stoss
2008-08-19 15:03 ` Alan Stern
2008-08-19 15:19 ` Randy Dunlap
2008-08-19 15:23 ` Jiri Kosina
2008-08-19 17:55 ` Dmitry Torokhov
2008-08-20 5:40 ` Aivils Stoss
-- strict thread matches above, loose matches on Subject: below --
2008-08-19 21:06 juanslayton
2008-08-19 16:40 juanslayton
2008-08-19 18:21 ` Alan Stern
2008-08-19 19:12 ` David Brownell
2008-08-19 20:04 ` Alan Stern
2008-08-19 21:05 ` juanslayton
2008-08-02 6:05 Aivils Stoss
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).