# Bluetooth Kopfhörer PX210BT am Notebook als Soundausgabe

## alexander_ro

Hi Mädels ... Jungs ...  :Smile: 

Ich versuche gerade meinen Sennheiser PX210BT an meinem Alien Notebook als Soundausgabe zu verwenden. Das Pairing mit bluetoothctl hat noch funktioniert aber leider kann man sich nicht connecten zum Kopfhörer.

```

[bluetooth]# devices

Device 00:16:94:09:A5:12 Sennheiser PX210BT

[bluetooth]# connect 00:16:94:09:A5:12 

Attempting to connect to 00:16:94:09:A5:12

[CHG] Device 00:16:94:09:A5:12 Connected: yes

Failed to connect: org.bluez.Error.Failed

[CHG] Device 00:16:94:09:A5:12 Connected: no

[CHG] Device 00:16:94:09:A5:12 Connected: yes

[CHG] Device 00:16:94:09:A5:12 Connected: no

```

Leider sind die Beschreibungen die ich gefunden habe alle nicht ganz aktuell. Meist benutzen die noch das hciconfig das es nicht mehr gibt und auch die Kernel Einstellungen passen nicht mehr so ganz zu meinem 4.19.57-gentoo Kernel. Vermutlich fehlt noch irgendeine Kerneloption ich komme aber irgendwie gerade nicht drauf welche es sein könnte?

Ich hätte das gerne so gehabt das wenn sich der Kopfhörer verbindet automatisch die Soundausgabe auf den Umgeleitet wird. Gehen muss das weil ich es schon mal bei einem gesehen habe nur wie habe ich auch gerade keine Idee. Ideen oder Links sind gerne gesehen ...  :Smile: 

Grüße

Alexander

----------

## Christian99

hm, manuell/mit cli hab ich nicht viel Ahnung von Bluetooth.

Bisher hab ich das nur von KDE aus verwendet, in Kombination mit pulseaudio

wird da bei verbinden eines BT Kopfhörers/Lautsprechers automatisch auf diesen umgeschaltet.

Hast du eine DE verfügbar, die BT unterstützt? und verwendest du pulseaudio oder einfaches alsa?

----------

## alexander_ro

Was denn für ein DE?

Ich habe es mal mit alsa probiert: "media-sound/bluez-alsa-1.4.0". Installiert sind im Moment folgende Pakete:

```

alien # qlist -Iv | grep pulse

media-sound/pulseaudio-12.2-r1

xfce-extra/xfce4-pulseaudio-plugin-0.4.1

alien # qlist -Iv | grep alsa

media-libs/alsa-lib-1.1.8

media-plugins/alsa-plugins-1.1.8

media-sound/alsa-utils-1.1.8

media-sound/bluez-alsa-1.4.0

alien /home/alex # 

```

Aber das erste Problem ist der Fehler beim connect zum Kopfhörer: "Failed to connect: org.bluez.Error.Failed".

Ich vermute das liegt an einer Kerneloption. Oder kann es sein das ein Notebook keine Bluetooth Audio Geräte unterstützt?

----------

## Christian99

naja, KDE hat auf jeden fall bluetooth support, und Gnome wahrscheinlich auch.

wie es mit anderend DEs aussieht weiß ich nicht.

Kernel optionen fehlen eher keine, da der Kernel nur Treiber zur verfügung stellt und der rest des BT stacks (bluez) im userspace läuft.

in gentoo solltest du aber das bluetooth useflag aktiviert haben.

bluez-alsa habe ich gar nicht installiert, vermutlich weil man das mit pulseaudio gar nicht braucht.

Evtl. kannst du mal net-wireless/blueman als bluetooth manager probieren, scheint wohl DE unabhängig zu sein.

----------

## alexander_ro

Ich benutze gerade einen Xfce.

Das USE-Flag bluetooth habe ich schon aktiviert. Das connecten zu anderen Bluetooth Geräten wie z.B. Computer oder Handy funktioniert auch. Der Kopfhörer geht zum Beispiel auch am Handy also an dem liegt es nicht.

