ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Bluetooth Headset

 *  [1]: [:Pakete installieren: Installation von Programmen]
 *  [2]: [:Terminal: Ein Terminal öffnen]
 *  [3]: [:Programme compilieren: Pakete aus dem Quellcode erstellen]
 *  [4]: [:Editor: Einen Editor öffnen]

Bluetooth Headset einrichten

Allgemein

Gerade für Anwendungen wie ["Skype"] ist ein kabelloses Headset sehr komfortabel. Zur Übertragung der Audiodaten ist der aktuelle Stand der Technik Bluetooth. Dieser universelle Funk-Standard ermöglicht es z.B. auch, dass Handys dieses Headset als Freisprecheinrichtung nutzen können.

Da diese ganze Technik relativ neu und nicht so weit verbreitet ist, verläuft die Einrichtung nicht ganz unproblematisch. Die benötigte Software befindet sich auch noch im Alpha-Stadium, trotzdem funktioniert sie bei mir gut.

Hardware

Das von mir benutzte Headset ist von Logitech und hört auf den Namen "Mobile Pro Headset". Eine Liste von weiteren erfolgreich getesteten Headsets ist hier zu finden.

Mehr Probleme kann meiner Meinung nach die Wahl des Bluetooth-Adapters machen. Mein erster Versuch mit "BlueFritz! USB 2.0" von AVM verlief erfolglos, da der Adapter das SCO-Mapping "HCI" nicht kann. Dazu aber später mehr. Empfehlenswert sind Adapter mit einem Chipsatz von CSR (Cambridge Silicon Radio), wie z.B. der Adapter "MDU-0005USB" von Level One.

Software

Ist die Entsprechende Hardware vorhanden, kann die Einrichtung der Software losgehen. Als erstes wird das Ubuntu-System für Bluetooth vorbereitet, woraufhin man schon mal dem Headset "Hallo" sagen kann.

In einem zweiten Schritt wird dann das Soundsystem angepasst und konfiguriert.

Bluetooth Vorbereitungen

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.

Soundsystem

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 [3] werden muss. Dafür werden allerdings vorher ein paar Pakete benötigt [1]:

  • cvs

  • automake1.7

  • gcc-3.4 ←- standardmässig nicht in Breezy installiert

  • libbluetooth1-dev

  • libasound2-dev

  • linux-headers-uname -r

    Fehlendes Makro

    Das Makro „Anmerkung“ konnte nicht gefunden werden.

Sind alle Pakete installiert [1], geht es mit dem Runterladen und Übersetzen der Quellen weiter. Folgende Befehle in einem Root-Terminal [3] ausführen:

cd /usr/src
cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/bluetooth-alsa co btsco
cd btsco
./bootstrap
./configure
make
checkinstall
cd kernel
make
make install

Anmerkung: Checkinstall verlangt unter Breezy, dass eine Versionsnummer 3 für btsco vergeben wird. Ich habe da testweise 1.0 eingetragen.

This package will be built according to these values:

0 -  Maintainer: [ deinname@localhost.localdomain ]
1 -  Summary: [ Package created with checkinstall 1.5.3 ]
2 -  Name:    [ btsco ]
3 -  Version: [ 1.0 ]      <--- hier  (zuvor [ btsco])
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ i386 ]
8 -  Source location: [ btsco ]
9 -  Alternate source location: [  ]

Das fertige Modul landete bei mir in /usr/src/btsco/kernel, wo es allerdings nicht gefunden wird. Daher mit

mv /usr/src/btsco/kernel /lib/modules/2.6.12-9-686/

in das richtige Verzeichnis verschieben. Bei anderen Kernelversionen die Verzeichnisse entsprechend ändern.

Nach dem Verschieben müssen noch die Abhängigkeiten aktualisiert werden:

depmod -e

Für das Laden des Moduls und eine kleine Initialisierung habe ich in ein Skript geschrieben, dass automatisch beim Einstecken des Bluetooth-Adapters ausgeführt wird. Dazu die Datei /etc/hotplug/usb/hci_usb mit einem Editor [4] mit Root-Rechten anlegen der Inhalt ist folgender:

#!/bin/sh
modprobe snd_bt_sco
hciconfig hci0 voice 0x0060

Und noch als ausführbar setzen:

$ sudo chmod +x /etc/hotplug/usb/hci_usb

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 Progrämmchen, 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

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!


["Kategorie/Hardware"]

Diese Revision wurde am 24. Oktober 2005 23:16 von p5088BA0D.dip0.t-ipconnect.de erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Hardware