But, something isn't closed properly (possibly g_io_add_watch) since bluetoothd then spins at 100% CPU in g_main_loop_run() until the device reconnects, at which point every works normally again until the device next idles.
This bug has been present for at least 2 years, I'm certain it's much longer:
Many bluetooth HID keyboard profile devices disconnect on idle to save power, I have two such devices:
Logitech Y-X5A77 keyboard
Sony PS3 bluetooth remote control
When the device disconnects on idle the g_io_channels get disconnected
bluetoothd[3167]: profiles/ input/device. c:ctrl_ watch_cb( ) Device 00:07:61:F6:C9:7D disconnected input/device. c:intr_ watch_cb( ) Device 00:07:61:F6:C9:7D disconnected
bluetoothd[3167]: profiles/
But, something isn't closed properly (possibly g_io_add_watch) since bluetoothd then spins at 100% CPU in g_main_loop_run() until the device reconnects, at which point every works normally again until the device next idles.
This bug has been present for at least 2 years, I'm certain it's much longer:
https:/ /bugs.launchpad .net/ubuntu/ +source/ bluez/+ bug/1717796