Bluetooth-Headset als Soundsystem:
Die Einrichtung von Bluetooth ist auch schon im Artikel Bluetooth/Einrichtung beschrieben und beschränkt sich eigentlich auf die Installation [1] des Paketes:
bluez-utils
Ist das Paket installiert, kann man schon mit seinem Bluetooth-Dongle reden. Der folgende Befehl in einem Terminal [2] verrät etwas über die Fähigkeiten des Adapters.
sudo hciconfig hci0 revision
Bei der Ausgabe sollte auch unbedingt die Zeile „SCO mapping: HCI“ stehen. Ist dies nicht der Fall, raten die Autoren der Bluetooth-Audio Software zu einem anderen Adapter.
Jetzt kann man sich auf die Suche nach Bluetooth-Geräten machen. Der Befehl: hcitool scan listet alle gefundenen Geräte. Eventuell muss man dabei den Pairing-Modus einschalten, was bei Headsets oft durch langes drücken des Einschalt-Knopfes funktioniert. Die Ausgabe sieht dann so ähnlich aus:
Scanning ... 00:0D:44:03:6B:8A Logitech HS01-V16
Vor dem Namen des Gerätes befindet sich die Bluetooth Adresse, die später für den Sound-Treiber benötigt wird.
Um über Mobiltelefon online zu gehen, verbindet man das Notebook via Bluetooth mit dem Handy
Die Sound Ein- und Ausgabe basiert auf dem Bluetooth-alsa Projekt. Ziel dieses Abschnittes ist es, für das Headset ein eigenes Sounddevice bereitzustellen. Leider sind hier keine Ubuntu Pakete verfügbar, so dass das Paket selbst kompiliert werden muss. Dafür werden allerdings vorher ein paar Pakete benötigt:
Verbindet man nun den Bluetooth Adapter (wieder) mit dem PC, sollte man per dmesg in etwa diese Ausgabe erhalten:
... Bluetooth: L2CAP ver 2.7 Bluetooth: L2CAP socket layer initialized Bluetooth: RFCOMM ver 1.5 Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM TTY layer initialized usb 1-1.2: new full speed USB device using ohci_hcd and address 6 snd-bt-sco revision 1.8 $ snd-bt-sco: snd-bt-scod thread starting
Und ein neues Sound-Device sollte existieren: cat /proc/asound/cards
Die Ausgabe sollte etwa so aussehen:
0 [Live ]: EMU10K1 - Sound Blaster Live!
Sound Blaster Live! (rev.4) at 0xe000, irq 12
1 [Headset ]: Bluetooth SCO - BT Headset
BT Headset 1
Bei mir hat es sich bewährt, dass die eingebaute Soundkarte die ID 0 hat. Sonst verschieben sich nämlich die IDs, je nach dem ob beim Booten das Dongel im Rechner steckt oder nicht. Dazu trägt man das Modul der Soundkarte in /etc/modules ein. Kennt man das Soundkartenmodul nicht, hilft ein lsmod weiter. Bei mir habe ich das Modul in Zeile „snd_pcm“ gefunden. Beim Starten von KDE hat mein aRts Soundserver sich darüber beschwert, dass er nichts ausgeben kann (weil das Headset eben noch nicht per Bluetooth verbunden ist). Sobald man ihm im KDE-Kontrollzentrum unter „Sound System → Hardware → Hardware-Gerätedatei“ oder per Parameter (-D) hw:1,0 angibt, funktioniert er wieder ohne Probleme.
Kleine Legende: hw:x,y mit x = Nummer (ab 0) des Ausgabegerätes, y = Unternummer (ebenfalls ab 0). Bei hw:1,0 also das 2. Gerät mit Unternummer 1.
Stürzt aRts regelmäßig mit der Alsa-Einstellung ab, dann versuche es mal mit OSS als Soundsystem. Im Beispiel von oben, hw:1,0 in Alsa, ist bei OSS dann /dev/dsp1 .
Alsa hw:2,0 ist in OSS dann /dev/dsp2 …
Nun aber endlich zur ersten Soundausgabe vom Headset. Bei der ersten Verbindung muss sich das Headset im Pairing-Modus befinden. Bei der ersten Verbindung muss man dann eine Pin eingeben. Funktioniert das wie bei mir nicht auf Anhieb, ist dafür meist der „PIN helper“ verantwortlich. Das ist ein kleines Programm, das zur PIN-Eingabe beim Pairing ausgeführt wird. Da es eh nur ein einziges mal aufgerufen wird, habe ich es durch ein kleines Script ersetzt, bei dem die PIN „0000“ ist:
$ echo '#!/bin/sh' > /tmp/bluepin.sh $ echo 'echo "PIN:0000"' >> /tmp/bluepin.sh $ chmod +x /tmp/bluepin.sh
Und in der Konfigurationsdatei /etc/bluetooth/hcid.conf den Eintrag „pin_helper“ entsprechend auf /tmp/bluepin.sh geändert. Nun kann man eine Verbindung mit dem Headset herstellen. Der Parameter ist die Adresse, die man mit „hcitool scan“ (s.o.) erhält. btsco -v 00:0D:44:03:6B:8A Ausgabe ist:
btsco v0.4c Device is 1:0 Voice setting: 0x0060 RFCOMM channel 1 connected
Sollte hier ein Fehler, wie z.B. Failed to connect to SDP server on xx:xx:xx:xx:xx:xx: Permission denied kommen, dann hilft sudo /etc/init.d bluez-utils restart
In einem zweiten Terminal [2] kann man nun eine Soundausgabe starten: aplay -B 1000000 -D plughw:Headset sound.wav
In Skype stellt man einfach das Audio Device auf /dev/dsp1 um und es kann losgehen.
In xmms geht man über „O → Einstellungen (alternativ STRG+p) → Ausgabe I/O Plugin → Ausgabe Plugin: z.B. OSS Treiber → Konfigurieren → Geräte“
Audiogerät: BT SCO PCM (Duplex) Mixer: BT Headset Mixer
Mit 2 mal OK bestätigen. Dann play. Klappt jetzt alles (soll heissen: spielt die Hardware mit) sollte auch Musik zu hören sein. Viel Erfolg!
Quelle1)