Public bug reported:

Hardware: Lenovo ThinkPad T14s Gen 6, machine type 21N10000US,
Snapdragon X Elite X1E-78-100, BIOS N42ET93W (2.23). Wi-Fi and Bluetooth
card WCN7850, PCI 17cb:1107, subsystem 17aa:e0e9.

Kernel: linux-image-7.3.0-10-generic 7.3.0-10.10 (stonking-updates),
Secure Boot on. Booted with Ubuntu's own signed kernel packages from a
live image built from Ubuntu 26.04 arm64 packages.

What happens: there is no Bluetooth controller. btmgmt info shows "Index
list with 0 items". The kernel log repeats:

  Bluetooth: hci0: command 0xfc00 tx timeout
  Bluetooth: hci0: Reading QCA version information failed (-110)
  Bluetooth: hci0: Retry BT power ON:1
  Bluetooth: hci0: AOSP get vendor capabilities (-110)

hci_uart_qca also prints "supply vddio not found, using dummy regulator"
for all six supplies. gpio116 (W_DISABLE2#) reads "out low", and
/sys/kernel/debug/pwrseq shows connector-1's uart-enable unit with a
count of 0.

The same machine and image with 26.04's linux-image-7.0.0-42-generic
works:

  Bluetooth: hci0: setting up wcn7850
  Bluetooth: hci0: QCA Downloading qca/hmtbtfw20.tlv
  Bluetooth: hci0: QCA Downloading qca/hmtnv20.b112
  Bluetooth: hci0: QCA setup on UART is completed

The controller comes up and a scan finds devices.

Cause: 7.3.0-6 (LP: #2167217, "26.10 Snapdragon X Elite: Sync concept
kernel changes") replaced the T14s device tree's WCN7850 power unit
description with the SAUCE "Describe PCIe M.2 1620 LGA connector"
(connector-1, pcie-m2-1620-lga-connector / pcie-m2-e-connector,
W_DISABLE1# on gpio117, W_DISABLE2# on gpio116, port 0 to pcie4_port0,
port 3 to uart14). pwrseq-pcie-m2 then creates the bluetooth node
(qcom,wcn7850-bt) and its serdev, and holds W_DISABLE2# asserted until a
consumer enables its "uart" target.

hci_qca in 7.3 asks for the "bluetooth" target on the serdev device
itself. pwrseq-pcie-m2 matches only the connector's remote port parents
(uart14 and pcie4_port0), not the bluetooth child, so the lookup returns
-EPROBE_DEFER. hci_qca takes that as BT_EN pulled up in hardware, uses
dummy regulators and never powers the chip.

Fix: the hci_qca half of the same M.2 work, which asks for the "uart"
target on the controller when the device has an OF graph:

  [v7,1/8] Bluetooth: hci_qca: Add M.2 Bluetooth device support using pwrseq 
(Loic Poulain, 2026-10-05)
  
https://patchwork.kernel.org/project/bluetooth/patch/[email protected]/
  series: https://patchwork.kernel.org/series/1179616/

Upstream also has a different approach under review:

  [1/5] Bluetooth: hci_qca: Add auxiliary driver for PCIe M.2 modules 
(Manivannan Sadhasivam, 2026-09-15)
  
https://patchwork.kernel.org/project/bluetooth/patch/[email protected]/

Neither is in mainline or bluetooth-next yet. Since stonking carries the
connector device tree as SAUCE, please carry the matching hci_qca patch
with it, or keep the WCN7850 power unit description for the T14s until
upstream settles.

Other machines: in 7.3.0-10's built-in device trees, the ASUS Zenbook
A16 (UX3607OA) uses the same E-key connector description, and the
X1E80100 CRD no longer has a bluetooth node. Neither was tested here.

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: arm64 stonking x1e

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2172779

Title:
  [x1e80100] ThinkPad T14s Gen 6: no Bluetooth on 7.3 (M.2 connector
  device tree without the hci_qca pwrseq patch)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2172779/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to