Skip to content

[BUG] Conexant SN6140 picks generic fixup (PCI SSID 17aa:0000) on Lenovo IdeaPad Slim 5 83J3, causing low speaker volume #5954

Description

@TECH-ARJUNA8890-stack

System Information

  • Laptop Model: Lenovo IdeaPad Slim 5 (Product: 83J3)
  • Motherboard: Lenovo LNVNB161216
  • CPU: AMD Ryzen 7 7735HS
  • Audio Controller: AMD Ryzen HD Audio Controller [1022:15e3] (PCI 04:00.6)
  • Codec: Conexant SN6140
  • Real PCI Subsystem ID: 17aa:38a9 (confirmed via lspci -vvnn -s 04:00.6)
  • Distro: Fedora 44
  • Kernel: 7.1.13-200.fc44.x86_64

Problem Description

Internal speaker output works but at significantly lower volume than the same hardware under Windows (dual boot / same physical machine).

The root cause appears to be that the Conexant codec driver is not picking up the correct PCI Subsystem ID (17aa:38a9), and instead falls back to a generic/default fixup, which does not apply any Lenovo-specific amplifier/gain initialization.

Evidence

dmesg output on boot:

[    7.987857] snd_hda_codec_conexant hdaudioC1D0: SN6140: BIOS auto-probing.
[    7.988323] snd_hda_codec_conexant hdaudioC1D0: SN6140: picked fixup  for PCI SSID 17aa:0000
[    7.988406] snd_hda_codec_conexant hdaudioC1D0: autoconfig for SN6140: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[    7.988410] snd_hda_codec_conexant hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    7.988413] snd_hda_codec_conexant hdaudioC1D0:    hp_outs=1 (0x16/0x0/0x0/0x0/0x0)
[    7.988415] snd_hda_codec_conexant hdaudioC1D0:    mono: mono_out=0x0
[    7.988417] snd_hda_codec_conexant hdaudioC1D0:    inputs:
[    7.988419] snd_hda_codec_conexant hdaudioC1D0:      Mic=0x19

Note the driver logs PCI SSID 17aa:0000, while lspci confirms the actual subsystem ID reported by the hardware is:

04:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Ryzen HD Audio Controller [1022:15e3]
Subsystem: Lenovo Device [17aa:38a9]

This mismatch (0000 picked vs. real 38a9) means no board-specific fixup entry exists/is being matched in sound/pci/hda/patch_conexant.c for SSID 0x17aa38a9, so the codec falls back to generic autoconfig with no vendor amp/gain initialization — resulting in low output volume compared to Windows, which uses Lenovo's proprietary driver instead of the kernel quirk table.

This matches the same pattern reported for other recent Lenovo Conexant SN6140 machines (e.g. ThinkPad E16 Gen 3/4, E14 Gen 7), where an unlisted or misread SSID results in degraded/missing audio behavior.

Expected Behavior

A board-specific fixup entry for subsystem ID 0x17aa38a9 (Lenovo IdeaPad Slim 5 83J3) should be added to sound/pci/hda/patch_conexant.c to properly initialize speaker amplifier gain, matching the volume level achieved under Windows.

Additional Notes

  • Happy to provide alsa-info.sh output, full codec dump (cat /proc/asound/card*/codec*), or test proposed patches on this hardware.
  • Please let me know if there's a specific quirk model (e.g. from a similar Lenovo SN6140 fix) I could test locally in the meantime via a kernel module override.
Full alsa-info.txt output

!!################################
!!ALSA Information Script v 0.5.4
!!################################

!!Script ran on: Fri Sep 25 04:14:37 UTC 2026

!!Linux Distribution
!!------------------

Fedora release 44 (Forty Four)

!!DMI Information
!!---------------

Manufacturer: LENOVO
Product Name: 83J3
Product Version: IdeaPad Slim 5
Firmware Version: PYCN33WW
System SKU: LENOVO_MT_83J3_BU_idea_FM_IDEAPAD
Board Vendor: LENOVO
Board Name: LNVNB161216

