Bug 55878 - USB keyboard dead after installing kernel 2.4.9-13
Summary: USB keyboard dead after installing kernel 2.4.9-13
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel
Version: 7.2
Hardware: i686
OS: Linux
medium
high
Target Milestone: ---
Assignee: Pete Zaitcev
QA Contact: Brock Organ
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-11-08 05:53 UTC by Michael Fischer
Modified: 2007-04-18 16:38 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2002-07-22 20:03:55 UTC
Embargoed:


Attachments (Terms of Use)
dmesg output (7.98 KB, text/plain)
2001-11-08 23:21 UTC, Michael Fischer
no flags Details
/proc/bus/usb/devices under kernel-2.4.9-7 (1.25 KB, text/plain)
2001-11-09 18:36 UTC, Michael Fischer
no flags Details
Vojtech's test program (7.43 KB, text/plain)
2001-12-01 01:40 UTC, Pete Zaitcev
no flags Details
ATEN with broken GET_REPORT (3.18 KB, patch)
2002-02-07 01:41 UTC, Pete Zaitcev
no flags Details | Diff
dmesg output with hid-core debugging turned on (14.29 KB, text/plain)
2002-02-10 19:34 UTC, Michael Fischer
no flags Details
/var/log/messages from run with hid-core debugging turned on (73.21 KB, text/plain)
2002-02-10 19:37 UTC, Michael Fischer
no flags Details
dmesg output with additional hid-core debugging turned on (14.39 KB, text/plain)
2002-02-11 00:39 UTC, Michael Fischer
no flags Details
/var/log/messages from run with additional hid-core debugging turned on (73.19 KB, text/plain)
2002-02-11 00:40 UTC, Michael Fischer
no flags Details
dmesg output with hid-core debugging after several keystrokes (14.39 KB, text/plain)
2002-02-11 16:12 UTC, Michael Fischer
no flags Details
/var/log/messages with hid-core debugging after several keystrokes (74.46 KB, text/plain)
2002-02-11 16:13 UTC, Michael Fischer
no flags Details
lsmod output after reboot (keyboard not working) (1.06 KB, text/plain)
2002-02-11 16:15 UTC, Michael Fischer
no flags Details
lsmod output after rmmod hid; insmod hid (keyboard working) (1.03 KB, text/plain)
2002-02-11 16:16 UTC, Michael Fischer
no flags Details
Itai's "hid reload" fix (522 bytes, patch)
2002-07-22 19:34 UTC, Pete Zaitcev
no flags Details | Diff

Description Michael Fischer 2001-11-08 05:53:29 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.78 [en] (X11; U; Linux 2.4.9-7 i686)

Description of problem:
After installing kernel-2.4.9-13.i686.rpm, machine comes up normally but
USB keyboard is dead.  I can't type into kdm login window, and CTRL-ALT-F1
will not take me to a virtual terminal.  After reverting to kernel 2.4.9-7,
keyboard again works normally.

Version-Release number of selected component (if applicable):
kernel-2.4.9-13

How reproducible:
Always

Steps to Reproduce:
1.Install Red Hat kernel-2.4.9-13.i686.rpm
2.Reboot into new kernel.
3.
	

Actual Results:  Mouse works, but keyboard is dead.

Expected Results:  Keyboard should have worked.

Additional info:

Keyboard is USB.  Machine is HP 9680C.  Am running XFree86-4.1.0-3
and kdebase-2.2-12.

Comment 1 Arjan van de Ven 2001-11-08 11:26:03 UTC
Pete: any ideas ?

Comment 2 Michael Fischer 2001-11-08 16:14:52 UTC
I tried booting into single user mode.  Linux came up normally and gave me a
shell prompt.  Again the keyboard was dead.  Had to power off to force a
reboot.  This seems to rule out X/KDE as possible problems.  Here is my
/etc/modules.conf file:

pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start

# For ethernet support
alias eth0 8139too
alias eth1 tulip
# For parallel port support
alias parport_lowlevel parport_pc
below parport_pc ppdev parport #     load ppdev and parport modules
# Added for IP tunnel support
alias tunl0 ipip
alias mytunnel ipip
# Added for CD-RW support
options ide-cd ignore=hdc #     tell the ide-cd module to ignore hdc
alias scd0 sr_mod #     load sr_mod upon access of scd0
below sg        ide-scsi #     load ide-scsi before sg
below sr_mod    ide-scsi #     load ide-scsi before sr_mod
below ide-scsi  ide-cd #     load ide-cd before ide-scsi
alias usb-controller usb-uhci
# Added for installation of OSS sound support
alias sound-slot-0 off
alias char-major-14 off


Comment 3 Pete Zaitcev 2001-11-08 22:40:35 UTC
I need a dmesg output to tell why it died.
If the box has network, it should be easy to let it boot
then use ssh or telnet to log in and run "dmesg > /tmp/xxx".
If that is not feasible, the next best thing would be
to borrow a PS/2 keyboard somewhere and use that to
the same effect.

As the last backup, getting /var/log/messages may be
sufficient (it has problems with ordering, but may work
as a last resort)


Comment 4 Michael Fischer 2001-11-08 23:21:28 UTC
Created attachment 36941 [details]
dmesg output

Comment 5 Michael Fischer 2001-11-09 00:13:02 UTC
I just noticed that /usr/src/linux-2.4.9-13/drivers/usb/usbkbd.c is included in
kernel-source-2.4.9-13.i386.rpm, but kernel-2.4.9-13.i686.rpm does not contain
the corresponding driver usbkbd.o (in /lib/modules/2.4.9-13/kernel/drivers/usb).

/sbin/lsmod shows the usbkbd module has loaded when I run kernel 2.4.9-7:
usbkbd                  3424   0 (unused)
input                   3840   0 [keybdev hid usbkbd]
usbcore                51808   1 [hid usbkbd usb-uhci]


Comment 6 Michael E Brown 2001-11-09 16:51:04 UTC
What is the exact make and model of your keyboard?

Comment 7 Pete Zaitcev 2001-11-09 17:33:12 UTC
I think contents of /proc/bus/usb/devices
may be of more use than the marketing name.


Comment 8 Michael Fischer 2001-11-09 18:36:07 UTC
Created attachment 37061 [details]
/proc/bus/usb/devices under kernel-2.4.9-7

Comment 9 Michael E Brown 2001-11-10 05:10:12 UTC
Pete, is this something that can be fixed by adding something to the hid 
driver, or does this keyboard require the boot protocol usbkbd driver.


Comment 10 Michael Fischer 2001-11-10 23:42:16 UTC
I recompiled kernel from kernel-source-2.4.9-13.i386.rpm.  Used RedHat config
file kernel-2.4.9-i686.config, but I set CONFIG_USB_KBD=m.  Keyboard now works
fine.  dmesg now shows:
  usb.c: registered new driver keyboard
  input0: HP Multimedia Keyboard Hub on usb1:3.0
  usbkbd.c: :USB HID Boot Protocol keyboard driver
  usb.c: registered new driver hid
  hiddev0: USB HID v1.00 Device [HP Multimedia Keyboard Hub] on usb1:3.1
instead of
  usb.c: registered new driver hid
  input0: USB HID v1.00 Keyboard [HP Multimedia Keyboard Hub] on usb1:3.0
  hiddev0: USB HID v1.00 Device [HP Multimedia Keyboard Hub] on usb1:3.1



