# Mouse stopped working in X after kernel update to 2.6.15.1

## osgood

Hello,

I have come across a most peculiar problem. I tried to find an answer on the Internet but without success. I'd like to ask anybody with a similar experience to share his/her insights with me.

What is going on is the following: I upgraded my kernel from 2.6.14.2 to 2.6.15.1. I copied to old .config file to the new directory and ran make menuconfig. The only change I made was adding PPP protocol with MPPE compression. After I rebooted the system, everything worked as usual with the exception of mouse. The mouse is detected by the USB drivers but it does not work in X. Well, it does not work until I switch to console (Ctrl+Alt+F1) and then back. After that, it works like a charm. The interesting thing is that the keyword (also USB) works OK. I did not touch any USB options in the kernel config.

When I boot and log on to my KDE session and run cat /dev/input/mice, I don't get anything... again until I switch to the console. This issue is not really a annoying but I'd still like to know what happened...

Thank you for any comment!

David

ps. I tried to reinstall HAL and DBUS but it did not help.

----------

## osgood

Hi, 

I narrowed the problem down to the following. When I boot to the system without hald and without X and try typying

cat /dev/input/mice

I do not get anything. No output when I move the mouse! When I quit and run the same command again, everything WORKS!

In other words

cat /dev/input/mice  ---> does nothing

cat /dev/input/mice  ---> WORKS!

Any ideas?

David

ps. cat /dev/input/mouse0 WORKS!

[UPDATE]

/dev/input/mouse0 works only when I access either /dev/input/mice or ../mouse0. that is, when I boot an run

cat /dev/input/mouse0 --> does nothing again

cat /dev/input/mouse0 --> works.

in other words, the behavior is the same as before. I didn't notice it becauase I was "touching" /dev/input/mice before accessing mouse0Last edited by osgood on Tue Jan 31, 2006 3:40 pm; edited 1 time in total

----------

## bananana

Sorry if my english isn't perfect, but i'm french

I have exactly the same problem, and i don't know what to do

here is a part of my xorg.conf file :

```
Section "InputDevice"

    Identifier     "Mouse0"

    Driver         "mouse"

    Option         "Protocol" "auto"

    Option         "Device" "/dev/input/mice"

    Option         "ZAxisMapping" "4 5"

EndSection
```

i have an USB mouse too.

If someone know what it is, please tell me

thanks

----------

## batistuta

from which kernel where you updating?

----------

## osgood

I updated from 2.6.14.2 to 2.6.15.1. I copied .config from the old kernel to the new one, then I ran make menuconfig and updated a few things... but not USB

Thank for any tips!

David

----------

## batistuta

just for curiosity... could you boot back with your old kernel image, and see if it works? You've kept the old kernel image, haven't you?   :Wink: 

----------

## osgood

I did that before posting my question here. After rebooting the old kernel, the mouse works.

It seems as if the mouse device node was not "active" (whatever that means) until anything tries to access it for the first time.

Basically, no change took place, only the update of the kernel. I did update udev, hald, dbus after the mouse stopped working.

----------

## batistuta

I'm not completely sure myself here... but are your other USB devices working? Do you have coldplug installed? USB legacy support enabled in your motherboard? Just throwing out some ideas, I don't know why a simple change coud cause the problem...   :Rolling Eyes: 

----------

## batistuta

have you also done

```
make modules_install 
```

when compiling your kernel? No ofense if it is an obvious question, just triple checking...

----------

## osgood

Yes, I did make modules_install... even though there are no modules for USB... only for PPT networking...

I did verify that all relevant USB options are in the kernel. Also, when the kernel boots, the mouse is recognized... I get the usual message "USB Whell mouse found..."... udev creates a node for it so I suppose the rest of the system should be able to access it...

Finally, all other USB devices work, most notably, my USB keyboard works without problem. My USB card reader works too...

I found a similar thread to this one in the Desktop forum but there was no relevant answer for this problem. I think this is more of a kernel/device problem since it has nothing to do with X or KDE because the mouse is not accessible from console either...

I noticed that more people are having a similar problem so hopefully somebody who has a background in USB could help us out...

Thanks!

----------

## PaulBredbury

I found that upgrading udev from 079-r1 to 081-r1 fixed the mouse startup problem.

----------

## osgood

