IRQ Conflicts and a USB Mouse

I recently wrestled with some USB configuration issues when updating my kernel from 2.6.25 to 2.6.28.4. There were several kinks that needed to be ironed out, these centered around IRQ conflicts. The first of these was that the USB mouse and keyboard would not work at the login screen. To debug, I had to enable ssh at boot-time and remotely login to debug. Once this issue was resolved, then my USB mouse would mysteriously stop working after 10-15 minutes.

For the specific problem that ails you, the two best ways to resolve this issue will likely be dmesg and /proc/interupts. Granted, tracing through the output of dmesg may take some time and is far from glamous. For my particular situation, here is how I resolved the issue.

Below is the result of /proc/interupts for the 2.6.25 Kernel (which worked):

           CPU0          CPU1
  0:         24            0     XT-PIC-XT        timer
  1:          2            0     XT-PIC-XT        i8042
  2:          0            0     XT-PIC-XT        cascade
  5:       1179          620     XT-PIC-XT        ehci_hcd:usb1, eth0
  7:       6526        75918     XT-PIC-XT
  8:          1            0     XT-PIC-XT        rtc
  9:          0            0     XT-PIC-XT        acpi
 10:       5070          999     XT-PIC-XT        sata_nv, HDA Intel
 11:      63483         4594     XT-PIC-XT        sata_nv, nvidia
 12:          4            0     XT-PIC-XT        i8042
 15:       6176          310     XT-PIC-XT        ohci_hcd:usb2
 NMI:         0            0     Non-maskable interrupts
 LOC:     304278      304257     Local timer interrupts 
 RES:      7399        10427     Rescheduling interrupts
 CAL:        18         1215     function call interrupts
 TLB:       1036        1655     TLB shootdowns
 TRM:         0            0     Thermal event interrupts
 THR:         0            0     Threshold APIC interrupts 
 SPU:         0            0     Spurious interrupts
 ERR:      82444
 

The first attempt at using 2.6.28 resulted in an dmesg output of:

 Probing IDE interface ide0...
 ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
 Probing IDE interface ide1...
 ide1 at 0x170-0x177,0x376 on irq 15
 ide-gd driver 1.18
 ide-cd driver 5.00
 

Some new default (?) kernel option added in IDE support to the kernel for my arch which was causing an IRQ conflict. Given that there is only SATA in box, I just had to find and disable this kernel option. By turning this off and USB/HID on, the keyboard started working. The mouse only somewhat.

The mouse issue was odd. Initially, the mouse worked fine for a few minutes. Then after some period of time (usually 10-15 minutes, but one time up to an hour), the wirelss mouse stopped working. This seemed odd, given that the wireless keyboard still worked. The next step was to look at the Linux USB HowTo.

 Section "InputDevice"
    Identifier  "USB Mice"
    Driver      "mouse"
    Option      "Protocol"       "IMPS/2"
    Option      "Device"         "/dev/input/mice"
    Option      "ZAxisMapping"   "4 5"
    Option      "Buttons"        "5"
 EndSection
 

In the /etc/X11/xorg.conf, it seems that the xorg settings had somehow changed for the Protocol option. Editing this to IMPS/2 and restarting the X-server resolved this issue.