Bluetooth mit Konsole

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

Bluetooth mit Konsole

Beitrag von mitscherdinger » 09.04.2011 21:29:48

Hi!

Habe eine wunderschöne Logitech MediaBoard Pro Bluetooth-Tastatur gekauft, die unter Ubuntu gut funktionierte. Nun habe ich aber mein System auf Debian Sid (Aptosid) umgestellt und die Benutzeroberfläche auf XBMC reduziert. (Richtig! Das soll jetzt ein HTPC sein!) Leider bietet XBMC keine Bluetooth-Dienste über deren Oberfläche an und so muss ich nun die Verbindung mit dem PC "von Hand" erledigen. Das habe ich folgendermaßen hinbekommen:

1. Bluetoothadapter aktivieren
Es scheint Bluetooth-Adapter zu geben, die nicht automatisch beim Einstecken oder nach dem Hochfahren "scharf" geschaltet werden. Zumindest ist meiner wohl einer davon. Wenn die Eingabe von

Code: Alles auswählen

hcitool dev
den Adapter nicht anzeigt, muss dieser erst mit

Code: Alles auswählen

hciconfig hci0 up
erst einmal zum Leben erweckt werden. (Dabei gehe ich davon aus, dass die Treiber für das ensprechende Device vorhanden sind und funktionieren. Darüber hinaus sollten die nötigen bluez-Pakete installiert sein und bluetoothd laufen - was bei Debian eigentlich schon mit der Basis-Installation erledigt sein sollte.)

2. Gerätekennung herausbekommen
Gibt "hcitool dev" den Bluetooth-Adapter an, kann mittels

Code: Alles auswählen

hcitool scan
nach Bluetooth-Geräten in Reichweite gesucht werden. Damit mein BT-Keyboard sichtbar wird, muss ich den Reset-Knopf an der Rückseite betätigen. Gleichzeitig erlaubt der Reset die Kopplung einzuleiten. Das Keyboard ist nun für wenige Minuten sichtbar und quittiert den Scan mit der Preisgabe seiner Gerätekennung:

Code: Alles auswählen

00:07:61:F6:97:F7	Logitech Cordless MediaBoard Pro(TM)
3. Kopplung
Die Kopplung lässt sich nun durch Angabe des BT-Adapters, eines frei wählbaren vier- oder fünfstelligen PIN-Codes und der Gerätekennung des zu Koppelnden Gerätes durchführen

Code: Alles auswählen

bluetooth-agent --adapter hci0 1234 00:07:61:F6:97:F7
Der Bluetooth-Agent wartet nun auf Bestätigung des PIN-Codes auf der BT-Tastatur. ("1" - "2" - "3" - "4" - Enter) Die erfolgreiche Kopplung quittiert der Bluetooth-Agent mit den Worten: "Agent Released".

4. Gerät in Betrieb nehmen
Da die Kopplung nun erfolgreich durchgeführt und damit sicherheitstechnisch klar gestellt wurde, dass die BT-Tastatur die Erlaubnis hat, meinen Computer zu steuern, muss jetzt nur noch die BT-Tastatur mit dem BT-Adapter verbunden werden. Ab Bluez in der Version 4 müssen dazu eigentlich dbus-Befehle genutzt werden. Da ich bei dbus nicht durchblicke, habe ich das Paket bluez-compat installiert, dass es mir sehr einfach ermöglicht, die Verbindung mit nur einem einfachen Befehl zu vollziehen:

Code: Alles auswählen

hidd --connect 00:07:61:F6:97:F7
Ab sofort lässt sich die BT-Tastatur sowohl im Textmodus, als auch in X zur Eingabe nutzen. Auch das eingebaute Tochpad funktioniert ohne weiteres Zutun so, wie es sollte.


Jetzt aber kommen die Probleme:
Ist die BT-Tastatur einige Zeit nicht in Benutzung, trennt sie die Verbindung und schaltet auf Stromsparmodus. Will man sie wieder benutzen, kann sie sich nicht mehr mit dem Computer verbinden. Selbiges passiert nach einem Reboot. In Daten ausgedrückt sieht das so aus:

Code: Alles auswählen

:~# hcidump 
HCI sniffer - Bluetooth packet analyzer ver 2.0
device: hci0 snap_len: 1028 filter: 0xffffffffffffffff
> HCI Event: Connect Request (0x04) plen 10
    bdaddr 00:07:61:F6:97:F7 class 0x002540 type ACL
< HCI Command: Accept Connection Request (0x01|0x0009) plen 7
    bdaddr 00:07:61:F6:97:F7 role 0x00
    Role: Master
> HCI Event: Command Status (0x0f) plen 4
    Accept Connection Request (0x01|0x0009) status 0x00 ncmd 1
> HCI Event: Role Change (0x12) plen 8
    status 0x00 bdaddr 00:07:61:F6:97:F7 role 0x00
    Role: Master
> HCI Event: Connect Complete (0x03) plen 11
    status 0x00 handle 1 bdaddr 00:07:61:F6:97:F7 type ACL encrypt 0x00
> ACL data: handle 1 flags 0x02 dlen 12
    L2CAP(s): Connect req: psm 17 scid 0x0044
< HCI Command: Read Remote Supported Features (0x01|0x001b) plen 2
    handle 1
< ACL data: handle 1 flags 0x02 dlen 16
    L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0044 result 1 status 0
      Connection pending - No futher information available
< ACL data: handle 1 flags 0x02 dlen 10
    L2CAP(s): Info req: type 2
> HCI Event: Connection Packet Type Changed (0x1d) plen 5
    status 0x00 handle 1 ptype 0x0018
    Packet type: DM1 DH1 
> HCI Event: Command Status (0x0f) plen 4
    Read Remote Supported Features (0x01|0x001b) status 0x00 ncmd 1
< HCI Command: Change Connection Packet Type (0x01|0x000f) plen 4
    handle 1 ptype 0xcc18
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 1 packets 1
> HCI Event: Command Status (0x0f) plen 4
    Change Connection Packet Type (0x01|0x000f) status 0x00 ncmd 1
> HCI Event: Connection Packet Type Changed (0x1d) plen 5
    status 0x00 handle 1 ptype 0x0018
    Packet type: DM1 DH1 
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 1 packets 1
> HCI Event: Read Remote Supported Features (0x0b) plen 11
    status 0x00 handle 1
    Features: 0xbc 0x02 0x04 0x38 0x08 0x00 0x00 0x00
< HCI Command: Remote Name Request (0x01|0x0019) plen 10
    bdaddr 00:07:61:F6:97:F7 mode 2 clkoffset 0x0000
> HCI Event: Command Status (0x0f) plen 4
    Remote Name Request (0x01|0x0019) status 0x00 ncmd 1
> ACL data: handle 1 flags 0x02 dlen 16
    L2CAP(s): Info rsp: type 2 result 0
      Extended feature mask 0x0004
        Bi-directional QoS
< ACL data: handle 1 flags 0x02 dlen 16
    L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0044 result 0 status 0
      Connection successful
< ACL data: handle 1 flags 0x02 dlen 12
    L2CAP(s): Config req: dcid 0x0044 flags 0x00 clen 0
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 1 packets 1
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 1 packets 1
> ACL data: handle 1 flags 0x02 dlen 16
    L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 4
      MTU 185 
< ACL data: handle 1 flags 0x02 dlen 18
    L2CAP(s): Config rsp: scid 0x0044 flags 0x00 result 0 clen 4
      MTU 185 
> ACL data: handle 1 flags 0x02 dlen 18
    L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 0 clen 4
      MTU 185 
< ACL data: handle 1 flags 0x02 dlen 5
    L2CAP(d): cid 0x0044 len 1 [psm 17]
      HIDP: Control: Virtual cable unplug
< ACL data: handle 1 flags 0x02 dlen 12
    L2CAP(s): Disconn req: dcid 0x0044 scid 0x0040
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 1 packets 1
> ACL data: handle 1 flags 0x02 dlen 12
    L2CAP(s): Connect req: psm 19 scid 0x0045
