# evdev problem with kvm switch

## kcarlson

Hi,

My mouse eventually stops working due to a problem with evdev.  I am using xorg-server-1.2.0-r2, xorg-x11-7.2, xf86-input-evdev-1.1.5-r1.

I use an iogear KVM switch, which has my Logitech Revolution mouse USB receiver plugged into it.  This setup works fine for a time, but eventually, after enough switches, my mouse no longer works.  Restarting Xorg is not enough, the entire system must be rebooted, which is unacceptable.

Here is an excerpt from my /etc/X11/xorg.conf file:

```
Section "InputDevice"

        Identifier   "Mouse0"

        Driver       "evdev"

        Option       "Protocol" "IMPS"

        Option       "Name"     "Logitech USB Receiver"

        Option       "Phys"     "usb-*/input0"

EndSection

```

Here is a look at /proc/bus/input/devices when the mouse works:

```
pug ~ # less proc_bus_input_devices_GOOD 

I: Bus=0003 Vendor=413c Product=2003 Version=0110

N: Name="Dell Dell USB Keyboard"

P: Phys=usb-0000:00:0a.0-2.1/input0

S: Sysfs=/class/input/input0

H: Handlers=kbd event0 

B: EV=120003

B: KEY=10000 7 ff87207a c14057ff febeffdf ffefffff ffffffff fffffffe

B: LED=7

I: Bus=0001 Vendor=1461 Product=f31d Version=0001

N: Name="saa7134 IR (Avermedia AVerTV GO"

P: Phys=pci-0000:03:07.0/ir0

S: Sysfs=/class/input/input1

H: Handlers=kbd event1 

B: EV=100003

B: KEY=40fc310 82140000 0 0 0 0 2048000 180 4001 9e0000 0 0 ffc

I: Bus=0003 Vendor=046d Product=c51a Version=0111

N: Name="Logitech USB Receiver"

P: Phys=usb-0000:00:0a.0-2.2/input0

S: Sysfs=/class/input/input2

H: Handlers=mouse0 event2 

B: EV=7

B: KEY=ffff0000 0 0 0 0 0 0 0 0

B: REL=143

I: Bus=0003 Vendor=046d Product=c51a Version=0111

N: Name="Logitech USB Receiver"

P: Phys=usb-0000:00:0a.0-2.2/input1

S: Sysfs=/class/input/input3

H: Handlers=kbd event3 

B: EV=f

B: KEY=7fff 2c3027 bf004440 0 0 1 f80 8807c000 667bfa d9415fed 8e0000 0 0 0

B: REL=40

B: ABS=1 0

```

And another look at /proc/bus/input/devices when the mouse does not work:

```

pug kcarlson # cat proc-bus-input-devices.bad 

I: Bus=0003 Vendor=413c Product=2003 Version=0110

N: Name="Dell Dell USB Keyboard"

P: Phys=usb-0000:00:0a.0-2.1/input0

S: Sysfs=/class/input/input0

H: Handlers=kbd event0 

B: EV=120003

B: KEY=10000 7 ff87207a c14057ff febeffdf ffefffff ffffffff fffffffe

B: LED=7

I: Bus=0001 Vendor=1461 Product=f31d Version=0001

N: Name="saa7134 IR (Avermedia AVerTV GO"

P: Phys=pci-0000:03:07.0/ir0

S: Sysfs=/class/input/input1

H: Handlers=kbd event1 

B: EV=100003

B: KEY=40fc310 82140000 0 0 0 0 2048000 180 4001 9e0000 0 0 ffc

I: Bus=0003 Vendor=046d Product=c51a Version=0111

N: Name="Logitech USB Receiver"

P: Phys=usb-0000:00:0a.0-2.2/input0

S: Sysfs=/class/input/input86

H: Handlers=

B: EV=7

B: KEY=ffff0000 0 0 0 0 0 0 0 0

B: REL=143

I: Bus=0003 Vendor=046d Product=c51a Version=0111

N: Name="Logitech USB Receiver"

P: Phys=usb-0000:00:0a.0-2.2/input1

S: Sysfs=/class/input/input87

H: Handlers=kbd event6 

B: EV=f

B: KEY=7fff 2c3027 bf004440 0 0 1 f80 8807c000 667bfa d9415fed 8e0000 0 0 0

B: REL=40

B: ABS=1 0

```

