Date: Thu, 25 Oct 2001 12:37:10 -0400 From: Lee Nelson <jld123@pobox.com> To: freebsd-hardware@FreeBSD.ORG Subject: psm.c: KVM and Mouse Problems Message-ID: <3BD83FB6.FE111AB9@pobox.com>
next in thread | raw e-mail | index | archive | help
Hello, I am having trouble with a Microsoft Intellimouse-style mouse, when it is connected through a KVM. There is no trouble when the mouse is connected directly to the PS/2 port. A more complete description follows. I've been digging through the source of psm.c for the last few hours, and was wondering about the approach that FreeBSD developers use for hardware drivers. psm.c is a monolithic mouse driver; I'm wondering if there is a technical reason why different types of mice aren't represented by different drivers. Hardware: MOUSE: "Microsoft Wheel Mouse Optical USB and PS/2 Compatible" this is a USB mouse, boxed with a PS/2 adapter. The PS/2 adapter was used at all times. KVM: "Linksys Proconnect 4 station CPU switch" (rebadged ATEN) MB: Asus P5A w/ AMD k6-III 500Mhz Log Messages: Mouse connected directly to PS/2 port: psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Intellimouse, device ID 3 Mouse connected through KVM: psm0: failed to get data. psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/2 mouse, device ID 0 Symptoms: Mouse works fine when connected directly to PS/2 port. When connected through a KVM, the mouse initially works fine in text mode, using moused. When X is started, the mouse works for a minute or two (of constant mousing), and then the mouse pointer jumps all over the screen, and random mouse button presses are registered. The mouse KVM combo works well with other OS's, specifically Linux 2.2.x, Mac OS 9, and Windows 98. Incidentally, the hardware I am currently using for FreeBSD was previously running Linux, and the mouse worked fine. What I tried: I've tried using moused for X (/dev/sysmouse). I've also tried stopping moused and using /dev/psm0 directly, with the PS/2 protocol. The IMPS/2 protocol, which used to work under XFree86 3.x, no longer is accepted as a valid option. What I think it is (100% conjecture): The KVM appears to not allow the computer to query the mouse. Instead, it responds for the mouse, claiming to be a generic PS/2 device. But the raw mouse data is sent to the computer, with no filtering. FreeBSD believes that a generic mouse is present, when in fact Intellimouse type data is being sent, thus confusing the mouse driver. I assume the problem lies in psm.c. I am looking at that file to see if I can force it to use the Intellimouse protocol, but I'd like to know if there is a better way. Surely, a lot of people out there are using KVM's. :) Thanks so much in advance, Lee Nelson To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hardware" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3BD83FB6.FE111AB9>