Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Aug 2001 03:04:12 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
Cc:        current@FreeBSD.ORG
Subject:   Re: FreeBSD's aggressive keyboard probe/attach
Message-ID:  <3B76549C.17D409A1@mindspring.com>
References:  <200108120813.RAA26578@zodiac.mech.utsunomiya-u.ac.jp>

next in thread | previous in thread | raw e-mail | index | archive | help
Kazutaka YOKOTA wrote:
> Oh, no, another blow up while I was asleep...
> 
> To be honest, as someone who has tried to maintain the keyboard and
> PS/2 mouse drivers in FreeBSD (and the mouse driver in XFree86) for
> more than 4 years, I must say I am rather disappointed.
> 
> I DID write many man pages and FAQ entries for keyboard/mouse support,
> answered many questions in FreeBSD MLs, fixed many PRs, and helped
> people to solve their problems, and fixed drivers. I DID what I could!
> 
> I feel shot down.

Don't.  The problem is that someone was finding their KVM
switch not working, and it seems to be related to the
probing done by FreeBSD, above and beyond the probing the
BIOS does when it makes the keyboard LEDs flash at POST
time.

> It is possible to make the driver "almost" always work with these
> mice; we treat all of them as a plain 2 button mouse. It is the
> greatest common measure (no 3rd button, no wheel, no advanced
> features). Things break when you have a KVM and another OS put the
> mouse in enhanced or advanced state to utilize extra buttons and
> wheels.  And people certainly want his/her mouse's 3rd, 4th, 5th
> buttons and wheel work.

Yes, this is well known.  The Windows "knowledge base" has
an article telling how to disable probing for the Intellimouse
wheel, when using certain versions of the Cybex KVMs, for
example.  It's probably acceptable to have a table of mice
for something like this, and make the user pick one to get
more than the documented standard buttons.


> As for flags 0x8000 for the psm driver, I added it as an option in
> -CURRENT to test if it works for those who are seeing the "out of
> sync" problem. Maybe I have not advertised it enough to get responses,
> and we should make it default now.

Yes; as I said before, it can't make the situation any worse,
to poke a dead mouse: the worst thing that can happen is you
end up with a dead mouse, which is what you had before.

> Please also remember that there are many different KVM switches in the
> market.  You just cannot expect they work in the same way.  There
> isn't a single standard way for the firmware of the electrical KVM
> switch to handle mouse packets. Some vendors claims their switch
> "emulates" a certain mouse, only that the emulation is not complete.

Going for the absolute minimum documented PS/2 interface by
default seems safe.  The difference in mouse modes seems to
be just a matter of "dumbing down" the defaults for all OSs
(correct me if this is wrong).

In the Belkin KVM case, there is a firmware fix for FreeBSD,
just like in the Cybex, there is a firmware fix for the wheel
probe from Windows.

> protocols are not publicly available.  Logitech used to send you their
> mouse's technical manual upon request. It seems they stopped
> distributing it these days.  MS certainly doesn't disclose any
> information on their IntelliMouse series products.  I did try to
> obtain technical information from a few other vendors too; no one was
> forthcoming.

You are aware of:

http://panda.cs.ndsu.nodak.edu/~achapwes/PICmicro/Links.html

...particularly, the Holtek link, which has chip specifications
for many PS/2 mouse parts, which disclose the protocols, including
the Microsoft 5 button (Intellimouse) mouse, right?


> For the last few years, I have struggled to figure out the contents of
> packets sent by various mice.  No, I have not published a manual or
> notes (other than code itself and CVS logs) to describe what I have
> found. I know I should do that.  I simply haven't had time.  Don't
> accuse me of being lazy. It's volunteer project! People do what s/he
> can do in his/her spare time!

Your efforts are appreciated!

This whole discussion started around the keyboard probe, and was
sidetracked off into mouse-land; sorry if it seemed directed at
your work!

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3B76549C.17D409A1>