Der net-wireless/blueman ist scheinbar noch sehr neu bei Gentoo gibt nur eine Testing Version. Ich werde den mal probieren. Das mit bluez-alsa habe ich im Gentoo Wiki gefunden und halt mal ausprobiert.

Ich dachte die Alsa Treiber sind die im Kernel. Früher musste man oft noch die Unterstützung für Geräte Profile wie z.B. Audio mit irgendwelchen Optionen aktivieren. Daher meine Vermutung mit dem Kernel Treiber.

----------

## alexander_ro

Der Blueman sagt beim verbinden zum Kopfhörer: "Verbindung fehlgeschlagen:  Resource temporarily unavailable"

<Edit>

Wie geht das eigentlich?

Bluez macht doch das pairing und den connect. Dann werden die Daten zu pullseaudio übertragen. Wird da einfach ein Disconnect automatisch ausgeführt falls Pulsaudio mit den Daten nicht klar kommt oder Spielt es einfach keinen Ton?

Der Kopfhörer sendet die Daten aptX Codiert und nach den zum Teil leider auch schon älteren Dokumenten die ich gefunden habe wird das von Pulsaudio nicht unterstützt. Sondern nur über andere Projekte die eingene Treiber bauten.

</Edit>

<EditNochMal  :Smile: >

Mit dem Tool btmon habe ich ein Tool gefunden das es noch gibt. Wenn ich über blueman zum Kopfhörer verbinden will zeigt btmon folgenden Fehlermeldung:

bluetoothd: a2dp-sink profile connect failed for 00:16:94:09:A5:12: Protocol not available

Fragt sich jetzt nur wie komme ich zu dem Protocol a2dp-sink?

</EditNochMal  :Smile: >

<Debug Meldungen>

Nach einigem probieren habe ich es noch hin bekommen dem Ding etwas mehr Infos zu entlocken.

Aug 13 20:56:22 alien bluetoothd[6048]: src/device.c:connect_profiles() /org/bluez/hci0/dev_00_16_94_09_A5_12 (all), client :1.22

Aug 13 20:56:22 alien bluetoothd[6048]: profiles/audio/a2dp.c:a2dp_sink_connect() path /org/bluez/hci0/dev_00_16_94_09_A5_12

Aug 13 20:56:22 alien bluetoothd[6048]: a2dp-sink profile connect failed for 00:16:94:09:A5:12: Protocol not available

Das in den Meldungen genannte Profil konnte ich auch um Source Code finden. Aber das mit dem Protocol das nicht verfügbar sein soll nicht. Mir ist auch nicht so recht klar was die mit Protocol meinen. Die Profile sind ja verschiedene Anwendungsbereiche wie Audio, Netzwerk, usw. aber was ist das Protocol?

</Debug Meldungen>

----------

## alexander_ro

Das muss irgendein Grundsätzliches Problem mit dem bluetoothd sein. Ich kann auch andere Geräte nur mehr Koppeln aber nicht verbinden. Auch ein externer USB Bluetooth Adapter hilft nicht weiter. Irgendwie kaputt das ganze ...  :Sad: 

----------

## alexander_ro

```

Aug 28 12:06:02 alien bluetoothd[5980]: Bluetooth daemon 5.50

Aug 28 12:06:02 alien bluetoothd[5980]: Starting SDP server

Aug 28 12:06:02 alien bluetoothd[5980]: kernel lacks bnep-protocol support

Aug 28 12:06:02 alien bluetoothd[5980]: System does not support network plugin

Aug 28 12:06:02 alien bluetoothd[5980]: Bluetooth management interface 1.14 initialized

Aug 28 12:06:02 alien bluetoothd[5980]: RFCOMM server failed for Message Notification: socket(STREAM, RFCOMM): Protocol not supported (93)

Aug 28 12:06:02 alien bluetoothd[5980]: RFCOMM server failed for Message Access: socket(STREAM, RFCOMM): Protocol not supported (93)

Aug 28 12:06:02 alien bluetoothd[5980]: RFCOMM server failed for Phone Book Access: socket(STREAM, RFCOMM): Protocol not supported (93)

Aug 28 12:06:02 alien bluetoothd[5980]: RFCOMM server failed for Synchronization: socket(STREAM, RFCOMM): Protocol not supported (93)

Aug 28 12:06:02 alien bluetoothd[5980]: RFCOMM server failed for File Transfer: socket(STREAM, RFCOMM): Protocol not supported (93)

Aug 28 12:06:02 alien bluetoothd[5980]: RFCOMM server failed for Object Push: socket(STREAM, RFCOMM): Protocol not supported (93)

```

