Home / LinuxUser / 2007 / 01 / Blauer Sound

Top-Beiträge

Jailbreaken erlaubt
(233 Punkte bei 9 Stimmen)
Mein Schreibtisch
(205 Punkte bei 9 Stimmen)
Nie mehr Mails abrufen!
(195 Punkte bei 6 Stimmen)
Debian per Post
(178 Punkte bei 7 Stimmen)
Überflieger
(178 Punkte bei 7 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 8500 Shops,
3.1 Mio Artikel. Alle Bestseller, Gutscheine und Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Bei Freeware bietet Ihnen kostenlose Software Downloads von Programmen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Blauer Sound

Drahtloser Sound über Bluetooth-Stereo-Headsets

01.01.2007 Ob zum Telefonieren oder für den drahtlosen Musikgenuss: Ein Bluetooth-Stereoheadset räumt dabei komfortable Bewegungsfreiheit ein.

Bluetooth gehört heute zur Standardausstattung von aktuellen Handys und Notebooks. Die Technologie fristet neben WLAN jedoch eher ein Schattendasein. Dabei kann Bluetooth gegenüber WLAN zwei deutliche Vorteile ins Rennen schicken:

  • es benötigt deutlich weniger Strom,
  • es eignet sich nicht nur zum Surfen im Internet.

Dieser Artikel beschäftigt sich mit den Soundfähigkeiten von Bluetooth unter Linux. Er basiert auf dem ausgezeichneten Howto für Ubuntu [1]. Die Anleitung funktioniert aber unter jeder Distribution mit einem halbwegs aktuellen Kernel und Bluetooth-Stack. Die Projektseite von Bluetooth-Alsa mit weiterführenden Infos finden Sie unter [2].

Mono oder Stereo

Bluetooth kennt zwei Profile für die Übermittlung von Audiosignalen: SCO und A2DP. Beim SCO-Profil handelt es sich um eine Zweiwege-Verbindung mit schnellen Reaktionszeiten (tiefe Latenz) zur Übertragung von Gesprächen. Es überträgt Töne in der Regel in Mono-Qualität, mit dem SCO-Profil lassen sich sowohl Töne empfangen als auch senden. Das A2DP-Profil hat dagegen die Aufgabe, Stereosound in hoher Qualität zu übertragen. Hierbei handelt es sich um eine Einwegverbindung mit hoher Latenz (langsame Reaktionszeit). Im Bereich Stereoausgabe befindet sich Linux in einer Spitzenposition, was die Qualität der Wiedergabe und die Geschwindigkeit der Entwicklung betrifft.

Je nachdem, welches Bluetooth-Headset Sie benutzen, unterstützt dieses nur SCO, nur A2DP oder beide Profile. Einohr-Headsets, wie sie bei Mobiltelefonen verbreitet sind, unterstützen in der Regel nur das SCO-Profil, Stereo-Headsets beherrschen oft beide. In den Tests zu diesem Artikel benutze LinuxUser das Stereo-Headset BT620s von Jabra und die Wireless Headphones for PC von Logitech (Abbildung 1). Das Jabra-Gerät unterstützt sowohl SCO als auch A2DP. Den jeweiligen Modus verrät das Blinken der LEDs. Die Logitech-Kopfhörer unterstützen nur A2DP. Beim Logitech-Headset handelt es sich offiziell nicht um ein Bluetooth-Gerät: Logitech verkauft es mit einem USB-Dongle als gewöhnliche Drahtlos-Lösung. Die Ohrhörer sind aber Bluetooth-fähig.

Abbildung 1: Die Bluetooth-Headsets von Jabra (links) und Logitech (rechts) beherrschen beide Stereosound. Das Jabra-Headset lässt sich zudem auch über das SCO-Profil ansprechen.

Download und Installation

Der Artikel beschränkt sich im Folgenden auf die Stereowiedergabe über den Daemon a2dpd. Die etwas umständlichere Einrichtung der SCO-Verbindung über ein separates Kernelmodul erklärt der Kasten "Die alte Methode". Diese kann dann interessant sein, wenn Sie das Headset auch zum telefonieren (zum Beispiel über Skype) benutzen möchten.

Für den A2DP-Daemon benötigen Sie die Bibliothek sbc und die Bluetooth-ALSA-Tools btsco. Von beiden Programmen finden Sie CVS-Versionen von Ende November auf der Heft-CD. Da die Entwicklung von Bluetooth-Audio jedoch ziemlich schnell voranschreitet, empfiehlt es sich, die Quellen direkt aus dem Versionskontrollsystem auszuchecken. Die dazu nötigen Befehle listet der Kasten "Code aus dem CVS ziehen" auf.

Code aus dem CVS ziehen

Nach dem Login-Befehl erscheint jeweils eine Passwortaufforderung. Drücken Sie dann einfach die Eingabetaste.

cvs -d:pserver:anonymous@sbc.cvs.sourceforge.net:/cvsroot/sbc login
cvs -d:pserver:anonymous@sbc.cvs.sourceforge.net:/cvsroot/sbc co sbc
cvs -d:pserver:anonymous@bluetooth-alsa.cvs.sourceforge.net:/cvsroot/bluetooth-alsa login
cvs -d:pserver:anonymous@bluetooth-alsa.cvs.sourceforge.net:/cvsroot/bluetooth-alsa co btsco

Nach dem Entpacken beziehungsweise Herunterladen des nötigen Quellcodes wechseln Sie zunächst ins Verzeichnis sbc und geben hier folgende Befehle ein:

./bootstrap
./configure --prefix=/usr
make
sudo make install

Für die Installation per sudo-Kommando müssen Sie je nach Distribution das Root-Passwort (Suse, Fedora) oder Ihr Benutzerpasswort (Ubuntu) eingeben. Wechseln Sie anschließend ins Verzeichnis btsco und tippen Sie hier die gleichen Befehle, wobei der ./configure-Aufruf zusätzlich die Option --enable-alsaplugin benötigt:

./bootstrap
./configure --prefix=/usr --enable-alsaplugin
make
sudo make install

Damit ist die Installation abgeschlossen; als nächstes gilt es den A2DP-Daemon zu konfigurieren.

Die alte Methode

Sollte bei Ihnen die Methode über den A2DP-Daemon nicht richtig funktionieren, dann versuchen Sie die alte Methode über das Kernelmodul snd-bt-sco. In der Redaktion gab es jedoch keinen Fall, bei dem diese Version funktioniert hätte und der A2DP-Daemon nicht.

Laden Sie sich den CVS-Code von btsco und sbc herunter. Übersetzen und installieren Sie diesen anschließend wie im Artikel beschrieben. Wechseln Sie danach ins Verzeichnis btsco/kernel und führen Sie hier den Befehl make aus. Der Compiler erstellt dann das Kernel-Modul snd-bt-sco.ko. Dieses kopieren Sie mit administrativen Rechten ins Verzeichnis /lib/modules/replaceableKernelversion/kernel/drivers/bluetooth. Die Kernelversion gibt der Befehl uname -a aus.

Hat alles geklappt, laden Sie das Modul über den Befehl modprobe snd-bt-sco. Im nächsten Schritt nehmen Sie die Verbindung mit dem Bluetooth-Headset auf. Dazu muss das Headset im Pairing-Modus sein. Geben Sie auf der Konsole folgenden Befehl ein:

btsco -r -v replaceableBt-Adresse

wobei Sie Bt-Adresse durch die Bluetooth-Adresse des Headsets ersetzen müssen. Erhalten Sie die Fehlermeldung:

btsco v0.42
Error: control open (hw:1): No such device
Error: Can't find device. Bail

dann wird Ihr Headset vom Modul entweder nicht unterstützt, oder das Kernelmodul ist nicht geladen. Hat alles geklappt, sehen Sie die Meldung:

btsco v0.42
Device is 1:0
Voice setting: 0x0060
RFCOMM channel 1 connected
Using interface hci0

In einer zweiten Konsole starten Sie nun die Wiedergabe über den Befehl:

mpg123 --au - replaceabledatei.mp3 | a2play replaceableBt-Adresse

wobei Sie datei.mp3 durch eine beliebige MP3-Datei ersetzen müssen und Bt-Adresse wiederum für die Bluetooth-Adresse des Headsets steht. Sehen Sie daraufhin die Meldungen:

Listen thread running
read 2C00C0 2873 times / sec.
read 30ABC0 1197 times / sec.
read 3061C0 1198 times / sec.
read 2FF0C0 1120 times / sec.
read 3052C0 1154 times / sec.

läuft das Playback. Die Methode über das Kernelmodul bringt allerdings erhebliche Nachteile gegenüber dem A2DP-Daemon. So lassen sich über diesen Weg Musikstücke nur umständlich von der Kommandozeile aus abspielen und Playlisten oder ähnliches sind nicht möglich. Auch gilt es bei jedem Kernelupdate ein neues Modul zu installieren. Zudem funktionierte das Playback mangels SCO-Unterstützung auf dem Logitech-Headsets überhaupt nicht.

Aktuelles Heft bestellen
Kommentare
Einem Freund empfehlen    Druckansicht

965 Hits
Wertung: 154 Punkte (9 Stimmen)

Infos zum Autor

Marcel Hilzinger

Marcel Hilzinger

Marcel Hilzinger arbeitet als Redakteur für die Zeitschriften LinuxUser und EasyLinux. Am liebsten schreibt er Artikel zu netten Gadgets oder Multimedia-Software. In seiner Freizeit spielt er gerne Kicker.

Zum Blog von Marcel Hilzinger →


Infos zur Publikation

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Touchpad beim Tippen ausschalten
Touchpad beim Tippen ausschalten
Marcel Hilzinger, 19.07.2010 13:34, 3 Kommentare

Wer kennt das Problem nicht: während man so fröhlich vor sich hin tippt, ist man zufällig mit dem Daumen oder einem anderen Finger auf's Touchpad gekommen und schon schreibt man ohne es zu wol...

Aktuelle Fragen

Netzwerkprobleme mit SuSE 11.3
Lukas Jäger, 30.07.2010 12:24, 1 Antworten
Hallo, zusammen. Ich wollte die Tage meine SuSE auf 11.3 upgraden. Als das soweit gemacht war, b...
Übergrosse Distributionen
--- ---, 24.07.2010 11:34, 3 Antworten
Hat die Grösse einer Distribution auswirkungen auf die Leistung des Systems ? Beispiel: Wenn ma...
KeepassX (LinuxUser 8/10)
Matthias Drexler, 22.07.2010 16:53, 3 Antworten
In der aktuellen LinuxUser ist ein Artikel über KeepassX. Dort wird über ein Problem berichtet,...
Prozess zurückholen
Martin Burkhardt, 21.07.2010 02:02, 2 Antworten
Hallo, Seit einigen Jahren beschäftigt mich die Frage ob es möglich ist einen Prozess der mit...
Acrobat Reader Plugin mit alternativen Browsern nutzen
GoaSkin , 12.07.2010 23:29, 3 Antworten
Hallo, das Acrobat Reader Plugin funktioniert wunderbar mit dem Firefox, doch andere Browser k...