2012-10-15 17 views
26

Gibt es eine Möglichkeit, ein Gerät in Linux ohne Pin (für Testzwecke, damit ich es ohne menschliche Interaktion tun müssen, vorausgesetzt, Sie Root-Zugang haben)Linux-Befehlszeile Howto akzeptieren Pairing für Bluetooth-Gerät ohne Pin

bluez-simple-agent scheint einen Pin zu benötigen, außer mit einigen einfachen Geräten wie Mäusen.

+4

Vorschlagen Umzug nach [Unix & Linux] (http://unix.stackexchange.com) statt auf Stack-Überlauf wollen. –

Antwort

8

Versuchen Sicherheit keine in /etc/bluetooth/hcid.conf Einstellung

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

Dies wird wahrscheinlich nur Arbeit für HCI-Geräte (Maus, Tastatur, Spaceball, etc.). Wenn Sie ein anderes Gerät haben, gibt es wahrscheinlich eine andere, aber ähnliche Einstellung.

+0

Sie meinen HID (statt HCI) Geräte, oder? – flak37

23

Die Eingabe einer PIN ist eigentlich eine veraltete Methode der Paarung, jetzt Legacy Pairing genannt. Der Secure Simple Pairing-Modus ist in Bluetooth v2.1 und höher verfügbar und umfasst die meisten modernen Bluetooth-Geräte. Die SSPMode-Authentifizierung wird vom Bluetooth-Protokollstack übernommen und funktioniert somit ohne Benutzerinteraktion.

Hier ist, wie man über eine Verbindung zu einem Gerät gehen könnte:

# 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 

Dies würde eine serielle Verbindung mit dem Gerät herstellen.

+4

Simple Pairing-Modus kann nicht auf hci0 eingestellt werden: Eingabe-/Ausgabefehler (5) – user3751385

+0

Wenn Ihr Adapter sspmode nicht unterstützt, versuchen Sie 0000 als Pin. – user3751385

8

Dies war für mich wie ein Zauber, der-natürlich ist es Super-User-Privilegien :-)

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

Um <target-bdaddr> erfordert, dass Sie unter Befehl ausgeben kann:
$ hcitool scan

Hinweis: Schließen Sie # & $ aus, da dies Eingabeaufforderungen für die Befehlszeile sind.

Courtesy

7

Für Ubuntu 14.04 und Android try:

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

PIN Dialog erscheint auf Android-Gerät auf. Geben Sie dieselbe PIN ein.

Hinweis: sudo apt-get install bluez-utils ist möglicherweise erforderlich.

Hinweis2: Wenn das PIN-Dialogfeld nicht angezeigt wird, versuchen Sie zunächst, eine Kopplung mit Android durchzuführen (wird aufgrund einer falschen PIN fehlschlagen). Dann versuchen Sie es erneut wie oben beschrieben.

0

Das sollte den Trick machen (ich verwende bluez 5.23 und es gibt keine simple-argent und blue-utils mehr). Allerdings versuche ich nach einer Möglichkeit zu suchen, hciconfig permanent zu ändern, da nach dem Power-Out und dem Einschalten die Authentifizierung erneut benötigt wird. Bis jetzt sind die Änderungen in hciconfig beim Neustart immer noch dieselben. Es wird nur zurückgesetzt, wenn es ausgeschaltet ist. Wenn jemand einen Weg gefunden hat, hciconfig dauerhaft zu machen, lass es mich wissen!

+0

Das hat bei mir am ubuntu 16.04 funktioniert, der "sspmode 1" hat mir einen I/O Fehler gegeben –

5

Folgeschritte (CentOs):

  1. bluetoothctl
  2. Geräte
  3. Scan
  4. Paar 34: 88: 5D: 51: 5: 95 (34: 88: 5D: 51: 5A: 95 ist mein Gerät Code, ersetzen sie es durch Ihre)
  5. Vertrauen 34: 88: 5D: 51: 5A: 95
  6. verbinden 34: 88: 5D: 51: 5A: 95

Wenn Sie mehr Details https://www.youtube.com/watch?v=CB1E4Ir3AV4