I emerged udev-081-r1 as well as 084 and still no success... interesting, do you think you could share your USB related options? And possibly which drivers servers your mouse (OHCI,...) perhaps it will tell us something.

Thanks.

----------

## PaulBredbury

I'm using gentoo-sources-2.6.15-r1. Relevant kernel config entries from grep USB /usr/src/linux/.config:

```
CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB_ARCH_HAS_OHCI=y

CONFIG_USB=y

# CONFIG_USB_DEBUG is not set

# Miscellaneous USB options

CONFIG_USB_DEVICEFS=y

# CONFIG_USB_BANDWIDTH is not set

# CONFIG_USB_DYNAMIC_MINORS is not set

# CONFIG_USB_SUSPEND is not set

# CONFIG_USB_OTG is not set

# USB Host Controller Drivers

CONFIG_USB_EHCI_HCD=y

# CONFIG_USB_EHCI_SPLIT_ISO is not set

# CONFIG_USB_EHCI_ROOT_HUB_TT is not set

# CONFIG_USB_ISP116X_HCD is not set

# CONFIG_USB_OHCI_HCD is not set

CONFIG_USB_UHCI_HCD=y

# CONFIG_USB_SL811_HCD is not set

# USB Device Class drivers

# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set

# CONFIG_USB_ACM is not set

# CONFIG_USB_PRINTER is not set

# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'

# may also be needed; see USB_STORAGE Help for more information

CONFIG_USB_STORAGE=y

# CONFIG_USB_STORAGE_DEBUG is not set

# CONFIG_USB_STORAGE_DATAFAB is not set

# CONFIG_USB_STORAGE_FREECOM is not set

# CONFIG_USB_STORAGE_ISD200 is not set

# CONFIG_USB_STORAGE_DPCM is not set

# CONFIG_USB_STORAGE_USBAT is not set

# CONFIG_USB_STORAGE_SDDR09 is not set

# CONFIG_USB_STORAGE_SDDR55 is not set

# CONFIG_USB_STORAGE_JUMPSHOT is not set

# USB Input Devices

CONFIG_USB_HID=y

CONFIG_USB_HIDINPUT=y

CONFIG_USB_HIDDEV=y

# CONFIG_USB_AIPTEK is not set

# CONFIG_USB_WACOM is not set

# CONFIG_USB_ACECAD is not set

# CONFIG_USB_KBTAB is not set

# CONFIG_USB_POWERMATE is not set

# CONFIG_USB_MTOUCH is not set

# CONFIG_USB_ITMTOUCH is not set

# CONFIG_USB_EGALAX is not set

# CONFIG_USB_YEALINK is not set

# CONFIG_USB_XPAD is not set

# CONFIG_USB_ATI_REMOTE is not set

# CONFIG_USB_KEYSPAN_REMOTE is not set

# CONFIG_USB_APPLETOUCH is not set

# USB Imaging devices

# CONFIG_USB_MDC800 is not set

# CONFIG_USB_MICROTEK is not set

# USB Multimedia devices

# CONFIG_USB_DABUSB is not set

# Video4Linux support is needed for USB Multimedia device support

# USB Network Adapters

# CONFIG_USB_CATC is not set

# CONFIG_USB_KAWETH is not set

# CONFIG_USB_PEGASUS is not set

# CONFIG_USB_RTL8150 is not set

# CONFIG_USB_USBNET is not set

# CONFIG_USB_ZD1201 is not set

# CONFIG_USB_MON is not set

# USB port drivers

# USB Serial Converter support

# CONFIG_USB_SERIAL is not set

# USB Miscellaneous drivers

# CONFIG_USB_EMI62 is not set

# CONFIG_USB_EMI26 is not set

# CONFIG_USB_AUERSWALD is not set

# CONFIG_USB_RIO500 is not set

# CONFIG_USB_LEGOTOWER is not set

# CONFIG_USB_LCD is not set

# CONFIG_USB_LED is not set

# CONFIG_USB_CYTHERM is not set

# CONFIG_USB_PHIDGETKIT is not set

# CONFIG_USB_PHIDGETSERVO is not set

# CONFIG_USB_IDMOUSE is not set

# CONFIG_USB_SISUSBVGA is not set

# CONFIG_USB_LD is not set

# CONFIG_USB_TEST is not set

# USB DSL modem support

CONFIG_USB_ATM=m

CONFIG_USB_SPEEDTOUCH=m

# CONFIG_USB_CXACRU is not set

# CONFIG_USB_XUSBATM is not set

# USB Gadget Support

# CONFIG_USB_GADGET is not set
```

