alsa/sdw: Fix the audio issue on a Dell machine without internal mic

Bug #1966841 reported by Hui Wang
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
Undecided
Unassigned
firmware-sof (Ubuntu)
Fix Released
High
Unassigned
Jammy
Fix Released
High
Unassigned
Kinetic
Won't Fix
Undecided
Unassigned
linux (Ubuntu)
Fix Released
High
Hui Wang
Focal
Invalid
Undecided
Unassigned
Jammy
Fix Released
High
Hui Wang
Kinetic
Fix Released
Undecided
Unassigned
linux-firmware (Ubuntu)
Invalid
Undecided
Unassigned
Focal
Fix Released
Undecided
Unassigned
Jammy
Invalid
Undecided
Unassigned
Kinetic
Invalid
Undecided
Unassigned
linux-oem-5.14 (Ubuntu)
Focal
Fix Released
Undecided
Unassigned
linux-oem-5.17 (Ubuntu)
Invalid
Undecided
Unassigned
Jammy
Fix Released
Undecided
Unassigned
Kinetic
Invalid
Undecided
Unassigned

Bug Description

SRU template for linux-firmware
[Impact]
we have a Dell ADL laptop which has sdw audio, but there is no camera
and no internal digital mic in this machine, the current asoc driver
can't work on this machine, the speaker and headset couldn't work.

[Fix]
Backport a tplg file which is specific to this mahcine

[Test]
Install the patched linux-firmware and boot the latest oem-5.14 kernel
on the machine, check dmesg, it loads the correct tplg, and
test speaker and headset, all work well.

[Where problems could occur]
This SRU is adding a new tplg file, it has no chance to introduce
a regression.

SRU template for linux
[Impact]
we have a Dell ADL laptop which has sdw audio, but there is no camera
and no internal digital mic in this machine, the current soc driver
can't work on this machine, it will load a wrong tplg without this patch,
and the speaker and headset couldn't work.

[Fix]
Backport one patch from upstream.

[Test]
Boot the patched kernel on the machine, check dmesg, it loads the
correct tplg, and test speaker and headset, all work well.

[Where problems could occur]
If it could introduce regression, it will be on the sdw codec matching
for adl machines, then it will make the driver load wrong tplg and make
output device and input device not work anymore. But this possibility
is very low, we already tested the patch on some dell adl machines, no
regression found.

CVE References

Hui Wang (hui.wang)
Changed in linux (Ubuntu):
importance: Undecided → High
Changed in linux-oem-5.14 (Ubuntu):
importance: Undecided → High
Changed in linux (Ubuntu Focal):
status: New → Invalid
Changed in linux-oem-5.14 (Ubuntu Jammy):
status: New → Invalid
tags: added: oem-priority originate-from-1947673 somerville
Changed in linux-oem-5.14 (Ubuntu Focal):
status: New → In Progress
Changed in linux (Ubuntu Jammy):
status: New → In Progress
Hui Wang (hui.wang)
description: updated
Timo Aaltonen (tjaalton)
Changed in linux-oem-5.14 (Ubuntu Focal):
status: In Progress → Fix Committed
Changed in linux-oem-5.17 (Ubuntu Focal):
status: New → Invalid
Changed in linux-oem-5.17 (Ubuntu Jammy):
status: New → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-oem-5.14/5.14.0-1033.36 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-focal
Revision history for this message
Andy Chi (andch) wrote :

Install 5.14.0-1033.36 on certain Dell machine and speaker works fine.

tags: added: verification-done-focal
removed: verification-needed-focal
Revision history for this message
Andy Chi (andch) wrote :

BTW, I manually copied sof-adl-rt711-l2-rt1316-l01.tplg to /lib/firmware/intel/sof-tplg.

Revision history for this message
Hui Wang (hui.wang) wrote :

Thanks Andy, I am SRUing the tplg now.

Juerg Haefliger (juergh)
tags: added: kern-2868
Hui Wang (hui.wang)
Changed in linux-firmware (Ubuntu Jammy):
status: New → Invalid
Changed in linux-firmware (Ubuntu Focal):
status: New → In Progress
Hui Wang (hui.wang)
description: updated
Juerg Haefliger (juergh)
Changed in linux-firmware (Ubuntu Focal):
status: In Progress → Fix Committed
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

I don't see the tplg file in jammy yet?