```

--- Bluetooth subsystem support

[*]   Bluetooth Classic (BR/EDR) features

<*>     RFCOMM protocol support

[*]       RFCOMM TTY support

<*>     BNEP protocol support

[*]       Multicast filter support

[*]       Protocol filter support

<*>     HIDP protocol support

[*]     Bluetooth High Speed (HS) features

[*]   Bluetooth Low Energy (LE) features

[ ]   Enable LED triggers

[ ]   Bluetooth self testing support

[*]   Export Bluetooth internals in debugfs

```

Hat vielleicht jemand einen Tipp wie man den fehlenden Kernel Support für bnep-protocol bekommt?

... und was die unter "network plugin" Support verstehen?

<Edit>

Muss man erst mal darauf kommen. Die obigen Fehlermeldungen verschwinden alle wenn man das als Kernel-Module macht. Der bluetoothd glaubt scheinbar wenn es kein Modul gibt kann der Kernel das nicht. Das muss halt nicht so sein da man Module auch in den Kernel integrieren kann. Was ich immer gerne mit den Modulen mache die zur jeweiligen Hardware passen. Jetzt ist halt die Frage bei was allem der noch glaubt mir fehlt das Modul obwohl es ein compiliert wurde.

```

<M>     RFCOMM protocol support

<M>     BNEP protocol support

<M>     HIDP protocol support

```

</Edit>

Irgendwie habe ich den Eindruck Bluetooth unter Linux benutzt keiner ... bin mir nicht sicher.

----------

## alexander_ro

Für das Paket "media-sound/pulseaudio-modules-bt-9999"  wurde eine Abhängigkeit nicht mit installiert. Ohne die geht nichts was mit A2DP zu tun hat.

```

Das fehlte: emerge --ask media-libs/libldac

```

Jetzt sieht auch der Start des bluetoothd besser aus:

```

Aug 28 17:40:51 alien bluetoothd[6168]: Bluetooth daemon 5.50

Aug 28 17:40:51 alien bluetoothd[6168]: Starting SDP server

Aug 28 17:40:51 alien bluetoothd[6168]: Bluetooth management interface 1.14 initialized

Aug 28 17:40:51 alien pulseaudio[4382]: [pulseaudio] backend-ofono.c: Failed to register as a handsfree audio agent with ofono: org.freedesktop.DBus.Error.ServiceUnknown: The name org.ofono was not provided by any .service files

Aug 28 17:40:51 alien bluetoothd[6168]: Endpoint registered: sender=:1.33 path=/MediaEndpoint/A2DPSource/VENDOR/LDAC

Aug 28 17:40:51 alien bluetoothd[6168]: Endpoint registered: sender=:1.33 path=/MediaEndpoint/A2DPSource/VENDOR/APTXHD

Aug 28 17:40:51 alien bluetoothd[6168]: Endpoint registered: sender=:1.33 path=/MediaEndpoint/A2DPSource/VENDOR/APTX

Aug 28 17:40:51 alien bluetoothd[6168]: Endpoint registered: sender=:1.33 path=/MediaEndpoint/A2DPSource/AAC

Aug 28 17:40:51 alien bluetoothd[6168]: Endpoint registered: sender=:1.33 path=/MediaEndpoint/A2DPSource/SBC

Aug 28 17:40:51 alien bluetoothd[6168]: Endpoint registered: sender=:1.33 path=/MediaEndpoint/A2DPSink/VENDOR/APTXHD

Aug 28 17:40:51 alien bluetoothd[6168]: Endpoint registered: sender=:1.33 path=/MediaEndpoint/A2DPSink/VENDOR/APTX

Aug 28 17:40:51 alien bluetoothd[6168]: Endpoint registered: sender=:1.33 path=/MediaEndpoint/A2DPSink/AAC

Aug 28 17:40:51 alien bluetoothd[6168]: Endpoint registered: sender=:1.33 path=/MediaEndpoint/A2DPSink/SBC

Aug 28 17:41:22 alien bluetoothd[6168]: connect error: Connection refused (111)

```