The USB ports are UHCI. Relevant entry from xorg.conf:

```
Section "InputDevice"

# Setup info at http://gentoo-wiki.com/HOWTO_Mouse_Scrollwheel

# http://gentoo-wiki.com/HOWTO_Mouse_Nav_Buttons

# Razor Copperhead:  http://forums.gentoo.org/viewtopic-t-388397.html

        Identifier      "Mouse0"

        Driver          "mouse"

        Option          "CorePointer"

        Option          "Device"                "/dev/input/mouse0"

# Razer Copperhead scroll wheel doesn't work with Auto protocol (which = PS/2)

        Option          "Protocol"              "ExplorerPS/2"

        Option          "Buttons"               "9"

# With ~/.xmodmaprc:  pointer = 1 2 3 6 7 4 5 8 9 10 11 12 13

        Option          "ZAxisMapping"          "6 7"       # For mouse wheel

        Option          "Emulate3Buttons"       "off"

EndSection
```

----------

## osgood

Interesting... according to lsusb my mouse (not working) was connected to UHCI host, when I connect it to OHCI host (different port on my computer) it STARTS working! Does it mean anything?

I will compare your .config with mine once I have access to it.

THANK YOU!

----------

## osgood

Hello,

these are the only differences in our config files (your subset). 

CONFIG_USB_EHCI_ROOT_HUB_TT=y

# CONFIG_USB_ISP116X_HCD is not set

CONFIG_USB_OHCI_HCD=y

# CONFIG_USB_OHCI_BIG_ENDIAN is not set

CONFIG_USB_OHCI_LITTLE_ENDIAN=y

# CONFIG_USB_STORAGE_DEBUG is not set

CONFIG_USB_STORAGE_DATAFAB=y

CONFIG_USB_STORAGE_FREECOM=y

CONFIG_USB_STORAGE_ISD200=y

CONFIG_USB_STORAGE_DPCM=y

# CONFIG_USB_STORAGE_USBAT is not set

CONFIG_USB_STORAGE_SDDR09=y

CONFIG_USB_STORAGE_SDDR55=y

CONFIG_USB_STORAGE_JUMPSHOT=y

# CONFIG_USB_HIDDEV is not set

CONFIG_USB_MON=y

I suppose the only relevant things (if any) would be USB_HIDDEV which I don't have set and CONFIG_USB_OHCI_LITTLE_ENDIAN=y which you do not have.

This brings up one question and I never got a 100% answer for. When I update my kernel, how do I bring the settings from the old kernel? Can I just plain & simple copy the old .config and run make menuconfig?? I know there is target "oldconfig" but I've read somewhere that it's not to be used between kernel version change (2.14 -> 2.15)?

Thanks!

----------

## PaulBredbury

USB_HIDDEV is probably relevant to this thread's issue - I recommend you enable it.

 *osgood wrote:*   

> When I update my kernel, how do I bring the settings from the old kernel?

 

Copy the old config file (which is probably in /boot) to /usr/src/linux/.config

Another way, to copy the current config from memory (assuming you already have IKCONFIG_PROC=y):  zcat /proc/config.gz > /usr/src/linux/.config

I've never heard of a problem when starting with the config from an earlier kernel.

----------

## osgood

I don't know... because I have a lot of entries in my .config that are not present in yours... usually (just my observation) entries that are avialable but not set are commented out.. but your config does not show them...

I will reenable USB_HIDDEV are recompile and report on my success!

THANKS!

----------

## osgood

Nope, reenabling UBS_HIDDEV did not help. Any other suggestions & experiences are greatly appreciated!

David

----------

## ScottyMac

I'm also having the same problem upgrading from 2.6.13-r5 to 2.6.15-r1.. Any ideas ?

----------

## Calchan

A quick note to say that I also have the problem. I didn't care about it at the beginning since it was on a dirty and ~x86 system that I planned to reinstall properly. I recently finished reinstalling, this time it's pure x86 (not ~x86), and I can't find a solution to this.

