You are not logged in.

#1 2021-03-10 00:54:08

marzana
Member
Registered: 2021-03-09
Posts: 2

ax200 - Frequent bluetooth disconnects (dbus related?)

I just upgraded a desktop to Ryzen 5 and to a new motherboard with onboard Intel AX200 wifi/bluetooth, but have been running into sporadic and unpredictable issues with bluetooth headphones. This issue occurs on both latest (Arch/Zen) and LTS kernels using the latest linux-firmware. I haven't experienced any issues with the wifi side of things, but I also rarely use it.

I've tested with two pairs of headphones, Audio Technica ATH-6SRBTs that had worked perfectly on the prior hardware, a discrete Archer TX50E, and Sony WH-CH700Ns that had never been paired to this installation. That should hopefully rule out https://wiki.archlinux.org/index.php/bl … ew_moments.

Disconnects are seemingly unpredictable and can occur anywhere from several times a minute to as little as once or twice an hour. Audio output is lost first, with errors only appearing in journald 10-15 seconds after that. After disconnecting, the headphones will often reconnect automatically using HSP and accompanied by a flood of SCO packet for unknown connection handle kernel errors. Subsequently reconnecting the headphones manually allows a2dp to work again. On rare occasions, the headphones will automatically reconnect as a2dp and continue normal operation.

~ » journalctl -b
Mar 09 14:39:08 rzna NetworkManager[628]: <info>  [1615329548.1839] device (wlo1): set-hw-addr: set MAC address to FE:88:23:B7:65:D5 (scanning)
Mar 09 14:39:08 rzna NetworkManager[628]: <info>  [1615329548.1932] device (wlo1): supplicant interface state: inactive -> disconnected
Mar 09 14:39:08 rzna NetworkManager[628]: <info>  [1615329548.1932] device (p2p-dev-wlo1): supplicant management interface state: inactive -> disconnected
Mar 09 14:39:08 rzna NetworkManager[628]: <info>  [1615329548.1983] device (wlo1): supplicant interface state: disconnected -> inactive
Mar 09 14:39:08 rzna NetworkManager[628]: <info>  [1615329548.1983] device (p2p-dev-wlo1): supplicant management interface state: disconnected -> inactive
Mar 09 14:39:53 rzna dbus-daemon[587]: [system] Rejected send message, 0 matched rules; type="method_return", sender=":1.65" (uid=1000 pid=1354 comm="/usr/bin/pulseaudio --daemonize=no --log-target=jo") interface="(unset)" member="(unset)" error name="(unset)" requested_reply="0" destination=":1.4" (uid=0 pid=612 comm="/usr/lib/bluetooth/bluetoothd ")
Mar 09 14:39:53 rzna plasmashell[1309]: org.kde.plasma.pulseaudio: No object for name "bluez_sink.00_0A_45_0D_27_03.a2dp_sink"
Mar 09 14:39:53 rzna plasmashell[1309]: qrc:/plasma/plasmoids/org.kde.plasma.volume/contents/ui/ListItemBase.qml:231: TypeError: Cannot read property 'visible' of null
Mar 09 14:39:53 rzna bluetoothd[612]: src/profile.c:ext_io_disconnected() Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)
Mar 09 14:39:57 rzna bluetoothd[612]: src/profile.c:record_cb() Unable to get Headset Voice gateway SDP record: Host is down
Mar 09 14:39:59 rzna bluetoothd[612]: profiles/audio/a2dp.c:a2dp_select_capabilities() Unable to select SEP
Mar 09 14:40:00 rzna kernel: input: ATH-SR6BT (AVRCP) as /devices/virtual/input/input34
Mar 09 14:40:00 rzna systemd-logind[596]: Watching system buttons on /dev/input/event28 (ATH-SR6BT (AVRCP))
Mar 09 14:40:00 rzna bluetoothd[612]: src/service.c:btd_service_connect() a2dp-sink profile connect failed for 00:0A:45:0D:27:03: Device or resource busy
Mar 09 14:40:00 rzna bluetoothd[612]: plugins/policy.c:reconnect_timeout() Reconnecting services failed: Device or resource busy (16)
Mar 09 14:40:00 rzna kernel: input: ATH-SR6BT (AVRCP) as /devices/virtual/input/input36
Mar 09 14:40:00 rzna systemd-logind[596]: Watching system buttons on /dev/input/event28 (ATH-SR6BT (AVRCP))
Mar 09 14:40:00 rzna rtkit-daemon[1427]: Supervising 7 threads of 3 processes of 1 users.
Mar 09 14:40:00 rzna rtkit-daemon[1427]: Successfully made thread 74934 of process 1354 owned by '1000' RT at priority 5.
Mar 09 14:40:00 rzna rtkit-daemon[1427]: Supervising 8 threads of 3 processes of 1 users.
Mar 09 14:40:00 rzna kernel: Bluetooth: hci0: SCO packet for unknown connection handle 0
Mar 09 14:40:00 rzna kernel: Bluetooth: hci0: SCO packet for unknown connection handle 0
... (hundreds per second until reconnected manually)
Mar 09 14:40:15 rzna bluetoothd[612]: src/profile.c:ext_io_disconnected() Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)
Mar 09 14:40:15 rzna plasmashell[1309]: org.kde.plasma.pulseaudio: No object for name "bluez_sink.00_0A_45_0D_27_03.headset_head_unit"
Mar 09 14:40:15 rzna plasmashell[1309]: org.kde.plasma.pulseaudio: No object for name "bluez_sink.00_0A_45_0D_27_03.headset_head_unit"
Mar 09 14:40:15 rzna plasmashell[1309]: qrc:/plasma/plasmoids/org.kde.plasma.volume/contents/ui/ListItemBase.qml:231: TypeError: Cannot read property 'visible' of null
Mar 09 14:40:15 rzna plasmashell[1309]: qrc:/plasma/plasmoids/org.kde.plasma.volume/contents/ui/ListItemBase.qml:231: TypeError: Cannot read property 'visible' of null
Mar 09 14:40:16 rzna bluetoothd[612]: /org/bluez/hci0/dev_00_0A_45_0D_27_03/sep1/fd3: fd(41) ready
Mar 09 14:40:16 rzna rtkit-daemon[1427]: Supervising 8 threads of 4 processes of 1 users.
Mar 09 14:40:16 rzna rtkit-daemon[1427]: Successfully made thread 32497 of process 1354 owned by '1000' RT at priority 5.
Mar 09 14:40:16 rzna rtkit-daemon[1427]: Supervising 9 threads of 4 processes of 1 users.
Mar 09 14:40:17 rzna kernel: input: ATH-SR6BT (AVRCP) as /devices/virtual/input/input35
Mar 09 14:40:17 rzna systemd-logind[596]: Watching system buttons on /dev/input/event28 (ATH-SR6BT (AVRCP))

The dbus error made me look in /usr/share/dbus-1/system.d/bluetooth.conf, which initially contained the following.

~ » cat /usr/share/dbus-1/system.d/bluetooth.conf
<!-- This configuration file specifies the required security policies
     for Bluetooth core daemon to work. -->

<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>

  <!-- ../system.conf have denied everything, so we just punch some holes -->

  <policy user="root">
    <allow own="org.bluez"/>
    <allow send_destination="org.bluez"/>
    <allow send_interface="org.bluez.AdvertisementMonitor1"/>
    <allow send_interface="org.bluez.Agent1"/>
    <allow send_interface="org.bluez.MediaEndpoint1"/>
    <allow send_interface="org.bluez.MediaPlayer1"/>
    <allow send_interface="org.bluez.MediaTransport1"/>
    <allow send_interface="org.bluez.Profile1"/>
    <allow send_interface="org.bluez.GattCharacteristic1"/>
    <allow send_interface="org.bluez.GattDescriptor1"/>
    <allow send_interface="org.bluez.LEAdvertisement1"/>
    <allow send_interface="org.freedesktop.DBus.ObjectManager"/>
    <allow send_interface="org.freedesktop.DBus.Properties"/>
    <allow send_interface="org.mpris.MediaPlayer2.Player"/>
  </policy>

As a debugging step I added the following, but the dbus error is still present. I'm not a DBus / pulse / bluez expert, so I'm not sure if that error is a red herring or not -- or what the proper steps to fix it would be.

  <policy user="marzana">
    <allow send_destination="org.bluez"/>
  </policy>

I've also tried setting bt_coex_active=0 on iwlwifi, but that had no noticeable effect. Disabling the onboard wifi in the bios likewise changed nothing.