< ACL data: handle 1 flags 0x02 dlen 16
    L2CAP(s): Connect rsp: dcid 0x0041 scid 0x0045 result 1 status 2
      Connection pending - Authorization pending
< ACL data: handle 1 flags 0x02 dlen 16
    L2CAP(s): Connect rsp: dcid 0x0041 scid 0x0045 result 3 status 0
      Connection refused - security block
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 1 packets 1
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 1 packets 1
> HCI Event: Remote Name Req Complete (0x07) plen 255
    status 0x00 bdaddr 00:07:61:F6:97:F7 name 'Logitech Cordless MediaBoard Pro(TM)'
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 1 packets 1
> HCI Event: Number of Completed Packets (0x13) plen 5
    handle 1 packets 1
> ACL data: handle 1 flags 0x02 dlen 12
    L2CAP(s): Disconn rsp: dcid 0x0044 scid 0x0040
> HCI Event: Disconn Complete (0x05) plen 4
    status 0x00 handle 1 reason 0x16
    Reason: Connection Terminated by Local Host
Der Grund dafür ist vermutlich der, dass der Computer nur eine Verbindungsaufnahme zulässt, wenn sie auch vom Computer ausgeht. Eine Verbindungsaufnahme von der Tastatur hingegen lässt er aus Sicherheitsgründen abblitzen - so zumindest interpretiere ich die Ausgabe von hcidump. Ich könnte mir vorstellen, dass man irgendwelche Dinge in die Dateien im Verzeichnis /etc/bluetooth/ schreiben muss, damit die Verbindungsaufnahme auch umgekehrt funktioniert. Dummerweise habe ich nirgendwo Hinweise finden können, wo ich was eintragen muss. Die meisten Anleitungen bzgl. Bluetooth handeln von Tools auf der grafische Oberfläche - die mir aber unter XBMC nicht zur Verfügung stehen.

Wäre dankbar, wenn mir jemand helfen könnte…

Grüße!

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Bluetooth mit Konsole

Beitrag von syssi » 12.04.2011 09:05:43

Hi,

ist zwar eine Anleitung fuer Ubuntu, trifft aber auf Debian genauso zu: http://ubuntuforums.org/showthread.php?t=227057
Die noetigen Informationen, die du in die Konfiguration eintragen musst, hast du schon aufgelistet. Der Beitrag koennte
dir auch noch helfen: http://www.linuxforums.org/forum/hardwa ... -boot.html

Ziel: Ein Daemon, der im Hintergrund laeuft und sich immer brav neu verbindet.

Gruß syssi

mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

Re: Bluetooth mit Konsole

Beitrag von mitscherdinger » 12.04.2011 11:28:22

Hey, vielen Dank!

Nach einem ersten Überfliegen bin ich etwas skeptisch: Die Anleitungen sind teilweise mehrere Jahre alt. Die angesprochenen Dateien, die es laut den Anleitungen zu editieren gilt, sind nicht (mehr) vorhanden.

Code: Alles auswählen

~# ls /etc/bluetooth/
audio.conf  input.conf  main.conf  network.conf  rfcomm.conf  serial.conf

Code: Alles auswählen

~# ls /etc/bluetooth/hcid.conf
ls: Zugriff auf /etc/bluetooth/hcid.conf nicht möglich: Datei oder Verzeichnis nicht gefunden
Andere sehen komplett anders aus, als in den Anleitungen beschrieben:

Code: Alles auswählen

~# cat /etc/default/bluetooth 
# Defaults for bluez

# start bluetooth on boot?
# compatibility note: if this variable is _not_ found bluetooth will start
#BLUETOOTH_ENABLED=1

# This setting used to switch HID devices (e.g mouse/keyboad) to HCI mode, that
# is you will have bluetooth functionality from your dongle instead of only
# HID. This is accomplished for supported devices by udev in
# /lib/udev/rules.d/62-bluez-hid2hci.rules by invoking hid2hci with correct
# parameters.
# See /usr/share/doc/bluez/NEWS.Debian.gz for further information.

# Older daemons like pand dund and hidd can be found in bluez-compat package as
# they are deprecated and provided for backward compatibility only.