Revision history for this message
Hui Wang (hui.wang) wrote :

Will check jammy today. I remember Juerg and Vicamo did sth on jammy several days ago.

Hui Wang (hui.wang)
Changed in firmware-sof (Ubuntu Focal):
status: New → Invalid
Changed in firmware-sof (Ubuntu Jammy):
importance: Undecided → High
status: New → In Progress
Revision history for this message
Hui Wang (hui.wang) wrote :

Hi Sponsor team,

To fix this bug for jammy, need to add a binary file to firmware-sof-signed package, but the quilt doesn't support binary file changes, I can't generate debdiff for this SRU.

Here I referred to the Vicamo and Juerg's solution, add the file to the git repo directly and send a merge request: https://code.launchpad.net/~hui.wang/ubuntu/+source/firmware-sof/+git/firmware-sof/+merge/419359

Please help review it and merge it if no need to change sth in that MR.

thx.

Mathew Hodson (mhodson)
no longer affects: linux-oem-5.14 (Ubuntu Jammy)
no longer affects: linux-oem-5.14 (Ubuntu)
no longer affects: linux-oem-5.17 (Ubuntu Focal)
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (37.4 KiB)

This bug was fixed in the package linux-oem-5.14 - 5.14.0-1033.36

---------------
linux-oem-5.14 (5.14.0-1033.36) focal; urgency=medium

  * focal/linux-oem-5.14: 5.14.0-1033.36 -proposed tracker (LP: #1967397)

  * Bolt doesn't work with native USB4 hosts (LP: #1962349)
    - thunderbolt: Retry DROM reads for more failure scenarios
    - thunderbolt: Do not resume routers if UID is not set
    - thunderbolt: Do not make DROM read success compulsory
    - PCI/ACPI: Allow D3 only if Root Port can signal and wake from D3

  * Fix non-working MT7921 BT after reboot (LP: #1966497)
    - Bluetooth: btusb: Enable MSFT extension for Mediatek Chip (MT7921)

  * alsa/sdw: Fix the audio issue on a Dell machine without internal mic
    (LP: #1966841)
    - ASoC: Intel: soc-acpi: add entries in ADL match table

  * Enable headset mic on Lenovo P360 (LP: #1967069)
    - ALSA: hda/realtek: Enable headset mic on Lenovo P360

  * WCN6856 BT keep in OFF state after coldboot system (LP: #1967067)
    - Bluetooth: btusb: Improve stability for QCA devices

  * Focal update: upstream stable patchset 2022-03-21 (LP: #1965737)
    - mm/filemap: Fix handling of THPs in generic_file_buffered_read()
    - cgroup/cpuset: Fix a race between cpuset_attach() and cpu hotplug
    - cgroup-v1: Correct privileges check in release_agent writes
    - x86/ptrace: Fix xfpregs_set()'s incorrect xmm clearing
    - btrfs: tree-checker: check item_size for inode_item
    - btrfs: tree-checker: check item_size for dev_item
    - clk: jz4725b: fix mmc0 clock gating
    - io_uring: don't convert to jiffies for waiting on timeouts
    - io_uring: disallow modification of rsrc_data during quiesce
    - selinux: fix misuse of mutex_is_locked()
    - vhost/vsock: don't check owner in vhost_vsock_stop() while releasing
    - parisc/unaligned: Fix fldd and fstd unaligned handlers on 32-bit kernel
    - parisc/unaligned: Fix ldw() and stw() unalignment handlers
    - KVM: x86/mmu: make apf token non-zero to fix bug
    - drm/amd/display: Protect update_bw_bounding_box FPU code.
    - drm/amd/pm: fix some OEM SKU specific stability issues
    - drm/amdgpu: disable MMHUB PG for Picasso
    - drm/amdgpu: do not enable asic reset for raven2
    - drm/i915: Widen the QGV point mask
    - drm/i915: Correctly populate use_sagv_wm for all pipes
    - drm/i915: Fix bw atomic check when switching between SAGV vs. no SAGV
    - sr9700: sanity check for packet length
    - USB: zaurus: support another broken Zaurus
    - CDC-NCM: avoid overflow in sanity checking
    - netfilter: xt_socket: fix a typo in socket_mt_destroy()
    - netfilter: xt_socket: missing ifdef CONFIG_IP6_NF_IPTABLES dependency
    - tee: export teedev_open() and teedev_close_context()
    - optee: use driver internal tee_context for some rpc
    - ping: remove pr_err from ping_lookup
    - Revert "i40e: Fix reset bw limit when DCB enabled with 1 TC"
    - gpu: host1x: Always return syncpoint value when waiting
    - perf data: Fix double free in perf_session__delete()
    - mptcp: fix race in incoming ADD_ADDR option processing
    - mptcp: add mibs counter for ignored incoming options
    - selftests: mptcp: fix diag instability
 ...

Changed in linux-oem-5.14 (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

jammy needs sru too at this point

Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Hui, or anyone else affected,

Accepted linux-firmware into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/linux-firmware/1.187.30 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Andy Chi (andch) wrote :

Enable -proposed channel and install linux-firmware (1.187.30).
The DUT load the correct tplg file and audio works fine.

[kernel]
[ 5.375961] sof-audio-pci-intel-tgl 0000:00:1f.3: SoundWire machine driver sof_sdw topology sof-adl-rt711-l2-rt1316-l01.tplg
[ 5.375962] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 4
[ 5.375970] sof-audio-pci-intel-tgl 0000:00:1f.3: loading firmware
[ 5.384434] sof-audio-pci-intel-tgl 0000:00:1f.3: request_firmware intel/sof/sof-adl.ri successful

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package firmware-sof - 2.0-1ubuntu3

---------------
firmware-sof (2.0-1ubuntu3) jammy; urgency=low

  * Add a new tplg file to v2.0.x
    - Intel released a new tplg file in the sof-bin-v1.9.3-tplg2 for a
      Dell machine which has no internal mic. Now picking that file and
      put it as v2.0.x/sof-tplg-v2.0/sof-adl-rt711-l2-rt1316-l01.tplg.
      (LP: #1966841)

 -- Hui Wang <email address hidden> Wed, 13 Apr 2022 11:30:46 +0800

Changed in firmware-sof (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux/5.15.0-28.29 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-jammy' to 'verification-done-jammy'. If the problem still exists, change the tag 'verification-needed-jammy' to 'verification-failed-jammy'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-jammy
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware - 1.187.30

---------------
linux-firmware (1.187.30) focal; urgency=medium

  * alsa/sdw: Fix the audio issue on a Dell machine without internal mic (LP: #1966841)
    - SAUCE: Add a new tplg file sof-adl-rt711-l2-rt1316-l01.tplg

 -- Juerg Haefliger <email address hidden> Mon, 11 Apr 2022 16:26:44 +0200

Changed in linux-firmware (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for linux-firmware has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Hui Wang (hui.wang)
tags: added: verification-done-jammy
removed: verification-needed-jammy
Mathew Hodson (mhodson)
no longer affects: firmware-sof (Ubuntu Focal)
Revision history for this message
Brian Murray (brian-murray) wrote :

I don't see any verification details about the firmware-sof package from jammy-proposed. Please add them and change the tag back to verification-done.

tags: added: verification-needed-jammy
removed: verification-done-jammy
Revision history for this message
Hui Wang (hui.wang) wrote :

verification firmware-sof under Jammy:

Install the jammy to that dell SNDW machine without internal mic, enable the -proposed ppa, run apt-get update; apt-get dist-upgrade; check the firmware-sof-signed version is 2.0-1ubuntu3 now. reboot. After booting up, check dmesg, the tplg sof-adl-rt711-l2-rt1316-l01.tplg is found and loaded successfully. check audio devices from gnome-sound-setting, all output and input devices works as expected.

Verification done for firmware-sof for Jammy.

tags: added: verification-done-jammy
removed: verification-needed-jammy
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package firmware-sof - 2.0-1ubuntu3

---------------
firmware-sof (2.0-1ubuntu3) jammy; urgency=low

  * Add a new tplg file to v2.0.x
    - Intel released a new tplg file in the sof-bin-v1.9.3-tplg2 for a
      Dell machine which has no internal mic. Now picking that file and
      put it as v2.0.x/sof-tplg-v2.0/sof-adl-rt711-l2-rt1316-l01.tplg.
      (LP: #1966841)

 -- Hui Wang <email address hidden> Wed, 13 Apr 2022 11:30:46 +0800

Changed in firmware-sof (Ubuntu Jammy):
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (96.0 KiB)

This bug was fixed in the package linux-oem-5.17 - 5.17.0-1004.4

---------------
linux-oem-5.17 (5.17.0-1004.4) jammy; urgency=medium

  * jammy/linux-oem-5.17: 5.17.0-1004.4 -proposed tracker (LP: #1970584)

  * Packaging resync (LP: #1786013)
    - [Packaging] update Ubuntu.md

  * alsa: enable the cirrus-logic side-codec to make the speaker output sound
    (LP: #1965496)
    - spi: Make spi_alloc_device and spi_add_device public again
    - spi: Create helper API to lookup ACPI info for spi device
    - spi: Support selection of the index of the ACPI Spi Resource before alloc
    - spi: Add API to count spi acpi resources
    - platform/x86: i2c-multi-instantiate: Rename it for a generic serial driver
      name
    - platform/x86: serial-multi-instantiate: Reorganize I2C functions
    - platform/x86: serial-multi-instantiate: Add SPI support
    - ACPI / scan: Create platform device for CS35L41
    - [Config]: enable SERIAL_MULTI_INSTANTIATE

  * Bolt doesn't work with native USB4 hosts (LP: #1962349)
    - thunderbolt: Retry DROM reads for more failure scenarios
    - thunderbolt: Do not resume routers if UID is not set
    - thunderbolt: Do not make DROM read success compulsory
    - PCI/ACPI: Allow D3 only if Root Port can signal and wake from D3

  * DMCUB hangs if a PSR unsupported set version command is sent on AMD
    Rembrandt platform (LP: #1969407)
    - drm/amd/display: Only set PSR version when valid

  * Micmute LED support for Zbook Fury 16 G9 (LP: #1968892)
    - ALSA: hda/realtek: Add support for HP Laptops
    - ALSA: hda/realtek: Add mute and micmut LED support for Zbook Fury 17 G9

  * PCIE LnkCtl ASPM not enabled under VMD mode for Alder Lake platforms
    (LP: #1942160)
    - SAUCE: PCI/ASPM: Enable ASPM for links under VMD domain
    - SAUCE: PCI/ASPM: Enable LTR for endpoints behind VMD
    - SAUCE: vmd: fixup bridge ASPM by driver name instead

  * Support AMD P-State cpufreq control mechanism (LP: #1956509)
    - [Config] enable X86_AMD_PSTATE as built-in on amd64

  * Use kernel-testing repo from launchpad for ADT tests (LP: #1968016)
    - [Debian] Use kernel-testing repo from launchpad

  * Fix beacon loss for rtl8821ce on certain platforms (LP: #1969771)
    - SAUCE: rtw88: pci: 8821c: Disable 21ce completion timeout

  * alsa/sdw: Fix the audio issue on a Dell machine without internal mic
    (LP: #1966841)
    - ASoC: Intel: soc-acpi: add entries in ADL match table

  * WCN6856 BT keep in OFF state after coldboot system (LP: #1967067)
    - Bluetooth: btusb: Improve stability for QCA devices

  * Miscellaneous Ubuntu changes
    - [Config] update configs and annotations after stable updates

  [ Ubuntu: 5.17.0-8.8~22.04.2 ]

  * jammy/linux-hwe-5.17: 5.17.0-8.8~22.04.2 -proposed tracker (LP: #1969219)
  * Packaging resync (LP: #1786013)
    - [Packaging] update Ubuntu.md
    - [Packaging] update update.conf

  [ Ubuntu: 5.17.0-8.8~22.04.1 ]

  * Empty entry

  [ Ubuntu: 5.17.0-8.8 ]

  * jammy/linux-unstable: 5.17.0-8.8 -proposed tracker (LP: #1969016)
  * Packaging resync (LP: #1786013)
    - debian/dkms-versions -- update from kernel-versions (main/master)

  [ Ubuntu: 5.17.0-7.7 ]

  * jammy/linux-unsta...

Changed in linux-oem-5.17 (Ubuntu Jammy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (101.7 KiB)

This bug was fixed in the package linux - 5.15.0-35.36

---------------
linux (5.15.0-35.36) jammy; urgency=medium

  * CVE-2022-21499
    - SAUCE: debug: Lock down kgdb

linux (5.15.0-34.35) jammy; urgency=medium

  * jammy/linux: 5.15.0-34.35 -proposed tracker (LP: #1974322)

  * AMD APU s2idle is broken after the ASIC reset fix (LP: #1972134)
    - drm/amdgpu: unify BO evicting method in amdgpu_ttm
    - drm/amdgpu: explicitly check for s0ix when evicting resources

  * amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x0000 to IRQ, err -517
    (LP: #1971597)
    - gpio: Request interrupts after IRQ is initialized

  * config CONFIG_HISI_PMU for kunpeng920 (LP: #1956086)
    - [Config] CONFIG_HISI_PMU=m

  * Mute/mic LEDs no function on EliteBook G9 platfroms (LP: #1970552)
    - ALSA: hda/realtek: Enable mute/micmute LEDs support for HP Laptops

  * network-manager/1.36.4-2ubuntu1 ADT test failure with linux/5.15.0-28.29
    (LP: #1971418)
    - Revert "rfkill: make new event layout opt-in"

  * PCIE LnkCtl ASPM not enabled under VMD mode for Alder Lake platforms
    (LP: #1942160)
    - SAUCE: vmd: fixup bridge ASPM by driver name instead

  * Mute/mic LEDs no function on HP EliteBook 845/865 G9 (LP: #1970178)
    - ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on EliteBook
      845/865 G9

  * Enable headset mic on Lenovo P360 (LP: #1967069)
    - ALSA: hda/realtek: Enable headset mic on Lenovo P360

  * WCN6856 BT keep in OFF state after coldboot system (LP: #1967067)
    - Bluetooth: btusb: Improve stability for QCA devices

  * Screen sometimes can't update [Failed to post KMS update: CRTC property
    (GAMMA_LUT) not found] (LP: #1967274)
    - drm/i915/xelpd: Enable Pipe color support for D13 platform
    - drm/i915: Use unlocked register accesses for LUT loads
    - drm/i915/xelpd: Enable Pipe Degamma
    - drm/i915/xelpd: Add Pipe Color Lut caps to platform config

  * Jammy update: v5.15.35 upstream stable release (LP: #1969857)
    - drm/amd/display: Add pstate verification and recovery for DCN31
    - drm/amd/display: Fix p-state allow debug index on dcn31
    - hamradio: defer 6pack kfree after unregister_netdev
    - hamradio: remove needs_free_netdev to avoid UAF
    - cpuidle: PSCI: Move the `has_lpi` check to the beginning of the function
    - ACPI: processor idle: Check for architectural support for LPI
    - ACPI: processor: idle: fix lockup regression on 32-bit ThinkPad T40
    - btrfs: remove unused parameter nr_pages in add_ra_bio_pages()
    - btrfs: remove no longer used counter when reading data page
    - btrfs: remove unused variable in btrfs_{start,write}_dirty_block_groups()
    - soc: qcom: aoss: Expose send for generic usecase
    - dt-bindings: net: qcom,ipa: add optional qcom,qmp property
    - net: ipa: request IPA register values be retained
    - btrfs: release correct delalloc amount in direct IO write path
    - ALSA: core: Add snd_card_free_on_error() helper
    - ALSA: sis7019: Fix the missing error handling
    - ALSA: ali5451: Fix the missing snd_card_free() call at probe error
    - ALSA: als300: Fix the missing snd_card_free() call at probe error
    - ALSA: als4000: Fix ...

Changed in linux (Ubuntu Jammy):
status: In Progress → Fix Released
Timo Aaltonen (tjaalton)
Changed in linux (Ubuntu):
status: In Progress → Fix Released
Changed in hwe-next:
status: New → Fix Released
Changed in linux-oem-5.17 (Ubuntu):
status: Fix Committed → Invalid
Changed in linux (Ubuntu Kinetic):
status: New → Fix Released
Changed in linux-firmware (Ubuntu Kinetic):
status: New → Invalid
Changed in linux-oem-5.17 (Ubuntu Kinetic):
status: New → Invalid
Revision history for this message
Julian Andres Klode (juliank) wrote :

Unsubscribing ubuntu-sponsors as this seems done except for this firmware-sof kinetic tag which is New and I hereby mark Incomplete as it's not clear if there's anything left to do there to me

Changed in firmware-sof (Ubuntu Kinetic):
status: New → Incomplete
Revision history for this message
Utkarsh Gupta (utkarsh) wrote :

Ubuntu 22.10 (Kinetic Kudu) has reached end of life, so this bug will not be fixed for that specific release.

Changed in firmware-sof (Ubuntu Kinetic):
status: Incomplete → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.