codehunter
Goto Top

Linux Mint 19.2 als A2DP Server

Hallo!

Fast jeder kennt ja so Aktivlautsprecher oder auch Headsets, mit denen man sich per Bluetooth verbinden kann. Sowas möchte ich mit einem Linux-Rechner nachbauen. Heißt, der Rechner soll sich wie ein Headset verhalten, das Smartphone soll Musik streamen und per BT ausgeben.

Jetzt bin ich schon mal so weit, dass ich Rechner und Smartphone gepaired habe und die Wiedergabe auch funktioniert. Wenn das Pairing erstmal durch ist, funktioniert die Soundausgabe ganz automatisch.

Nur ist das Procedere noch viel zu kompliziert. Das ganze muss sozusagen DAU-kompatibel werden. Heißt: Der Rechner darf nicht nach einer PIN verlangen. Er soll auch gar nicht erst Dateien annehmen oder ähnliches sondern wirklich nur als A2DP Sink fungieren. Im Idealfall geht beim Pairing nur ein Ja-Nein-Dialog auf.

Bevor hier eine Diskussion zum Thema Sicherheit losbricht: Mir ist das durchaus bewusst. Deshalb soll die Sicherheit dadurch gewährleistet sein, dass der Rechner dediziert als Mediacenter fungiert und Bluetooth ausschließlich zum Verbinden als A2DP-Link verwendet wird. Heißt, andere Dienste als diesen soll er gar nicht erst über Bluetooth zur Verfügung stellen.

Die Frage ist also: 1) Wie gewöhne ich dem Rechner ab, vom BT-Client eine PIN zu verlangen? 2) wie stelle ich sicher, dass über BT keinerlei andere Funktionen angeboten werden?

Danke euch schon mal und schönes Wochenende!

Viele Grüße
Cody

Content-ID: 501574

Url: https://administrator.de/contentid/501574

Ausgedruckt am: 05.11.2024 um 04:11 Uhr

H41mSh1C0R
H41mSh1C0R 04.10.2019 aktualisiert um 18:57:21 Uhr
Goto Top
Wie auch immer du das setzt, aber wenn du keine PIN nutzen willst müssen die Geräte auf Security Level 1 miteinander reden. =)

https://duo.com/decipher/understanding-bluetooth-security

vg
Codehunter
Codehunter 04.10.2019 um 19:11:43 Uhr
Goto Top
@H41mSh1C0R Soll mir recht sein face-smile Die Bluetooth-Ebene kann von mir aus völlig unverschlüsselt laufen. Solange der Rechner nur außer dem "Audio-Anschluss" nichts anderes auf diesem Interface anbietet. Die Frage ist halt nur: Wie konfiguriere ich das?
H41mSh1C0R
H41mSh1C0R 04.10.2019 aktualisiert um 19:37:25 Uhr
Goto Top
In der Config:

/etc/bluetooth/audio.conf

Unter General folgendes setzen.

Disable=Headset

BT Dienst neustarten und die Verbindung läuft nur noch unter dem A2DP Profile.

Ansonsten kannst du in der audio.conf noch andere Dinge deaktivieren, halt alles was du nicht brauchst.

VG
Codehunter
Codehunter 04.10.2019 aktualisiert um 20:28:17 Uhr
Goto Top
Zitat von @H41mSh1C0R:

> /etc/bluetooth/audio.conf
> 

Diese Datei gibt es bei mir nicht. Ich habe in dem Ordner nur main.conf, input.conf und network.conf

Daneben ist mir noch etwas eigenartiges aufgefallen: Wenn ich auf beiden Seiten das Pairing wieder lösche, sodass es wieder "jungfräulich" ist und neu anstoße, dann klappt zunächst die Audiowiedergabe gar nicht oder nur stotternd. Erst nachdem ich den Rechner einmal neu gestartet habe, funktioniert es sauber. Ein service bluetooth restart brachte da auch keine Besserung im laufenden Betrieb.
aqui
aqui 04.10.2019 aktualisiert um 20:43:18 Uhr
Goto Top
Ein alter Hut:
https://www.heise.de/ct/ausgabe/2015-9-Raspi-Projekt-Streaming-Ziel-Ghet ...
https://www.heise.de/select/ct/2018/11/1526852582879200
Und zig andere Anleitungen im Internet.
Da steht alles was man machen muss damit es fehlerlos klappt.
H41mSh1C0R
H41mSh1C0R 04.10.2019 um 21:12:03 Uhr
Goto Top
Die CT Teile kannste nur lesen wenn du ein Abo abschließt. =)
Codehunter
Codehunter 04.10.2019 aktualisiert um 23:10:26 Uhr
Goto Top
Zitat von @aqui:

Ein alter Hut:
https://www.heise.de/ct/ausgabe/2015-9-Raspi-Projekt-Streaming-Ziel-Ghet ...
https://www.heise.de/select/ct/2018/11/1526852582879200
Und zig andere Anleitungen im Internet.
Da steht alles was man machen muss damit es fehlerlos klappt.

Nicht ganz. Die beziehen sich alle auf den Raspi. Ich habe aber einen altehrwürdigen Core i3. Raspbian-spezifische Dinge stehen mir also gar nicht zur Verfügung.

Zweitens besagen die allermeisten dieser Anleitungen, dass der Pairing-Vorgang via bluetoothctl in der Shell zu erledigen wäre. Das scheidet schon durch die Aufgabenstellung "DAU-kompatibel" aus face-wink

Wie gesagt, technisch bekomme ich es ja problemlos ans Laufen, nur der Weg vom "ungepairten" Gerätepaar zur laufenden Audiowiedergabe ist mit zu vielen Fallstricken verbunden. Konkret müsste ich zwei Dinge ändern: 1) die Abfrage einer Pairing-PIN abschalten und 2) die anfangs hakelige Audiowiedergabe im laufenden Betrieb reparieren (z.B. durch ein Script, das per Desktop-Icon aufgerufen werden kann)

Nachtrag: Das Problem mit den Aussetzern bei neu gepairten Geräten konnte ich eingrenzen. Nach einem killall pulseaudio und manuellem Start in der Konsole sehe ich:
Cannot set requested latency of 66,67 ms, adjusting to 135,29 ms
Too many underruns, increasing latency to 205,00 ms
aqui
aqui 05.10.2019 aktualisiert um 11:16:20 Uhr
Goto Top
Die CT Teile kannste nur lesen wenn du ein Abo abschließt
Nein !
Man kann sie auch einzeln runterladen OHNE ein Abo ! Oder...
Kennt einen der einen kennt der ein Abo hat face-wink
Wenn man aber mal etwas intelligent nach "Raspberry music bluetooth" bei Dr. Google sucht findet man gefühlt 1000 Threads und mehr zu dem Thema... face-wink
H41mSh1C0R
H41mSh1C0R 05.10.2019 um 13:03:36 Uhr
Goto Top
Zitat von @aqui:
Nein !
Man kann sie auch einzeln runterladen OHNE ein Abo ! Oder...

Hier werden egal bei welchem Browser beide Artikel hinter einer Abo Paywall versteckt.

abo

Oder man macht das Spielchen "jetzt gratis testen" mit und vergisst das Kündigen und hat dann das Abo an der Backe.

Mir aber wurscht da AG alle CT's bereitstellt. *gg* So ganz Oldschool zum blättern.

=)
Codehunter
Codehunter 23.11.2019 um 20:28:01 Uhr
Goto Top
Jetzt bin ich nach langer Zeit mal wieder dazu gekommen, mich mit dem Problem zu befassen. Letztendlich war es gar kein Softwareproblem sondern es lag an der schnöden Physik! Bluetooth: 2,4 GHz. WLAN: 2,4 GHz. Cherry Cordless: 2,4 GHz.

Kabelmaus und -tastatur dran, WLAN auf 5 GHz gezwungen und schwuppdiwupp gab es keine Lags mehr. Dann fiel mir noch der Bluetooth-USB-Stick auf, der war aus meiner Grabbelkiste und wohl über 15 Jahre alt. Hatte wohl mal eine externe Antenne die abgebrochen ist. Ein neuerer USB-Winzling von Logilink machte z.B. auch keine Späne mehr beim Booten. Da hat der alte schon gerne mal einen Init-Error ausgeworfen.

Das einzige das mich jetzt noch regelmäßig in die Tischplatte beißen lässt ist das BT-Pairing unter Cinnamon. Man klickt im BT-Manager des Host das ungepairte Gerät an und es erscheint am Host sowie am Client die PIN-Abfrage. Beide zeigen initial verschiedene PINs an. Ja welche gibt man denn nu wo ein? Manchmal erschien auch nur am Client eine PIN, der Host zeigte nicht mal eine Abfrage dafür. Das kann man ne ganze Weile so durchspielen und kriegt nie eine Verbindung zustande. Bis ich dann mal zufällig die richtige Reihenfolge rausgefunden hatte: Man wählt erst auf dem Host und dann auf dem Client das jeweils andere Gerät im BT-Manager, gibt dann die PIN vom Host im Client ein und klickt dann zuerst am Client und danach erst am Host auf Bestätigen. Muss aber zugeben, das ist unter Windows auch nicht viel besser. Scheinbar ein Konstruktionsfehler von Bluetooth.