Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Aug 2001 12:38:13 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
Cc:        Sean Kelly <smkelly@zombie.org>, current@FreeBSD.ORG
Subject:   FreeBSD's aggressive keyboard probe/attach
Message-ID:  <3B7589A5.C2B1DE00@mindspring.com>
References:  <20010807234645.A573@edgemaster.zombie.org> <20010809032027.A99813@xor.obsecurity.org> <20010810174521.A681@edgemaster.zombie.org> <200108110241.LAA20110@zodiac.mech.utsunomiya-u.ac.jp> <20010810221944.A90165@edgemaster.zombie.org> <200108110627.PAA21155@zodiac.mech.utsunomiya-u.ac.jp> <20010811013959.A588@edgemaster.zombie.org> <200108110828.RAA21659@zodiac.mech.utsunomiya-u.ac.jp>

next in thread | previous in thread | raw e-mail | index | archive | help
Kazutaka YOKOTA wrote:
> Ok, I am getting the picture. I think the keyboard driver is thinking
> it has done the right thing to the keyboard (to turn LEDs on, setting
> the repeat rate, etc), and is not in the infinite loop. This is
> the reason why this is a keyboard lock-up rather than system lock-up.
> 
> I guess that the way our keyboard driver talks to the keyboard
> seems to put the keyboard or the keyboard controller on the motherboard
> somehow in a wrong state in yor case ;-(

FreeBSD's keyboard driver probe and initialization code are
exceedingly agressive, compared to other OS's, since historically
FreeBSD didn't have the BIOS around to ask about it or things
like the PS/2 mouse.

This tends to screw up a lot of things, particularly when the
keyboard or mouse is not present on boot, etc..

In addition, the PS/2 mouse driver is smart enough to bitch
about synchronization, but too stupid to resynchronize (reset)
when it happens.  Duh.

Finally, most keyboard/mouse/monitor switches don't work with
FreeBSD; for example, the Belkin console extender that uses the
ethernet cable doesn't work at all (it's the best one out there),
and the local wiring (non-ethernet version) of the Belkin OmniView
switches work if the FreeBSD mouse/keyboard is selected at boot
time, so that the aggressive probe/attach can satisfy itself.

Belkin went out of its way to support FreeBSD specifically,
actually: their firmware version 1.9 fixes the local wiring
switches, so that they can pass FreeBSD's aggressive probe, even
if the FreeBSD mouse/keyboard is _not_ selected.


For PC hardware, FreeBSD should use the BIOS (it can, now: the
boot loader does, with the caveat that old style keyboards can
be used, but are not autodetected properly by some BIOS; see the
serial console notes for the /boot.config "-P" flag in the FreeBSD
handbook); for the Alpha and other hardware, it should use the
local firmware (obviously).

-- 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?3B7589A5.C2B1DE00>