суббота

[Bug 2168633] Re: [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

** Tags added: patch -- You received this bug notification because you are subscribed to linux in Ubuntu. Matching subscriptions: Bgg, Bmail, Nb 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 Status in linux package in Ubuntu: New Bug description: 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 <ckeepax@opensource.cirrus.com> - Posted 2026-05-20 as patch 3/3 of "Update some topology matching for newer laptops": https://lore.kernel.org/linux-sound/20260520163631.3300102-1-ckeepax@opensource.cirrus.com/ - 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/20260520163631.3300102-1-ckeepax@opensource.cirrus.com/ - 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 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2168633/+subscriptions

Комментариев нет:

Отправить комментарий