LINUX.ORG.RU

a2dp профиль в bluetooth наушниках доступен только после рестарта сервиса

 , ,


0

1

При первом подключении ушей, «High Fidelity Playback(A2DP Sink)» не доступен, есть только «Headset Head Unit(HSP/HFP)», который звучит ужасно. После systemctl restart bluetooth, «Headset Head Unit(HSP/HFP)» не доступен, а «High Fidelity Playback(A2DP Sink)» появляется, правда, чтоб появился звук, надо ещё зайти в pavucontrol, переключить профиль, например, на «off» и обратно на «High Fidelity Playback(A2DP Sink)». Если перезагрузить bluetooth ещё раз, всё возвращается в исходное состояние(headset_head_unit - присутствует, a2dp_sink - нет).

После перезагрузки сервиса, в логах следующее:

> systemctl status bluetooth
● bluetooth.service - Bluetooth service
     Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2021-02-01 20:40:36 CET; 6s ago
       Docs: man:bluetoothd(8)
   Main PID: 6250 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 19013)
     Memory: 660.0K
     CGroup: /system.slice/bluetooth.service
             └─6250 /usr/lib/bluetooth/bluetoothd

Feb 01 20:40:36 user-tobefilledbyoem bluetoothd[6250]: Bluetooth daemon 5.53
Feb 01 20:40:36 user-tobefilledbyoem systemd[1]: Started Bluetooth service.
Feb 01 20:40:36 user-tobefilledbyoem bluetoothd[6250]: Starting SDP server
Feb 01 20:40:36 user-tobefilledbyoem bluetoothd[6250]: Bluetooth management interface 1.18 initialized
Feb 01 20:40:36 user-tobefilledbyoem bluetoothd[6250]: Endpoint registered: sender=:1.36 path=/MediaEndpoint/A2DPSink/sbc
Feb 01 20:40:36 user-tobefilledbyoem bluetoothd[6250]: Endpoint registered: sender=:1.36 path=/MediaEndpoint/A2DPSource/sbc
Feb 01 20:40:36 user-tobefilledbyoem bluetoothd[6250]: Endpoint registered: sender=:1.46 path=/MediaEndpoint/A2DPSink/sbc
Feb 01 20:40:36 user-tobefilledbyoem bluetoothd[6250]: Endpoint registered: sender=:1.46 path=/MediaEndpoint/A2DPSource/sbc
Feb 01 20:40:36 user-tobefilledbyoem bluetoothd[6250]: RFCOMM server failed for Headset Voice gateway: rfcomm_bind: Address already in use (98)
Feb 01 20:40:36 user-tobefilledbyoem bluetoothd[6250]: RFCOMM server failed for :1.36/Profile/HSPHSProfile/00001108-0000-1000-8000-00805f9b34fb: rfcomm_bind: Address already in use (98)

Когда подсоединяю уши, появляются ещё такие строчки:

Feb 01 20:40:50 user-tobefilledbyoem bluetoothd[6250]: Unable to connect Headset Voice gateway: connect: Device or resource busy (16)
Feb 01 20:40:50 user-tobefilledbyoem bluetoothd[6250]: Connecting Headset Voice gateway failed: Input/output error
Feb 01 20:40:53 user-tobefilledbyoem bluetoothd[6250]: /org/bluez/hci0/dev_00_1B_66_E9_40_9A/sep1/fd0: fd(44) ready

