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

Reply via email to