~ » systool -vm iwlwifi
Module = "iwlwifi"

  Attributes:
    coresize            = "434176"
    initsize            = "0"
    initstate           = "live"
    refcnt              = "1"
    srcversion          = "8AB794695C8B9E8E4C787E8"
    taint               = ""
    uevent              = <store method only>

  Parameters:
    11n_disable         = "0"
    amsdu_size          = "0"
    bt_coex_active      = "N"
    debug               = "0"
    disable_11ac        = "N"
    disable_11ax        = "N"
    enable_ini          = "Y"
    fw_restart          = "Y"
    led_mode            = "0"
    nvm_file            = "(null)"
    power_level         = "0"
    power_save          = "N"
    remove_when_gone    = "N"
    swcrypto            = "0"
    uapsd_disable       = "3"

  Sections:

Edit: Have determined this has no effect based on the output of dmesg | grep iwl.

[    3.012584] iwlwifi 0000:28:00.0: enabling device (0000 -> 0002)
[    3.014766] iwlwifi 0000:28:00.0: api flags index 2 larger than supported by driver
[    3.014776] iwlwifi 0000:28:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.22
[    3.014948] iwlwifi 0000:28:00.0: loaded firmware version 59.601f3a66.0 cc-a0-59.ucode op_mode iwlmvm
[    3.172748] iwlwifi 0000:28:00.0: Detected Intel(R) Wi-Fi 6 AX200 160MHz, REV=0x340
[    3.356927] iwlwifi 0000:28:00.0: base HW address: 8c:c6:81:9a:b0:cd
[    3.368964] iwlwifi 0000:28:00.0: iwlmvm doesn't allow to disable BT Coex, check bt_coex_active module parameter
[    3.381454] iwlwifi 0000:28:00.0 wlo1: renamed from wlan0

pactl list sinks output for the headphones during a "bad" reconnect

~ » pactl list sinks
...
Sink #8
    State: RUNNING
    Name: bluez_sink.00_0A_45_0D_27_03.headset_head_unit
    Description: ATH-SR6BT
    Driver: module-bluez5-device.c
    Sample Specification: s16le 1ch 8000Hz
    Channel Map: mono
    Owner Module: 33
    Mute: no
    Volume: mono: 65536 / 100%
           balance 0.00
    Base Volume: 65536 / 100%
    Monitor Source: bluez_sink.00_0A_45_0D_27_03.headset_head_unit.monitor
    Latency: 25406 usec, configured 28000 usec
    Flags: HARDWARE HW_VOLUME_CTRL LATENCY
    Properties:
        bluetooth.protocol = "headset_head_unit"
        device.intended_roles = "phone"
        device.description = "ATH-SR6BT"
        device.string = "00:0A:45:0D:27:03"
        device.api = "bluez"
        device.class = "sound"
        device.bus = "bluetooth"
        device.form_factor = "headset"
        bluez.path = "/org/bluez/hci0/dev_00_0A_45_0D_27_03"
        bluez.class = "0x240404"
        bluez.alias = "ATH-SR6BT"
        device.icon_name = "audio-headset-bluetooth"
    Ports:
        headset-output: Headset (type: Headset, priority: 0, available)
    Active Port: headset-output
    Formats:
        pcm

Normal pactl list sinks output following a manual reconnect.

~ » pactl list sinks
...
Sink #9
    State: RUNNING
    Name: bluez_sink.00_0A_45_0D_27_03.a2dp_sink
    Description: ATH-SR6BT
    Driver: module-bluez5-device.c
    Sample Specification: s16le 2ch 44100Hz
    Channel Map: front-left,front-right
    Owner Module: 34
    Mute: no
    Volume: front-left: 65639 / 100% / 0.04 dB,   front-right: 65639 / 100% / 0.04 dB
           balance 0.00
    Base Volume: 65536 / 100% / 0.00 dB
    Monitor Source: bluez_sink.00_0A_45_0D_27_03.a2dp_sink.monitor
    Latency: 46616 usec, configured 45317 usec
    Flags: HARDWARE DECIBEL_VOLUME LATENCY
    Properties:
        bluetooth.protocol = "a2dp_sink"
        device.description = "ATH-SR6BT"
        device.string = "00:0A:45:0D:27:03"
        device.api = "bluez"
        device.class = "sound"
        device.bus = "bluetooth"
        device.form_factor = "headset"
        bluez.path = "/org/bluez/hci0/dev_00_0A_45_0D_27_03"
        bluez.class = "0x240404"
        bluez.alias = "ATH-SR6BT"
        device.icon_name = "audio-headset-bluetooth"
        device.intended_roles = "phone"
    Ports:
        headset-output: Headset (type: Headset, priority: 0, available)
    Active Port: headset-output
    Formats:
        pcm

