Picked up a Havit KB496L mechanical Bluetooth keyboard for 50 kr
Today I grabbed a used
Havit KB496L mechanical keyboard for only
50 Danish kroner, which is roughly
€6.7 / $7.8 USD. For that price, it was hard to say no.
The keyboard itself works, but getting it working properly on Linux was a bit of a pain.
I am running Kubuntu on my gaming PC, and at first Bluetooth looked like it was working. The service was running, BlueZ saw my Bluetooth controller, and
bluetoothctl show reported:
Code:
Powered: yes
Pairable: yes
Discovering: yes
But the keyboard did not show up in normal scanning.
The keyboard reacted to the pairing commands, though:
Code:
Fn + Q = Bluetooth slot
Fn + P held for a few seconds = pairing mode
The keyboard started blinking, and my phone could see it, so I knew the keyboard itself was not dead.
The useful breakthrough was using
btmgmt instead of only relying on
bluetoothctl:
That finally showed the keyboard:
Code:
DC:2C:26:31:15:94 type BR/EDR
name KB496L
After that, I went back into
bluetoothctl and paired it manually by address:
Code:
bluetoothctl
power on
agent KeyboardOnly
default-agent
pairable on
pair DC:2C:26:31:15:94
trust DC:2C:26:31:15:94
connect DC:2C:26:31:15:94
info DC:2C:26:31:15:94
Once paired, Linux reported it correctly:
Code:
Name: KB496L
Icon: input-keyboard
Paired: yes
Bonded: yes
Trusted: yes
Connected: yes
UUID: Human Interface Device
So yes, it works now.
The annoying part was that it did not clearly appear at first in the normal Bluetooth UI or basic
bluetoothctl scan. It looked like the dongle or Linux Bluetooth was broken, but the lower-level scan showed the keyboard as a BR/EDR device with the name KB496L.
For 50 kr, I cannot really complain. It was cheap, mechanical, and now it works on Linux. But this was definitely one of those classic Linux moments where the hardware works, the system works, but you still have to dig through the stack manually before everything finally connects.

Reactions: desk and enginetown