Everytime the KVM switch is used, the Sysfs=/class/input/input* number increments.  After a time I think evdev just sort of chokes on it and can no longer handle the mouse.

Any suggestions on a fix, or an alternative place to report this issue?

----------

## kcarlson

Seems it may be a kernel bug with evdev?  

```
input: Logitech USB Receiver as /class/input/input16

input: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:0a.0-2.2

input: Logitech USB Receiver as /class/input/input17

input,hiddev96: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:0a.0

-2.2

usb 2-2.2: USB disconnect, address 11

BUG: unable to handle kernel paging request at virtual address 00100100

 printing eip:

f885ca87

*pde = 00000000

Oops: 0000 [#1]

PREEMPT SMP 

Modules linked in: snd_pcm_oss snd_seq_oss snd_seq_midi_event snd_seq snd_seq_de

vice snd_mixer_oss eth1394 tuner saa7134 video_buf ir_kbd_i2c ir_common usb_stor

age nvidia(P) ohci1394 psmouse snd_hda_intel snd_hda_codec snd_pcm snd_timer snd

 snd_page_alloc evdev

CPU:    1

EIP:    0060:[<f885ca87>]    Tainted: P      VLI

EFLAGS: 00010206   (2.6.20-gentoo-r6 #2)

EIP is at evdev_disconnect+0xa7/0xd0 [evdev]

eax: 00000000   ebx: 000ffcf0   ecx: f7d5c000   edx: f7e3e030

esi: ee98db14   edi: c4ce2800   ebp: c4ce2ed4   esp: f7d5de74

ds: 007b   es: 007b   ss: 0068

Process khubd (pid: 226, ti=f7d5c000 task=f7d3d560 task.ti=f7d5c000)

Stack: 00000000 ee362f78 c4ce2ed4 c032f950 00000000 c4ce2ed4 c5440c58 f2737480 

       c5440c58 c748c400 c033af61 d289f01c d289f000 c5440000 c0327867 c748c400 

       c748c418 c0467300 e15db458 c0312fb8 c748c418 c0467334 c748c4a0 c02a072b 

Call Trace:

 [<c032f950>] input_unregister_device+0xb0/0x160

 [<c033af61>] hidinput_disconnect+0x41/0x60

 [<c0327867>] hid_disconnect+0xd7/0x110

 [<c0312fb8>] usb_unbind_interface+0x38/0x80

 [<c02a072b>] __device_release_driver+0x6b/0xa0

 [<c02a0bbe>] device_release_driver+0x1e/0x40

 [<c02a009f>] bus_remove_device+0x5f/0x90

 [<c029e59d>] device_del+0x15d/0x1c0

 [<c0310898>] usb_disable_device+0x78/0xe0

 [<c030cdf4>] usb_disconnect+0x94/0x110

 [<c030dac7>] hub_thread+0x1e7/0xb70

 [<c0114579>] __wake_up_common+0x39/0x60

 [<c012f250>] autoremove_wake_function+0x0/0x50

 [<c030d8e0>] hub_thread+0x0/0xb70

 [<c012f08a>] kthread+0xba/0xf0

 [<c012efd0>] kthread+0x0/0xf0

 [<c0103c5f>] kernel_thread_helper+0x7/0x18

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

Code: 04 00 00 83 c6 54 39 f0 74 35 8d 83 08 04 00 00 b9 06 00 02 00 ba 1d 00 00

 00 e8 c5 ad 90 c7 8b 9b 10 04 00 00 81 eb 10 04 00 00 <8b> 83 10 04 00 00 0f 18

 00 90 8d 83 10 04 00 00 39 f0 75 cb 83 

EIP: [<f885ca87>] evdev_disconnect+0xa7/0xd0 [evdev] SS:ESP 0068:f7d5de74
```

----------

## WildChild

I have the same problem when I disconnect my Logitech wireless mouse. I get this message in dmesg and no USB device will work after without a reboot. I'm using 2.6.23 kernel. Any idea how to solve it?

----------

## WildChild

This bug seems related to this:

http://lkml.org/lkml/2008/1/1/189

2.6.24 would solve the problem!

----------

