KVM mouse wheel problems info
This is not a question per se, I just want to share some info in hopes of helping others, as I have been helped.
I have a Belkin Omniview PS/2 / USB 4 port KVM switch at home and at work and have had various problems with Linux and mice related to the KVM switch. I used various modern Logitech mice (currently the MX500) which I believe all used the IMPS/2 (MS Intellimouse PS/2) protocol.
I had been using the PS/2 ports for the mouse and keyboard (why waste a precious USB port, right?) and here are the symptoms I found with various flavors of Linux:
Redhat 8/9/Fedora Core 1 (I think the common denominators were pre-2.6 kernel and maybe XFree86): when switching to the Linux box, the mouse often went crazy (movements and clicks) at first, and the mouse wheel would only work in one direction after switches.
I found a workaround, although it was inconvenient: switching to a virtual console and back to the X console (Ctrl-Alt-F6 then Ctrl-Alt-F7) would cure both problems. So I got into the habit of doing this after every time I switched to the Linux box.
Fedora Core 2 (2.6 kernel, Xorg): there was no longer any mouse going crazy problem, but after a switch the mouse wheel wouldn't work at all. And this time switching to a virtual console and back didn't help. Obviously rebooting or even restarting X was not worth it after every switch. So I had to look for another solution.
I added a USB mouse to the Linux Box, and found that after a switch the PS/2 mouse on the KVM had no working wheel, but the USB mouse still did. So I bought a PS/2 to USB converter, and plugged the PS/2 mouse wire from the KVM into the USB port and ... it didn't help (mouse still worked, but no wheel after switching).
I have a theory about why. The KVM switch sends some sort of signal to the non-selected computers so that they don't go through a PS/2 disconnect. I think that the signal it sends is basic PS/2, not IMPS/2. Linux/X somehow senses this and decides to switch to the PS/2 protocol, but when the real mouse signal comes back, it doesn't switch back to IMPS/2, it sticks to plain PS/2 and throws away the IMPS/2 specific signals.
So I decided to try using the USB output on the KVM switch and have one USB wire to the Linux box instead of the 2 PS/2 wires. That worked, almost perfectly. No crazy movement or mouse wheel problems after switches.
The problem is that USB mice and more importantly USB keyboards are not recognized at as low a level (by the BIOS?) as PS/2 keyboards and mice. So my keyboard and mice don't work during bootup until Linux is about half booted. I can't skip the countdown in GRUB, and now that I think of it, I can't even boot to a different runlevel. If you are dual booting between OSes or Linux Kernel versions this is a showstopper problem - you can't pick anything non-default to boot to in GRUB without the keyboard. I assume LILO would have the same issue.
Also, you waste a possibly precious USB port.
I hope this helps someone, and maybe a solution to the USB keyboard being recognized at the GRUB stage of booting can be found. It might be easy, I haven't really tried yet.
(Or even better, maybe some genius can figure out how MS Windows avoids these problems, and will fix Linux/X to be as forgiving of KVMs as Windows is.)
Regards,
Marc Jacobsen
|