2427228

Typische Bluetooth-Probleme in Linux lösen

17.05.2019 | 10:03 Uhr | David Wolski

Der Bluetooth-Kopfhörer bleibt stumm und Bluetooth-Geräte in der Nähe sind unsichtbar? Unter Linux kann man mit Bluetooth sein blaues Wunder erleben, denn die Einrichtung klappt selten reibungslos. Die folgenden Schritte helfen weiter.

Bluetooth scheint längst etabliert: Schon 1996 stellte der damalige Mobilfunkriese Ericsson das Nahfunk-Protokoll vor, das übrigens nach dem Wikingerkönig Harald Blåtand (910–987) benannt ist.

Der Name „Blåtand“ (Blauzahn) ist sogar im offiziellen Bluetooth-Logo festgehalten, das einem altnordischen Runenzeichen ähnelt. Und nach wie vor kann eine Verbindungsaufnahme zwischen Geräten eine raue Angelegenheit sein – wie eine Seereise auf einem Wikingerschiff. Denn ganz problemlos klappt die Verbindung zwischen Bluetooth-Geräten selten: Ungünstige Konstellationen von Treibern, Hardwarespezifikationen und nachlässig programmierter Firmware verhindern oft den einwandfreien Verbindungsaufbau.

Darunter haben übrigens nicht nur Linux-Anwender zu leiden. Auch wenn es unter Linux einige spezielle Bluetooth-Probleme mehr gibt als bei Betriebssystemen, die von Herstellern mit Treibern verwöhnt werden. Immerhin aber finden sich in Linux-Systemen mehrere Analysemethoden und Tools, um Verbindungsproblemen auf den Grund zu gehen. Die folgenden Schritte helfen systematisch dabei, Bluetooth bei einer Reihe von typischen Schwierigkeiten flottzumachen.

Tipp: Die besten Bluetooth-Lautsprecher im Vergleich

Hardware: Kein Bluetooth gefunden

Falls die Bluetooth-Funktion per Bios deaktiviert ist, findet sich der Bluetooth-Chip schon mal gar nicht.
Vergrößern Falls die Bluetooth-Funktion per Bios deaktiviert ist, findet sich der Bluetooth-Chip schon mal gar nicht.

Es klingt trivial, aber hinter vielen Anlaufschwierigkeiten stehen oft Einstellungen im Bios des Rechners, die Bluetooth erst einmal komplett abschalten. Zwar sind Bluetooth-und WLAN-Fähigkeiten auf Hauptplatinen meistens im gleichen Chip untergebracht, aber das Bios kann dennoch beide Funktionen getrennt ein-oder ausschalten.

Lösung: Einen wichtigen Hinweis darauf, ob Bluetooth komplett per Bios-Einstellung abgeschaltet ist, liefern die Kernel-Meldungen eines Linux-Systems, die den Systemstart und damit auch die Hardwareinitialisierung durch das Betriebssystem protokollieren. Mit dem Befehl

dmesg | grep -i bluetooth

im Terminal zeigt sich, ob Bluetooth vom Kernel überhaupt erkannt wurde. Falls das Kommando gar kein Resultat anzeigt, dann findet der Kernel gar keine Bluetooth-Hardware. Jetzt sollte als erster Schritt ein Besuch im Bios erfolgen, um die Einstellungen zu überprüfen.

Die Einstellung zu Bluetooth findet sich je nach Mainboardhersteller in den Untermenüs „Onboard Device Configuration“, „Security –› I/O Port Access“ oder auch „Config –› Network“, da Bluetooth und WLAN in Notebooks meist vom Netzwerkchip bedient werden.

Tipp: Nach einem Bios/Uefi-Update kann es sein, dass Bluetooth erst mal komplett ausfällt. Ist dies passiert, dann hilft meistens ein Abschalten und Einschalten dieser Funktion im Bios, jeweils gefolgt von einem Neustart.

Treiberprobleme: Fehlende Firmware

Ein Sonderfall sind Bluetooth-Chips, die nicht direkt seitens des Linux-Kernels Unterstützung finden, sondern auf zusätzlich geladene Firmware angewiesen sind. Zwar taucht dann das Bluetooth-Modul in den Kernel-Bootmeldungen auf, trotzdem kann das Linux-System Bluetooth nicht in Betrieb nehmen.

