Public bug reported:

Summary

On a Lenovo Yoga Air 14 Ultra IPH11 (DMI product_name = 83QK) the Ubuntu 26.04
kernel 7.0.0-34-generic registers no sound card at all:

  $ cat /proc/asound/cards
  --- no soundcards ---

The same machine works correctly with mainline 7.2.6 and with a locally built
vanilla v7.2-rc1. The difference is a single missing upstream patch:

  soundwire: dmi-quirks: Disable ghost Realtek devices

Ubuntu has already backported the four sibling patches from the same
PTL/SoundWire audio series (table below); this one appears to have been missed.

Environment

- Ubuntu 26.04.1 LTS (resolute)
- linux-image-7.0.0-34-generic 7.0.0-34.34
  (the quirk is absent from the whole 7.0.0 series - verified by strings on the
  decompressed soundwire-intel.ko of both 7.0.0-15 and 7.0.0-34, and the 7.0.0
  series changelog never mentions the patch)
- alsa-ucm-conf 1.2.15.3-1ubuntu1.5
- Lenovo YOGA Air 14 Ultra IPH11
    sys_vendor      = LENOVO
    product_name    = 83QK
    product_version = YOGA Air 14 Ultra IPH11
    board_name      = LNVNB161216
    BIOS            = SHCN32WW (2026-04-20)
- ACPI sound card id: LENOVO-83QK-YOGAAir14UltraIPH11-LNVNB161216
- Codecs: Cirrus Logic CS42L43 + 2x CS35L57 (SoundWire sidecar amps)

Steps to reproduce

1. Boot 7.0.0-34-generic on this machine.
2. cat /proc/asound/cards
3. Play anything.

Actual result

No sound card is registered. Kernel log:

  sof_sdw sof_sdw: cs42l43 speaker volume limit failed: -22
  sof_sdw sof_sdw: ASoC: Failed to add route cs42l43 AMP1_OUT_P(*) -> Speaker
  sof_sdw sof_sdw: ASoC: Failed to add route cs42l43 AMP1_OUT_N(*) -> Speaker
  sof_sdw sof_sdw: ASoC: Failed to add route cs42l43 AMP2_OUT_P(*) -> Speaker
  sof_sdw sof_sdw: ASoC: Failed to add route cs42l43 AMP2_OUT_N(*) -> Speaker
  sof_sdw sof_sdw: cs42l43 speaker map addition failed: -19
  SDW3-Playback-SmartAmp: ASoC error (-19): at snd_soc_link_init() on 
SDW3-Playback-SmartAmp
  sof_sdw sof_sdw: error -ENODEV: snd_soc_register_card failed -19

Audio applications only see a dummy output.

Expected result

The card registers and the Speaker PCM (card 0, device 2) appears, as on
mainline 7.2.6:

  $ aplay -l | grep -i Speaker
  card 0: sofsoundwire [sof-soundwire], device 2: Speaker (*) []

Root cause

This machine's ACPI advertises a Realtek RT722 SoundWire device
(ADR 0x33f025d072201, mfg id 0x025d, part id 0x0722) that does not physically
exist - a "ghost" device. Upstream handles this in 
drivers/soundwire/dmi-quirks.c
with an adr_remap entry (ghost_realtek) that remaps the bogus ADR to 0. The hook
is soundwire-intel's .override_adr = sdw_dmi_override_adr
(drivers/soundwire/intel_auxdevice.c).

Without that quirk the ghost device is enumerated, which perturbs the codec name
prefix, and the hard-coded speaker routes in
sound/soc/sdw_utils/soc_sdw_cs42l43.c ("cs42l43 AMP1_OUT_P", ...) no longer
resolve, so snd_soc_register_card() fails with -ENODEV.

Boot log comparison, same machine / same userspace / only the kernel
differs:

                       7.2.6 (works)                     7.0.0-34 (broken)
  endpoint count       Found 1 devices with 1 endpoints  Found 2 devices with 4 
endpoints
  cs42l43 prefix       Adding prefix cs42l43             Adding prefix cs42l43-1
  ghost device         absent                            Add dev: 3, 
0x33f025d072201
  card registration    OK                                snd_soc_register_card 
failed -19

Broken boot, relevant excerpt:

  snd_soc_acpi: Slave part_id 0x712 not found
  snd_sof_intel_hda_generic: soundwire sdw:0:3:01fa:4243:01: Endpoint DAI type 
0 not found
  snd_soc_sdw_utils: asoc_sdw_count_sdw_endpoints: Found 2 devices with 4 
endpoints
  snd_soc_sdw_utils: asoc_sdw_parse_sdw_endpoints: Adding prefix cs42l43-1 for 
cs42l43-codec
  snd_soc_sdw_utils: asoc_sdw_parse_sdw_endpoints: Add dev: 3, 0x33f025d072201 
end: 0, dai: 0, P/C to solo: 0
  snd_soc_sdw_utils: asoc_sdw_parse_sdw_endpoints: Adding prefix rt722 for 
sdw:0:3:025d:0722:01

Also verified directly in the shipped binary: strings on the decompressed
soundwire-intel.ko from linux-modules-7.0.0-34-generic contains zero occurrences
of 83QK (nor 83SF, nor UX5406AA), while the 7.2.6 module does.

The fix already exists upstream

- Patch title: soundwire: dmi-quirks: Disable ghost Realtek devices
- Author: Charles Keepax <[email protected]>
- Posted 2026-05-20 as patch 3/3 of "Update some topology matching for newer
  laptops":
  
