Bug 90167 - USB Mouse, Keyboard not working after kernel rebuild
USB Mouse, Keyboard not working after kernel rebuild
Status: CLOSED NOTABUG
Product: Red Hat Linux
Classification: Retired
Component: kernel (Show other bugs)
9
i686 Linux
medium Severity medium
: ---
: ---
Assigned To: Pete Zaitcev
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2003-05-04 08:52 EDT by Ian Castle
Modified: 2014-11-11 18:40 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-06-30 16:10:32 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Ian Castle 2003-05-04 08:52:52 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225

Description of problem:
USB Keyboard and Mouse are fine with the default kernel.
Install kernel source
make mrproper
cp configs/kernel-2.4.20-i686-smp.config .config
make menuconfig
[Change PCMCIA from "<M>" to "" (so that it is not set)
Change nothing else
map dep
make bzImage
make modules
make modules_install
make install

Boot new kernel.

There doesn't seem to be a connection between the "input" driver and the
keyboard, mouse. Here is a diff of the revelvant bits of the logs.

-------------
[root@kerberos usb]# diff good bad
3c3
< kernel: usb-uhci.c: $Revision: 1.275 $ time 17:50:55 Mar 13 2003
---
> kernel: usb-uhci.c: $Revision: 1.275 $ time 21:20:19 May  3 2003
13d12
< kernel: usb.c: registered new driver hiddev
22c21
< kernel: input0: USB HID v1.10 Mouse [Logitech USB Mouse] on usb1:3.0
---
> kernel: : USB HID v1.10 Mouse [Logitech USB Mouse] on usb1:3.0
29,30c28,29
< kernel: input1: USB HID v1.10 Keyboard [045e:002b] on usb1:6.0
< kernel: input2: USB HID v1.10 Pointer [045e:002b] on usb1:6.1
---
> kernel: : USB HID v1.10 Keyboard [045e:002b] on usb1:6.0
> kernel: : USB HID v1.10 Pointer [045e:002b] on usb1:6.1
---------------------

So in the good one, everything is the same as the bad one but the good one shows
"hiddev" being registered. And, for the mouse it has "input0:" but this is blank
for the bad one. Likewise of the keyboard (input1 and input2).

Looking at the config

BAD one first:

[ian@kerberos linux-2.4]$ grep HID .config
CONFIG_USB_HID=m
CONFIG_USB_HIDINPUT=m
CONFIG_USB_HIDDEV=m
[ian@kerberos linux-2.4]$ grep INPUT .config
CONFIG_INPUT=m
CONFIG_INPUT_KEYBDEV=m
CONFIG_INPUT_MOUSEDEV=m
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=m
CONFIG_INPUT_GAMEPORT=m
CONFIG_INPUT_NS558=m
CONFIG_INPUT_LIGHTNING=m
CONFIG_INPUT_PCIGAME=m
CONFIG_INPUT_CS461X=m
CONFIG_INPUT_EMU10K1=m
CONFIG_INPUT_SERIO=m
CONFIG_INPUT_SERPORT=m
CONFIG_INPUT_ANALOG=m
CONFIG_INPUT_A3D=m
CONFIG_INPUT_ADI=m
CONFIG_INPUT_COBRA=m
CONFIG_INPUT_GF2K=m
CONFIG_INPUT_GRIP=m
CONFIG_INPUT_INTERACT=m
CONFIG_INPUT_TMDC=m
CONFIG_INPUT_SIDEWINDER=m
CONFIG_INPUT_IFORCE_USB=m
CONFIG_INPUT_IFORCE_232=m
CONFIG_INPUT_WARRIOR=m
CONFIG_INPUT_MAGELLAN=m
CONFIG_INPUT_SPACEORB=m
CONFIG_INPUT_SPACEBALL=m
CONFIG_INPUT_STINGER=m
CONFIG_INPUT_DB9=m
CONFIG_INPUT_GAMECON=m
CONFIG_INPUT_TURBOGRAFX=m
CONFIG_USB_HIDINPUT=m

Now the GOOD one..

[ian@kerberos linux-2.4]$ grep HID configs/kernel-2.4.20-i686-smp.config
# USB Human Interface Devices (HID)
CONFIG_USB_HID=m
CONFIG_USB_HIDDEV=m
CONFIG_USB_HIDINPUT=m
[ian@kerberos linux-2.4]$ grep INPUT configs/kernel-2.4.20-i686-smp.config
CONFIG_INPUT=m
CONFIG_INPUT_GAMEPORT=m
CONFIG_INPUT_KEYBDEV=m
CONFIG_INPUT_MOUSEDEV=m
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_STINGER=m
CONFIG_INPUT_CS461X=m
CONFIG_INPUT_EVDEV=m
CONFIG_INPUT_ANALOG=m
CONFIG_INPUT_INTERACT=m
CONFIG_INPUT_WARRIOR=m
CONFIG_INPUT_EMU10K1=m
CONFIG_INPUT_SERIO=m
CONFIG_INPUT_NS558=m
CONFIG_INPUT_LIGHTNING=m
CONFIG_INPUT_PCIGAME=m
CONFIG_INPUT_A3D=m
CONFIG_INPUT_ADI=m
CONFIG_INPUT_COBRA=m
CONFIG_INPUT_GF2K=m
CONFIG_INPUT_GRIP=m
CONFIG_INPUT_TMDC=m
CONFIG_INPUT_SIDEWINDER=m
CONFIG_INPUT_SERPORT=m
CONFIG_INPUT_SPACEORB=m
CONFIG_INPUT_MAGELLAN=m
CONFIG_INPUT_SPACEBALL=m
CONFIG_INPUT_IFORCE_232=m
CONFIG_INPUT_IFORCE_USB=m
CONFIG_INPUT_DB9=m
CONFIG_INPUT_GAMECON=m
CONFIG_INPUT_TURBOGRAFX=m
CONFIG_USB_HIDINPUT=m
CONFIG_INPUT_SERIO=m

---------
/dev/input/mice etc. all exist (the only change is the kernel - startup scripts
are the same, there isn't anything USB oriented in the initrd image).







Version-Release number of selected component (if applicable):
kernel-smp-2.4.20-8, kernel-smp-2.4.20-9, kernel-source-2.4.20-8,
kernel-source-2.4.20-9

How reproducible:
Always

Steps to Reproduce:
Build kernel and try to use it with USB Mouse/keyboard
    

Actual Results:  USB Mouse Keyboard don't work

Expected Results:  USB Mouse Keyboard should work.

Additional info:

It all worked fine with Red Hat 8.0 kernel series (2.4.18), and red hat 7.3 for
that matter.
Comment 1 Pete Zaitcev 2003-06-06 17:42:16 EDT
Strictly speaking this a printk time, then you do the standard routine
of capturing the make output with "make modules > x 2>&1", use x
to run gcc -E, study the result... It's a long process, which is not
to be mentored through a bugzilla.

I think I see a bug, IS_INPUT_APPLICATION depends on configuration.
The big questions how did the build system manage to produce a working
module?

Please try this patch:

--- linux-2.4.20-18/drivers/usb/hid.h   2002-11-28 15:53:14.000000000 -0800
+++ linux-2.4.20-18-usb/drivers/usb/hid.h       2003-06-06 14:38:38.000000000 -0700
@@ -30,6 +30,7 @@
  * Vojtech Pavlik, Ucitelska 1576, Prague 8, 182 00 Czech Republic
  */
  
+#include <linux/config.h>
 #include <linux/types.h>
 #include <linux/slab.h>
 #include <linux/list.h>
Comment 2 Pete Zaitcev 2003-06-10 21:02:10 EDT
Seems to be working dandy without changes in the config. Perhaps
"make menuconfig" bastage. Always, but always use "make oldconig".
At the very least, re-run "make oldconfig" after menuconfig,
and do "make dep". Let me know if it still breaks.

[zaitcev@niphredil zaitcev]$ cd /usr/src
[zaitcev@niphredil src]$ ls
debug  linux-2.4  linux-2.4.20-18.9  redhat
[zaitcev@niphredil src]$
[zaitcev@niphredil src]$ cp -a linux-2.4.20-18.9 /q/zaitcev/ksrc/
[zaitcev@niphredil ksrc]$ cp -al linux-2.4.20-18.9 linux-2.4.20-18.9custom

[zaitcev@niphredil linux-2.4.20-18.9custom]$ make mrproper
.....
[zaitcev@niphredil linux-2.4.20-18.9custom]$ find . -name '.??*' | more
./arch/mips/.gdbinit
./drivers/sound/.indent.pro
./drivers/sound/.version
[zaitcev@niphredil linux-2.4.20-18.9custom]$ find . -name '.??*' | xargs rm
[zaitcev@niphredil linux-2.4.20-18.9custom]$
[zaitcev@niphredil linux-2.4.20-18.9custom]$ find . -type f | xargs chmod a-w
[zaitcev@niphredil linux-2.4.20-18.9custom]$ cp
configs/kernel-2.4.20-i686.config .config
[zaitcev@niphredil linux-2.4.20-18.9custom]$ grep HID .config | more
# USB Human Interface Devices (HID)
CONFIG_USB_HID=m
CONFIG_USB_HIDDEV=m
CONFIG_USB_HIDINPUT=m
[zaitcev@niphredil linux-2.4.20-18.9custom]$ make oldconfig
[zaitcev@niphredil linux-2.4.20-18.9custom]$ make dep > build.out 2> build.err <
/dev/null
[zaitcev@niphredil linux-2.4.20-18.9custom]$ make bzImage modules > build.out
2>&1 < /dev/null

[root@niphredil linux-2.4.20-18.9custom]# sh ../linux-install
......
[root@niphredil linux-2.4.20-18.9custom]# ls /boot
config-2.4.20-18.9      module-info-2.4.20-18.9       vmlinux-2.4.20-9
config-2.4.20-9         module-info-2.4.20-9          vmlinux-2.4.21-rc1-nip
grub                    System.map                    vmlinuz
initrd-2.4.20-18.9.img  System.map-2.4.20-18.9        vmlinuz-2.4.20-18.9
initrd-2.4.20-9.img     System.map-2.4.20-18.9custom  vmlinuz-2.4.20-18.9custom
kernel.h                System.map-2.4.20-9           vmlinuz-2.4.20-9
message                 System.map-2.4.21-rc1-nip     vmlinuz-2.4.21-rc1-nip
message.ja              vmlinux-2.4.20-18.9
module-info             vmlinux-2.4.20-18.9custom
[root@niphredil linux-2.4.20-18.9custom]# ls /lib/modules
2.4.20-18.9  2.4.20-18.9custom  2.4.20-9  2.4.21-rc1-nip
[root@niphredil linux-2.4.20-18.9custom]#
[root@niphredil linux-2.4.20-18.9custom]# vi /boot/grub/grub.conf
[root@niphredil linux-2.4.20-18.9custom]# mkinitrd
/boot/initrd-2.4.20-18.9custom.img 2.4.20-18.9custom
[root@niphredil linux-2.4.20-18.9custom]# echo $?
0
[root@niphredil linux-2.4.20-18.9custom]#
Comment 3 Pete Zaitcev 2003-06-30 16:10:32 EDT
Neil Goldberg reports that running "make oldconfig" after "make menuconfig"
fixes whatever the menuconfig broke (basically, it leaves .config and
include/linux/config/* inconsistent). This is the preferred way to do it.
Comment 4 sam 2014-11-11 18:40:36 EST
This is in fact a bug. No documentation anywhere says that you need to run a "make oldconfig" after running "make menuconfig" or "make xconfig" or "make config".

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