# Note that not every bluetooth dongle is capable of switching back to HID mode,
# see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=355497
HID2HCI_ENABLED=0
HID2HCI_UNDO=0
"HIDD_OPTIONS" kommt darin nicht vor. Normalerweise sind die Konfigurationsdateien in /etc/default unter Debian doch immer sehr gut vorbereitet, so dass man eigentlich nur Optionen auskommentieren und für seine Ansprüche einrichten muss. Darüber hinaus finde ich, dass man bei einem Debian-System nicht direkt im Verzeichnis /etc/init.d Skripte editieren sollte. Bei Arch mag das natürlich üblich sein (da heißt das Verzeichnis /etc/rc.d, o.k.).

Aber mal abgesehen von den Distributions-Eigenheiten, habe ich einen Verdacht, warum da so viel nicht zusammen passt: Die beschriebenen Konfigurationen beziehen sich vermutlich auf eine ältere bluez-Version. Und genau das ist das Problem, warum ich keine gescheite Konfiguration hinbekomme: Alle ergoogelten Konfigurationsratschläge zu diesem Thema handeln von bluez < 4.

Ich glaube, dass die eigentliche Konfiguration in den Dateien audio.conf, input.conf, main.conf, network.conf, rfcomm.conf und/oder serial.conf passieren müsste. Allerdings fehlen mir hier Beispiele. Weder "man", noch /usr/share/doc/bluez/ halten ausführliche Anleitungen bereit. Ganz zu schweigen von den Suchmaschinenergebnissen, die ich bisher durchgegangen bin.

Hoffe auf weitere Hinweise…
Grüße!
Mitsch

Benutzeravatar
mindX
Beiträge: 1541
Registriert: 27.03.2009 19:17:28
Lizenz eigener Beiträge: GNU General Public License

Re: Bluetooth mit Konsole

Beitrag von mindX » 12.04.2011 11:50:21

Hast du schon hier geguckt? http://wiki.debian.org/BluetoothUser
/etc/default/bluetooth - Default HID bluez setting - enable for mice and keyboards
HID2HCI_ENABLED=1
Falls du damit nicht weiterkommst, könntest du mal im bluez-IRC vorbeigucken oder die Mailinglisten durchstöbern.
http://www.bluez.org/contact/
http://www.bluez.org/development/lists/

mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

Re: Bluetooth mit Konsole

Beitrag von mitscherdinger » 12.04.2011 12:10:22

mindX hat geschrieben:Hast du schon hier geguckt? http://wiki.debian.org/BluetoothUser
Ja, der Artikel brachte mich auf das Tool "bluetooth-agent" zum Pairen. Das mit dem HID2HCI_ENABLED=1 ist nur nötig, wenn gar keine Verbindung zwischen BT-Adapter und BT-Tastatur/-Maus möglich ist - zumindest habe ich das so verstanden.

Dummerweise spricht auch dieser Artikel von der Datei /etc/buetooth/hcid.conf - also, entweder der Artikel ist auch veraltet, oder ich muss hcid.conf selbst erstellen. So alt scheint der Artikel nicht zu sein, aber er handelt wahrscheinlich von Debian stable und ich benutze Debian sid. Andererseits sind die bluez-Versionen gar nicht so weit auseinander: 4.66-3 bei squeeze und 4.89-1 bei sid - demnach also beide v4!

Genau, und zur Not direkt bei den Entwicklern… Danke dafür!

Grüße!
Mitsch

schauinsland
Beiträge: 455
Registriert: 19.11.2007 11:17:40

Re: Bluetooth mit Konsole

Beitrag von schauinsland » 12.04.2011 17:50:34

Hattest Du Dir mal mit hciconfig die Einstellungen zu page- bzw. inquiry-scan angesehen bzw. versucht, diese entsprechend zu modifzieren, vgl. man page?

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Bluetooth mit Konsole

Beitrag von syssi » 12.04.2011 18:03:51

Sorry für die Fehlerauskunft. Dann ist mein Wissen ueber bluez leider auch schon etwas eingestaubt. Ich hatte mich nur erinnert, es mal so gemacht zu haben. ;-)

mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

Re: Bluetooth mit Konsole