https://lore.kernel.org/linux-sound/[email protected]/
- The commit message lists this exact machine: "Currently this patch should
  cover: Asus UX5406AA, Lenovo Yoga Pro 9i (83SF), Lenovo Yoga Slim 7 Ultra 
(83QK)"
- It is present in v7.2-rc1 and later, and has been AUTOSEL'd to the stable 
trees
  (6.18 down to 6.1), i.e. it is regarded as a safe backport.

Sibling patches Ubuntu already carries in the 7.0.0 series

  ASoC: SOF: Intel: Add a is_amp flag to fix the wrong name prefix              
7.0.0-26
  ASoC: sdw_utils: add rt1320 and rt1321 dmic dai in codec_info_list            
7.0.0-26
  ASoC: Intel: sof_sdw: append dai type to dai link name unconditionally        
7.0.0-28
  Input: atkbd - add DMI quirk for Lenovo Yoga Air 14 (83QK)                    
7.0.0-31
  soundwire: dmi-quirks: Disable ghost Realtek devices                          
MISSING

(all confirmed from apt-get changelog linux-modules-7.0.0-34-generic)

Requested fix

Please backport "soundwire: dmi-quirks: Disable ghost Realtek devices" to the
26.04 kernel (linux, 7.0.0 series). It is a ~35 line, self-contained addition to
an existing DMI quirk table, already accepted into upstream stable, and it is 
the
only missing piece for audio on this machine.

How to verify

Boot a kernel with the patch and check:

  cat /proc/asound/cards                             # "sof-soundwire" card 
appears
  aplay -l | grep -i Speaker                         # card 0, device 2
  journalctl -b -k | grep -i "Failed to add route"   # no output

Note: userspace also needs the cs35l56-bridge.conf UCM fix from
thesofproject/alsa-ucm-conf#778, which is likewise not yet in Ubuntu's
alsa-ucm-conf 1.2.15.3 (it hard-codes PlaybackPCM "hw:${CardId},0" and the DP5RX
route; this machine needs hw:${CardId},2 and DP6RX). Worth backporting together.

References

- Upstream issue: https://github.com/thesofproject/linux/issues/5786
- Upstream patch: 
https://lore.kernel.org/linux-sound/[email protected]/
- Upstream UCM fix: https://github.com/thesofproject/alsa-ucm-conf/pull/778

ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: linux-image-7.0.0-34-generic 7.0.0-34.34
ProcVersionSignature: Ubuntu 7.0.0-34.34-generic 7.0.14
Uname: Linux 7.0.0-34-generic x86_64
ApportVersion: 2.34.1-0ubuntu0.1
Architecture: amd64
AudioDevicesInUse:
 USER        PID ACCESS COMMAND
 /dev/snd/seq:        eureka     2414 F.... pipewire
CasperMD5CheckResult: unknown
CurrentDesktop: ubuntu:GNOME
Date: Sun Sep 27 00:44:54 2026
InstallationDate: Installed on 2026-05-26 (123 days ago)
InstallationMedia: Ubuntu 26.04 "Resolute Raccoon" - Release amd64 (20260423.1)
Lsusb:
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 003 Device 002: ID 174f:11bf Syntek Integrated RGB Camera
 Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
MachineType: LENOVO 83QK
ProcEnviron:
 LANG=zh_CN.UTF-8
 PATH=(custom, no user)
 SHELL=/bin/bash
 TERM=xterm-256color
 XDG_RUNTIME_DIR=<set>
ProcFB: 0 xedrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-7.0.0-34-generic 
root=UUID=1cbf22a7-f458-46ce-ba8e-7a7cfda504a0 ro quiet splash i8042.unlock 
atkbd.skip_deactivate=1 
crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M
PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No 
PulseAudio daemon running, or not running as session daemon.
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 04/20/2026
dmi.bios.release: 1.32
dmi.bios.vendor: LENOVO
dmi.bios.version: SHCN32WW
dmi.board.asset.tag: NO Asset Tag
dmi.board.name: LNVNB161216
dmi.board.vendor: LENOVO
dmi.board.version: SDK0T76577 WIN
dmi.chassis.asset.tag: NO Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: YOGA Air 14 Ultra IPH11
dmi.ec.firmware.release: 1.32
dmi.modalias: 
dmi:bvnLENOVO:bvrSHCN32WW:bd04/20/2026:br1.32:efr1.32:svnLENOVO:pn83QK:pvrYOGAAir14UltraIPH11:rvnLENOVO:rnLNVNB161216:rvrSDK0T76577WIN:cvnLENOVO:ct10:cvrYOGAAir14UltraIPH11:skuLENOVO_MT_83QK_BU_idea_FM_YOGAAir14UltraIPH11:pfaYOGAAir14UltraIPH11:
dmi.product.family: YOGA Air 14 Ultra IPH11
dmi.product.name: 83QK
dmi.product.sku: LENOVO_MT_83QK_BU_idea_FM_YOGA Air 14 Ultra IPH11
dmi.product.version: YOGA Air 14 Ultra IPH11
dmi.sys.vendor: LENOVO

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


** Tags: amd64 apport-bug resolute wayland-session

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

Title:
  [Lenovo Yoga Air 14 (83QK)] No sound card at all on 26.04 kernel
  7.0.0-34 — missing "soundwire: dmi-quirks: Disable ghost Realtek
  devices" backport

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


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

Reply via email to