Figured I’d share this experience in the hopes it saves others time debugging bluetooth issues. This is using the MNT Pocket Reform with the i.MX8MQ.
I’ve been pairing various bluetooth devices and generally speaking BlueZ has been working great. However, with one device specifically (8bitdo SN30 pro) I noticed that pairing was a hassle and the device wasn’t working as a HID device (kinda the point). Digging into the logs I found several errors, and noticed that the device was not “bonded” when the pairing completed. Some Bluetooth profiles (like HID gamepads) require bonding to function properly.
I found this issue on BlueZ’s GitHub page. The fix worked perfectly:
- Disconnect your device with blueman and remove it from the list
bluetoothctl
scan on
devices
and copy the MAC_ADDRESS of your devicepair
MAC_ADDRESStrust
MAC_ADDRESSconnect
MAC_ADDRESS
Bluetoothctl handles the authentication and bonding (correctly?), which is evidently needed for the HID connection to be made. You’ll find info on the device stored in /var/lib/bluetooth/
and the HID device should now show up in /dev/input/
.
Again, hope this post saves folks a few hours of debug.