Bluetooth-Headset für Skype mit (x)ubuntu Gutsy
Sonntag, 18. November 2007Zusammen mit dem neuen Laptop kam dann die Hoffnung, dass jetzt endlich mein Bluetooth-Headset (ein Plantronics M3000) funktionieren könnte. Und tatsächlich: vorhin hab ich meinen ersten Skype Test Call mit dem Headset geführt. Es hat zwar ein paar Stunden Basteln gebraucht, aber letztendlich war das im Prinzip meine eigene Schuld (RTFM halt — allerdings ist das FM in diesem Fall doch ein bisschen knapp geraten und gleichzeitig verwirrend).
Der Bluetooth-Support wurd glaube ich gleich bei der Installation mit eingerichtet; falls nicht, sollte es reichen, das Paket bluez-utils zu installieren.
Alles, was ich unter xubuntu gutsy tun musste, war:
- Den Laptop dazu überlisten, sich mit dem Headset zu pairen
- Eine Datei namens .asoundrc in meinem Home-Verzeichnis anlegen mit dem Inhalt
pcm.bluetooth {
type bluetooth
device 00:11:22:33:44:55
}Statt 00:11:22:33:44:55 muss man hier natürlich die Bluetooth-Adresse des Headsets nehmen — stand vermutlich auf der Verpackung, lässt sich aber auch mit hcitool scan rausfinden, wenn das Headset im Discoverable-Modus ist.
- In den Skype-Einstellungen fürs Audio-Device bei eingehenden und ausgehenden Verbindungen das Bluetooth-Device auswählen.
Der schwierigste Schritt war der erste. Beim Pairen muss man auf dem Laptop die PIN des Headsets eingeben (üblicherweise 0000 — steht im Headset-Handbuch). Diese PIN wird auf dem Laptop (unter /var/lib/bluetooth/<Bluetooth-Adresse des Laptops>/linkkeys) gespeichert, so dass dieser Schritt nur ein einziges Mal pro Bluetooth-Gerät anfällt. Im Gegensatz zu Ubuntu selbst bringt xubuntu allerdings kein Programm mit, das im richtigen moment ein nettes Fensterchen aufmacht und einen nach dieser PIN fragt. Überlisten kann man das so: man legt eine Datei an, z.B. /usr/local/bin/bluetooth-pin (mit sudo). Diese Datei sollte so aussehen:
#!/bin/bash
echo “PIN:0000″
Achtung bei Copy&Paste: WordPress macht aus den doppelten Anführungszeichen typographische, also müsst ihr das ggf. ändern. Falls das Headset eine andere PIN hat als 0000, muss das natürlich entsprechend angepasst werden. Diese Datei muss noch mit
ausführbar gemacht werden. Dann ruft man mit eingeschaltetem Headset diese Befehle auf (Achtung bei Copy&Paste, das ist ein doppeltes Minus vor default):
$ passkey-agent –default /usr/local/bin/bluetooth-pin &
$ sudo hcitool cc 00:11:22:33:44:55
Auf der Kommandozeile wird dann sowas ausgegeben wie
Passkey request for device 00:11:22:33:44:55
Found passkey: “0000″
Das war’s?
Naja, ganz so einfach war’s nicht. Irgendwie hat es dann bei meinem Laptop immer noch nicht funktioniert, wenn ich mich richtig erinnere. Ich glaube, die Lösung war, noch diese Zeile in /etc/modprobe.d/bluez einzutragen:
Danach muss man entweder den Rechner neu starten oder den Bluetooth-Dienst anhalten, Bluetooth abschalten, die geladenen Bluetooth-Module entfernen, den Bluetooth-Dienst wieder starten und Bluetooth wieder anschalten.
Danach kommen Schritte 2 und 3 oben — fertig!
Laut etlicher Mails der bluez-Entwickler auf der Mailingliste macht Skype ziemlich böse Dinge mit Alsa, d.h. es ist im Prinzip Glückssache, ob’s mit Skype funktioniert. Zum Ausprobieren, ob’s generell geht:
$ arecord -D bluetooth -f S16_LE | aplay -D bluetooth -f S16_LE