CirrusLogic: Cracking noises appears in built-in speaker when output volume is set >80%

Bug #1924997 reported by You-Sheng Yang
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
Undecided
Unassigned
linux (Ubuntu)
Fix Released
Medium
You-Sheng Yang
Focal
Invalid
Undecided
Unassigned
Hirsute
Fix Released
Medium
You-Sheng Yang
Impish
Fix Released
Medium
You-Sheng Yang
linux-oem-5.10 (Ubuntu)
Invalid
Undecided
Unassigned
Focal
Fix Released
High
You-Sheng Yang
Hirsute
Invalid
Undecided
Unassigned
Impish
Invalid
Undecided
Unassigned

Bug Description

[SRU Justification]

[Impact]

On a few CS8409 installed platforms, there are crack sounds when playing
audio with output volume set to 100%.

[Fix]

The hardware is not capable of generating smooth audio output at the
maximum volume that codec chip can be configured. A fix proposed to lower
the maximum output volume using CS8409 equalizer.

[Test Case]

Use GNOME Settings / Sound Settings, set volume to 100%, play test
audio for both right and left channels; set volume back to 70%, and
repeat the same to compare to differences. While we don't have acoustic
lab to perform precise measurements, the result was confirmed by
partner.

[Where problems could occur]

This is to add a preconfigured, equalizer driver default values. This
will introduce non-uniformed frequency response in comparison to that in
the hardware preset. The net effect observable to general users is a
lower maximum output volume. For those Hi-Fi users, audio output always
takes additional calibration via extra software like ALSAEqual and/or
hardware.

[Other Info]

By SRU we skipped a couple of refactoring changes in asound upstream
tree, so additional changes to the original patch are required to
backport.

========== original bug description ==========

A cracking noises is noticed when doing audio playback from the built-in speaker when the volume is set >80.

Upstream bug: https://github.com/CirrusLogic/product-support/issues/11
---
ProblemType: Bug
ApportVersion: 2.20.11-0ubuntu27.16
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: u 1444 F.... pulseaudio
CasperMD5CheckResult: skip
DistributionChannelDescriptor:
 # This is the distribution channel descriptor for the OEM CDs
 # For more information see http://wiki.ubuntu.com/DistributionChannelDescriptor
 canonical-oem-somerville-focal-amd64-20200502-85+fossa-proposed-release+X90
DistroRelease: Ubuntu 20.04
InstallationDate: Installed on 2021-04-13 (6 days ago)
InstallationMedia: Ubuntu 20.04 "Focal" - Build amd64 LIVE Binary 20200502-05:58
Lsusb:
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 001 Device 003: ID 0c45:671e Microdia Integrated_Webcam_HD
 Bus 001 Device 002: ID 27c6:538d Shenzhen Goodix Technology Co.,Ltd. FingerPrint
 Bus 001 Device 004: ID 0cf3:e009 Qualcomm Atheros Communications
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Dell Inc. Vostro 3500
Package: linux (not installed)
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.10.0-1020-oem root=UUID=5faadc6d-6af0-41ba-bfce-60bd8c19b7f8 ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 5.10.0-1020.21-oem 5.10.25
PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No PulseAudio daemon running, or not running as session daemon.
RelatedPackageVersions:
 linux-restricted-modules-5.10.0-1020-oem N/A
 linux-backports-modules-5.10.0-1020-oem N/A
 linux-firmware 1.187.10
Tags: focal
Uname: Linux 5.10.0-1020-oem x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: N/A
_MarkForUpload: True
dmi.bios.date: 02/02/2021
dmi.bios.release: 1.2
dmi.bios.vendor: Dell Inc.
dmi.bios.version: 1.2.2
dmi.board.name: 09YKK0
dmi.board.vendor: Dell Inc.
dmi.board.version: X00
dmi.chassis.type: 10
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvr1.2.2:bd02/02/2021:br1.2:svnDellInc.:pnVostro3500:pvr:rvnDellInc.:rn09YKK0:rvrX00:cvnDellInc.:ct10:cvr:
dmi.product.family: Vostro
dmi.product.name: Vostro 3500
dmi.product.sku: 0A24
dmi.sys.vendor: Dell Inc.

Revision history for this message
You-Sheng Yang (vicamo) wrote :
Changed in linux (Ubuntu Focal):
status: New → Invalid
Changed in linux (Ubuntu Hirsute):
status: New → Triaged
assignee: nobody → You-Sheng Yang (vicamo)
Changed in linux-oem-5.10 (Ubuntu Focal):
status: New → Triaged
assignee: nobody → You-Sheng Yang (vicamo)
Changed in linux-oem-5.10 (Ubuntu Hirsute):
status: New → Invalid
Changed in linux (Ubuntu Hirsute):
importance: Undecided → High
Changed in linux-oem-5.10 (Ubuntu Focal):
importance: Undecided → High
tags: added: oem-priority originate-from-1924947 somerville
Revision history for this message
You-Sheng Yang (vicamo) wrote :
Revision history for this message
You-Sheng Yang (vicamo) wrote : AlsaInfo.txt

apport information

tags: added: apport-collected focal
description: updated
Revision history for this message
You-Sheng Yang (vicamo) wrote : CRDA.txt

apport information

Revision history for this message
You-Sheng Yang (vicamo) wrote : CurrentDmesg.txt

apport information

Revision history for this message
You-Sheng Yang (vicamo) wrote : IwConfig.txt

apport information

Revision history for this message
You-Sheng Yang (vicamo) wrote : Lspci.txt

apport information

Revision history for this message
You-Sheng Yang (vicamo) wrote : Lspci-vt.txt

apport information

Revision history for this message
You-Sheng Yang (vicamo) wrote : Lsusb-t.txt

apport information

Revision history for this message
You-Sheng Yang (vicamo) wrote : Lsusb-v.txt

apport information

Revision history for this message
You-Sheng Yang (vicamo) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
You-Sheng Yang (vicamo) wrote : ProcCpuinfoMinimal.txt

apport information

Revision history for this message
You-Sheng Yang (vicamo) wrote : ProcInterrupts.txt

apport information

Revision history for this message
You-Sheng Yang (vicamo) wrote : ProcModules.txt

apport information

Revision history for this message
You-Sheng Yang (vicamo) wrote : RfKill.txt

apport information

Revision history for this message
You-Sheng Yang (vicamo) wrote : UdevDb.txt

apport information

Revision history for this message
You-Sheng Yang (vicamo) wrote : WifiSyslog.txt

apport information

Revision history for this message
You-Sheng Yang (vicamo) wrote : acpidump.txt

apport information

Revision history for this message
You-Sheng Yang (vicamo) wrote :
Revision history for this message
You-Sheng Yang (vicamo) wrote :

Upstream patch in review: https://patchwork.kernel<email address hidden>/

Changed in linux-oem-5.10 (Ubuntu Focal):
status: Triaged → In Progress
Changed in linux (Ubuntu Hirsute):
status: Triaged → In Progress
Changed in linux (Ubuntu Impish):
status: Triaged → In Progress
Revision history for this message
You-Sheng Yang (vicamo) wrote :
description: updated
Stefan Bader (smb)
Changed in linux (Ubuntu Hirsute):
importance: High → Medium
Changed in linux (Ubuntu Impish):
importance: High → Medium
Timo Aaltonen (tjaalton)
Changed in linux-oem-5.10 (Ubuntu Focal):
status: In Progress → Fix Committed
Revision history for this message
You-Sheng Yang (vicamo) wrote :

In Ubuntu-oem-5.10-5.10.0-1025.26.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

please check oem-5.10 1025 works

tags: added: verification-needed-focal
Stefan Bader (smb)
Changed in linux (Ubuntu Hirsute):
status: In Progress → Fix Committed
Changed in linux (Ubuntu Impish):
status: In Progress → Fix Committed
Revision history for this message
You-Sheng Yang (vicamo) wrote :

Verified version 5.10.0-1025.26 from focal-proposed.

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

This bug was fixed in the package linux-oem-5.10 - 5.10.0-1025.26

