Thread 55717 describes my problem perfectly, and I went through the steps to fix it, but still couldn't get it to work.
The issue is that either keypresses don't register or they register incorrectly (w becomes a, etc). To add to what's in the thread above, this appears to be related somewhat to how quickly I type; individual, slow presses act as the thread describes, but chording or faster key pressing generates different output. Just like the previous poster, this keyboard works fine in the BIOS/EFI as well as the FreeBSD boot loader on the same machine.
I attempted to fix the issue following those instructions. First by identifying the keyboard:
Then running
Unplugged the keyboard and plugged it back in, and it still wasn't operating correctly. Just in case, I also modified /boot/loader.conf by adding these two lines:
N.B.: I don't think the usb_quirk_load line does anything, but it was in usb_quirk(4), so it went in the config as well.
Rebooted with the keyboard in, unplugged it and replugged it, rebooted with the keyboard out, and plugged it in post-boot. No matter what, it's the same behavior. The only thing I haven't done is recompile the kernel with this device in there, but I'm hoping to avoid that, since I like running GENERIC.
And here's the device description:
Yes the ugen device changed. I unplugged a bunch of stuff to see if they were impacting things somehow.
The issue is that either keypresses don't register or they register incorrectly (w becomes a, etc). To add to what's in the thread above, this appears to be related somewhat to how quickly I type; individual, slow presses act as the thread describes, but chording or faster key pressing generates different output. Just like the previous poster, this keyboard works fine in the BIOS/EFI as well as the FreeBSD boot loader on the same machine.
I attempted to fix the issue following those instructions. First by identifying the keyboard:
Code:
ditto:~# usbconfig
...
ugen0.2: <obins anne keyboard STMicroelectronics> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (400mA)
usbconfig -d ugen0.2 add_quirk UQ_KBD_BOOTPROTO
. I verified that the quirk got set:
Code:
ditto:~# usbconfig dump_device_quirks
Dumping current device quirks:
...
VID=0x0483 PID=0x5710 REVLO=0x0200 REVHI=0x0200 QUIRK=UQ_KBD_BOOTPROTO
Code:
usb_quirk_load="YES"
hw.usb.quirk.0="0x0483 0x5710 0 0x0ffff UQ_KBD_BOOTPROTO"
Rebooted with the keyboard in, unplugged it and replugged it, rebooted with the keyboard out, and plugged it in post-boot. No matter what, it's the same behavior. The only thing I haven't done is recompile the kernel with this device in there, but I'm hoping to avoid that, since I like running GENERIC.
And here's the device description:
Code:
ditto:~# usbconfig -d ugen0.3 dump_device_desc
ugen0.3: <obins anne keyboard STMicroelectronics> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (400mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x0000 <Probed by interface class>
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0040
idVendor = 0x0483
idProduct = 0x5710
bcdDevice = 0x0200
iManufacturer = 0x0001 <STMicroelectronics>
iProduct = 0x0002 <obins anne keyboard >
iSerialNumber = 0x0003 <STM32>
bNumConfigurations = 0x0001
Yes the ugen device changed. I unplugged a bunch of stuff to see if they were impacting things somehow.