It's most probably related to a certain platform, because I have this problem on a P4-M laptop, but not on an athlon-xp with the exact same setup except for -march=athlon-xp in CFLAGS instead of -march=pentium4. There are also differences between these two machines in their respective kernel .config, but none in the USB section (I will double-check this). I think we should describe our machines as precisely as possible and try and find the common point. So, let's start with my emerge info :

```
Portage 2.0.54 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.15-gentoo-r1 i686)

=================================================================

System uname: 2.6.15-gentoo-r1 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 2.00GHz

Gentoo Base System version 1.6.14

dev-lang/python:     2.3.5-r2, 2.4.2

sys-apps/sandbox:    1.2.12

sys-devel/autoconf:  2.13, 2.59-r6

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1

sys-devel/binutils:  2.16.1

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.11-r2

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-march=pentium4 -pipe -Os -fomit-frame-pointer -fno-ident -fforce-addr -ftracer -fweb -falign-functions=4 -ffast-math"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control"

CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"

CXXFLAGS="-march=pentium4 -pipe -Os -fomit-frame-pointer -fno-ident -fforce-addr -ftracer -fweb -falign-functions=4 -ffast-math -fvisibility-inlines-hidden -D_FILE_OFFSET_BITS=64"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoconfig distlocks sandbox sfperms strict"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"

LDFLAGS="-Wl,-O1 -Wl,--sort-common"

PKGDIR="/usr/portage/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="x86 X aac acpi alsa audiofile avi bash-completion berkdb bitmap-fonts bzip2 cairo cdparanoia cdr cjk crypt cups dbus dts dv dvd dvdread dynagraph edl effects emboss encode exif expat fam firefox foomaticdb fortran fpx gcj gdbm gif glibc-omitfp glitz glut gmail gmp gnome gphoto2 graphviz gs gtk gtk2 hal howl i8x0 imap imlib ipv6 java jbig jpeg lcms libg++ libwww live logrotate lzo mad matroska mikmod mmx mmxext mng motif moznocompose moznoirc moznomail mozsvg mp3 mpeg ncurses nls nptl nptlonly nsplugin ogg oggvorbis opengl oss pam pdf pdflib perl pic plotutils plugin png python quicktime radeon readline rle rtc samba sdl silc spell sse sse2 ssl svg tcltk tcpd theora tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales vorbis win32codecs wmf xanim xml2 xv xvid xvmc zlib userland_GNU kernel_linux elibc_glibc"

Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LINGUAS, MAKEOPTS

```

The machine is an Inspiron 8200 laptop with a 2 GHz P4-M processor and 512 MB RAM. The USB mouse that creates the problem is a very standard Microsoft USB "Notebook Optical Mouse". Not that just after boot and before switching to the console and back to X, when the USB mouse doesn't work, both the trackpoint thing and touchpad work properly. I have this problem when I use both the ATI binary driver for my radeon M9 or the open source driver from xorg.

----------

## osgood

Hello, I still did not find a solution to the problem... but I found a work around: I just plugged to mouse into different USB port. My computer has all, OHCI, UHCI, and EHCI usb ports... 

I'd be nice if we could pinpoint the source of the problem. As I posted earlier, the problem is not with X directly, because the problem is there even when the system starts without X. You might have a point though that it may have to do something with the ATI drivers... even though I cannot image how that would be possible. But I had to reinstall the drivers and unmask newer ones because the module wouldn't compile otherwise...

I'm gonna plug the mouse again into the problematic port tonight and play with fglrx. I will post my results later.

Good luck!

----------

## rrok

I had the same problem (mouse & keyboard).

```
# emerge -C gentoo-sources

# rm -rf /usr/src/linux*

# emerge gentoo-sources

# cd /usr/src/linux

# make menuconfig

# make && make modules_install

# cp arch/i386/boot/bzImage /boot/kernel-2.6.15-gentoo-r1
```

Unemerge old gentoo-sources and delete linux directory and setup/compile your kernel from 

scratch.

I know, it's not the best way to solve this problem but it works  :Wink: 

Maybe you could try with make mrprope and make clean?

----------

## Calchan

The problem is gone for me with kernel 2.6.16. Note that I previously tried to make a 2.6.15 kernel form scratch to clean my .config, and it didn't work. So, in the end, this really was an issue with the 2.6.15 kernel.

----------

