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 |