Re: [BUG] Bluetooth: WCN6855 10ab:9309 stops reporting ISO TX completions during BAP LC3

Jonas Zunker <[email protected]>
Newsgroups org.kernel.vger.linux-bluetooth
Message-ID <[email protected]>
Thanks, that makes sense.

CC'ing Bartosz since this looks like it may be related to the Qualcomm 
Bluetooth driver or firmware.

A few extra details:

  * Bluetooth is connected over USB: 10ab:9309
  * ROM version: 0x130201
  * Firmware:
      o qca/rampatch_usb_00130201.bin
      o qca/nvm_usb_00130201_gf.bin
  * I checked both files against current upstream linux-firmware and
    they match exactly.

SHA-256:

rampatch_usb_00130201.bin
10bb07a4c8d0e38d4fae9f6f5c10c51b54308fefe58d5587e3a3bb14b8fdb3c0

nvm_usb_00130201_gf.bin
59052bce0444fc35028aea8a854d31adb738a0ffd6ec5fbd4df54e6cf5475af8

The issue is still the same: four HCI ISO packets are sent, but no 
completion events are returned for the CIS, so transmission stops once 
the available buffers are used up.

Bartosz, does this look like a Qualcomm driver/firmware issue, or is 
there someone at Qualcomm I should CC for this?

Regards,
Jonas


Am 11.08.26 um 04:58 schrieb Luiz Augusto von Dentz:
> Hi Jonas,
>
> On Mon, Aug 10, 2026 at 6:22 PM Jonas Zunker <[email protected]> wrote:
>> Hello,
>>
>>     I am seeing a Bluetooth LE Audio/BAP failure with a Qualcomm WCN6855
>>     controller and Sony WH-1000XM6 headphones.
>>
>>     BAP negotiation succeeds and the audio profile appears active, but no
>> sound is
>>     heard. The attached btmon capture indicates that the controller stops
>> returning
>>     HCI ISO transmit completions.
>>
>>     Observed sequence
>>     =================
>>
>>     1. The sink and source ASE QoS configurations are accepted.
>>     2. The Enable operation succeeds for both ASEs.
>>     3. The connected isochronous stream is established successfully as CIS
>>        handle 4.
>>     4. Both host-to-controller and controller-to-host ISO data paths are
>> configured
>>        successfully.
>>     5. The sink and source ASEs both reach the Streaming state.
>>     6. The host submits four 120-byte HCI ISO packets on CIS handle 4.
>>     7. No Number Of Completed Packets event is received for CIS handle 4.
>>     8. Number Of Completed Packets events for ACL handle 3 continue normally.
>>     9. No further ISO audio packets are submitted, although application
>> playback
>>        remains active.
>>
>>     The final ISO packets in the attached capture are:
>>
>>         < LE-CIS: Handle 4 SN 0 ... slen 120
>>         < LE-CIS: Handle 4 SN 1 ... slen 120
>>         < LE-CIS: Handle 4 SN 2 ... slen 120
>>         < LE-CIS: Handle 4 SN 3 ... slen 120
>>
>>     There is no completion event for CIS handle 4 after these packets.
>>
>>     This appears to exhaust the four initial HCI ISO transmit credits.
>> The host
>>     cannot submit more audio because the controller does not replenish those
>>     credits.
>>
>>     PipeWire/WirePlumber also reports:
>>
>>         spa.bluez5.iso: Missing completion reports for packet ...
>>         Bluetooth adapter firmware bug?
>>
>>     After approximately 20 seconds, the kernel reports:
>>
>>         Bluetooth: hci0: link tx timeout
>>         Bluetooth: hci0: killing stalled connection <headset-address>
>>
>>     I am not attaching my complete system journal. The kernel messages
>> above were
>>     selected manually from the local logs.
>>
>>     Hardware
>>     ========
>>
>>     - Bluetooth controller: Qualcomm WCN6855
>>     - USB ID: 10ab:9309
>>     - Kernel drivers: btusb / btqca
>>     - Firmware patch file: qca/rampatch_usb_00130201.bin
>>     - NVM file: qca/nvm_usb_00130201_gf.bin
>>     - QCA ROM version: 0x130201
>>     - QCA patch build: 0x994d
>>     - QCA firmware build: 0x38e6
>>     - Headset: Sony WH-1000XM6
>>
>>     Software
>>     ========
>>
>>     - Distribution: Fedora 44
>>     - Kernel: 7.1.7-200.fc44.x86_64
>>     - Fedora BlueZ: bluez-5.87-3.fc44.x86_64
>>     - Upstream BlueZ: latest master, locally built
>>     - PipeWire: 1.6.8-1.fc44.x86_64
>>     - WirePlumber: 0.5.14-1.fc44.x86_64
>>     - linux-firmware: 20260622-1.fc44.noarch
>>
>>     The issue reproduces with both:
>>
>>     1. The unmodified Fedora bluez-5.87-3.fc44 package.
>>     2. A locally built version of the latest upstream BlueZ master tree.
>>
>>     The same four-packet ISO TX stall occurs with both versions.
>> Therefore, the
>>     failure does not appear to depend on my local BlueZ diagnostic changes.
>>
>>     The attached capture was recorded while using the upstream build. I
>> separately
>>     reproduced the same behavior with the unmodified Fedora BlueZ package.
>>
>>     Reproduction
>>     ============
>>
>>     1. Run either the Fedora-provided BlueZ daemon or an unmodified build
>> of the
>>        latest upstream BlueZ master.
>>     2. Pair and connect the Sony WH-1000XM6 over LE.
>>     3. Select the XM6 BAP/LC3 audio profile in GNOME sound settings.
>>     4. Start audio playback.
>>     5. BAP setup succeeds and both ASEs reach Streaming.
>>     6. No sound is heard.
>>     7. btmon records four outgoing ISO packets on CIS handle 4.
>>     8. No completion reports for CIS handle 4 follow.
>>     9. The connection eventually hits the kernel TX timeout.
>>
>>     Completely removing and pairing the headset again does not change the
>> result.
>>
>>     Expected result
>>     ===============
>>
>>     The controller should report completion of transmitted ISO packets
>> for CIS
>>     handle 4, allowing the host to replenish its ISO transmit credits and
>> continue
>>     sending LC3 audio.
>>
>>     Actual result
>>     =============
>>
>>     The controller accepts four ISO packets but provides no completion
>> reports for
>>     CIS handle 4. Audio transmission then stops, and the connection
>> eventually
>>     times out.
>>
>>     Regression status
>>     =================
>>
>>     I initially observed working LE Audio with the Fedora-provided stack,
>> but I have
>>     not yet isolated a specific kernel or firmware version where the behavior
>>     changed. I am therefore not marking this as a confirmed regression.
>>
>>     LLM disclosure
>>     ==============
>>
>>     I used an LLM assistant to help analyze the btmon capture and draft
>> this report.
>>     The capture and reproduction results come from my own system. I
>> reviewed the
>>     technical claims and am responsible for the submitted report.
>>
>>     Please let me know if a longer btmon capture, controller information,
>> or a
>>     comparison against another kernel would be useful.
>>
>>     Regards,
>>     Jonas
> Sounds like a firmware bug, I wouldn't be surprised if the firmware
> doesn't expect the audio to be transmitted over HCI. Anyway, without
> the Number of Completed Packets events the stack stops transmitting as
> soon as it detects the buffer is exhausted, so the packets are
> considered in flight and never complete. You may want to try to
> contact the driver author or the person who submitted the firmware to
> linux-firmware, perhaps Qualcomm will need to provide a different
> firmware for Linux, one that does allow the audio to be transmitted
> over HCI.
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.