Public bug reported:

Summary:
On the Lenovo Legion Pro 7 16IRX8H (product 82WQ), the TAS2781 smart
amplifier that drives the internal speakers fails to load its calibration
data at boot, logging a CRC error. The driver falls back to an
uncalibrated/low-gain profile, and the built-in speakers stay very quiet
even with ALSA Master/PCM at 100% and PipeWire sink gain boosted to 150%+.
Headphones and Bluetooth output are unaffected (they don't route through
this amp).

Steps to reproduce:
1. Boot the machine.
2. Play any audio through the built-in speakers.
3. Volume is far lower than expected even with all software gain maxed.

Expected: speakers reach normal calibrated loudness, matching Windows on
the same hardware.

Actual: speakers are quiet regardless of software volume settings.

Relevant kernel log line at boot:

    tas2781-hda i2c-TIAS2781:00: tas2781_apply_calib: V1 CRC error

Full context from `journalctl -k -b`:

    snd_hda_codec_alc269 hdaudioC0D0: bound i2c-TIAS2781:00 (ops 
tas2781_hda_comp_ops [snd_hda_scodec_tas2781_i2c])
    tas2781-hda i2c-TIAS2781:00: tas2781_apply_calib: V1 CRC error

System info:
- Product: 82WQ (Legion Pro 7 16IRX8H), Lenovo
- BIOS: KWCN54WW, dated 2025-10-22 (latest per fwupdmgr, no updates available)
- Kernel: 7.0.0-30-generic (Ubuntu 26.04 LTS)
- Codec: Realtek ALC287
- Amp: TI TAS2781, bound via i2c-TIAS2781:00, driver snd_hda_scodec_tas2781_i2c
- Amp driver srcversion: 1E93A907B6EF591D5D6F4BA
- All ALSA software gain stages (Master, PCM, Speaker switch, Line Out) 
confirmed at 100%
- PipeWire sink volume boosted to 150% on top of that — no measurable 
improvement in loudness, consistent with the bottleneck being downstream of all 
digital gain stages (i.e. in the amp's own calibration-dependent analog gai>
- No /lib/firmware calibration blob load is attempted; calibration data appears 
to come from BIOS/EFI-embedded data that fails the driver's CRC check
- fwupdmgr reports no firmware updates available for this device

Related upstream work (for context, not yet tried — scripts here directly
poke I2C registers on the amp and are unmaintained/untested on current
kernels, so flagging as reference rather than a confirmed fix):
- https://github.com/DanielWeiner/tas2781-fix-16IRX8H (same model,
  author states repo is unmaintained, no longer has hardware to test)
- Ubuntu forum/community reports of similar TAS2781 calibration/gain
  issues on other Legion models (e.g. LP: #2064064, LP: #2156556)

Ask: is the CRC check in tas2781_apply_calib() overly strict for this
model's BIOS-supplied calibration data, or is Lenovo shipping malformed/
incompatible calibration data in BIOS KWCN54WW? Would appreciate guidance
on whether this is fixable driver-side or needs a Lenovo BIOS fix.

ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: linux-image-7.0.0-30-generic 7.0.0-30.30
ProcVersionSignature: Ubuntu 7.0.0-30.30-generic 7.0.12
Uname: Linux 7.0.0-30-generic x86_64
ApportVersion: 2.34.1-0ubuntu0.1
Architecture: amd64
AudioDevicesInUse:
 USER        PID ACCESS COMMAND
 /dev/snd/controlC0:  sandeep    6505 F.... wireplumber
 /dev/snd/controlC1:  sandeep    6505 F.... wireplumber
 /dev/snd/seq:        sandeep    6486 F.... pipewire
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Mon Aug 24 18:41:25 2026
InstallationDate: Installed on 2025-02-14 (556 days ago)
InstallationMedia: Ubuntu 24.04.1 LTS "Noble Numbat" - Release amd64 
(20240827.1)
MachineType: LENOVO 82WQ
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-7.0.0-30-generic 
root=UUID=cf09958e-010d-4e11-a3a3-3609daa59b94 ro nouveau.modeset=0 quiet 
atkbd.reset acpi_osi=! "acpi_osi=Windows 2015" i915.enable_psr=0 fbcon=nodefer 
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: Upgraded to resolute on 2026-05-12 (104 days ago)
dmi.bios.date: 10/22/2025
dmi.bios.release: 1.54
dmi.bios.vendor: LENOVO
dmi.bios.version: KWCN54WW
dmi.board.asset.tag: NO Asset Tag
dmi.board.name: LNVNB161216
dmi.board.vendor: LENOVO
dmi.board.version: SDK0T76485 WIN
dmi.chassis.asset.tag: NO Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Legion Pro 7 16IRX8H
dmi.ec.firmware.release: 1.51
dmi.modalias: 
dmi:bvnLENOVO:bvrKWCN54WW:bd10/22/2025:br1.54:efr1.51:svnLENOVO:pn82WQ:pvrLegionPro716IRX8H:rvnLENOVO:rnLNVNB161216:rvrSDK0T76485WIN:cvnLENOVO:ct10:cvrLegionPro716IRX8H:skuLENOVO_MT_82WQ_BU_idea_FM_LegionPro716IRX8H:pfaLegionPro716IRX8H:
dmi.product.family: Legion Pro 7 16IRX8H
dmi.product.name: 82WQ
dmi.product.sku: LENOVO_MT_82WQ_BU_idea_FM_Legion Pro 7 16IRX8H
dmi.product.version: Legion Pro 7 16IRX8H
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/2164905

Title:
  TAS2781 smart amp fails calibration ("V1 CRC error") on Legion Pro 7
  16IRX8H (82WQ), speakers stuck at low volume

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


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

Reply via email to