Comment 11 amworley 2001-11-17 19:30:51 UTC
I have what seems to be the same problem.  After installing
kernel-2.4.9-13.i686.rpm, my USB keyboard is unresponsive from both X and text
mode.  It does work, however, on the grub menu screen.  Also, the USB mouse
attached to the keyboard works fine.  This same keyboard does work with
kernel-2.4.7-10 (maybe because this kernel seems to load the usbkbd driver
that's missing from 2.4.9-13?)


from dmesg:

usb-uhci.c: USB UHCI at I/O 0xdce0, IRQ 11
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
usb-uhci.c: v1.251:USB Universal Host Controller Interface driver
hub.c: USB new device connect on bus1/2, assigned device number 2
hub.c: USB hub found
hub.c: 3 ports detected
hub.c: USB new device connect on bus1/2/1, assigned device number 3
usb.c: USB device 3 (vend/prod 0x566/0x2802) is not claimed by any active driver.
hub.c: USB new device connect on bus1/2/3, assigned device number 4
usb.c: USB device 4 (vend/prod 0x5fe/0x11) is not claimed by any active driver.
usb.c: registered new driver hid
input0: USB HID v1.00 Keyboard [ALCOR Monterey KBD HUB   ] on usb1:3.0
hiddev0: USB HID v1.00 Device [ALCOR Monterey KBD HUB   ] on usb1:3.1
usb-uhci.c: ENXIO 84000480, flags 0, urb c1a02d40, burb c1a02c40
usbdevfs: USBDEVFS_CONTROL failed dev 4 rqt 128 rq 6 len 18 ret -6
input1: USB HID v1.00 Mouse [Cypress Sem. PS2/USB Browser Combo Mouse] on usb1:4.0
usb.c: registered new driver hiddev
hid-core.c: v1.8 Andreas Gal, Vojtech Pavlik <vojtech>
hid-core.c: USB HID support drivers


cat /proc/bus/usb/devices:

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=121/900 us (13%), #Int=  3, #Iso=  0
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB UHCI Root Hub
S:  SerialNumber=dce0
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  8 Spd=12  MxCh= 3
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=058f ProdID=9472 Rev= 0.01
S:  Manufacturer=ALCOR
S:  Product=Monterey KBD HUB   
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=255ms
T:  Bus=01 Lev=02 Prnt=08 Port=00 Cnt=01 Dev#=  9 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0566 ProdID=2802 Rev= 0.01
S:  Manufacturer=ALCOR
S:  Product=Monterey KBD HUB   
C:* #Ifs= 2 Cfg#= Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=hid
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl= 10ms
I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=hid
E:  Ad=82(I) Atr=03(Int.) MxPS=   4 Ivl=255ms
T:  Bus=01 Lev=02 Prnt=08 Port=02 Cnt=02 Dev#= 10 Spd=1.5 MxCh= 0
D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=05fe ProdID=0011 Rev= 0.00
S:  Manufacturer=Cypress Sem.
S:  Product=PS2/USB Browser Combo Mouse
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=hid
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl= 10ms
tr=03(Int.) MxPS=   4 Ivl= 10ms

Comment 12 Bruno Li 2001-11-21 11:17:03 UTC
I have similar problem when install RH 7.2, my USB keyboard stops responding 
before the installation asks me to input grub's password... I then try to 
connect a PS/2 keyboard and it works (USB keyboard still does not, but pressing 
[NumLock], [CapLock] and [ScrollLock] key on PS/2 actually turns on both 
keyboards' LEDs).

After 7.2's successful installation and reboot the system, the USB keyboard 
dies right after the bootup message "USB Keyboard... [OK]".

Switch back to 7.1 now, it's back to normal.

Comment 13 Michael E Brown 2001-11-21 14:57:05 UTC
to bd:
  Your problem appears to be unrelated to the problems above. If you install RH
7.2 and remove the files /lib/modules/*/kernel/drivers/usb/usbkbd.o, your
problem will likely go away. 

  It is the removal of this file in the errata 7.2 kernels that caused these
_other_ keyboards, mentioned above, to fail.

Pete,
  Do you see any solution to this problem that can get everybody to work
together nicely? This looks like a big hassle in that every fix appears to break
one person or another.

Comment 14 Pete Zaitcev 2001-11-21 19:06:44 UTC
I am trying to get me one of those that "require" usbkbd.
I figure Dell does not ship such trash so Michael cannot help.
Currently I am looking for someone with HP multimedia keyboard
in the Bay Area or near Red Hat Meridian.



Comment 15 Pete Zaitcev 2001-11-21 19:09:24 UTC
Yeah, I agree that lxl@ got it backwards, most probably.
Let's see if renaming usbkbd helps him or her.


Comment 16 Pete Zaitcev 2001-12-01 01:40:11 UTC
Created attachment 39264 [details]
Vojtech's test program

Comment 17 Pete Zaitcev 2001-12-01 01:42:23 UTC
Date: Thu, 15 Nov 2001 20:47:31 +0100
From: Vojtech Pavlik <vojtech>
To: Pete Zaitcev <zaitcev>
Cc: linux-kernel <linux-kernel.org>

[...]
Could you by any chance try to run the 'evtest' program (i
can send it to you if you don't have it handy) on the /dev/input/event
device created for this keyboard? And/or dmesg with DEBUG enabled in
hid-core.c? 


Comment 18 Jeff Sofferin 2002-01-06 22:55:46 UTC
On my RedHat 7.1 Kernel 2.4.9-13 system if after boot up I ssh into the box 
and rmmod hid then I modprobe hid my keyboard (HP8676C computer HP USB 
internet keyboard) starts to work.


Comment 19 Pete Zaitcev 2002-01-16 04:39:09 UTC
HP Keyboard data:

P/N 5184-4708
Model SK-2506U
Rev 1.1C
S/N C0003069883

The 5184-4708 is not available from HP parts finder anymore,
though its companion mouse 5184-4712 still is (hmm...).
Generic replacement keyboard 5065-6054 is tested to work OK.
The recommended replacement keyboard for HP-9680C is
5065-1389, and not tested yet.


Comment 20 Michael E Brown 2002-01-21 19:47:43 UTC
  I think I may have found a fix for the Dell keyboard issue that won't conflict
with the various other keyboards out there. If you add the following line to
/etc/modules.conf, everything works ok:

   below usbkbd hid
This makes the HID driver load first, and it cures my problems. I need to know
if this works for anybody with the broken HP keyboard, specifically, does your
keyboard still work under 2.4.7-10 with the above line in /etc/modules.conf

Comment 21 Jeff Sofferin 2002-01-21 20:11:24 UTC
On my RedHat 7.2 Kernel 2.4.9-13 kernel it did not work. 

HP 5183-9960 keyboard


Comment 22 Pete Zaitcev 2002-01-25 19:56:39 UTC
Oh wonderful, 5183-9960 is not in the Partsurfer either.
Recommended replacement for HP-8676C is 5064-8886
(I bet it works too :(). Those HP people really roll
their part deprecation.


Comment 23 Pete Zaitcev 2002-01-25 20:13:56 UTC
Michael pursues a different avenue: he tries to order modules.
We know that correct ordering between hid and usbkbd allows
mouse events to be received by hid, then usbkbd gets keyboard
events that hid did not understand. Personally, I think the
ordering is a fragile thing which is hard to get right.
Remember how it all started: we changed "nothing" between
7.1 and 7.2, but something caused them to be reordered and
suddenly Dell mice stopped working.
This is why I am trying to fix HID.
I am sorry to the delay that it causes.


Comment 24 Pete Zaitcev 2002-02-07 01:41:47 UTC
Created attachment 44797 [details]
ATEN with broken GET_REPORT

Comment 25 Pete Zaitcev 2002-02-07 01:49:44 UTC
I worked around my (and hopefuly Erik Troan's) adapter(s) in HID.
Now to the HP and Compaq equipment.

Unfortunately, a debugging on customer equipment seems to be in order.
I would be grateful if someone with the "usbkbd works, hid doesn't"
problem recompiled hid with debugging on. I am sorry to say, it
does require source code poking. In file drivers/usb/hid-core.c,
`#undef DEBUG' has to be replaced with `#define DEBUG 1'.
Then, do this:
 echo /bin/true > /proc/sys/kernel/hotplug
 rmmod usbkbd
 rmmod hid
 insmod /your/kernel/path/drivers/usb/hid.o
 dmesg > /tmp/1.d
 cp /var/log/messages > /tmp/1.m
Then, attach /tmp/1.* to this bug, but
PLEASE DO NOT DROP THEM INTO COMMENT BOX.
Thanks!


Comment 26 Pete Zaitcev 2002-02-08 18:11:06 UTC
The GET_REPORT workaround is in CVS for >2.4.17-0.15.
Let us hold it in RawHide for the moment, because
it is strictly for testing.

The original requestor is willing to recompile kernels,
so we are pursuing custom debugging.


Comment 27 Michael Fischer 2002-02-10 19:34:22 UTC
Created attachment 45160 [details]
dmesg output with hid-core debugging turned on

Comment 28 Michael Fischer 2002-02-10 19:37:04 UTC
Created attachment 45161 [details]
/var/log/messages from run with hid-core debugging turned on

Comment 29 Michael Fischer 2002-02-10 19:40:35 UTC
I attach debugging output as requested by Pete Zaitcev on 2002-02-06 20:49:44.
I started with kernel-2.4.9-13.src.rpm.
I did the %prep step, then proceed from there:
1. Edited drivers/usb/hid-core.c to turn on debugging.
2. Edited Makefile to set EXTRAVERSION=-13kbddbg.
3. make mrproper
4. Copied configs/kernel-2.4.9-i686.config to .config
5. make oldconfig
6. make dep
7. make bzImage (unnecessary?)
8. make bzdisk
9. make modules
10. make modules_install
11. Booted from floppy from step 8
12. HP USB keyboard didn't work, as expected.  Logged in remotely.
13. echo /bin/true > /proc/sys/kernel/hotplug
14. rmmod usbkbd (no driver loaded)
15. rmmod hid
16. insmod /lib/modules/2.4.9-13kbddbg/kernel/drivers/usb/hid.o
17. dmesg > 1.d
18. cp /var/log/messages 1.m
I deleted stuff from 1.m from before the reboot in step 11.  Files are attached.


Comment 30 Pete Zaitcev 2002-02-10 20:05:56 UTC
Michael, thank you for the data. Unfortunately for us,
it is evidently not a problem similar to ATEN's.
No configuration requests fail.

Would you please re-do it with DEBUG_DATA enanbled in the same way?
You only need to do "make modules", then boot as you did before
(certainly don't clean with "make mrproper", or it'll take ages
to rebuild).

With DEBUG_DATA I am trying to find if hid_input_report is
getting anything.

Comment 31 Michael Fischer 2002-02-11 00:39:07 UTC
Created attachment 45180 [details]
dmesg output with additional hid-core debugging turned on

Comment 32 Michael Fischer 2002-02-11 00:40:32 UTC
Created attachment 45181 [details]
/var/log/messages from run with additional hid-core debugging turned on

Comment 33 Pete Zaitcev 2002-02-11 03:18:19 UTC
Michael, did you hit any keys after loading the hid
with DEBUG_DATA? It should print one more of those
"report size N (unnumbered)" for every key hit.


Comment 34 Michael Fischer 2002-02-11 05:22:34 UTC
I don't think I hit any more keys.  I hit some keys right after booting,
verifying that the keyboard didn't work.  Then I logged in remotely through
the network and ran the tests from the other machine.  I was in the next room
when I did the tests, so I'm sure I didn't touch the keyboard between doing
insmod of hid.o and capturing the dmesg and /var/log/messages output.
Do you want another test where I do hit some keys?

Comment 35 Michael Fischer 2002-02-11 16:09:51 UTC
Ran experiments again, but this time hit some keys after insmod hid.o
but before capturing logs.  Results are attached in 3.d and 3.m.  Much to
my surprise, the keyboard then worked!  I also did lsmod right after the boot
(when the keyboard was not working) and again after insmod.  Results are
attached.  The only obvious differences are that hid moved up to the top
of the list, and the line for "input" changed from "[keybdev hid]" to
"[hid keybdev]".  I'll bet a line "below hid keybdev" in /etc/modules.conf
would make my problem go away!


Comment 36 Michael Fischer 2002-02-11 16:12:16 UTC
Created attachment 45239 [details]
dmesg output with hid-core debugging after several keystrokes

Comment 37 Michael Fischer 2002-02-11 16:13:33 UTC
Created attachment 45240 [details]
/var/log/messages with hid-core debugging after several keystrokes

Comment 38 Michael Fischer 2002-02-11 16:15:15 UTC
Created attachment 45241 [details]
lsmod output after reboot (keyboard not working)

Comment 39 Michael Fischer 2002-02-11 16:16:16 UTC
Created attachment 45242 [details]
lsmod output after rmmod hid; insmod hid (keyboard working)

Comment 40 Pete Zaitcev 2002-02-11 16:34:40 UTC
Stellar job, Michael, but I am still in the dark.
I suspect a delay related to exessive printk's may have helped.

You can experiment with modure ordering on a stock system
by running rmmod/insmod. It it fixes the problem, it is
likely the ordering. If it does not, then it's the delay.


Comment 41 Michael Fischer 2002-02-11 16:43:25 UTC
I added the line "below hid keybdev" to /etc/modules.conf and rebooted the
test system.  hid loaded just above keybdev rather than just below it,
but the keyboard still did not work!  rmmod hid; insmod hid started it working
again (and of course moved hid up to the very top of the module stack).


Comment 42 Michael Fischer 2002-02-15 20:36:57 UTC
WORKAROUND:  Removing and reloading the hid module right after booting seems
to get the keyboard working.  For RedHat users, it's sufficient to add the
following lines to /etc/rc.d/rc.local:
    #
    # Reload hid driver to overcome bug with HP keyboard
    #
    /sbin/rmmod hid
    /sbin/insmod hid
I'm using this with the stock 2.4.9-21 kernel and have had no problems so far.


Comment 43 Pete Zaitcev 2002-03-23 20:04:05 UTC
Apparently, Vojtech receives reports of devices that
refuse to work with hid when it is loaded upon boot, but
work fine if hid is reloaded afterwards. He promises
to look at it at a future date. Suuure...


Comment 44 Pete Zaitcev 2002-07-22 19:34:16 UTC
Created attachment 66364 [details]
Itai's "hid reload" fix

Comment 45 Pete Zaitcev 2002-07-22 19:36:55 UTC
Michael reports that Itai's fix works on his HP keyboard.


Comment 46 Pete Zaitcev 2002-07-22 20:03:49 UTC
CVS release AFTER 2.4.18-5.78. Patch 1241.



Note You need to log in before you can comment on or make changes to this bug.