[Bug 195491] Keyboard stop working after r274861 when kbdmux is disabled in kernel

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Feb 25 15:46:55 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195491

--- Comment #5 from Luis Mendes <luislupe at gmail.com> ---
With the help of other knowledgeable people, I've already narrowed the problem
to either vt(4) or ukbd(4) as the causes of this problem.


After disabling kbdmux either on /boot/device.hints or in /boot/loader.conf
with: hint.kbdmux.0.disabled="1", I cannot type at the prompt login.
Using sc(4), it's possible to type at the login.


The steps I've taken:
1. Have an USB keyboard attached to the motherboard.
   The keyboard is a Logitech K120 with no multimedia keys, just a 105
   key with PT layout.  The keyboard works fine when kbdmux is not
   disabled, and works fine in every other computer/OS.
   No AT keyboard used.
   url of the keyboard: http://www.logitech.com/en-us/product/k120
   I tried with different USB keyboards, the behavior is identical.


2. In /boot/loader.conf, have these lines added:
    ukbd_load="YES"
    hint.kbdmux.0.disabled="1"
    hint.atkbd.0.disabled="1"
    hint.atkbdc.0.disabled="1"

    I tried it with both *atkbd* lines commented in and out and the
    result is the same.


3. In /etc/rc.conf
   Placing either:
      kbdcontrol -k /dev/ukbd0 < /dev/console
   or
      keyboard="/dev/ukbd0"
   Has the same effect.  Can type at the login prompt with sc(4), but not
   with vt(4).


4. After commenting the two atk lines in /boot/loader.conf, what I got
   from:
    # ll /dev/*kbd*
    crw-------  1 root  wheel  0x34 18 Fev 14:34 /dev/atkbd0
    lrwxr-xr-x  1 root  wheel     6 18 Fev 14:34 /dev/kbd0@ -> atkbd0
    lrwxr-xr-x  1 root  wheel     5 18 Fev 14:34 /dev/kbd1@ -> ukbd0
    crw-------  1 root  wheel  0x81 18 Fev 14:34 /dev/ukbd0

    It seems everything is fine here.


5. In /var/log/messages, there are these lines:
   # egrep -i -e 'kbd|keyb' messages
   Feb 18 14:34:58 leao kernel: module_register_init: MOD_LOAD (kbdmux,
   0xffffffff805d4070, 0) error 6
   Feb 18 14:34:58 leao kernel: atkbdc0: <Keyboard controller (i8042)>
   at port 0x60,0x64 on isa0
   Feb 18 14:34:58 leao kernel: atkbd0: <AT Keyboard> irq 1 on atkbdc0
   Feb 18 14:34:58 leao kernel: kbd0 at atkbd0
   Feb 18 14:34:58 leao kernel: atkbd0: [GIANT-LOCKED]
   Feb 18 14:34:58 leao kernel: ukbd0: <USB Keyboard> on usbus0
   Feb 18 14:34:58 leao kernel: kbd1 at ukbd0
   Feb 18 14:34:58 leao kernel: uhid0: <USB Keyboard> on usbus0

   It seems there's an error 6 regarding kbdmux...

   But, the person responsible for kbdmux, Maksim Yevmenkin, told me that
   this error is ENXIO which makes sense because kbdmux is disabled.
   To avoid showing de error, one have to do one of:
   remove 'device kbdmux' from kernel config 
   or
   use nodevice

   So, no problem from kbdmux.

6. # dmesg | grep kbd
   module_register_init: MOD_LOAD (kbdmux, 0xffffffff805d4070, 0) error 6
   atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
   atkbd0: <AT Keyboard> irq 1 on atkbdc0
   kbd0 at atkbd0
   atkbd0: [GIANT-LOCKED]
   ukbd0: <USB Keyboard> on usbus0
   kbd1 at ukbd0

   Seems to look fine, too.

7. # kbdcontrol -i < /dev/ukbd0
   kbd1:
       ukbd0, type:generic (0

   This is normal too. ukbd is the default keyboard, i.e. only one
   that is available

8. BIOS has legacy USB enabled.


Conclusion:
   As the same setup allows for typing in sc(4) and not in vt(4), and as
   nothing seems wrong with kbdmux, it must be a vt(4) or ukbd(4) bug.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list