Greetings hackers, I have a KVM switch and a fairly new (Logitech MouseMan+ cordless) mouse, and I've found that while FreeBSD properly detects the mouse and all its functionality (buttons, scrollwheel, etc) upon boot if I switch to another port on the KVM and then switch back my mouse "loses" its functionality.
After spending a while trying to figure out this problem (and reading PRs on the issue (esp. i386/25463)) I found that a solution was not immediately available, but might be somewhat easy to achieve. In particular, for my mouse, the mouse driver can and does detect invalid packets, and invalid packets are always received after a return to my FreeBSD system via the KVM. I found that doing a reinitialization of the device would fix the mouse, but that doing it from the interrupt handler (in sys/isa/psm.c around line 2170) caused some intermediate problems. Normally the mouse would just bounce around and generate click events for a while and then settle down, but occasionally the driver (or maybe mouse?) would lock solid and I'd have to reboot the system. Anyways, I'd like to work further on this problem and hopefully find a solution, but I'm having some trouble understanding where and what I should do. I'm not a novice C hacker, but I *am* a very novice kernel hacker and would appreciate help from anyone with knowledge of the psm (and atkbdc) code. I've considered maybe adding an ioctl to reset the mouse and adding a signal handler to moused to force a reset, but that seems kind of silly when the kernel driver can detect the problem itself and resolve it. On the other hand, maybe that's the right way to go? Advice would be greatly appreciated. -chip -- chip norkus; renaissance hacker; [EMAIL PROTECTED] "question = (to) ? be : !be;" --Shakespeare http://telekinesis.org/ To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message