Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Nov 2008 04:33:15 -0800
From:      Jeremy Chadwick <koitsu@FreeBSD.org>
To:        Andriy Gapon <avg@icyb.net.ua>
Cc:        Nate Eldredge <neldredge@math.ucsd.edu>, freebsd-hackers@FreeBSD.org, FreeBSD Stable <freebsd-stable@FreeBSD.org>, freebsd-usb@FreeBSD.org
Subject:   Re: ukbd attachment and root mount
Message-ID:  <20081112123315.GA24907@icarus.home.lan>
In-Reply-To: <491ACA19.2040008@icyb.net.ua>
References:  <4911BA93.9030006@icyb.net.ua> <491ABFCD.3060309@icyb.net.ua> <Pine.GSO.4.64.0811120352100.1597@zeno.ucsd.edu> <491AC502.9000507@icyb.net.ua> <20081112121410.GA24629@icarus.home.lan> <491ACA19.2040008@icyb.net.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Nov 12, 2008 at 02:20:41PM +0200, Andriy Gapon wrote:
> on 12/11/2008 14:14 Jeremy Chadwick said the following:
> > On Wed, Nov 12, 2008 at 01:58:58PM +0200, Andriy Gapon wrote:
> [snip]
> >> 2. if ukbd driver is not attached then I don't see any way USB keyboard
> >> would work in non-legacy way
> > 
> > Regarding #2: at which stage?  boot0/boot2/loader require an AT or PS/2
> > keyboard to work.  None of these stages use ukbd(4) or anything -- there
> > is no kernel loaded at this point!!  Meaning: if you have a USB keyboard,
> > your BIOS will need to have a "USB Legacy" option to cause it to act as
> > a PS/2 keyboard, for typing in boot0/boot2/loader to work.
> > 
> > Device hints are for kernel drivers, once the kernel is loaded.
> 
> Jeremy,
> 
> I understand all of this.
> In subject line and earlier messages I say that I am interested in
> mountroot prompt - the prompt where kernel can ask about what device to
> use for root filesystem.
> Essentially I would like kernel to recognize USB keyboard (and disable
> all the legacy stuff if needed) before it prompts for the root device.

I fully understand that fact.  However, I don't see the logic in that
statement.  You should be able to remove and add a keyboard at any time
and be able to type immediately.  Meaning: I don't see why when the
keyboard recognition is performed (e.g. before printing mountroot or
after) matters.  It should not.  I think this is a red herring.

I've seen the problem where I have a fully functional USB keyboard in
boot0/boot2/loader and in multi-user, but when booting into single-user
or when getting a mountroot prompt, the keyboard does not function.
When the mountroot prompt is printed (before or after ukbd attached)
makes no difference for me in this scenario -- I tested it many times.

It's very possible that "something" (kbdcontrol?) is getting run only
during late stages of multi-user, which makes the keyboard work.  But
prior to that "something" being run (but AFTER boot2/loader), the
keyboard is not truly usable.

I hope everyone here is also aware of that fact that not all keyboards
are created equal.  Case in point (and this reason is exactly why I
am purchasing a native PS/2 keyboard, as USB4BSD doesn't work with
all USB keyboards right now):

http://lists.freebsd.org/pipermail/freebsd-current/2008-November/000219.html

The bottom line:

FreeBSD cannot be reliably used with a USB keyboard in all
circumstances.  And that is a very sad reality, because 90% of the
keyboards you find on the consumer and enterprise market are USB --
native PS/2 keyboards are now a scarcity.

Do not even for a minute tell me "buy a USB-to-PS2 adapter", because the
"green ones" that come with USB mice do not work with USB keyboards.  I
have even bought a "purple" USB-to-PS2 keyboard adapter from Amazon,
specifically for this purpose, and it *does not work*.  I found out
weeks later the adapters only work on CERTAIN models of USB keyboards,
depending upon how they're engineered.

What really needs to happen here should be obvious: we need some form of
inexpensive keyboard-only USB support in boot2/loader.

I would *love* to know how Linux and Windows solve this problem.

-- 
| Jeremy Chadwick                                jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081112123315.GA24907>