## Diese Warnung ist Bestandteil jedes Howtos und darf nicht entfernt werden. {{{#!vorlage Warnung Die Verwendung dieses Howto geschieht auf eigene Gefahr. Bei Problemen mit der Anleitung melde dies bitte in der dazugehörigen Diskussion und wende dich zusätzlich an den Verfasser des Howtos. }}} ## Bitte die Angaben zu dem letzten erfolgreichen Test dieser Anleitung eintragen: {{{#!vorlage Hinweis Diese Howto-Anleitung wurde zuletzt von [user:Newman68:] am 25.03.2021 unter '''Ubuntu Mate 20.10''' und '''Ubuntu Budgie 20.10''' erfolgreich getestet. }}} Die Kopplung eines Ubuntu-Desktop-Rechners mit einem [:Bluetooth:]-Gerät kann normalerweise durch Bedienung in der GUI erfolgen, beispielsweise beim Gnome-Desktop im System-Menü (rechts oben) per ''Einstellungen -> Bluetooth''. In diesem Howto wird am Beispiel des Bluetooth-Lautsprechers Yamaha YAS-106 ein alternativer Weg über die Kommandozeile beschrieben. = Anleitung = Diese Anleitung beruht auf im Internet gefundenen [#Links Blog-Einträgen]. Eine Kopplung zweier Bluetooth-Geräte erfordert immer drei Schritte: 1. Pairing: Die beiden Kommunikationspartner müssen wechselseitig die Bluetooth-Adresse der Gegenstelle kennen. 1. Trust: Sie müssen sich auch gegenseitig vertrauen. Dazu kann optional der Austausch von Passworten (PINs) vereinbart werden. Dies wird aber in diesem Howto nicht besprochen. 1. Connect: Es muss eine Verbindung aufgebaut werden. Ein Schließen dieser Verbindung bedeutet nicht Verlust des Vertrauens oder Vergessen der Adresse; somit kann später die Verbindung ohne die beiden ersten Schritte wieder hergestellt werden. == Voraussetzungen == Die Bluetooth-Schnittstelle muss natürlich eingeschaltet sein. Dies kann auf der Kommandozeile mit dem Befehl [:rfkill:] überprüft und ggf. auch geändert werden: {{{#!vorlage Befehl rfkill list rfkill unblock bluetooth }}} Bei manchen Desktop-Varianten muss man `rfkill` als [:root:] ausführen, z.B. durch ein voran gestelltes [:sudo:]. Die Aufhebung einer Blockierung auf Hardware-Ebene erfordert die Betätigung des Hardware-Schalters am Gerät. == Erstmalige Kopplung == Danach kann man mit dem Befehl {{{#!vorlage Befehl bluetoothctl }}} in den interaktiven Modus von `bluetoothctl` wechseln, Rückmeldung bei Erfolg wie: {{{Agent registered [CHG] Controller C0:E4:34:2C:D1:C2 Pairable: yes }}} Innerhalb des Programms dann {{{#!vorlage Befehl [bluetooth]# scan on }}} eingeben - die Erfolgsmeldung lautet z.B. (mit einer Liste an gefundenen Bluetooth-Devices, angeführt vom eigenen Controller CHG): {{{Discovery started [CHG] Controller C0:E4:34:2C:D1:C2 Discovering: yes [NEW] Device 78:BD:BC:5F:57:58 [TV] UE48JU6450 [NEW] Device C8:84:47:3E:94:86 [mark]YAS-106 Yamaha [/mark] [NEW] Device C8:B2:1E:58:64:2F SANITAS SBF70 [CHG] Device 78:BD:BC:5F:57:58 LegacyPairing: yes [NEW] Device 10:ED:0D:C8:01:BA 10-ED-0D-C8-01-BA [DEL] Device 10:ED:0D:C8:01:BA 10-ED-0D-C8-01-BA [NEW] Device 10:ED:0D:C8:01:BA 10-ED-0D-C8-01-BA ... }}} === Mögliche Fehler === 1. Ist der Bluetooth-Controller aus (z.B. wenn in /etc/bluetooth/main.conf der Controller durch den Befehl AutoEnable=false) defaultmäßig deaktiviert oder im Flugmodus, folgt eine Fehlermeldung (hier für den Flugmodus): \\ {{{Failed to start discovery: org.bluez.Error.NotReady}}} 1. Das Device ist bereits mit einem anderen Controller verbunden. Dann steht es diesem Rechner nicht zur Verfügung! Wird das gesuchte Device aufgelistet, das fortlaufende Scannen mit dem Befehl {{{#!vorlage Befehl [bluetoooth]# scan off }}} stoppen, die Adresse des gesuchten Devices mit der Maus markieren & in de Zwischenablage kopieren [[Vorlage(Tasten, Strg+Umschalt+C) ]]. Mit {{{#!vorlage Befehl [bluetooth]# pairable on }}} den Controller bereit machen, sich einem Device als Controller anzubieten - Erfolgsmeldung lautet: {{{Changing pairable on succeeded}}} Dann tatsächlich den Controller dem gewünschten Device anbieten (pairing): {{{#!vorlage Befehl [bluetooth]# pair C8:84:47:3E:94:86 }}} (Adresse aus der Zwischenablage einfügen mit [[Vorlage(Tasten, Strg+Umschalt+V) ]].) Meldung: {{{ Attempting to pair with C8:84:47:3E:94:86 [CHG] Device C8:84:47:3E:94:86 Connected: yes [CHG] Device C8:84:47:3E:94:86 UUIDs: 00001101-0000-1000-8000-00805f9b34fb [CHG] Device C8:84:47:3E:94:86 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb [CHG] Device C8:84:47:3E:94:86 UUIDs: 00001200-0000-1000-8000-00805f9b34fb [CHG] Device C8:84:47:3E:94:86 ServicesResolved: yes [CHG] Device C8:84:47:3E:94:86 Paired: yes Pairing successful [DEL] Device 65:A7:98:66:90:98 65-A7-98-66-90-98 [DEL] Device E0:4F:43:A6:70:09 AbilityBT_A0HBKC001514 [DEL] Device 10:ED:0D:C8:01:BA 10-ED-0D-C8-01-BA [CHG] Device C8:84:47:3E:94:86 ServicesResolved: no [CHG] Device C8:84:47:3E:94:86 Connected: no [DEL] Device 78:BD:BC:5F:57:58 [TV] UE48JU6450 [DEL] Device C8:B2:1E:58:64:2F SANITAS SBF70 }}} Das Device in die Liste der vertrauenswürdigen Geräte aufnehmen: {{{#!vorlage Befehl [bluetooth]# trust C8:84:47:3E:94:86 }}} {{{ [CHG] Device C8:84:47:3E:94:86 Trusted: yes Changing C8:84:47:3E:94:86 trust succeeded }}} und schließlich die benutzbare Verbindung herstellen: {{{#!vorlage Befehl [bluetooth]# connect C8:84:47:3E:94:86 }}} {{{ Attempting to connect to C8:84:47:3E:94:86 [CHG] Device C8:84:47:3E:94:86 Connected: yes Connection successful [CHG] Device C8:84:47:3E:94:86 ServicesResolved: yes }}} Nun sollte das Device systemweit benutzbar sein. Das Programm mit {{{#!vorlage Befehl [bluetooth]# exit }}} verlassen. im Falle eines Lautsprechers sollte dieser jetzt als [:PulseAudio:PulseAudio-Ausgabe] aufgelistet werden: {{{#!vorlage Befehl pactl list sinks short }}} == Wiederherstellung der Kopplung == Nach Abbau der Verbindung, z.B. nach einem Neustart muss die Bluetooth-Verbindung entweder * über den [:Bluetooth/GNOME-Bluetooth/:Bluetooth-Manager] * oder über die Konsole mit \\ {{{#!vorlage Befehl bluetoothctl [bluetooth]# connect C8:84:47:3E:94:86 }}} erneuert werden. Pairing und Trust bleiben erhalten, bis man es explizit widerruft. = Links = * [https://kofler.info/bluetooth-konfiguration-im-terminal-mit-bluetoothctl/ Bluetooth-Konfiguration im Terminal mit bluetoothctl] {de} – im Blog von Michael Kofler (2016) * [https://computingforgeeks.com/connect-to-bluetooth-device-from-linux-terminal/] {en} * [https://www.makeuseof.com/manage-bluetooth-linux-with-bluetoothctl/] {en} #tag: Howto