Bug 1944163 - Bluetooth audio periodically disconnects
Summary: Bluetooth audio periodically disconnects
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: pipewire
Version: 34
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
Assignee: Wim Taymans
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-03-29 12:56 UTC by Thomas Wright
Modified: 2022-06-08 01:08 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-06-08 01:08:43 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
freedesktop.org Gitlab pipewire pipewire issues 732 0 None opened Bluetooth disconnects after a while 2021-06-21 15:39:26 UTC
freedesktop.org Gitlab pulseaudio pulseaudio issues 1155 0 None opened Intel AX20x bluetooth disconnecting intermittently since linux-firmware 20210208 update 2021-06-21 15:39:26 UTC

Description Thomas Wright 2021-03-29 12:56:47 UTC
Description of problem:

Audio on Aftershokz Aeroplex bluetooth (bone conduction) headphones is periodically disconnected, leading to no sound output until the manually reconnecting the headphones (via Gnome's Bluetooth settings). Issue occurs in video calls or when listening to music. No such issue occurs when using these headphones on Android; I have not tested other bluetooth headphones or this device on Fedora 33. At the time of disconnect the following log entries are left:

Mar 29 14:34:45 strogonoff pipewire-media-session[53138]: a2dp-sink 0x564852b2d6b8: error 24
Mar 29 14:34:45 strogonoff pipewire-media-session[53138]: a2dp-sink 0x564852b2d6b8: ioctl fail: Bad file descriptor
Mar 29 14:34:45 strogonoff pipewire-media-session[53138]: a2dp-sink 0x564852b2d6b8: ioctl fail: Bad file descriptor
Mar 29 14:34:45 strogonoff pipewire-media-session[53138]: a2dp-sink 0x564852b2d6b8: ioctl fail: Bad file descriptor
Mar 29 14:34:45 strogonoff pipewire-media-session[53138]: Failed to release transport /org/bluez/hci0/dev_20_74_CF_59_16_8A/sep1/fd2: Method "Release" with signature "" on interface "org.bl>
Mar 29 14:34:45 strogonoff gsd-media-keys[75278]: Unable to get default sink
Mar 29 14:34:51 strogonoff bluetoothd[1590]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to 20:74:CF:59:16:8A: Host is down (112)
Mar 29 14:34:51 strogonoff systemd-timesyncd[57573]: Timed out waiting for reply from 85.10.240.253:123 (0.fedora.pool.ntp.org).
Mar 29 14:34:53 strogonoff bluetoothd[1590]: src/service.c:btd_service_connect() a2dp-sink profile connect failed for 20:74:CF:59:16:8A: Device or resource busy
Mar 29 14:34:53 strogonoff bluetoothd[1590]: plugins/policy.c:reconnect_timeout() Reconnecting services failed: Device or resource busy (16)


Version-Release number of selected component (if applicable):
0.3.24-4.fc34


How reproducible:


Steps to Reproduce:
1. Connect bluetooth headphones
2. Listen to music or make a video call for ~15-30min (cutout time varies)

Actual results:

Bluetooth will stop playing, bluetooth device will appear connected for a few seconds, and then appear disconnected.


Expected results:

Music will play continuously without interruption.


Additional info:

Comment 1 David Moreau Simard 2021-06-21 15:34:43 UTC
I am seeing this issue on Fedora 34 as well though I also had it on Fedora 33 before upgrading. I was in fact hoping that the upgrade and switch to pipewire would address the issue so I am not sure that the issue is directly related to pipewire.

I now wish I had captured logs of the issue happening on Fedora 33, I suppose I can try reproducing the issue with a live USB if that can be helpful.

My error log is similar to the original post:
====
Jun 21 11:26:25 localhost.localdomain pipewire-media-session[5138]: a2dp-sink 0x55dbe87206a8: error 24
Jun 21 11:26:25 localhost.localdomain pipewire-media-session[5138]: a2dp-sink 0x55dbe87206a8: ioctl fail: Bad file descriptor
Jun 21 11:26:25 localhost.localdomain /usr/libexec/gdm-x-session[12092]: (II) config/udev: removing device Beoplay H9 (AVRCP)
Jun 21 11:26:25 localhost.localdomain /usr/libexec/gdm-x-session[12092]: (**) Option "fd" "117"
Jun 21 11:26:25 localhost.localdomain /usr/libexec/gdm-x-session[12092]: (II) event25 - Beoplay H9 (AVRCP): device removed
Jun 21 11:26:25 localhost.localdomain /usr/libexec/gdm-x-session[12092]: (II) UnloadModule: "libinput"
Jun 21 11:26:25 localhost.localdomain /usr/libexec/gdm-x-session[12092]: (II) systemd-logind: releasing fd for 13:89
Jun 21 11:26:25 localhost.localdomain pipewire-media-session[5138]: a2dp-sink 0x55dbe87206a8: ioctl fail: Bad file descriptor
Jun 21 11:26:25 localhost.localdomain bluetoothd[5618]: src/profile.c:ext_io_disconnected() Unable to get io data for Hands-Free Voice gateway: getpeername: Transport endpoint is not connected (107)
Jun 21 11:26:25 localhost.localdomain pipewire-media-session[5138]: Failed to release transport /org/bluez/hci0/dev_00_09_A7_59_F8_51/sep3/fd1: Method "Release" with signature "" on interface "org.bluez.MediaTransport1" doesn't exist
Jun 21 11:26:25 localhost.localdomain gsd-media-keys[12500]: Unable to get default sink
Jun 21 11:26:27 localhost.localdomain bluetoothd[5618]: src/service.c:btd_service_connect() a2dp-sink profile connect failed for 00:09:A7:59:F8:51: Device or resource busy
Jun 21 11:26:27 localhost.localdomain bluetoothd[5618]: plugins/policy.c:reconnect_timeout() Reconnecting services failed: Device or resource busy (16)
Jun 21 11:26:27 localhost.localdomain bluetoothd[5618]: /org/bluez/hci0/dev_00_09_A7_59_F8_51/sep3/fd2: fd(41) ready
====

Comment 2 Victoria Martinez de la Cruz 2022-03-02 09:08:14 UTC
Seeing the same issue in Fedora 34

Kernel version: 5.16.11-100.fc34.x86_64

pipewire
Compiled with libpipewire 0.3.40
Linked with libpipewire 0.3.40

journalctl shows the following

Mar 02 10:05:04 madhat pipewire-media-session[2412]: spa.bluez5.sink.a2dp: 0x55f90753cb48: error 24
Mar 02 10:05:04 madhat /usr/libexec/gdm-x-session[2210]: (II) event20 - HD 4.50BTNC (AVRCP): device removed
Mar 02 10:05:04 madhat pipewire-media-session[2412]: spa.bluez5.sink.a2dp: 0x55f90753cb48: ioctl fail: Bad file descriptor
Mar 02 10:05:04 madhat bluetoothd[109307]: src/profile.c:ext_io_disconnected() Unable to get io data for Hands-Free Voice gateway: getpeername: Transport endpoint is not connected (107)
Mar 02 10:05:04 madhat pipewire-media-session[2412]: spa.bluez5: Failed to release transport /org/bluez/hci0/dev_00_16_94_1F_90_CC/sep1/fd0: Method "Release" with signature "" on interface "org.bluez.MediaTransport1" doesn't exist
Mar 02 10:05:04 madhat /usr/libexec/gdm-x-session[2210]: (II) config/udev: removing device HD 4.50BTNC (AVRCP)
Mar 02 10:05:04 madhat /usr/libexec/gdm-x-session[2210]: (**) Option "fd" "124"
Mar 02 10:05:04 madhat /usr/libexec/gdm-x-session[2210]: (II) UnloadModule: "libinput"
Mar 02 10:05:04 madhat /usr/libexec/gdm-x-session[2210]: (II) systemd-logind: releasing fd for 13:84
Mar 02 10:05:04 madhat /usr/libexec/gdm-x-session[2210]: (EE) systemd-logind: failed to release device: Device not taken
Mar 02 10:05:04 madhat gsd-media-keys[2535]: Unable to get default sink
Mar 02 10:05:07 madhat kernel: input: HD 4.50BTNC (AVRCP) as /devices/virtual/input/input53
Mar 02 10:05:07 madhat systemd-logind[1324]: Watching system buttons on /dev/input/event20 (HD 4.50BTNC (AVRCP))
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (II) config/udev: Adding input device HD 4.50BTNC (AVRCP) (/dev/input/event20)
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (**) HD 4.50BTNC (AVRCP): Applying InputClass "evdev keyboard catchall"
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (**) HD 4.50BTNC (AVRCP): Applying InputClass "libinput keyboard catchall"
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (**) HD 4.50BTNC (AVRCP): Applying InputClass "system-keyboard"
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (II) Using input driver 'libinput' for 'HD 4.50BTNC (AVRCP)'
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (II) systemd-logind: got fd for /dev/input/event20 13:84 fd 124 paused 0
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (**) HD 4.50BTNC (AVRCP): always reports core events
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (**) Option "Device" "/dev/input/event20"
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (**) Option "_source" "server/udev"
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (II) event20 - HD 4.50BTNC (AVRCP): is tagged by udev as: Keyboard
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (II) event20 - HD 4.50BTNC (AVRCP): device is a keyboard
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (II) event20 - HD 4.50BTNC (AVRCP): device removed
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (**) Option "config_info" "udev:/sys/devices/virtual/input/input53/event20"
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (II) XINPUT: Adding extended input device "HD 4.50BTNC (AVRCP)" (type: KEYBOARD, id 21)
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (**) Option "xkb_layout" "es,us"
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (**) Option "xkb_variant" ","
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (II) event20 - HD 4.50BTNC (AVRCP): is tagged by udev as: Keyboard
Mar 02 10:05:07 madhat /usr/libexec/gdm-x-session[2210]: (II) event20 - HD 4.50BTNC (AVRCP): device is a keyboard
Mar 02 10:05:07 madhat bluetoothd[109307]: /org/bluez/hci0/dev_00_16_94_1F_90_CC/sep1/fd1: fd(42) ready
Mar 02 10:05:07 madhat pipewire-media-session[2412]: spa.bluez5.native: unknown AT+IPHONEACCEV key:2 value:0

Comment 3 Takayoshi Kimura 2022-03-02 09:28:20 UTC
FYI, I got a similar issue in Fedora 35 with the recent linux-firmware package.

https://www.reddit.com/r/archlinux/comments/sh6eqs/bluetooth_headset_disconnecting_intermittently/
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=a63a79f834625e33f5a3a525c92a61f9f860f19c

The issue is gone with the downgrade.

$ sudo dnf list linux-firmware --showduplicates 
Installed Packages
linux-firmware.noarch                                                                                                20220209-129.fc35                                                                                                @updates
Available Packages
linux-firmware.noarch                                                                                                20210919-125.fc35                                                                                                fedora  
linux-firmware.noarch                                                                                                20220209-129.fc35                                                                                                updates 
$ sudo dnf downgrade linux-firmware -y

Comment 4 Stéphane Klein 2022-03-20 11:37:41 UTC
Bug fixed on my Intel NUC11PAHi7 Desktop and my Bose SoundLink Mini Speaker with "linux-firmware.noarch 20220310-130.fc35" package.

More context see https://ask.fedoraproject.org/t/many-bluetooth-connection-breaks-between-my-intel-nuc11pahi7-and-bose-soundlink-mini-speaker-on-fedora-35/20425

Comment 5 Ben Cotton 2022-05-12 16:44:15 UTC
This message is a reminder that Fedora Linux 34 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 34 on 2022-06-07.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '34'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 34 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 6 Ben Cotton 2022-06-08 01:08:43 UTC
Fedora Linux 34 entered end-of-life (EOL) status on 2022-06-07.

Fedora Linux 34 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.