Re: kbdmux support for ddb and mountroot?

From: maksim yevmenkin <maksim.yevmenkin_at_savvis.net>
Date: Sun, 25 Jun 2006 17:40:00 -0700
Maxim Sobolev wrote:
> Nate Lawson wrote:
>> Maxim Sobolev wrote:
>>> Works here to specify alternate root just fine. I am missing something?
>>>
>>> -Maxim
>>>
>>> Nate Lawson wrote:
>>>> kbdmux does not currently support ddb and mountroot in both -current 
>>>> and 6-stable.  This means that if you get a panic, no backtrace or 
>>>> other interaction is possible.  Also, if your /etc/fstab is wrong, 
>>>> no way to specify an alternate root.
>>>>
>>>> Are there any plans to improve this?  What needs to be completed to 
>>>> get back to previous support for these features?
>>>>
>>>> Thanks,
>>
>> I'm using a PS/2 keyboard on one machine (RELENG_6) and a built-in 
>> PS/2 keyboard on my laptop.  Neither register any keystrokes in DDB or 
>> with alternate root unless I disable kbdmux with the tunable.
> 
> USB keyboard works just fine here (7-CURRENT) for alternate root 
> selection via kbdmux. I don't know if there are some differences in 
> kbdmux behavior between RELENG_6 and HEAD.

yes, there is a known problem with atkbd(4) keyboards and kbdmux(4) with 
ddb, geli, mountroot etc.

i believe that atkbd(4) does not handle "polled" mode correctly. when 
system drops into ddb interrupts are disabled, atkbd(4) interrupt 
handler is not called and thus kbdmux(4) is not getting any input from 
slave atkbd(4) keyboard. i'm not convinced that this is kbdmux(4) bug. i 
think that its the job of the low level keyboard driver to deal with 
"polled" mode correctly.

a while ago, i sent (to current_at_) a quick and dirty hack (patch) for 
atkbd(4) to work around this problem, i.e. poll i/o ports and call 
interrupt handler if there is a char pending. that works fine with 
kbdmux(4), atkbd(4) and ddb, geli etc. however, this hack introduces a 
regression, i.e. when kbdmux(4) in NOT enabled, atkbd(4) often generates 
duplicate chars when in ddb mode.

so, i believe that atkbd(4) must be enhanced to properly deal with 
"polled" mode (i.e. when interrupts are disabled). ukbd(4), for example, 
does this, and, there is no such problem with kbdmux(4) and ukbd(4).

unfortunately, due to the office move, i've temporarily lost all my 
test/development boxes.

thanks,
max
Received on Sun Jun 25 2006 - 22:38:00 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:57 UTC