web-dev-qa-db-fra.com

Ligne de commande Linux comment accepter l'appariement pour un périphérique Bluetooth sans broche

Existe-t-il un moyen de coupler un appareil sous Linux sans avoir besoin d'une broche (à des fins de test, j'ai donc besoin que cela se fasse sans interaction humaine, en supposant que vous ayez un accès root)?

bluez-simple-agent semble nécessiter une broche, sauf avec certains périphériques simples tels que les souris.

32
Roman A. Taycher

Essayez de définir la sécurité sur aucune dans /etc/bluetooth/hcid.conf

http://linux.die.net/man/5/hcid.conf

Cela ne fonctionnera probablement que pour les périphériques HCI (souris, clavier, boule spatiale, etc.). Si vous avez un autre type d'appareil, il y a probablement un paramètre différent mais similaire à modifier.

10
Eric

La saisie d'un PIN est en fait une méthode de couplage obsolète, maintenant appelée Legacy Pairing . Le mode de couplage simple sécurisé est disponible dans Bluetooth v2.1 et versions ultérieures, qui comprend les plus modernes Périphériques Bluetooth. L'authentification SSPMode est gérée par la pile de protocoles Bluetooth et fonctionne donc sans interaction de l'utilisateur.

Voici comment procéder pour se connecter à un appareil:

# hciconfig hci0 sspmode 1
# hciconfig hci0 sspmode
hci0:   Type: BR/EDR  Bus: USB
BD Address: AA:BB:CC:DD:EE:FF  ACL MTU: 1021:8  SCO MTU: 64:1
Simple Pairing mode: Enabled
# hciconfig hci0 piscan
# sdptool add SP
# hcitool scan
    00:11:22:33:44:55    My_Device
# rfcomm connect /dev/rfcomm0 00:11:22:33:44:55 1 &
Connected /dev/rfcomm0 to 00:11:22:33:44:55 on channel 1
Press CTRL-C for hangup

Cela établirait une connexion série à l'appareil.

27
Paul Poulsen

suivez les étapes (CentOs):

  1. bluetoothctl
  2. dispositifs
  3. numériser
  4. paire 34: 88: 5D: 51: 5A: 95 (34: 88: 5D: 51: 5A: 95 est mon code d'appareil, remplacez-le par le vôtre)
  5. confiance 34: 88: 5D: 51: 5A: 95
  6. connecter 34: 88: 5D: 51: 5A: 95

Si vous voulez plus de détails https://www.youtube.com/watch?v=CB1E4Ir3AV4

10
hao ran

Cela a fonctionné comme un charme pour moi, bien sûr, cela nécessite des privilèges de super-utilisateur :-)

# hcitool cc <target-bdaddr>; hcitool auth <target-bdaddr>

Pour obtenir <target-bdaddr> vous pouvez lancer la commande ci-dessous:
$ hcitool scan

Remarque: exclure # & $ car ce sont des invites de ligne de commande.

Courtoisie

8
AjayKumarBasuthkar

Pour Ubuntu 14.04 et Android essayez:

hcitool scan #get hardware address
Sudo bluetooth-agent PIN HARDWARE-ADDRESS

La boîte de dialogue PIN apparaît sur Android appareil. Entrez le même PIN.

Remarque: Sudo apt-get install bluez-utils pourrait être nécessaire.

Remarque 2: Si la boîte de dialogue PIN n'apparaît pas, essayez d'abord l'appairage à partir de Android (échouera en raison d'un code PIN incorrect). Ensuite, essayez à nouveau comme décrit ci-dessus).

7
Jack Miller
~ $ hciconfig noauth

Cela devrait faire l'affaire (j'utilise bluez 5.23 et il n'y a plus de simple-egent et de blue-utils). Cependant, j'essaie de trouver un moyen de rendre les modifications hciconfig permanentes car après la mise hors tension puis sous tension, l'authentification est à nouveau nécessaire. Jusqu'à présent, les changements dans hciconfig restent les mêmes lorsque vous le redémarrez. il ne revient que lorsqu'il est hors tension. Si quelqu'un a trouvé un moyen de rendre hciconfig permanent, faites le moi savoir!

0
Darren Ng