Solved USB Keyboard not handling input properly at boot login

I recently upgraded to 12.1. When I try to login at the boot screen, characters are dropped or repeated at random.
Keyboard is Filco Majestouch 2 USB keyboard. This worked perfectly on 11.3.

If I disconnect the keyboard, and then reconnect, it works fine (but that's not really a viable, long term solution).

In dmesg/usbconfig it is not recognised as a Filco, device:
Code:
ugen0.3 <vendor 0x04d9 USB Keyboard> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps)
pwr=ON (100ma)

I would be grateful if anybody could recommend where I should look next.
 
Thank you for your suggestion. I did try it, but unfortunately it didn't resolve the issue.
 
Have you tried other USB ports?

If I disconnect the keyboard, and then reconnect, it works fine (but that's not really a viable, long term solution).

There is an old bug report, PR 180657, concerning the Filco Majestouch 2 keyboard ( including patch ). It is not quite the same problematic, but the description of the temporary solution is the same:
... The problems .... only arise when the
keyboard is connected at boottime. When it's hotplugged at runtime
everything is working fine. A misbehaving keyboard works fine when
reset with "usbbconfig reset". The problems arise on the console and
in X11.
...
- with the quirk [patch] applied everything is fine:

In dmesg/usbconfig it is not recognised as a Filco, device:

Code:
ugen0.3 <vendor 0x04d9 USB Keyboard> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps)
pwr=ON (100ma)

vendor 0x04d9 is listed in /usr/src/sys/dev/usb/usbdevs as
Code:
vendor HOLTEK        0x04d9    Holtek Semiconductor, Inc.

Was it recognized by name in 11.3 ? You could try the patch from the bug report and file a bug report, or file directly a bug report. If it's working on 11.3 but not on 12.1, it could be a regression .
 
Resurrecting this as I found a solution, which could be helpful to anybody having the same issue.
Although it is possible to patch the source, as described above, I found it easier to do the following:

Add to /boot/loader.conf

Code:
usb_quirk_load="YES"
hw.usb.quirk.0="0x04d9 0x1818 0 0xffff UQ_UMS_IGNORE"
 
Back
Top