You are not logged in.
Hi all!
I've bought a new USB dongle with Bluetooth 5.0 support and I'm trying to get it to work properly. It'll be used for:
Connect my android device and reproduce podcasts from it on PC
Connect my dualshock 4 controller
My former USB dongle (Bluetooth 4.0) could connect both correctly (and I could get good audio playback) but would get delay on ds4 response, which motivated me on switching to a new dongle.
This is my setup:
[vinnom@archpc ~]
$ uname -a
Linux archpc 6.1.1-zen1-1-zen #1 ZEN SMP PREEMPT_DYNAMIC Wed, 21 Dec 2022 22:27:59 +0000 x86_64 GNU/Linux
In fact, the dongle is correctly recognized:
[vinnom@archpc ~]
$ lsusb -v | grep Blue
Bus 001 Device 004: ID 0bda:8771 Realtek Semiconductor Corp. Bluetooth Radio
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 224 Wireless
bDeviceSubClass 1 Radio Frequency
bDeviceProtocol 1 Bluetooth
bMaxPacketSize0 64
idVendor 0x0bda Realtek Semiconductor Corp.
idProduct 0x8771
bcdDevice 2.00
iManufacturer 1 Realtek
iProduct 2 Bluetooth Radio
iSerial 3 00E04C239987
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x00b1
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 4 Bluetooth Radio
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 4 Bluetooth Radio
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0000 1x 0 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0000 1x 0 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 4 Bluetooth Radio
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0009 1x 9 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0009 1x 9 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 4 Bluetooth Radio
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0011 1x 17 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0011 1x 17 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 3
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 4 Bluetooth Radio
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0019 1x 25 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0019 1x 25 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 4
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 4 Bluetooth Radio
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0021 1x 33 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0021 1x 33 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 5
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 4 Bluetooth Radio
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0031 1x 49 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0031 1x 49 bytes
bInterval 1
Device Status: 0x0001
Self Powered
[vinnom@archpc ~]
$ rfkill list
1: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
[vinnom@archpc ~]
$ sudo dmesg
...
[ 2857.332948] usb 1-2: new full-speed USB device number 4 using xhci_hcd
[ 2857.474236] usb 1-2: New USB device found, idVendor=0bda, idProduct=8771, bcdDevice= 2.00
[ 2857.474242] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2857.474244] usb 1-2: Product: Bluetooth Radio
[ 2857.474246] usb 1-2: Manufacturer: Realtek
[ 2857.474247] usb 1-2: SerialNumber: 00E04C239987
[ 2857.485123] Bluetooth: hci0: RTL: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
[ 2857.486109] Bluetooth: hci0: RTL: rom_version status=0 version=1
[ 2857.486111] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_fw.bin
[ 2857.488560] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_config.bin
[ 2857.489262] Bluetooth: hci0: RTL: cfg_sz 6, total sz 27814
[ 2857.491334] audit: type=1130 audit(1672120212.320:152): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-rfkill comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 2857.738136] Bluetooth: hci0: RTL: fw version 0x09a98a6b
[ 2857.837277] Bluetooth: MGMT ver 1.22
[ 2862.503917] audit: type=1131 audit(1672120217.333:153): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-rfkill comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[vinnom@archpc ~]
$ journalctl -xb
...
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSource/ldac
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSink/aptx_hd
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSource/aptx_hd
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSink/aptx
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSource/aptx
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSink/aac
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSource/aac
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSink/sbc
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSource/sbc
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSink/sbc_xq
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSource/sbc_xq
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSource/aptx_ll_1
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSource/aptx_ll_0
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSource/faststream
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSource/faststream_duplex
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSink/opus_05
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSource/opus_05
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSink/opus_05_duplex
dez 27 02:50:12 archpc bluetoothd[565]: Endpoint registered: sender=:1.112 path=/MediaEndpoint/A2DPSource/opus_05_duplex
However, If I connect my android device to it, I get extremely poor playback (too much stuttering). This lead me on installing rtl8761usb-dkms and then rebooting.
With it, the USB dongle also gets recognized correctly, but playback is good now:
[vinnom@archpc ~]
$ sudo dmesg | grep -E "rtk_bt|[bB]luetooth"
[ 3.437624] usb 1-2: New USB device found, idVendor=0bda, idProduct=8771, bcdDevice= 2.00
[ 3.437627] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.437628] usb 1-2: Product: Bluetooth Radio
[ 3.437629] usb 1-2: Manufacturer: Realtek
[ 3.437629] usb 1-2: SerialNumber: 00E04C239987
[ 4.185493] Bluetooth: Core ver 2.22
[ 4.185507] NET: Registered PF_BLUETOOTH protocol family
[ 4.185508] Bluetooth: HCI device and connection manager initialized
[ 4.185511] Bluetooth: HCI socket layer initialized
[ 4.185514] Bluetooth: L2CAP socket layer initialized
[ 4.185517] Bluetooth: SCO socket layer initialized
[ 4.188994] rtk_btusb: Realtek Bluetooth USB driver ver 3.1.897f3bb.20201202-173003
[ 4.188995] rtk_btcoex: rtk_btcoex_init: version: 1.2
[ 4.188996] rtk_btcoex: create workqueue
[ 4.191365] rtk_btcoex: alloc buffers 1792, 2432 for ev and l2
[ 4.191385] rtk_btusb: btusb_probe intf->cur_altsetting->desc.bInterfaceNumber 0
[ 4.191386] rtk_btusb: btusb_probe can_wakeup 1, may wakeup 0
[ 4.191386] rtk_btusb: patch_add
[ 4.191387] rtk_btusb: auto suspend is disabled
[ 4.191387] rtk_btusb: pid = 0x8771
[ 4.191388] rtk_btusb: patch_add: Reset gEVersion to 0xff
[ 4.191391] rtk_btusb: set_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks);
[ 4.191444] rtk_btusb: btusb_probe: done
[ 4.191462] usbcore: registered new interface driver rtk_btusb
[ 4.193350] rtk_btusb: btusb_open start
[ 4.193351] rtk_btusb: btusb_open hdev->promisc ==0
[ 4.193352] rtk_btusb: download_patch start
[ 4.193360] rtk_btusb: chip type value: 0x74
[ 4.193362] rtk_btusb: HCI reset.
[ 4.207641] rtk_btusb: read_ver_rsp->lmp_subver = 0x8761
[ 4.207643] rtk_btusb: read_ver_rsp->hci_rev = 0xb
[ 4.207644] rtk_btusb: patch_entry->lmp_sub = 0x8761
[ 4.207645] rtk_btusb: load_firmware start
[ 4.207645] rtk_btusb: lmp_version = 0x8761
[ 4.207646] rtk_btusb: config filename rtl8761bu_config
[ 4.207790] rtk_btusb: no bdaddr file /opt/bdaddr
[ 4.207791] rtk_btusb: Origin cfg len 6
[ 4.207792] rtk_btusb: 55 ab 23 87 00 00
[ 4.207793] rtk_btusb: New cfg len 6
[ 4.207794] rtk_btusb: 55 ab 23 87 00 00
[ 4.207796] rtk_btusb: fw name is rtl8761bu_fw
[ 4.207963] rtk_btusb: This is not 8723a, use new patch style!
[ 4.207964] rtk_btusb: rtk_get_eversion: gEVersion 255
[ 4.211635] rtk_btusb: eversion->status = 0x0, eversion->version = 0x1
[ 4.211638] rtk_btusb: load_firmware: New gEVersion 1
[ 4.211639] rtk_btusb: rtk_get_fw_project_id: opcode 0, len 1, data 14
[ 4.211641] rtk_btusb: lmp_version is 8761, project_id is 8761, match!
[ 4.211642] rtk_btusb: fw_version = 0x99a2885
[ 4.211642] rtk_btusb: number_of_total_patch = 2
[ 4.211643] rtk_btusb: chipID 2
[ 4.211644] rtk_btusb: patch_length 0x5850
[ 4.211644] rtk_btusb: start_offset 0x00003780
[ 4.211645] rtk_btusb: Svn version: 24105
[ 4.211646] rtk_btusb: Coexistence: BTCOEX_20190327-0202
[ 4.211647] rtk_btusb: buf_len = 0x5856
[ 4.211652] rtk_btusb: fw: exists, config file: exists
[ 4.211653] rtk_btusb: load_firmware done
[ 4.211656] rtk_btusb: download_data start
[ 4.575644] rtk_btusb: download_data done
[ 4.575645] rtk_btusb: HCI reset.
[ 4.589644] rtk_btusb: read_ver_rsp->lmp_subver = 0x2885
[ 4.589645] rtk_btusb: read_ver_rsp->hci_rev = 0x99a
[ 4.589646] rtk_btusb: patch_entry->lmp_sub = 0x8761
[ 4.589689] rtk_btusb: Rtk patch end 0
[ 4.589689] rtk_btusb: btusb_open set HCI_RUNNING
[ 4.589698] rtk_btcoex: Open BTCOEX
[ 4.589699] rtk_btusb: btusb_open end
[ 4.593648] rtk_btcoex: BTCOEX hci_rev 0x099a
[ 4.593649] rtk_btcoex: BTCOEX lmp_subver 0x2885
[ 4.632645] rtk_btusb: btusb_notify: hci0 evt 3
[ 4.963952] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 4.963954] Bluetooth: BNEP filters: protocol multicast
[ 4.963956] Bluetooth: BNEP socket layer initialized
[ 4.964472] Bluetooth: MGMT ver 1.22
[ 6.443264] Bluetooth: RFCOMM TTY layer initialized
[ 6.443272] Bluetooth: RFCOMM socket layer initialized
[ 6.443274] Bluetooth: RFCOMM ver 1.11
[vinnom@archpc ~]
[vinnom@archpc ~]
$ journalctl -xb | grep -E "rtk_bt|[bB]luetooth" | grep -v "kernel"
dez 27 04:02:15 archpc systemd[1]: Starting Bluetooth service...
░░ Subject: Unidade bluetooth.service sendo iniciado
░░ A unidade bluetooth.service está sendo iniciada.
dez 27 04:02:15 archpc bluetoothd[577]: Bluetooth daemon 5.66
dez 27 04:02:15 archpc bluetoothd[577]: Starting SDP server
dez 27 04:02:15 archpc bluetoothd[577]: profiles/audio/vcp.c:vcp_init() D-Bus experimental not enabled
dez 27 04:02:15 archpc bluetoothd[577]: src/plugin.c:plugin_init() Failed to init vcp plugin
dez 27 04:02:15 archpc bluetoothd[577]: profiles/audio/mcp.c:mcp_init() D-Bus experimental not enabled
dez 27 04:02:15 archpc bluetoothd[577]: src/plugin.c:plugin_init() Failed to init mcp plugin
dez 27 04:02:15 archpc bluetoothd[577]: profiles/audio/bap.c:bap_init() D-Bus experimental not enabled
dez 27 04:02:15 archpc bluetoothd[577]: src/plugin.c:plugin_init() Failed to init bap plugin
dez 27 04:02:15 archpc audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=bluetooth comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
dez 27 04:02:15 archpc dbus-daemon[578]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service' requested by ':1.3' (uid=0 pid=577 comm="/usr/lib/bluetooth/bluetoothd")
dez 27 04:02:15 archpc bluetoothd[577]: Bluetooth management interface 1.22 initialized
dez 27 04:02:15 archpc systemd[1]: Started Bluetooth service.
░░ Subject: Unidade bluetooth.service concluiu a inicialização
░░ A unidade bluetooth.service concluiu a inicialização.
dez 27 04:02:15 archpc systemd[1]: Reached target Bluetooth Support.
░░ Subject: Unidade bluetooth.target concluiu a inicialização
░░ A unidade bluetooth.target concluiu a inicialização.
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSource/ldac
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSink/aptx_hd
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSource/aptx_hd
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSink/aptx
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSource/aptx
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSink/aac
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSource/aac
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSink/sbc
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSource/sbc
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSink/sbc_xq
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSource/sbc_xq
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSource/aptx_ll_1
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSource/aptx_ll_0
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSource/faststream
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSource/faststream_duplex
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSink/opus_05
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSource/opus_05
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSink/opus_05_duplex
dez 27 04:02:17 archpc bluetoothd[577]: Endpoint registered: sender=:1.30 path=/MediaEndpoint/A2DPSource/opus_05_duplex
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSource/ldac
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSink/aptx_hd
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSource/aptx_hd
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSink/aptx
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSource/aptx
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSink/aac
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSource/aac
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSink/sbc
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSource/sbc
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSink/sbc_xq
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSource/sbc_xq
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSource/aptx_ll_1
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSource/aptx_ll_0
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSource/faststream
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSource/faststream_duplex
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSink/opus_05
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSource/opus_05
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSink/opus_05_duplex
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint unregistered: sender=:1.30 path=/MediaEndpoint/A2DPSource/opus_05_duplex
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSource/ldac
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSink/aptx_hd
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSource/aptx_hd
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSink/aptx
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSource/aptx
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSink/aac
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSource/aac
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSink/sbc
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSource/sbc
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSink/sbc_xq
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSource/sbc_xq
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSource/aptx_ll_1
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSource/aptx_ll_0
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSource/faststream
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSource/faststream_duplex
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSink/opus_05
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSource/opus_05
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSink/opus_05_duplex
dez 27 04:02:22 archpc bluetoothd[577]: Endpoint registered: sender=:1.52 path=/MediaEndpoint/A2DPSource/opus_05_duplex
But when I connect the ds4 controller, the playback gets poor again. I noticed that it reflected on a2dp_packet_count value which gets lower than 100 when it's poor:
// good quality playback
dez 27 05:08:33 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 104
dez 27 05:08:34 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 103
dez 27 05:08:36 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 102
dez 27 05:08:37 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 102
dez 27 05:08:38 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 103
dez 27 05:08:39 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 103
dez 27 05:08:40 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 102
// poor quality payback
dez 27 05:09:39 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 77
dez 27 05:09:40 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 89
dez 27 05:09:41 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 85
dez 27 05:09:42 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 93
dez 27 05:09:43 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 91
dez 27 05:09:44 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 86
dez 27 05:09:45 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 90
dez 27 05:09:46 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 92
dez 27 05:09:47 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 90
For reference, below is the journactl logs (kernel messages included) when the controller was connected:
dez 27 05:09:34 archpc kernel: rtk_btusb: btusb_notify: hci0 evt 1
dez 27 05:09:34 archpc kernel: rtk_btcoex: hci create connection, start paging
dez 27 05:09:34 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 100
dez 27 05:09:35 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 104
dez 27 05:09:36 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 103
dez 27 05:09:36 archpc kernel: rtk_btcoex: connected, handle 0002, status 0x00
dez 27 05:09:36 archpc kernel: rtk_btcoex: Page success
dez 27 05:09:37 archpc kernel: rtk_btcoex: io capability request
dez 27 05:09:37 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 102
dez 27 05:09:37 archpc kernel: rtk_btcoex: link key notify
dez 27 05:09:38 archpc kernel: rtk_btcoex: l2cap op 2, len 16, out 1
dez 27 05:09:38 archpc kernel: rtk_btcoex: TX l2cap conn req, hndl 0x0002, PSM 0x0001, scid 0x0040
dez 27 05:09:38 archpc kernel: rtk_btcoex: PSM(0x0001) do not need parse
dez 27 05:09:38 archpc kernel: rtk_btcoex: l2cap op 3, len 20, out 0
dez 27 05:09:38 archpc kernel: rtk_btcoex: RX l2cap conn rsp, hndl 0x0002, dcid 0x0050, scid 0x0040, result 0x0000
dez 27 05:09:38 archpc bluetoothd[577]: profiles/input/device.c:ioctl_is_connected() Can't get HIDP connection info
dez 27 05:09:38 archpc kernel: rtk_btcoex: l2cap op 2, len 16, out 1
dez 27 05:09:38 archpc kernel: rtk_btcoex: TX l2cap conn req, hndl 0x0002, PSM 0x0011, scid 0x0041
dez 27 05:09:38 archpc kernel: rtk_btcoex: l2cap op 3, len 20, out 0
dez 27 05:09:38 archpc kernel: rtk_btcoex: RX l2cap conn rsp, hndl 0x0002, dcid 0x0051, scid 0x0041, result 0x0000
dez 27 05:09:38 archpc kernel: rtk_btcoex: l2cap connection success, update connection
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: is_add 1, profile_index 1
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_bitmap 0x8e
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[0] = 0
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[1] = 1
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[2] = 2
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[3] = 2
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[4] = 0
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[5] = 0
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[6] = 0
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[7] = 1
dez 27 05:09:38 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: BufferSize 8
dez 27 05:09:38 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: NumberOfHandles 2
dez 27 05:09:38 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: handle 0x0001
dez 27 05:09:38 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: profile_bitmap 0x8c
dez 27 05:09:38 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: handle 0x0002
dez 27 05:09:38 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: profile_bitmap 0x02
dez 27 05:09:38 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: profile_status 0x84
dez 27 05:09:38 archpc kernel: rtk_btcoex: rtk_vendor_cmd_to_fw: opcode 0xfc19
dez 27 05:09:38 archpc kernel: rtk_btcoex: l2cap op 2, len 16, out 1
dez 27 05:09:38 archpc kernel: rtk_btcoex: TX l2cap conn req, hndl 0x0002, PSM 0x0013, scid 0x0042
dez 27 05:09:38 archpc kernel: rtk_btcoex: l2cap op 3, len 20, out 0
dez 27 05:09:38 archpc kernel: rtk_btcoex: RX l2cap conn rsp, hndl 0x0002, dcid 0x0052, scid 0x0042, result 0x0000
dez 27 05:09:38 archpc kernel: rtk_btcoex: l2cap connection success, update connection
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: is_add 1, profile_index 1
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_bitmap 0x8e
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[0] = 0
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[1] = 2
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[2] = 2
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[3] = 2
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[4] = 0
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[5] = 0
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[6] = 0
dez 27 05:09:38 archpc kernel: rtk_btcoex: update_profile_connection: btrtl_coex.profile_refcount[7] = 1
dez 27 05:09:38 archpc kernel: rtk_btcoex: hci (periodic)inq start
dez 27 05:09:38 archpc kernel: input: Wireless Controller Touchpad as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:05:00.1/usb1/1-2/1-2:1.0/bluetooth/hci0/hci0:2/0005:054C:05C4.0007/input/input26
dez 27 05:09:38 archpc kernel: input: Wireless Controller Motion Sensors as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:05:00.1/usb1/1-2/1-2:1.0/bluetooth/hci0/hci0:2/0005:054C:05C4.0007/input/input27
dez 27 05:09:38 archpc kernel: input: Wireless Controller as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:05:00.1/usb1/1-2/1-2:1.0/bluetooth/hci0/hci0:2/0005:054C:05C4.0007/input/input25
dez 27 05:09:38 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 102
dez 27 05:09:39 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 77
dez 27 05:09:40 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 89
dez 27 05:09:41 archpc kernel: rtk_btcoex: l2cap op 6, len 16, out 1
dez 27 05:09:41 archpc kernel: rtk_btcoex: TX l2cap disconn req, hndl 0x0002, dcid 0x0050, scid 0x0040
dez 27 05:09:41 archpc kernel: rtk_btcoex: handle_l2cap_discon_req: handle 0x0002, dcid 0x0050, scid 0x0040, dir 1
dez 27 05:09:41 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 85
dez 27 05:09:42 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 93
dez 27 05:09:43 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 91
dez 27 05:09:44 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 86
dez 27 05:09:45 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 90
dez 27 05:09:46 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 92
dez 27 05:09:47 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 90
dez 27 05:09:48 archpc kernel: rtk_btcoex: inquiry complete
dez 27 05:09:48 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 83
dez 27 05:09:48 archpc kernel: rtk_btcoex: hci (periodic)inq start
dez 27 05:09:49 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 90
dez 27 05:09:50 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 83
dez 27 05:09:51 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 85
dez 27 05:09:52 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 83
dez 27 05:09:53 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 89
dez 27 05:09:54 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 101
dez 27 05:09:55 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 74
dez 27 05:09:56 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp_packet_count 26
dez 27 05:09:57 archpc kernel: rtk_btcoex: count_a2dp_packet_timeout: a2dp busy->idle!
dez 27 05:09:57 archpc kernel: rtk_btcoex: update_profile_state: btrtl_coex.profie_bitmap = 8e
dez 27 05:09:57 archpc kernel: rtk_btcoex: update_profile_state: btrtl_coex.profile_status = 80
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: BufferSize 8
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: NumberOfHandles 2
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: handle 0x0001
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: profile_bitmap 0x8c
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: handle 0x0002
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: profile_bitmap 0x02
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: profile_status 0x80
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_vendor_cmd_to_fw: opcode 0xfc19
dez 27 05:09:57 archpc kernel: rtk_btcoex: update_profile_state: btrtl_coex.profie_bitmap = 8e
dez 27 05:09:57 archpc kernel: rtk_btcoex: update_profile_state: btrtl_coex.profile_status = 0
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: BufferSize 8
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: NumberOfHandles 2
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: handle 0x0001
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: profile_bitmap 0x8c
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: handle 0x0002
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: profile_bitmap 0x02
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_notify_profileinfo_to_fw: profile_status 0x00
dez 27 05:09:57 archpc kernel: rtk_btcoex: rtk_vendor_cmd_to_fw: opcode 0xfc19
dez 27 05:09:58 archpc kernel: rtk_btcoex: inquiry complete
dez 27 05:09:59 archpc kernel: rtk_btcoex: hci (periodic)inq start
dez 27 05:10:03 archpc kernel: rtk_btcoex: update_hid_active_state: handle 0x0001, interval 792
dez 27 05:10:03 archpc kernel: rtk_btcoex: HID not connected, nothing to be down
dez 27 05:10:09 archpc kernel: rtk_btcoex: inquiry complete
dez 27 05:10:10 archpc kernel: rtk_btcoex: hci (periodic)inq start
dez 27 05:10:20 archpc kernel: rtk_btcoex: inquiry complete
dez 27 05:10:20 archpc kernel: rtk_btcoex: hci (periodic)inq start
Not sure how to proceed from here.
If anyone have any hint, please be welcome to share it. Also, if any logs or information is missing, please ask me.
Thanks!
EDIT:
I forgot to mention that I already tested this dongle on Windows and could get could playback and good controller response on it, so the dongle is capable of working good on this scenario
SOLVED:
It seems my issue was related to Pipewire or at least I made a workaround through it. I followed this section on Pipewire wiki and changing the value resample.quality to 10 already made the a2dp_packet_count be over 100 and playback is good again.
One curious thing about this is that took some seconds to the quality adjust to a good one after restarting the pipewire.service and pipewire-pulse and reconnecting the android device which almost lead me to believe this didn't work.
Marking as solved per above comment
Last edited by vinnom (2022-12-27 21:34:10)
Offline