Beitrag von mitscherdinger » 16.04.2011 22:46:44

Keine Ursache! Freut mich doch immer, wenn mir jemand helfen will. Hätte ja auch stimmen können…
Das ist halt auch immer mal wieder das Dämliche an Linux: Dass sich irgendwas in der Art der Konfiguration ändert, und auf einmal niemand mehr weiß, wie's funktioniert und Google immer nur die altbewährten Mittel, die aber eben nicht mehr funktionieren, als oberste Treffer anbietet.

Bin aber wieder auf einer neuen Spur: Im Openmoko-Wiki gibt es ein HowTo, wie man Bluetooth "manuell" benutzt. Besonders interessant ist dabei der Hinweis, wie man ein Bluetooth Device mit dbus-Befehlen als "vertrauenswürdig" einstuft:
Trust

On GN/NAP role you need to trust the PANU peer:

dbus-send --system --dest=org.bluez --print-reply $BTADAPTER/dev_00_06_6E_17_27_E0 org.bluez.Device.SetProperty string:Trusted variant:boolean:true

Where 00_06_6E_17_27_E0 is the MAC of peer.
(zitiert aus: http://wiki.openmoko.org/wiki/Manually_ ... ooth#Trust)

Das bringt mich nun schon sehr nahe an das, was ich vermutlich brauche - und dann auch wiederum nicht: Mit was zum Teufel muss denn die Variable $BTADAPTER bei mir gefüllt sein? Es muss wohl irgendwas mit /org/bluez/… sein, soviel habe ich schon heraus bekommen. Aber wie weiter? Wie findet man das raus?

mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

Re: Bluetooth mit Konsole

Beitrag von mitscherdinger » 20.04.2011 00:19:37

Wo sind die d-bus-Experten? :)

mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

Re: Bluetooth mit Konsole

Beitrag von mitscherdinger » 20.04.2011 10:48:51

O.k. - weiter im Text:
Habe diese Seite gefunden: http://zitzlinux.wordpress.com/2011/02/ ... mand-line/

Immerhin weiß ich jetzt, dass ich mit

Code: Alles auswählen

dbus-send --system --print-reply --dest=org.bluez / org.bluez.Manager.DefaultAdapter
die Adresse meines BT-Adapters feststellen kann - in diesem Falle /org/bluez/1683/hci0. Der Befehl, um das Keyboard als vertrauenswürdig zu deklarieren heißt demnach in meinem Fall:

Code: Alles auswählen

dbus-send --system --dest=org.bluez --print-reply /org/bluez/1683/hci0/dev_00_07_61_F6_97_F7 org.bluez.Device.SetProperty string:Trusted variant:boolean:true
Allein: Es bringt nichts. Die Tastatur verbindet sich nach einer Trennung nicht von selbst, geschweige denn nach einem Reboot. Das war's also nicht.

Weitere Vorschläge?

Vielleicht kennt jemand ein HTPC-Programm, dass zwar ähnlich wie XBMC funktioniert, aber die Verwendung von Applets wie blueman oder bluetooth-applet erlaubt? Die Verwendung der BT-Tastatur ist für mich ein Muss!

Grüße!
Mitsch

mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

Re: Bluetooth mit Konsole

Beitrag von mitscherdinger » 14.05.2011 01:31:34

Noch eine sehr interessante Seite, die sich mit der Problematik, ein Bluetooth-Device per Konsole bzw. desktopunabhängig mit dem Computer zu verbinden, beschäftigt:

https://wiki.archlinux.org/index.php/Bl ... figuration

Der Autor verwendet hier hauptsächlich dbus-Befehle. Als Zusammenfassung der wichtigsten Schritte:

1. Nach Device scannen:

Code: Alles auswählen

hcitool scan
2. Nach der dbus-Adresse des BT-Adapters suchen:

Code: Alles auswählen

dbus-send --system --type=method_call --print-reply --dest=org.bluez "/" org.bluez.Manager.ListAdapters
3. Während das BT-Gerät auffindbar ist, ein Device erzeugen:

Code: Alles auswählen