---------------
linux-oem-5.10 (5.10.0-1025.26) focal; urgency=medium

  * focal/linux-oem-5.10: 5.10.0-1025.26 -proposed tracker (LP: #1926155)

  * Packaging resync (LP: #1786013)
    - update dkms package versions

  * CirrusLogic: Cracking noises appears in built-in speaker when output volume
    is set >80% (LP: #1924997)
    - SAUCE: ALSA: hda/cirrus: Use CS8409 Equalizer to fix abnormal sounds on
      Bullseye

 -- Timo Aaltonen <email address hidden> Mon, 26 Apr 2021 16:18:11 +0300

Changed in linux-oem-5.10 (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the 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-hirsute' to 'verification-done-hirsute'. If the problem still exists, change the tag 'verification-needed-hirsute' to 'verification-failed-hirsute'.

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-hirsute
Revision history for this message
You-Sheng Yang (vicamo) wrote :

verified version 5.11.0-18.19 from hirsute-proposed

tags: added: verification-done-hirsute
removed: verification-needed-hirsute
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (29.0 KiB)

This bug was fixed in the package linux - 5.11.0-18.19

---------------
linux (5.11.0-18.19) hirsute; urgency=medium

  * hirsute/linux: 5.11.0-18.19 -proposed tracker (LP: #1927578)

  * Packaging resync (LP: #1786013)
    - update dkms package versions

  * Introduce the 465 driver series, fabric-manager, and libnvidia-nscq
    (LP: #1925522)
    - debian/dkms-versions -- add NVIDIA 465 and migrate 450 to 460

  * linux-image-5.0.0-35-generic breaks checkpointing of container
    (LP: #1857257)
    - SAUCE: overlayfs: fix incorrect mnt_id of files opened from map_files

  * Hirsute update: v5.11.17 upstream stable release (LP: #1927535)
    - vhost-vdpa: protect concurrent access to vhost device iotlb
    - Revert "UBUNTU: SAUCE: ovl: Restore vm_file value when lower fs mmap fails"
    - ovl: fix reference counting in ovl_mmap error path
    - coda: fix reference counting in coda_file_mmap error path
    - amd/display: allow non-linear multi-planar formats
    - drm/amdgpu: reserve fence slot to update page table
    - drm/amdgpu: fix GCR_GENERAL_CNTL offset for dimgrey_cavefish
    - gpio: omap: Save and restore sysconfig
    - KEYS: trusted: Fix TPM reservation for seal/unseal
    - vdpa/mlx5: Set err = -ENOMEM in case dma_map_sg_attrs fails
    - pinctrl: lewisburg: Update number of pins in community
    - block: return -EBUSY when there are open partitions in blkdev_reread_part
    - pinctrl: core: Show pin numbers for the controllers with base = 0
    - arm64: dts: allwinner: Revert SD card CD GPIO for Pine64-LTS
    - bpf: Allow variable-offset stack access
    - bpf: Refactor and streamline bounds check into helper
    - bpf: Tighten speculative pointer arithmetic mask
    - perf/x86/intel/uncore: Remove uncore extra PCI dev HSWEP_PCI_PCU_3
    - perf/x86/kvm: Fix Broadwell Xeon stepping in isolation_ucodes[]
    - perf auxtrace: Fix potential NULL pointer dereference
    - perf map: Fix error return code in maps__clone()
    - HID: google: add don USB id
    - HID: asus: Add support for 2021 ASUS N-Key keyboard
    - HID: alps: fix error return code in alps_input_configured()
    - HID cp2112: fix support for multiple gpiochips
    - HID: wacom: Assign boolean values to a bool variable
    - soc: qcom: geni: shield geni_icc_get() for ACPI boot
    - dmaengine: xilinx: dpdma: Fix descriptor issuing on video group
    - dmaengine: xilinx: dpdma: Fix race condition in done IRQ
    - ARM: dts: Fix swapped mmc order for omap3
    - m68k: fix flatmem memory model setup
    - net: geneve: check skb is large enough for IPv4/IPv6 header
    - dmaengine: tegra20: Fix runtime PM imbalance on error
    - s390/entry: save the caller of psw_idle
    - arm64: kprobes: Restore local irqflag if kprobes is cancelled
    - xen-netback: Check for hotplug-status existence before watching
    - cavium/liquidio: Fix duplicate argument
    - csky: change a Kconfig symbol name to fix e1000 build error
    - ia64: fix discontig.c section mismatches
    - ia64: tools: remove duplicate definition of ia64_mf() on ia64
    - x86/crash: Fix crash_setup_memmap_entries() out-of-bounds access
    - net: hso: fix NULL-deref on disconnect regression
    - USB: CDC-ACM...

Changed in linux (Ubuntu Hirsute):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (29.2 KiB)

This bug was fixed in the package linux - 5.11.0-18.19+21.10.1

---------------
linux (5.11.0-18.19+21.10.1) impish; urgency=medium

  * impish/linux: 5.11.0-18.19+21.10.1 -proposed tracker (LP: #1927560)

  * Packaging resync (LP: #1786013)
    - [Packaging] update update.conf
    - update dkms package versions

  [ Ubuntu: 5.11.0-18.19 ]

  * hirsute/linux: 5.11.0-18.19 -proposed tracker (LP: #1927578)
  * Packaging resync (LP: #1786013)
    - update dkms package versions
  * Introduce the 465 driver series, fabric-manager, and libnvidia-nscq
    (LP: #1925522)
    - debian/dkms-versions -- add NVIDIA 465 and migrate 450 to 460
  * linux-image-5.0.0-35-generic breaks checkpointing of container
    (LP: #1857257)
    - SAUCE: overlayfs: fix incorrect mnt_id of files opened from map_files
  * Hirsute update: v5.11.17 upstream stable release (LP: #1927535)
    - vhost-vdpa: protect concurrent access to vhost device iotlb
    - Revert "UBUNTU: SAUCE: ovl: Restore vm_file value when lower fs mmap fails"
    - ovl: fix reference counting in ovl_mmap error path
    - coda: fix reference counting in coda_file_mmap error path
    - amd/display: allow non-linear multi-planar formats
    - drm/amdgpu: reserve fence slot to update page table
    - drm/amdgpu: fix GCR_GENERAL_CNTL offset for dimgrey_cavefish
    - gpio: omap: Save and restore sysconfig
    - KEYS: trusted: Fix TPM reservation for seal/unseal
    - vdpa/mlx5: Set err = -ENOMEM in case dma_map_sg_attrs fails
    - pinctrl: lewisburg: Update number of pins in community
    - block: return -EBUSY when there are open partitions in blkdev_reread_part
    - pinctrl: core: Show pin numbers for the controllers with base = 0
    - arm64: dts: allwinner: Revert SD card CD GPIO for Pine64-LTS
    - bpf: Allow variable-offset stack access
    - bpf: Refactor and streamline bounds check into helper
    - bpf: Tighten speculative pointer arithmetic mask
    - perf/x86/intel/uncore: Remove uncore extra PCI dev HSWEP_PCI_PCU_3
    - perf/x86/kvm: Fix Broadwell Xeon stepping in isolation_ucodes[]
    - perf auxtrace: Fix potential NULL pointer dereference
    - perf map: Fix error return code in maps__clone()
    - HID: google: add don USB id
    - HID: asus: Add support for 2021 ASUS N-Key keyboard
    - HID: alps: fix error return code in alps_input_configured()
    - HID cp2112: fix support for multiple gpiochips
    - HID: wacom: Assign boolean values to a bool variable
    - soc: qcom: geni: shield geni_icc_get() for ACPI boot
    - dmaengine: xilinx: dpdma: Fix descriptor issuing on video group
    - dmaengine: xilinx: dpdma: Fix race condition in done IRQ
    - ARM: dts: Fix swapped mmc order for omap3
    - m68k: fix flatmem memory model setup
    - net: geneve: check skb is large enough for IPv4/IPv6 header
    - dmaengine: tegra20: Fix runtime PM imbalance on error
    - s390/entry: save the caller of psw_idle
    - arm64: kprobes: Restore local irqflag if kprobes is cancelled
    - xen-netback: Check for hotplug-status existence before watching
    - cavium/liquidio: Fix duplicate argument
    - csky: change a Kconfig symbol name to fix e1000 build error
    - ia64: fix discontig.c section mis...

Changed in linux (Ubuntu Impish):
status: Fix Committed → Fix Released
Changed in hwe-next:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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