Il s'avère que l'appareil cible demandait une authentification à ma carte i.MX25.
Habituellement, la gestion du code PIN est effectuée à l'aide de l'agent Bluetooth.
Mais cet agent n'était pas réellement installé sur la carte (je pensais que c'était le cas...), j'ai donc dû fournir manuellement le code PIN demandé.
Voici comment j'ai procédé :
- modifier /etc/bluetooth/rfcomm.conf , comme je l'ai fait précédemment
- "Up" l'adaptateur bt local :hciconfig 0 up
- Activer l'analyse des pages et des requêtes :hciconfig 0 piscan (Je ne suis pas sûr de celui-ci)
- Désactiver l'appairage simple :hciconfig 0 sspmode 0
- Modifier (ou créer) /usr/var/lib/bluetooth/00:15:83:44:39:E2 /codes PIN
- Dans les fichiers "pincodes", ajouter une ligne (sans guillemets) :"00:07:80:5A:48:93 045678 "
- Démarrer manuellement le démon Bluetooth :bluetoothd
00:15:83:44:39:E2 est l'adresse Bluetooth de l'appareil local.
00:07:80:5A:48:93 est l'adresse Bluetooth de l'appareil cible.
045678 est le code PIN de l'appareil cible.
l2ping fonctionne :
# l2ping 00:07:80:5A:48:93
Ping: 00:07:80:5A:48:93 from 00:15:83:44:39:E2 (data size 44) ...
4 bytes from 00:07:80:5A:48:93 id 0 time 13.14ms
4 bytes from 00:07:80:5A:48:93 id 1 time 26.34ms
rfcomm connect fonctionne :
# rfcomm connect 0
Connected /dev/rfcomm0 to 00:07:80:5A:48:93 on channel 1
Press CTRL-C for hangup
Mise à jour 15/06/2015
Aujourd'hui, j'ai réessayé l2ping sur cet appareil cible, comme décrit précédemment. Pour une raison quelconque, cela me renverrait une erreur "Autorisation refusée".
Voici ce que j'ai trouvé comme solution de contournement :
- Enregistrer /usr/var/lib/bluetooth/00:15:83:44:39:E2 /codes PIN ailleurs
- Supprimez tout sous /usr/var/lib/bluetooth/00:15:83:44:39:E2
- Redémarrer
- Mettez vos codes PIN enregistrés fichier sous /usr/var/lib/bluetooth/00:15:83:44:39:E2
- Réessayez le ping comme décrit précédemment