dbus-send --system --type=method_call --print-reply --dest=org.bluez "$BT-ADAPTER-DBUS-ADRESSE" org.bluez.Adapter.CreateDevice string:$BT-DEVICE
, wobei $BT-ADAPTER-DBUS-ADRESSE dem entspricht, was nach Eingabe des vorherigen Befehls hinter "object path" in Anführungszeichen steht und $BT-DEVICE die 12-stellige ID ist, die "hcitool scan" zum Vorschein bringt.

4. Dem BT-Gerät Verbindungsrechte einräumen:

Code: Alles auswählen

dbus-send --system --type=method_call --print-reply --dest=org.bluez "$BT-DEVICE-DBUS-ADRESSE" org.bluez.Device.SetProperty string:Trusted variant:boolean:true
, wobei $BT-DEVICE-DBUS-ADRESSE eine Kombination aus $BT-ADAPTER-DBUS-ADRESSE und $BT-DEVICE darstellt. (Bei mir sieht sie so aus: /org/bluez/3594/hci0/dev_00_07_61_F6_97_F7).

5. Computer und BT-Gerät verbinden:

Code: Alles auswählen

hidd --connect $BT-DEVICE
Inzwischen habe ich sowohl den BT-Adapter als auch das Betriebssystem (Ubuntu 11.04 Minimal) gewechselt. Zum Erfolg meines Vorhabens, mein BT-Keyboard ohne GUI und ohne Komfortverzicht zu betreiben, bin ich allerdings immer noch nicht gekommen. Ubuntu weigert sich, eine Verbindungsanfrage des Keyboard zu akzeptieren. Da es anscheinend mit Arch funktioniert, mit Ubuntu aber nicht, ist nun wohl ein Bugreport fällig.

Benutzeravatar
deadhead
Beiträge: 2
Registriert: 20.09.2009 09:37:27

Re: Bluetooth mit Konsole

Beitrag von deadhead » 25.05.2011 00:09:19

habe die gleiche bluetooth tastatur wie der ts.
nach installation von debian squeeze auf dem einen rechner und der bt konfiguration lief die tastatur erst mit selbst erstelltem script oder einem der obigen befehle auch reagierte diese nach einiger zeit nicht mehr wie der ts es angegeben hatte.
unter gnome wurde die tastatur auch erst mittels pairing angebunden seitdem funzt die tastatur tadellos, unter der console und login in openbox mittels startx, ohne scripte etc.

debian squeeze macht spass :P
erst laptop installation dann die installation auf dem internet rechner und in dieser woche ist der htpc rechner dran. einzige fehler bisher bei der installion das sie sich zweimal aufgehangen hat beim htpc rechner, vorige installationen liefen glatt durch. lag vermutlich am sata laufwerk!!! nach wechsel auf ide laufwerk an sata-ide controller pci-karte lief die installation reibungslos.
... noting to say ...

mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

[Gelöst] Bluetooth mit Konsole

Beitrag von mitscherdinger » 08.06.2011 17:12:29

Ob Ihr's glaubt oder nicht: Ich hab's endlich geschafft!

Ich habe mich bei der bluez-Mailingliste angemeldet, habe mein Problem geschildert und wurde erhört! Folgendes wurde mir von Vinicius Costa Gomes geraten:
This is what I would do:

1. Get the BlueZ sources, and go to the test/ directory;

2. ./simple-agent hci0 <keyboard address>
(follow the instructions from the keyboard for pairing, usually putting the
same passkey in both sides). This will pair your computer with the
keyboard. If it complains about that the pairing already exists, just add a
third parameter, it can be anything.

3. ./test-device trusted <keyboard address> yes
This will set the device as trusted, so connection comming from it will
be automatically accepted.

4. Now as the device is already bonded and connections are automatically
accepted, reconnections should work as they should.

Some notes: those are simple python scripts, be sure to have python already
installed.
Die Python-Scripte muss man gar nicht herunterladen, sie sind bereits im Paket "bluez" enthalten, haben aber eine Namensänderung erfahren - ihnen wurde die Bezeichnung "bluez-" vorangestellt. Ich habe sicherheitshalber noch das Paket "python-bluez" installiert, da ich mit bluez-simple-agent schon einmal erfolglos experimentiert hatte.

