Re: HEADSUP: kbdmux(4) is in both HEAD and RELENG_6

From: Tai-hwa Liang <avatar_at_mmlab.cse.yzu.edu.tw>
Date: Wed, 8 Mar 2006 09:22:52 +0800 (CST)
On Tue, 7 Mar 2006, Maksim Yevmenkin wrote:
> Tai-hwa Liang wrote:
>> On Fri, 3 Mar 2006, Maksim Yevmenkin wrote:
>> 
>>> kbdmux(4) is now fully integrated into HEAD and RELENG_6. please give it a 
>>> try and let us know if you have any problems.
>> 
>> Hi,
>>
>>   Thank you for your effort on this.  Just tried to upgrade my -CURRENT
>> to HEAD and the GENERIC kernel seems not happy with the keyboard.
>>
>>   It turns out that I had ukbd_load in /boot/loader.conf and this froze
>> latest GENERIC kernel booting:
>>
>>     .
>>     .
>>     xl0: [MPSAFE]
>>     psmcpnp0: <PS/2 mouse port> irq 12 on acpi0
>>     atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
>>     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>     stuck here
>
> did you try to NOT load kbdmux(4)? does it still hang?

   Yes, it still hangs even w/o kbdmux_load.

> also GENERIC already has 'device ukbd' so you do not have to load it.

   I knew.  That entry was in my loader.conf for a while since I usually
run a customised kernel w/o 'device ukbd' enabled.

>>   If I stop loading ukbd.ko in loader.conf, GENERIC will boot(see the
>> attached verbosing boot dmesg).  It also looks to me that whether the
>> external USB keyboard is attached or not doesn't matter in this case.
>
> ok. does kbdmux(4) work?, i.e. can you type on both (atkbd(4) and ukbd(4)) 
> keyboards?

   As long as the kernel boots, both keyboards work.  It's also interesting
to note that with a GENERIC kernel, if I manually do a 'kldload kbdmux'
after boot, the attached PS2 keyboard doesn't work whilst the external
USB keyboard works perfectly.

   I'm not sure if this is an expected behaviour since the PS2 keyboard
LED still 'responds' to CapsLock, NumLock and ScrLock, it is the kernel
that doesn't seem to read any key input at that moment.

   Meanwhilst, if I type other keys on the PS2 keyboard, there would be
console message like:

 	start_init: trying /sbin/init
 	kbd2 at kbdmux0
 	atkbd: the current kbd controller command byte 0047
 	atkbd: keyboard ID 0x41ab (2)
 	kbdc: RESET_KBD return code:00fa
 	kbdc: RESET_KBD status:00aa

   If the keyboard is attached to a KVM(IOGEAR GCS-62), the error message
would be:

 	atkbd: the current kbd controller command byte 0047
 	atkbd: keyboard ID 0x41ab (2)
 	kbdc: RESET_KBD return code:00fa
 	kbdc: RESET_KBD status:009c
 	kbdc: DIAGNOSE status:0055
 	kbdc: TEST_KBD_PORT status:0000
 	atkbd: failed to reset the keyboard.

   Still, w/ or w/o the KVM, 'kldload kbdmux' after GENERIC booting
doesn't give me a working PS2 keyboard.

>>   I can reproduce this on a 5-hours-old RELENG_6(on a Tyan TigerMPX 
>> desktop) and an one-day-old HEAD(on a Thinkpad T40), with GENERIC kernel 
>> from:
>
> well, i'm not sure what is the problem here. just by looking at the dmesg you 
> posted i can see all three atkbd(4), ukbd(4) and kbdmux(4). so it seems like 
> everything should be working. is it not?

   The dmesg is from the same box which has ukbd_load removed from 
loader.conf.  From my observation, load ukbd.ko in loader allows me
to reproduce this freeze reliably regardless loading kbdmux
in loader.conf or not.

-- 
Thanks,

Tai-hwa Liang
Received on Wed Mar 08 2006 - 00:22:55 UTC

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