J'essaie de définir des clés de liaison Bluetooth spécifiques pour un appareil dans Ubuntu 14.10 mais je n'arrive pas à trouver où elles sont stockées.
Le but est d'avoir une souris Bluetooth fonctionnant à la fois sur Ubuntu et sur Windows sans avoir à la recoupler après avoir changé de système d'exploitation.
Toutes les réponses que j'ai trouvées sur AskUbuntu indiquent que les clés sont stockées /var/lib/bluetooth/<mac_address>/linkkeys
et cela était le cas au moins jusqu'à 13h10, mais en 14.10 ce fichier est absent d'une installation de bureau propre et sa création manuelle n'a aucun effet, il est ignoré par bluetoothd.
EDIT: Il semble que la souris n'émette pas de demande d'association et les clés de lien ne sont pas stockées dans ce cas. Cependant, la connexion de la souris dans Windows puis le redémarrage dans Ubuntu provoquent l'échec de la connexion Bluetooth (et la souris doit être supprimée et ajoutée à la liste des périphériques Bluetooth), il y a donc certainement un échange / authentification de clé en cours qui empêche la souris d'être partagée dans les deux OS. La question demeure, comment puis-je forcer bluetoothd à enregistrer et utiliser les touches de lien enregistrées lors de la connexion de cette souris?
Détails du matériel:
- Microsoft Bluetooth Notebook Mouse 5000
- 413c: 8161 Dell Computer Corp. Wireless 365 Bluetooth (Broadcom BCM2046B1)
Les deux journaux ci-dessous montrent que pour un appareil jumelable (téléphone mobile), les clés sont stockées dans le fichier linkkeys; ce n'est pas le cas pour la souris. Je sais que les anciennes versions de bluetoothd permettaient également de sauvegarder les clés de lien pour les souris, car il y a beaucoup de réponses / tutoriels ici sur askubuntu et ubuntuforums sur la copie de clés de liaison de Windows vers Ubuntu dans le but spécifique de partager une souris entre les deux systèmes d'exploitation.
Voici le journal bluetoothd pour la découverte de la souris et la configuration de la connexion:
bluetoothd[15615]: plugins/mgmtops.c:mgmt_start_discovery() index 0
bluetoothd[15615]: Discovery session 0x7feb52b14130 with :1.137 activated
bluetoothd[15615]: src/adapter.c:session_ref() 0x7feb52b14130: ref=1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 10 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[15615]: plugins/mgmtops.c:start_discovery_complete() hci0 type 1 status 0
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_discovering() Controller 0 type 1 discovering 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 25 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_device_found() hci0 addr DE:AD:BE:EF:00:00, rssi -43 flags 0x0003 eir_len 5
bluetoothd[15615]: plugins/mgmtops.c:mgmt_confirm_name() hci0 bdaddr DE:AD:BE:EF:00:00 name_known 0
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 16 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[15615]: Unknown command complete for opcode 37
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 61 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_device_found() hci0 addr DE:AD:BE:EF:00:00, rssi -43 flags 0x0000 eir_len 41
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_discovering() Controller 0 type 1 discovering 0
bluetoothd[15615]: src/adapter.c:adapter_set_discovering() hci0 restarting discovery, disc_sessions 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_start_discovery() index 0
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 10 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[15615]: plugins/mgmtops.c:start_discovery_complete() hci0 type 1 status 0
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_discovering() Controller 0 type 1 discovering 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 25 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_device_found() hci0 addr DE:AD:BE:EF:00:00, rssi -43 flags 0x0003 eir_len 5
bluetoothd[15615]: src/adapter.c:session_unref() 0x7feb52b14130: ref=0
bluetoothd[15615]: src/adapter.c:session_remove() Discovery session 0x7feb52b14130 with :1.137 deactivated
bluetoothd[15615]: src/adapter.c:session_remove() Stopping discovery
bluetoothd[15615]: plugins/mgmtops.c:mgmt_stop_discovery() index 0
bluetoothd[15615]: Stopping discovery
bluetoothd[15615]: src/adapter.c:create_device() DE:AD:BE:EF:00:00
bluetoothd[15615]: src/adapter.c:adapter_create_device() DE:AD:BE:EF:00:00
bluetoothd[15615]: src/device.c:device_create() Creating device /org/bluez/15615/hci0/dev_DE:AD:BE:EF:00:00
bluetoothd[15615]: src/device.c:btd_device_ref() 0x7feb52b15680: ref=1
bluetoothd[15615]: src/device.c:device_set_temporary() temporary 1
bluetoothd[15615]: src/device.c:btd_device_ref() 0x7feb52b15680: ref=2
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 10 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[15615]: plugins/mgmtops.c:mgmt_cmd_complete() stop_discovery complete
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_discovering() Controller 0 type 1 discovering 0
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 65 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_device_connected() hci0 device DE:AD:BE:EF:00:00 connected eir_len 46
bluetoothd[15615]: src/adapter.c:adapter_get_device() DE:AD:BE:EF:00:00
bluetoothd[15615]: src/device.c:device_probe_drivers() Probing drivers for DE:AD:BE:EF:00:00
bluetoothd[15615]: input/manager.c:hid_device_probe() path /org/bluez/15615/hci0/dev_DE:AD:BE:EF:00:00
bluetoothd[15615]: src/device.c:btd_device_ref() 0x7feb52b15680: ref=3
bluetoothd[15615]: input/device.c:input_device_new() Registered interface org.bluez.Input on path /org/bluez/15615/hci0/dev_DE:AD:BE:EF:00:00
bluetoothd[15615]: src/device.c:device_set_temporary() temporary 0
bluetoothd[15615]: src/device.c:btd_device_unref() 0x7feb52b15680: ref=2
Voici le journal bluetoothd pour l'appairage d'un téléphone mobile (l'utilisateur est invité à valider un code affiché sur les deux appareils):
bluetoothd[15615]: plugins/mgmtops.c:mgmt_start_discovery() index 0
bluetoothd[15615]: Discovery session 0x7feb52b14ca0 with :1.138 activated
bluetoothd[15615]: src/adapter.c:session_ref() 0x7feb52b14ca0: ref=1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 10 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[15615]: plugins/mgmtops.c:start_discovery_complete() hci0 type 1 status 0
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_discovering() Controller 0 type 1 discovering 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 64 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_device_found() hci0 addr DE:AD:BE:EF:01:01, rssi -52 flags 0x0000 eir_len 44
bluetoothd[15615]: src/adapter.c:session_unref() 0x7feb52b14ca0: ref=0
bluetoothd[15615]: src/adapter.c:session_remove() Discovery session 0x7feb52b14ca0 with :1.138 deactivated
bluetoothd[15615]: src/adapter.c:session_remove() Stopping discovery
bluetoothd[15615]: plugins/mgmtops.c:mgmt_stop_discovery() index 0
bluetoothd[15615]: Stopping discovery
bluetoothd[15615]: src/adapter.c:adapter_create_device() DE:AD:BE:EF:01:01
bluetoothd[15615]: src/device.c:device_create() Creating device /org/bluez/15615/hci0/dev_DE:AD:BE:EF:01:01
bluetoothd[15615]: src/device.c:btd_device_ref() 0x7feb52b17cd0: ref=1
bluetoothd[15615]: src/device.c:device_set_temporary() temporary 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_create_bonding() hci0 bdaddr DE:AD:BE:EF:01:01 io_cap 0x01
bluetoothd[15615]: src/device.c:bonding_request_new() Requesting bonding for DE:AD:BE:EF:01:01
bluetoothd[15615]: src/device.c:bonding_request_new() Temporary agent registered for DE:AD:BE:EF:01:01 at :1.138:/org/bluez/agent/wizard
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 10 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[15615]: plugins/mgmtops.c:mgmt_cmd_complete() stop_discovery complete
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 8 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_discovering() Controller 0 type 1 discovering 0
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 37 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_device_connected() hci0 device DE:AD:BE:EF:01:01 connected eir_len 18
bluetoothd[15615]: src/adapter.c:adapter_get_device() DE:AD:BE:EF:01:01
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 18 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_user_confirm_request() hci0 DE:AD:BE:EF:01:01 confirm_hint 0
bluetoothd[15615]: src/adapter.c:adapter_get_device() DE:AD:BE:EF:01:01
bluetoothd[15615]: src/device.c:new_auth() Requesting agent authentication for DE:AD:BE:EF:01:01
bluetoothd[15615]: src/agent.c:agent_request_confirmation() Calling Agent.RequestConfirmation: name=:1.138, path=/org/bluez/agent/wizard, passkey=436733
bluetoothd[15615]: plugins/mgmtops.c:mgmt_confirm_reply() index 0 addr DE:AD:BE:EF:01:01 success 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 16 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[15615]: plugins/mgmtops.c:mgmt_cmd_complete() user_confirm_reply complete
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 32 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_new_link_key() Controller 0 new key of type 5 pin_len 0
bluetoothd[15615]: src/adapter.c:adapter_get_device() DE:AD:BE:EF:01:01
bluetoothd[15615]: src/event.c:btd_event_link_key_notify() storing link key of type 0x05
bluetoothd[15615]: src/device.c:device_set_bonded() bonded 1
bluetoothd[15615]: src/device.c:device_set_temporary() temporary 0
bluetoothd[15615]: src/adapter.c:adapter_get_device() DE:AD:BE:EF:01:01
bluetoothd[15615]: src/device.c:device_bonding_complete() bonding 0x7feb52b2d270 status 0x00
bluetoothd[15615]: src/device.c:device_bonding_complete() Proceeding with service discovery
bluetoothd[15615]: src/device.c:btd_device_ref() 0x7feb52b17cd0: ref=2
bluetoothd[15615]: src/agent.c:agent_release() Releasing agent :1.138, /org/bluez/agent/wizard
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() cond 1
bluetoothd[15615]: plugins/mgmtops.c:mgmt_event() Received 16 bytes from management socket
bluetoothd[15615]: plugins/mgmtops.c:mgmt_cmd_complete()
bluetoothd[15615]: plugins/mgmtops.c:pair_device_complete() hci0 DE:AD:BE:EF:01:01 pairing complete status 0
bluetoothd[15615]: src/adapter.c:adapter_get_device() DE:AD:BE:EF:01:01
bluetoothd[15615]: src/device.c:device_bonding_complete() bonding (nil) status 0x00