!!Kernel Information
!!------------------

Kernel release: 7.1.13-200.fc44.x86_64
Architecture: x86_64

!!ALSA Version
!!------------

Driver version: k7.1.13-200.fc44.x86_64
Utilities version: 1.2.16

!!PCI Soundcards installed in the system
!!--------------------------------------

04:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [1002:1640]
Subsystem: Lenovo Device [17aa:3849]
04:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Ryzen HD Audio Controller [1022:15e3]
Subsystem: Lenovo Device [17aa:38a9]

!!HDA-Intel Codec information (Conexant SN6140)
!!---------------------------

Codec: Conexant SN6140
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x14f11f87
Subsystem Id: 0x17aa3815
Revision Id: 0x100100

Node 0x11 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
Control: name="Speaker Playback Volume", index=0, device=0
Control: name="Speaker Playback Switch", index=0, device=0
Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
Amp-Out vals: [0x4a 0x4a]

Node 0x16 [Pin Complex] wcaps 0x400581: Stereo
Pincap 0x0001001c: OUT HP EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x04211040: [Jack] HP Out at Ext Right
Conn = 1/8, Color = Black
DefAssociation = 0x4, Sequence = 0x0
Pin-ctls: 0xc0: OUT HP
Unsolicited: tag=02, enabled=1
Connection: 2
0x10* 0x11

Node 0x17 [Pin Complex] wcaps 0x400501: Stereo
Pincap 0x00010010: OUT EAPD
EAPD 0x2: EAPD
Pin Default 0x91170110: [Fixed] Speaker at Int Rear
Conn = Analog, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Connection: 2
0x10 0x11*

!!Amixer output (card Generic_1 - Conexant SN6140)
!!-------------

Mixer name : 'Conexant SN6140'
Components : 'HDA:14f11f87,17aa3815,00100100'

Simple mixer control 'Master',0
Mono: Playback 74 [100%] [0.00dB] [on]

Simple mixer control 'Speaker',0
Front Left: Playback 74 [100%] [0.00dB] [on]
Front Right: Playback 74 [100%] [0.00dB] [on]

Simple mixer control 'Headphone',0
Front Left: Playback 44 [59%] [-30.00dB] [off]
Front Right: Playback 44 [59%] [-30.00dB] [off]

Simple mixer control 'Auto-Mute Mode',0
Items: 'Disabled' 'Enabled'
Item0: 'Disabled'

!!ALSA/HDA dmesg (SN6140 relevant lines)
!!--------------

snd_hda_codec_conexant hdaudioC1D0: SN6140: BIOS auto-probing.
snd_hda_codec_conexant hdaudioC1D0: SN6140: picked fixup for PCI SSID 17aa:0000
snd_hda_codec_conexant hdaudioC1D0: autoconfig for SN6140: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
snd_hda_codec_conexant hdaudioC1D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
snd_hda_codec_conexant hdaudioC1D0: hp_outs=1 (0x16/0x0/0x0/0x0/0x0)
snd_hda_codec_conexant hdaudioC1D0: mono: mono_out=0x0
snd_hda_codec_conexant hdaudioC1D0: inputs:
snd_hda_codec_conexant hdaudioC1D0: Mic=0x19

!!Packages installed
!!--------------------

alsa-sof-firmware-2025.12.2-1.fc44.noarch
alsa-lib-1.2.16.1-1.fc44.x86_64
alsa-ucm-1.2.16.1-1.fc44.noarch
alsa-utils-1.2.16-1.fc44.x86_64

markdown
Additional technical note: amixer shows the Speaker control already at 74/74 (100%, 0.00dB, switch "on") — software gain is not attenuated. This points to EAPD (external amp power) not being enabled, since pin 0x17 (Speaker) supports it (Pincap 0x00010010: OUT EAPD) but the generic fixup applies no Lenovo-specific init verb to turn it on. Pin 0x16 (Headphone) also has EAPD support and is similarly unhandled.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions