Score:0

Problem about bluetooth connect with bluetooth speaker in Ubuntu 22.04 but work on Ubuntu 22.10

ar flag

My hardware

❯ sudo lshw -C network

  *-network                 
       description: Wireless interface
       product: Atheros QCNFA765
       vendor: Qualcomm
       physical id: 0
       bus info: pci@0000:01:00.0
       logical name: wlp1s0
       version: 01
       serial: 04:7b:cb:b2:fb:82
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=ath11k_pci driverversion=5.19.0-32-generic firmware=N/A ip=192.168.1.108 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:89 memory:98000000-981fffff

❯ hciconfig -a

hci0:   Type: Primary  Bus: USB
    BD Address: 04:7B:CB:B2:FB:83  ACL MTU: 1024:7  SCO MTU: 240:8
    UP RUNNING PSCAN 
    RX bytes:1667772 acl:82686 sco:0 events:1090 errors:0
    TX bytes:229409 acl:695 sco:0 commands:222 errors:0
    Features: 0xff 0xfe 0x8f 0xfe 0xd8 0x3f 0x5b 0x87
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
    Link policy: RSWITCH HOLD SNIFF 
    Link mode: PERIPHERAL ACCEPT 
    Name: 'ThinkPad-T14s-Gen-3'
    Class: 0x7c010c
    Service Classes: Rendering, Capturing, Object Transfer, Audio, Telephony
    Device Class: Computer, Laptop
    HCI Version: 5.2 (0xb)  Revision: 0x0
    LMP Version: 5.2 (0xb)  Subversion: 0x4614
    Manufacturer: Qualcomm (29)

My OS

❯ sudo lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.2 LTS
Release:    22.04
Codename:   jammy

Kernel

❯ uname -a

Linux ThinkPad-T14s-Gen-3 5.19.0-32-generic #33~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Jan 30 17:03:34 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

I can connect with another Bluetooth devices such as Mouse, PS4 Controller, 8BitDo Controller. But devices that I cannot connect from my test such as Bluetooth Speaker, Bluetooth Headset, Nintendo Pro Controller, My android phone.

Then I create Ubuntu 22.10 and 23.04 USB stick and test on live boot everything work fine. I can connect all devices. And before I move to Ubuntu, I use Fedora 37 and Bluetooth work fine too!

After I investigate, I think that maybe It has some bug in BlueZ or linux-firmware package in Ubuntu 22.04.

Here is some output from btmon when connect to speaker. After timeout, it will repeat disconnect and reconnect forever.

> ACL Data RX: Handle 14 flags 0x02 dlen 22                                                                                            #842 [hci0] 175.786819
      L2CAP: Configure Response (0x05) ident 7 len 14
        Source CID: 65
        Flags: 0x0000
        Result: Success (0x0000)
        Option: Maximum Transmission Unit (0x01) [mandatory]
          MTU: 672
        Option: Flush Timeout (0x02) [mandatory]
          Flush timeout: 65535
< ACL Data TX: Handle 14 flags 0x00 dlen 7                                                                                             #843 [hci0] 175.787142
      Channel: 3776 len 3 [PSM 25 mode Basic (0x00)] {chan 11}
      AVDTP: Start (0x07) Command (0x00) type 0x00 label 9 nosp 0
        ACP SEID: 1
> HCI Event: Number of Completed Packets (0x13) plen 5                                                                                 #844 [hci0] 175.790036
        Num handles: 1
        Handle: 14
        Count: 1
> ACL Data RX: Handle 14 flags 0x02 dlen 6                                                                                             #845 [hci0] 175.826853
      Channel: 64 len 2 [PSM 25 mode Basic (0x00)] {chan 11}
      AVDTP: Start (0x07) Response Accept (0x02) type 0x00 label 9 nosp 0
= bluetoothd: /org/bluez/hci0/dev_FC_E8_06_7E_77_25/sep1/fd12: fd(43) ready                                                                        175.827222
< ACL Data TX: Handle 14 flags 0x02 dlen 850                                                                                           #846 [hci0] 175.832875
      Channel: 3841 len 846 [PSM 25 mode Basic (0x00)] {chan 12}
< ACL Data TX: Handle 14 flags 0x02 dlen 850                                                                                           #847 [hci0] 175.853430
      Channel: 3841 len 846 [PSM 25 mode Basic (0x00)] {chan 12}
< ACL Data TX: Handle 14 flags 0x02 dlen 850                                                                                           #848 [hci0] 175.873936
      Channel: 3841 len 846 [PSM 25 mode Basic (0x00)] {chan 12}
< ACL Data TX: Handle 14 flags 0x02 dlen 850                                                                                           #849 [hci0] 175.894065
      Channel: 3841 len 846 [PSM 25 mode Basic (0x00)] {chan 12}
< ACL Data TX: Handle 14 flags 0x02 dlen 850                                                                                           #850 [hci0] 175.914568
      Channel: 3841 len 846 [PSM 25 mode Basic (0x00)] {chan 12}
< ACL Data TX: Handle 14 flags 0x02 dlen 850                                                                                           #851 [hci0] 175.934775
      Channel: 3841 len 846 [PSM 25 mode Basic (0x00)] {chan 12}
< ACL Data TX: Handle 14 flags 0x02 dlen 850                                                                                           #852 [hci0] 175.955058
      Channel: 3841 len 846 [PSM 25 mode Basic (0x00)] {chan 12}
> ACL Data RX: Handle 14 flags 0x02 dlen 12                                                                                            #853 [hci0] 176.916485
      L2CAP: Connection Request (0x02) ident 7 len 4
        PSM: 23 (0x0017)
        Source CID: 3906
= bluetoothd: src/service.c:btd_service_connect() avrcp-controller profile connect failed for FC:E8:06:7E:77:25: Operation already in progress     177.704158
> ACL Data RX: Handle 14 flags 0x02 dlen 12                                                                                            #854 [hci0] 186.913730
      L2CAP: Connection Request (0x02) ident 7 len 4
        PSM: 23 (0x0017)
        Source CID: 3906
= bluetoothd: profiles/audio/avdtp.c:cancel_request() Suspend: Connection timed out (110)                                                          190.711970
= bluetoothd: profiles/audio/avdtp.c:cancel_request() Suspend: Connection timed out (110)                                                          200.713638

Any recommend finding out root cause or work around?

PS. I have another notebook that have intel Wi-Fi card, but it works right OOTB.

PS2. I think my card is Atheros QCNFA725. IDK why it show Atheros QCNFA765.

T. Anukul avatar
ar flag
I have test to install bluez 5.65 (22.10) versions. But not work. Then linux-firmware will be last thing.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.