Edit: Have now also tried setting btusb.enable_autosuspend=n kernel param and manually downgrading firmware to iwlwifi-cc-a0-46. No luck with either option.

Logs can be bit hard to come by since the errors aren't predictable, but I'll post whatever people find helpful ASAP. As I'm sitting here typing this things have been working smoothly for around 4 hours, which is the longest run so far.

Last edited by marzana (2021-03-10 17:09:53)

Offline

#2 2021-03-13 00:09:40

boris64
Member
Registered: 2015-08-06
Posts: 6

Re: ax200 - Frequent bluetooth disconnects (dbus related?)

+1

same here on
05:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)

2 Bluetooth devices (WH-1000XM3 + UE BOOM 2017 RED) keep disconnecting frequently since 2-3 weeks (=kernel-5.10+?).

Offline

#3 2021-03-13 04:30:01

Pellaeon
Member
Registered: 2020-06-15
Posts: 28

Re: ax200 - Frequent bluetooth disconnects (dbus related?)

Potential workaround already found in this thread:
https://bbs.archlinux.org/viewtopic.php?id=263040

Offline

#4 2021-03-13 17:51:41

boris64
Member
Registered: 2015-08-06
Posts: 6

Re: ax200 - Frequent bluetooth disconnects (dbus related?)

Pellaeon wrote:

Potential workaround already found in this thread:
https://bbs.archlinux.org/viewtopic.php?id=263040

Hey, thanks for the hint, will try the firmware downgrade and report back wink

Offline

#5 2021-03-15 17:08:11

marzana
Member
Registered: 2021-03-09
Posts: 2

Re: ax200 - Frequent bluetooth disconnects (dbus related?)

Tried the firmware downgrade myself with no success sadly.

Offline

#6 2021-03-15 17:24:58

boris64
Member
Registered: 2015-08-06
Posts: 6

Re: ax200 - Frequent bluetooth disconnects (dbus related?)

marzana wrote:

Tried the firmware downgrade myself with no success sadly.

Yeah, me too.

OTH after having 2 days of non-pc-time i was able to listen to music while working w/o connection loss for 8 hours now.
I'm using latest stable kernel (5.11.6), linux-firmware-20201120.bc9cd0b-1 and pipewire/pipewire-pulse.

(not sure if this is just one of those lucky days or my bt adapter/headset needed a downtime after the firmware downgrade)

¯\_(ツ)_/¯

Offline

#7 2021-03-24 13:10:34

mokkurkalve
Member
From: Bergen, Norway
Registered: 2009-08-29
Posts: 60

Re: ax200 - Frequent bluetooth disconnects (dbus related?)

boris64 wrote:

(not sure if this is just one of those lucky days or my bt adapter/headset needed a downtime after the firmware downgrade)

To be REALLY sure I would have rebooted the machine after changing version of linux-firmware, before testing effect.
It seems many people have effect of downgrading linux-firmware to version(s) as described in this post:
https://bbs.archlinux.org/viewtopic.php … 0#p1962540

----
EDIT: You will need a COLD BOOT after changing linux-firmware version, not just a reboot: https://bbs.archlinux.org/viewtopic.php … 2#p1968402

Last edited by mokkurkalve (2021-04-19 10:25:34)


"ONLY THOSE WHO ATTEMPT THE IMPOSSIBLE WILL ACHIEVE THE ABSURD"
- Oceania Association of Autonomous Astronauts

Offline

#8 2021-06-24 08:59:27

johnny_boy
Member
Registered: 2013-02-22
Posts: 10

Re: ax200 - Frequent bluetooth disconnects (dbus related?)

I had exactly the same problem on Manjaro using latest kernel (5.12) with my JBL Tune 750btnc headphones and would have to remove and re-add the btusb module. It's completely gone now that I've switched to the LTS kernel (5.10).

Offline

Board footer

Powered by FluxBB