Lösung: Bevor Bluetooth funktioniert, benötigt das Linux-System die passende Firmware zum Chipsatz. Das Kommando

hciconfig --all

zeigt die Kennung der Bluetooth-Schnittstelle an, meist „hci0“, sowie den Hersteller und die Anschlussart. Auf der üblichen PC-Hardware handelt es sich bei der Anschlussart entweder um PCI oder um USB. Je nachdem, was der obige in der ersten Zeile anzeigt, ist dann entweder der Befehl „lsusb“ einschlägig, der alle USB-Geräte anzeigt, oder Sie benötigen das Kommando „lspci“, sofern das Bluetooth-Modul am PCI-Bus hängt.

Beide Kommandos zeigen zwar alle USB-beziehungsweise PCI-Geräte des Systems an, allerdings meist ohne eindeutige Bezeichnung für Bluetooth-Module. Erst der zuvor ermittelte Hersteller macht die Identifikation des Bluetooth-Chips mit Typennummer möglich.

Die Seite ist eine gute Anlaufstelle, um Firmware für problematische Bluetooth-Chips zu finden. Die Anleitungen sind zwar für Ubuntu maßgeschneidert, gelten aber häufig so oder ähnlich auch für andere Distributionen.

Flugmodus: Bluetooth wieder einschalten

Alle Notebooks erlauben es, den Bluetooth-und WLAN-Sender abzuschalten, etwa um das Gerät auch an Bord eines Flugzeugs während Start und Landung zu betreiben. Neben einem Schalter beziehungsweise einer Tastenkombination zum Abschalten der Sender gibt es auch eine Methode, den Bluetooth-Chip einzeln per Software zu deaktivieren.

Lösung: Auf vielen Notebooks kann der Bluetooth-Sender zwar wieder per Hardwareschalter oder mit der vorgesehenen Tastenkombination eingeschaltet werden, bleibt aber trotzdem softwareseitig blockiert. Klarheit darüber, ob und wie ein Bluetooth-Chip blockiert ist, verschafft das nützliche Kommandozeilentool rfkill, das nach der Eingabe des Befehls

rfkill list all

in einem Terminalfenster den Status aller Sendereinheiten des Computers meldet. Es gibt dabei für jeden Sender zwei Typen von Blockaden: „Soft blocked: yes“ bedeutet, dass der Sender über den Treiber deaktiviert wurde. Das Kommando

sudo rfkill unblock all

schaltet alle Sender softwareseitig wieder ein. Eine zweite Art von hardwareseitiger Blockade zeigt der Status „Hard blocked: yes“ an. In diesem Fall muss man am Notebook auf einen Schalter oder eine Taste mit Antennensymbol absuchen, um die Sender damit wieder in Betrieb zu nehmen. Viele Hersteller sparen sich auch eine gesonderte Taste dafür und bringen den Antennenschalter als FN-Tastenkombination auf einer der Funktionstasten unter.

Tipp: Pannen & Lösungen für typische Linux-Probleme

Systemdienste: Bluetooth-Status überprüfen

Auch diese Situation ist häufig anzutreffen: Der Bluetooth-Chip ist zwar erkannt und wäre betriebsbereit, trotzdem fehlt im Infobereich der verwendeten Desktopumgebung das Symbol für Bluetooth-Verbindungen. Jeder Versuch, eine Verbindung mit anderen Tools aufzubauen, scheitert mit der Fehlermeldung, dass der Bluetooth-Dämon nicht liefe.

Lösung: Das Problem tritt auf, wenn der Bluetooth-Chip nachträglich nach der Installation eines Linux-Systems aktiviert wurde. Typischerweise auch dann, wenn die Bluetooth-Fähigkeiten durch einen später eingesteckten USB-Dongle zum System kamen.

Im Terminal kontrolliert das Kommando

sudo systemctl status bluetooth

den Status des Bluetooth-Dämons (Systemdienstes). Zeigt die dritte Zeile nur „Active: inactive (dead)“ an, so läuft der Dienst nicht. Die beiden Kommandos