Mein vorheriger Versuch, mich mit dem Keyboard zu verbinden, wurde vom Computer freundlicherweise ignoriert - so konnte ich relativ nahe an der Anleitung zum Erfolg kommen. Also: folgendes ist in meinem Falle zu tun:

1. bluez-simple-agent hci0 00:07:61:F6:97:F7
(eventuell muss das Keyboard jetzt erst einmal mit dem Computer (vom Computer aus) verbunden werden
bluez-test-input connect 00:07:61:F6:97:F7)
2. bluez-test-device trusted 00:07:61:F6:97:F7 yes

Das war's. Alles gar nicht so schwer, wenn man weiß, wie's geht. :D :) :| :( :? :x

mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

Re: Bluetooth mit Konsole

Beitrag von mitscherdinger » 14.12.2011 18:38:40

Ein Problem hab ich noch:

Wenn das Keyboard mit dem Computer verbunden wurde, wird - zumindest unter X - das deutsche Tastaturlayout zunächst nicht automatisch geladen. Erst die Eingabe von

Code: Alles auswählen

setxkbdmap
in einem Terminal vervollständigt die Bluetooth-Verbindung mit korrektem Layout.

Hat jemand eine Idee, wie man das automatisieren kann? Kann man eventuell dbus dazu bringen, das korrekte Layout bei Verbindung der Tastatur zu laden oder "setxkbmap" auszuführen?
Zuletzt geändert von mitscherdinger am 29.01.2014 22:09:11, insgesamt 1-mal geändert.

madmoses
Beiträge: 27
Registriert: 10.09.2008 22:18:12

Re: Bluetooth mit Konsole

Beitrag von madmoses » 09.04.2013 14:13:03

Hi,

wie kann man testen ob das pairing erfolgreich war? Ich glaube ich bin gepairt da ich das Gerät anpingen kann mit l2ping. Aber nach ca. 30 Sekunden bricht dann der ping Vorgang ab, weiß einer wieso?
l2ping 94:63:D1:BB:DF:5E
Ping: 94:63:D1:BB:DF:5E from 00:09:DD:50:8C:93 (data size 44) ...
44 bytes from 94:63:D1:BB:DF:5E id 0 time 7.51ms
44 bytes from 94:63:D1:BB:DF:5E id 1 time 18.22ms
44 bytes from 94:63:D1:BB:DF:5E id 2 time 14.14ms
44 bytes from 94:63:D1:BB:DF:5E id 3 time 9.93ms
44 bytes from 94:63:D1:BB:DF:5E id 4 time 15.28ms
44 bytes from 94:63:D1:BB:DF:5E id 5 time 10.90ms
44 bytes from 94:63:D1:BB:DF:5E id 6 time 37.68ms
44 bytes from 94:63:D1:BB:DF:5E id 7 time 18.28ms
44 bytes from 94:63:D1:BB:DF:5E id 8 time 8.12ms
44 bytes from 94:63:D1:BB:DF:5E id 9 time 14.07ms
44 bytes from 94:63:D1:BB:DF:5E id 10 time 15.35ms
44 bytes from 94:63:D1:BB:DF:5E id 11 time 19.29ms
44 bytes from 94:63:D1:BB:DF:5E id 12 time 9.17ms
44 bytes from 94:63:D1:BB:DF:5E id 13 time 21.69ms
44 bytes from 94:63:D1:BB:DF:5E id 14 time 29.65ms
44 bytes from 94:63:D1:BB:DF:5E id 15 time 17.14ms
44 bytes from 94:63:D1:BB:DF:5E id 16 time 19.21ms
44 bytes from 94:63:D1:BB:DF:5E id 17 time 30.43ms
44 bytes from 94:63:D1:BB:DF:5E id 18 time 10.67ms
44 bytes from 94:63:D1:BB:DF:5E id 19 time 19.67ms
44 bytes from 94:63:D1:BB:DF:5E id 20 time 17.29ms
44 bytes from 94:63:D1:BB:DF:5E id 21 time 17.21ms
44 bytes from 94:63:D1:BB:DF:5E id 22 time 25.00ms
44 bytes from 94:63:D1:BB:DF:5E id 23 time 14.15ms
44 bytes from 94:63:D1:BB:DF:5E id 24 time 17.78ms
44 bytes from 94:63:D1:BB:DF:5E id 25 time 24.72ms
44 bytes from 94:63:D1:BB:DF:5E id 26 time 9.76ms
44 bytes from 94:63:D1:BB:DF:5E id 27 time 9.68ms
44 bytes from 94:63:D1:BB:DF:5E id 28 time 33.40ms
44 bytes from 94:63:D1:BB:DF:5E id 29 time 18.35ms
44 bytes from 94:63:D1:BB:DF:5E id 30 time 22.89ms
44 bytes from 94:63:D1:BB:DF:5E id 31 time 10.10ms
44 bytes from 94:63:D1:BB:DF:5E id 32 time 10.34ms
44 bytes from 94:63:D1:BB:DF:5E id 33 time 15.67ms
44 bytes from 94:63:D1:BB:DF:5E id 34 time 32.13ms
44 bytes from 94:63:D1:BB:DF:5E id 35 time 24.15ms
44 bytes from 94:63:D1:BB:DF:5E id 36 time 37.92ms
44 bytes from 94:63:D1:BB:DF:5E id 37 time 8.83ms
44 bytes from 94:63:D1:BB:DF:5E id 38 time 32.78ms
44 bytes from 94:63:D1:BB:DF:5E id 39 time 9.71ms
Send failed: Connection reset by peer
Vielen danke!

mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

Re: Bluetooth mit Konsole

Beitrag von mitscherdinger » 05.04.2015 14:13:55

Die Anleitung ist zwischenzeitlich veraltet, da in Debian Jessie inzwischen bluez 5 werkelt.
bluez 5 hat alle möglichen Bluetooth-Kommendozeilentools durch bluetoothctl ersetzt. Wer jetzt denkt: "Oh, Mann - schon wieder alles über den Haufen geschmissen!" hat zwar recht, allerdings ist die Usability für ein Kommandozeilentool herausragend!

Bei meiner Tastatur gab's aber beim erneuten Pairing dennoch Probleme. Sie wollte einfach nicht dauerhaft im System bleiben. Die Lösung war, einen Agenten zu starten. Seitdem funktioniert die Tastatur wieder tadellos.

Grüße!
Mitsch

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Re: Bluetooth mit Konsole

Beitrag von Bert » 09.12.2016 09:11:37

Hallo,

der Thread ist zwar schon etwas älter, aber Jessie ist ja noch aktuell. Ich habe aktuell das gleiche Problem: Ich kann mein BT Keyboard manuell (entweder per command line, oder per KDE Applet) verbinden und alle funktioniert.
Allerdingsfindet kein automatischer re-connect statt (weder beim System start, noch nach einer idle time)

Wie genau hast Du das hinbekommen?
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: Bluetooth mit Konsole

Beitrag von MSfree » 09.12.2016 10:00:40

Bert hat geschrieben:Allerdingsfindet kein automatischer re-connect statt (weder beim System start, noch nach einer idle time)

Wie genau hast Du das hinbekommen?
Ich habe bei meinem Raspberry mit bluetoothctl folgende Befehle abgearbeitet:

Code: Alles auswählen

pairable on
scan on
agent on
pair xx:xx:xx
trust xx:xx:xx
connect xx:xx:xx
info xx:xx:xx
list
devices.
exit
wobei xx:xx:xx durch die Bluetooth-ID zu ersetzen ist, die man durch den Scan geliefert bekommt.

Seither verbindet sich der Raspi selbstständig mit meiner BT-Tastatur.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Bluetooth mit Konsole

Beitrag von ThorstenS » 04.01.2017 07:44:50

Darf ich fragen welche BT-Tastatur/Maus ihr beide nutzt? Ich mag mir auch eine für den raspi anschaffen, aber die meisten, die ich finde haben kein deutsches Tastaturlayout (benötige ich aber wg. der Kinder…).

Antworten