pacmd list-cards, когда a2dp недоступен:

    index: 6
        name: <bluez_card.00_1B_66_E9_40_9A>
        driver: <module-bluez5-device.c>
        owner module: 32
        properties:
                device.description = "MOMENTUM 3"
                device.string = "00:1B:66:E9:40:9A"
                device.api = "bluez"
                device.class = "sound"
                device.bus = "bluetooth"
                device.form_factor = "headset"
                bluez.path = "/org/bluez/hci0/dev_00_1B_66_E9_40_9A"
                bluez.class = "0x240404"
                bluez.alias = "MOMENTUM 3"
                device.icon_name = "audio-headset-bluetooth"
                device.intended_roles = "phone"
        profiles:
                headset_head_unit: Headset Head Unit (HSP/HFP) (priority 30, available: yes)
                a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 40, available: no)
                off: Off (priority 0, available: yes)
        active profile: <headset_head_unit>
        sinks:
                bluez_sink.00_1B_66_E9_40_9A.headset_head_unit/#4: MOMENTUM 3
        sources:
                bluez_sink.00_1B_66_E9_40_9A.headset_head_unit.monitor/#7: Monitor of MOMENTUM 3
                bluez_source.00_1B_66_E9_40_9A.headset_head_unit/#8: MOMENTUM 3
        ports:
                headset-output: Headset (priority 0, latency offset 0 usec, available: yes)
                        properties:

                headset-input: Headset (priority 0, latency offset 0 usec, available: yes)
                        properties:

pacmd list-cards, когда a2dp доступен:

    index: 7
        name: <bluez_card.00_1B_66_E9_40_9A>
        driver: <module-bluez5-device.c>
        owner module: 33
        properties:
                device.description = "MOMENTUM 3"
                device.string = "00:1B:66:E9:40:9A"
                device.api = "bluez"
                device.class = "sound"
                device.bus = "bluetooth"
                device.form_factor = "headset"
                bluez.path = "/org/bluez/hci0/dev_00_1B_66_E9_40_9A"
                bluez.class = "0x240404"
                bluez.alias = "MOMENTUM 3"
                device.icon_name = "audio-headset-bluetooth"
                device.intended_roles = "phone"
        profiles:
                headset_head_unit: Headset Head Unit (HSP/HFP) (priority 30, available: no)
                a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 40, available: unknown)
                off: Off (priority 0, available: yes)
        active profile: <a2dp_sink>
        sinks:
                bluez_sink.00_1B_66_E9_40_9A.a2dp_sink/#5: MOMENTUM 3
        sources:
                bluez_sink.00_1B_66_E9_40_9A.a2dp_sink.monitor/#9: Monitor of MOMENTUM 3
        ports:
                headset-output: Headset (priority 0, latency offset 0 usec, available: unknown)
                        properties:

                headset-input: Headset (priority 0, latency offset 0 usec, available: no)
                        properties:

ОС - KDE neon 5.20 aka Ubuntu 20.04

Ведро - 5.10.0-1011-oem, но на изкоробочном linux-image-5.4.0 тоже самое

Bluetooth модуль - Gigabyte GC-WBAX200

Разнообразные танцы с бубном вокруг /etc/bluetooth/main.conf вроде отключения headset_head_unit профиля не помогают.

В чём может быть проблема и какую ещё информацию я могу предоставить, чтоб было понятнее, в чём проблема?

Оказалось, что у меня почему-то запущено 2 pulseaudio, один под пользователем user, другой - под sddm, и оба, похоже, запустил systemd(по-крайней мере, если верить pstree), поэтому я попробовал удалить /usr/lib/systemd/user/pulseaudio.{service,socket}, добавил pulseaudio --start в автозапуск кед и оно работает прекрасно, даже не надо дрочить профили туда-сюда, чтоб получить звук. Нормальным решением было бы разобраться, почему запускается 2 pulseaudio и оставить один.

Вот эти ссылки могут быть полезны, если вдруг кто-то решит разобраться, в чём причина(я не асилил):

https://bbs.archlinux.org/viewtopic.php?id=175241

https://unix.stackexchange.com/questions/204522/how-does-pulseaudio-start

devalone ★★ ()
26 апреля 2021 г.
Ответ на: комментарий от devalone

Pulseaudio --start. Это файл или команда?

автозапуск кед - это приложение автозапуска в KDE/Gnome? p.s я нуб совсем, поэтому сорян, если вопросы кажутся тупыми) уже пол интернета прошерстил…

anonymous ()
Ответ на: Pulseaudio --start. Это файл или команда? от anonymous

pulseaudio –start. Это файл или команда?

Команда.

автозапуск кед - это приложение автозапуска в KDE/Gnome?

Да, System settings -> Autostart -> Add

Кстати, это всё-таки не решило все проблемы, профили иногда всё ещё дрочу на одних наушниках

devalone ★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.