sudo systemctl enable bluetooth
sudo systemctl start bluetooth

setzen den Bluetooth-Systemdienst in Gang. Danach ist eine erneute Anmeldung am Desktop ratsam, damit dort das Bluetooth-Symbol für die weiteren Funktionen auftaucht.

Blueman: Alternative für jeden Desktop

Wenn die einfachen Bluetooth-Applets nicht genügen, so gibt es noch den Bluetooth-Manager.
Vergrößern Wenn die einfachen Bluetooth-Applets nicht genügen, so gibt es noch den Bluetooth-Manager.

Gnome und KDE Plasma bieten ihre eigenen Bluetooth-Applets auf dem Desktop. Das Applet von Gnome ist dabei äußerst einfach gehalten: Entweder es funktioniert mit den erkannten Geräten oder eben nicht – was leider recht häufig vorkommt.

Lösung: Es gibt eine grafische Alternative, die deutlich mehr Funktionen zur Fehleranalyse hat und unter jedem Linux-Desktop funktioniert. Der Bluetooth-Manager ermöglicht eine genauere Kontrolle darüber, als welche Art von Gerät eine Bluetooth-Peripherie angebunden werden soll. So kann man beispielsweise festlegen, ob ein Headset nur als Kopfhörer oder auch als Eingabegerät dienen soll. Zudem erlaubt es der Bluetooth-Manager, die Suche nach Geräten manuell erneut anzustoßen. Er zeigt die Verbindungsqualität und die aktuelle Datenrate des Bluetooth-Funkmoduls an.

Auf den sparsamen Desktops wie Mate, XFCE, LXDE, und LXQT ist der Bluetooth-Manager meist vorinstalliert. Wer das fortgeschrittene Tool auch unter Gnome und KDE verwenden will, muss es aus den Paketquellen der Linux-Distribution noch nachrüsten. In Debian und Ubuntu genügt dazu folgendes Terminalkommando:

sudo apt-get install blueman

Der Bluetooth-Manager ist dann sofort einsatzbereit und kollidiert nicht mit den Bluetooth-Applets der Desktopumgebung. Nach dem Start des Tools, etwa mit „blueman-manager“ über den Ausführen-Dialog, zeigt das Hauptprogrammfenster die bereits erkannten Geräte in der Nähe an. Ein Klick auf „Suche“ startet einen erneuten Suchlauf und mit „Einrichten“ beginnt mit der Pairingprozess für ein ausgewähltes Gerät. Das Stern-Symbol steht für die Vertrauenswürdigkeit eines Gerätes. Generell verlangen Eingabegeräte wie Tatstatur und Maus diesen Status.

Linux läuft nicht? So lösen Sie jedes Treiber-Problem

Fehlersuche: Exkurs in die Kommandozeile

Schön es ist nicht, Bluetooth manuell herzustellen, aber die Meldungen sind sehr aufschlussreich.
Vergrößern Schön es ist nicht, Bluetooth manuell herzustellen, aber die Meldungen sind sehr aufschlussreich.

Der Bluetooth-Manager gibt einen guten, hardwarenahen Überblick, welche Geräte sich verbinden können. Scheitert die Verbindungsaufnahme aber, so gibt auch dieses grafische Tool wenig Aufschluss darüber, woran dieses Problem liegen könnte.

Lösung: Bei besonders hartnäckiger Bluetooth-Peripherie kann es immer noch helfen, die Geräte in der Shell mit dem Kommandozeilentool bluetoothctl zu verbinden, das in jeder Linux-Distribution vorliegt. Auf diesem Weg erhält man zudem auch aussagekräftige Fehlermeldungen, die beispielsweise auf Inkompatibilität zwischen alten und neuen Bluetooth-Klassen hinweisen. Auf einem Raspberry Pi 3 ohne grafische Benutzeroberfläche ist bluetoothctl der übliche Weg, Peripherie per Bluetooth anzusprechen. Die Eingabe vonbluetoothctl in der Kommandozeile öffnet ein textbasiertes Menüsystem, das wiederum von Befehlen gesteuert wird. Die Eingabe von

agent on
discoverable on
pairable on

