Public bug reported:
## Summary
On the Xiaomi Book Pro 14 2026 (TM2424), the built-in microphone array
produces pure digital silence (all-zero samples) with the Ubuntu 26.04 GA
kernel (7.0.0-28, based on upstream 7.0.12), even though the capture device
exists, is unmuted, and all mixer controls show sane values.
The issue is fixed upstream in Linux 7.1. I verified that the mainline
7.1.4 build makes the microphone work on the same machine. I am requesting
an SRU of the upstream fix into the resolute 7.0 kernel series.
### Hardware
- Machine: XIAOMI Xiaomi Book Pro 14, board TM2424
- CPU: Intel Core Ultra X7 358H (Panther Lake)
- Audio: Intel SoundWire + Realtek rt721 (headset + SmartMic) and rt1320
(SmartAmp), driven by SOF (sof-audio-pci-intel-ptl) with the generic
SoundWire machine driver ("function topologies")
- BIOS: XMAPT4B0P0909 (05/06/2026)
### Impact
The built-in microphone is completely unusable (voice input, video
conferencing) on the stock Ubuntu 26.04 kernel. This likely affects other
Panther Lake laptops with SDCA codecs whose capture volumes use the Q7.8
format (rt721/rt712-class Realtek parts), not just this model.
### Reproduction
1. Boot the stock 7.0.0-28-generic kernel.
2. Record via PipeWire or ALSA, e.g.:
pw-record --rate 48000 --channels 2 /tmp/test.wav
(or: ffmpeg -f alsa -i hw:0,4 -t 5 /tmp/test.wav)
3. Analyze the samples: peak = 0, rms = 0 — digital silence (-91 dB).
Mixer controls all look correct (rt721 FU1E capture switch on, 30 dB, ADC
muxes on DMIC inputs), and PipeWire/UCM apply their defaults correctly —
the hardware simply never outputs a non-zero sample.
:
### Root cause (upstream analysis)
The SDCA specification stores Feature Unit volumes in Q7.8 fixed-point
format. In 7.0.x, the SDCA class driver
(sound/soc/sdca/sdca_asoc.c) converts control values to register values
incorrectly, so mixer writes never reach the hardware with the intended
gain; the codec's effective capture gain stays at zero, hence all-zero
samples. The mixer *displays* the cached control values (30 dB, on), which
makes userspace debugging misleading.
The fix series landed in Linux 7.1:
- ae00200acb87 ASoC: SDCA: fix the register to ctl value conversion for Q7.8
format
- d4f7d5a9a0f9 ASoC: SDCA: Improve mapping of Q7.8 SDCA volumes
- 501efdcb3b3a ASoC: SDCA: Pull the Q7.8 volume helpers out of soc-ops
- ba2a0e81d4d7 ASoC: SDCA: Export Q7.8 volume control helpers
None of these carry a Cc: stable tag, so they have not been backported to
7.0.y (verified: still absent in 7.0.14).
### Verification
Same machine, same test command, only the kernel differs:
- 7.0.0-28-generic (7.0.12): peak = 0, rms = 0
- 7.1.4-070104-generic (mainline): peak = 20942, rms = 4972
Runtime inspection on 7.1.4 confirms the capture backend is
"SDW3-Capture-SmartMic" (rt721 SmartMic function), and recording works in
all applications (GNOME Settings level meter, voice input, conferencing).
### SRU request
Please consider backporting the four commits listed above to the resolute
7.0 kernel. The changes are confined to the SDCA ASoC class driver, are
small in scope, and fix a complete loss of microphone functionality on
affected SDCA-based laptops.
### Attachments
- dmesg excerpt showing the SoundWire/SOF enumeration:
sof-audio-pci-intel-ptl 0000:00:1f.3: No SoundWire machine driver found for
the ACPI-reported configuration:
sof-audio-pci-intel-ptl 0000:00:1f.3: link 3 mfg_id 0x025d part_id 0x0721
version 0x3
sof-audio-pci-intel-ptl 0000:00:1f.3: link 3 mfg_id 0x025d part_id 0x1320
version 0x3
sof-audio-pci-intel-ptl 0000:00:1f.3: Use SoundWire default machine driver
with function topologies
sof-audio-pci-intel-ptl 0000:00:1f.3: Booted firmware version: 2.14.1.1
- I can provide alsa-info.sh output, full dmesg, and test recordings if
needed.
---
** Affects: linux (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2161559
Title:
Internal microphone records digital silence on Xiaomi Book Pro 14
(TM2424, Panther Lake, rt721 SoundWire) — fixed upstream in 7.1, SRU
requested
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2161559/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs