Public bug reported:

A Bluetooth HID keyboard can remain paired, trusted and connected in
BlueZ while the corresponding kernel HID/input device is missing. The
device therefore appears connected in Kubuntu but produces no input.

Environment:
- Kubuntu
- BlueZ 5.85-4ubuntu0.1
- Linux kernel 7.0.0-27-generic
- Intel AX210 Bluetooth adapter
- Ajazz AK820 Pro BLE HID-over-GATT keyboard

Expected result:
After suspend/resume or an automatic Bluetooth reconnect, the keyboard should 
recreate its kernel HID/input device and remain usable.

Actual result:
BlueZ reports the keyboard as connected, but no usable HID/input device exists 
and key presses are ignored.

Reproduction:
1. Pair and use the Bluetooth keyboard normally.
2. Suspend/resume the laptop, or allow the keyboard to enter idle sleep and 
reconnect automatically.
3. Check bluetoothctl: the device may still show Paired/Trusted/Connected.
4. Check the kernel HID/input subsystem: the matching input device is absent.
5. Run a deliberate bluetoothctl disconnect followed by connect.
6. The HID/input device is recreated and keyboard input works again.

Relevant diagnostic messages observed:
- unexpected SMP command 0x0b
- Unexpected continuation frame
- HID-over-GATT reads failing with ATT error 0x0E, “Unlikely Error”

This suggests a mismatch between BlueZ connection state and the Linux
input subsystem after a failed or incomplete HID-over-GATT reconnect.

I developed a bounded user-space proof of concept that detects a paired
and connected Bluetooth HID device without a matching kernel HID entry,
performs a controlled reconnect, and verifies whether input has been
restored.

Complete investigation package attached:
- technical report and cover note;
- sanitized diagnostic logs;
- setup and recovery scripts;
- implementation notes;
- independent security and reliability audit.

Public repository:
https://github.com/SKIronGhost/bt-hid-fix

I would appreciate guidance on whether this should be addressed in
Ubuntu, BlueZ, the kernel HID path, or desktop integration, and what
additional logs or tests would be useful.

Apport initially failed with HTTP 502, so this report was submitted
manually.

** Affects: bluez (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: suspend-resume

** Attachment added: "Complete investigation package containing technical 
documentation, sanitized logs, diagnostic evidence, user-space proof-of-concept 
workaround, and implementation notes referenced in this bug report."
   
https://bugs.launchpad.net/bugs/2160410/+attachment/5981174/+files/bt-hid-fix.tar.gz

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2160410

Title:
  Bluetooth HID device remains Connected in BlueZ but loses kernel input
  device after suspend/reconnect

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/2160410/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to