macht zunächst den Bluetooth-Chip für andere Geräte sichtbar. Nun startet der Befehl

scan on

einen Suchlauf, den man nach einigen Minuten mit

scan off

wieder anhält. Die gefundenen Geräte zeigt dann die Eingabe von

devices

mit Name und Adresse an. Diese Adresse wird zur Verbindung benötigt: Mit

pair [Adresse]

beginnt das Pairing, wobei Eingabegeräte und Smartphones die Eingabe der angezeigten Nummer zur Bestätigung erwarten. Dann vertraut man dem Gerät mit dem Befehl

trust [Adresse]

und verbindet es schließlich:

connect [Adresse]

Jeder einzelne Schritt liefert dabei recht ausführliche Debugginginformationen. Die so verbundenen Geräte bleiben dem System übrigens auch nach einem Neustart bekannt, sofern sie in Reichweite bleiben.

Pulse Audio: Zum richtigen Ausgang

Das Konfigurationstool Pavucontrol zaubert noch einige Tricks mehr aus dem Hut.
Vergrößern Das Konfigurationstool Pavucontrol zaubert noch einige Tricks mehr aus dem Hut.

Wenn ein Headset, ein Kopfhörer oder ein externer Lautsprecher per Bluetooth verbunden ist, so bleibt das Gerät meist ohne weitere Konfiguration vorerst stumm.

Der Soundserver Pulse Audio, der in den meisten Linux-Distributionen für die Soundausgabe zuständig ist, muss erst mit den neu hinzugefügten Bluetooth-Ausgabeports bekannt gemacht werden. Auch wenn mehrere Audiogeräte verbunden sind, verlangen diese noch manuell nach einer Aktivierung.

Lösung: Auf dem Gnome-Desktop gibt es in den Systemeinstellungen unter „Klang“ ein Untermenü, das bei „Ausgabe“ und „Eingabe“ per Klick ein Umschalten zwischen Audiogeräten erlaubt. Zur Ergänzung weiterer Funktionen und auf anderen Desktops kommt das Pulse-Audio-Tool Pavucontrol in Frage, das in allen Linux-Distributionen zur nachträglichen Installation bereitsteht. In Debian, Ubuntu und seinen Varianten ist diese im Terminal schnell erledigt:

sudo apt-get install pavucontrol

Nach dem Start zeigt Pavucontrol das Menü „Wiedergabe“ an. Hier sind alle aktuell laufenden Anwendungen mit Soundausgabe auf dem System aufgelistet. Für jede dieser Quellen kann ein Klick auf das nebenstehende Auswahlfeld ein Ausgabegerät gezielt ausgewählt werden. Während dann etwa das „Eingebaute Tongerät“ Systemklänge und Browsersound wiedergibt, kann ein Audioplayer über ein externes Bluetooth-Gerät abspielen. Eine Liste aller verfügbaren Geräte zeigt Pavucontrol im Untermenü „Ausgabegeräte“.

Profile: Bessere Soundqualität

Linux-Distributionen sprechen Bluetooth-Headsets zunächst nur in Radioqualität an.
Vergrößern Linux-Distributionen sprechen Bluetooth-Headsets zunächst nur in Radioqualität an.

Nach der Verbindung eines Bluetooth-Headsets und dem ersten Soundcheck ist die Enttäuschung oft groß: Die Kopfhörer scheppern wie ein altes Transistorradio und liefern nicht annähernd Hi-Fi-Qualität.

Lösung: Um dies zu ändern, hilft wieder das Konfigurationstool Pavucontrol, das in den meisten Distributionen noch auf seine Installation wartet. Nach dem Aufruf von Pavucontrol über den Ausführen-Dialog oder im Terminalfenster zeigt die Registerkarte „Konfiguration“ den Status aller verbundenen Audiogeräte an. Im Feld „Profil“ eines Bluetooth-Kopfhörers steht üblicherweise „Aus“ oder „Kopfeinheit -Freisprecheinrichtung (HSP/HPF)“. Genau das ist der Fehler, denn erst die Auswahl des Profils „High Fidelty Playback“ veranlasst das Gerät zur Soundausgabe in Hi-Fi-Qualität.

PC-WELT Marktplatz

2427228