Leider geht es immer noch nicht. In der letzten Log Zeile steht die aktuelle Fehlermeldung die jetzt kommt beim Verbinden mit dem Kopfhörer.

Ideen zur Lösung sind gerne gesehen ...  :Smile: 

----------

## misterjack

 *alexander_ro wrote:*   

> 
> 
> Jetzt sieht auch der Start des bluetoothd besser aus:
> 
> ```
> ...

 

Nicht nur in der letzten  :Wink: 

```
eix ofono

* net-misc/ofono

     Verfügbare Versionen:   1.16 (~)1.28 (~)1.29 {+atmodem bluetooth +cdmamodem +datafiles doc dundee examples +isimodem +phonesim +provision +qmimodem threads tools +udev upower}

     Startseite:             https://01.org/ofono

     Beschreibung:           Open Source mobile telephony (GSM/UMTS) daemon
```

Ist das Dingens installiert?

----------

## alexander_ro

Ja, das Dingens ist installiert:

```

qlist -Iv | grep ofono

net-misc/ofono-1.16

```

----------

## alexander_ro

Jetzt habe ich noch ein USE-Flag (ofono-headset) gefunden das dazu gehören könnte. Leider verträgt sich da etwas dann nicht mehr.

```

emerge --ask pulseaudio

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R    ] media-sound/pulseaudio-12.2-r2  USE="bluetooth* ofono-headset*" 

!!! Multiple package instances within a single package slot have been pulled

!!! into the dependency graph, resulting in a slot conflict:

media-sound/pulseaudio:0

  (media-sound/pulseaudio-12.2-r2:0/0::gentoo, ebuild scheduled for merge) pulled in by

    media-sound/pulseaudio (Argument)

  (media-sound/pulseaudio-12.2-r2:0/0::gentoo, installed) pulled in by

    media-sound/pulseaudio[-bluetooth] required by (media-sound/pulseaudio-modules-bt-9999:0/0::gentoo, installed)

                           ^^^^^^^^^^                                                                                                                 

```

Sehe ich das richtig das das Modul von pulseaudio für bluetooth fordert das man das USE-Flag für bluetooth ausschaltet. Soll das so sein erscheint mir Merkwürdig ... das ofono für Handsfree braucht aber das USE-Flag bluetooth.

----------

## misterjack

oder einfach media-sound/pulseaudio-modules-bt runterwerfen, dann lässt sich pulseaudio mit USE="bluetooth" emergen

----------

## alexander_ro

Auf jeden Fall einen Versuch wert danke ...  :Smile: 

Ich dachte man braucht die beide aber vielleicht ist dem ja nicht so.

<Edit>

Hat leider so nicht funktioniert. An dem ofono USE-Flag liegt es scheinbar nicht ...  :Sad: 

```

Sep 10 16:51:01 alien pulseaudio[4385]: [pulseaudio] backend-ofono.c: Failed to register as a handsfree audio agent with ofono: org.freedesktop.DBus.Error.ServiceUnknown: The name org.ofono was not provided by any .service files

```

</Edit>

----------

## l3u

Das hier hast du schon gelesen? https://wiki.gentoo.org/wiki/Bluetooth_headset Mit der Anleitung hab ich (ohne pulesaudio, nur mit bluealsa) Soundausgabe über meinen JBL-GO+-Bluetooth-Lautsprecher hinbekommen.

----------

## alexander_ro

Ja das habe ich auch schon mal probiert hatte aber auch nicht funktioniert ...  :Sad: 

Das größte Ärgernis ist ja nicht mal das es nicht funktioniert sondern das die Programme zwar wissen was schief läuft aber diese Information akribisch mit ins Grab nehmen ...

----------

## alexander_ro

Nach einer kleinen Pause habe ich mich mal wieder mit dem Problem beschäftigt und folgendes gefunden.

Den ofono muss man mit /etc/init.d/ofono starten das wusste ich nicht ich habe nur kontrolliert ob er installiert ist. Wenn ich den als root starte schreibt er folgendes ins Log:

```

Oct 14 11:29:47 alien ofonod[7795]: oFono version 1.16

Oct 14 11:29:47 alien dbus-daemon[3864]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.35" (uid=1000 pid=4352 comm="/usr/bin/pulseaudio --start --log-target=syslog ") interface="org.ofono.HandsfreeAudioManager" member="Register" error name="(unset)" requested_reply="0" destination="org.ofono" (uid=0 pid=7795 comm="/usr/sbin/ofonod ")

Oct 14 11:29:47 alien pulseaudio[4352]: [pulseaudio] backend-ofono.c: Failed to register as a handsfree audio agent with ofono: org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 2 matched rules; type="method_call", sender=":1.35" (uid=1000 pid=4352 comm="/usr/bin/pulseaudio --start --log-target=syslog ") interface="org.ofono.HandsfreeAudioManager" member="Register" error name="(unset)" requested_reply="0" destination="org.ofono" (uid=0 pid=7795 comm="/usr/sbin/ofonod ")

```

Irgendwie läuft der pulse Audio mit meinem User (1000) und darf das dann nicht. Nur habe ich gerade keine Idee wie man das ändern müsste damit der das dann darf?

----------

## alexander_ro

Jetzt gab es ja ein Update bei dem Bluetooth Paket "net-wireless/bluez-5.51" seit dem kann sich auch mein Kopfhörer verbinden und Musik spielen. Man kann am Kopfhörer auch die Lautstärke einstellen. Die Tasten "Play" und "Vor/Zurück" gehen aber leider nicht.

Beim verbinden des Kopfhörers sagt der:

```

Nov  4 10:09:35 alien bluetoothd[3871]: /org/bluez/hci0/dev_00_16_94_09_A5_12/fd1: fd(20) ready

Nov  4 10:09:35 alien bluetoothd[3871]: Control: Refusing unexpected connect

Nov  4 10:09:36 alien bluetoothd[3871]: Can't open input device: No such file or directory (2)

Nov  4 10:09:36 alien bluetoothd[3871]: AVRCP: failed to init uinput for 00:16:94:09:A5:12

```

Für mich klingt das nicht so als würde es funktionieren aber Musik spielt er.

Ob der ofono gestartet ist macht keinen Unterschied. Der ofono sagt das beim starten:

```

Nov  4 10:18:50 alien ofonod[6142]: oFono version 1.16

Nov  4 10:18:50 alien ofonod[6142]: Unable to hop onto D-Bus: Connection ":1.74" is not allowed to own the service "org.ofono" due to security policies in the configuration file

Nov  4 10:18:50 alien ofonod[6142]: Exit

```

Gestartet habe ich den mit /etc/init.d/ofono start

Vielleicht hat ja noch jemand eine Idee woran das liegen könnte ...  :Smile: 

----------

## alexander_ro

Es gibt da so ein Kernel-Modul es nennt sich uinput das gab es bei mir nicht deshlab haben keine Knöpfe am Kopfhörer funktioniert außer der Lautstärke. Warum aber die Lautstärke Knöpfe dieses Modul nicht brauchen würde mich zwar interessieren konnte ich aber nicht finden.

Option beim Kernel 4.19.72 die bei mir fehlte:

Device Drivers ---> Input device support ---> Miscellaneous devices  ---> <M>   User level driver support

Modul laden: modprobe uinput

Nun sieht das verbinden im Log so aus:

```

Nov  7 16:56:09 alien bluetoothd[3929]: /org/bluez/hci0/dev_00_16_94_09_A5_12/fd1: fd(20) ready

Nov  7 16:56:09 alien bluetoothd[3929]: Control: Refusing unexpected connect

```

Was er mir mit dem Refusing unexpected connect sagen will ist mir nicht bekannt.

----------

