* Lenovo Yoga 7 2-in-1 16AKP10 volume control bug
@ 2025-07-11 11:48 Sandro Gähler
2025-09-11 22:53 ` Sandro Gähler
0 siblings, 1 reply; 3+ messages in thread
From: Sandro Gähler @ 2025-07-11 11:48 UTC (permalink / raw)
To: alsa-devel
Hello
I would like to report a bug for the brand new Lenovo Yoga 7 2-in-1 16AKP10. It has the same sound chip and also the same volume control bug as several older models. I thus assume that the same workaround, written by Philipp Jungkamp and later by Pascal Gross, will also work for this model.
There are several lines with laptops that apply this workaround, for example this line in linux/sound/pci/hda/patch_realtek.c:
SND_PCI_QUIRK(0x17aa, 0x3801, "Lenovo Yoga9 14IAP7",
ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN)
Could you please add this line for my model?
SND_PCI_QUIRK(0x????, 0x????, "Lenovo Yoga 7 2-in-1 16AKP10",
ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
Please advise on how to determine the first two parameters.
Thanks a lot for your great work and support.
Best regards,
--Sandro Gähler
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Lenovo Yoga 7 2-in-1 16AKP10 volume control bug
2025-07-11 11:48 Lenovo Yoga 7 2-in-1 16AKP10 volume control bug Sandro Gähler
@ 2025-09-11 22:53 ` Sandro Gähler
2026-03-08 11:26 ` Sandro Gähler
0 siblings, 1 reply; 3+ messages in thread
From: Sandro Gähler @ 2025-09-11 22:53 UTC (permalink / raw)
To: alsa-devel
[-- Attachment #1.1: Type: text/plain, Size: 2106 bytes --]
Hello
I would like to add some more info to my previous E-Mail:
Problem description:
The laptop has two speakers above the keyboard, which work as intended.
It also has two down-firing speakers (called "Subwoofers", even though they
play all frequencies), which always play at 100% volume, regardless of the
system volume setting. I have checked this with also-utils. They do mute
when the system volume is reduced to 0% though.
Problem 2 description:
When I plug in headphones, I'd expect them to show up as a new output
device, so I can switch between laptop speakers and headphones over the
tray icon. Unfortunately, this isn't the case, and instead I have to open
the system settings, where I can switch between speakers and headphones in
the configuration of this sound card:
[image: image.png]
Please find the output of alsa-info.sh here:
http://alsa-project.org/db/?f=ee42a4871704567a853b025c20a02deed49ef4c0
The card in question is card2.
Please also find the file /proc/asound/card2/codec#0 attached.
Please also let me know if there's any way in which I can assist solving
this issue.
Best regards,
--Sandro
On Fri, 11 Jul 2025 at 13:48, Sandro Gähler <gaehlers@gmail.com> wrote:
> Hello
>
> I would like to report a bug for the brand new Lenovo Yoga 7 2-in-1 16AKP10. It has the same sound chip and also the same volume control bug as several older models. I thus assume that the same workaround, written by Philipp Jungkamp and later by Pascal Gross, will also work for this model.
>
> There are several lines with laptops that apply this workaround, for example this line in linux/sound/pci/hda/patch_realtek.c:
>
> SND_PCI_QUIRK(0x17aa, 0x3801, "Lenovo Yoga9 14IAP7",
> ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN)
>
> Could you please add this line for my model?
>
> SND_PCI_QUIRK(0x????, 0x????, "Lenovo Yoga 7 2-in-1 16AKP10",
> ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
>
> Please advise on how to determine the first two parameters.
>
> Thanks a lot for your great work and support.
>
> Best regards,
> --Sandro Gähler
>
>
[-- Attachment #1.2: image.png --]
[-- Type: image/png, Size: 67798 bytes --]
[-- Attachment #2: codec0.txt --]
[-- Type: text/plain, Size: 10387 bytes --]
Codec: Realtek ALC287
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0287
Subsystem Id: 0x17aa391d
Revision Id: 0x100002
No Modem Function Group found
Default PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
Power states: D0 D1 D2 D3 D3cold CLKSTOP EPSS
Power: setting=D0, actual=D0
GPIO: io=5, o=0, i=0, unsolicited=1, wake=0
IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
IO[1]: enable=1, dir=1, wake=0, sticky=0, data=1, unsol=0
IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out
Control: name="Bass Speaker Playback Volume", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
Amp-Out vals: [0x57 0x57]
Converter: stream=0, channel=0
PCM:
rates [0x40]: 48000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x41d: Stereo Amp-Out
Control: name="Headphone Playback Volume", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
Amp-Out vals: [0x38 0x38]
Converter: stream=0, channel=0
PCM:
rates [0x40]: 48000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x04 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x05 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x06 [Audio Output] wcaps 0x411: Stereo
Device: name="ALC287 Analog", type="Audio", device=0
Converter: stream=0, channel=0
PCM:
rates [0x40]: 48000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x07 [Audio Input] wcaps 0x10051b: Stereo Amp-In
Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
Amp-In vals: [0x97 0x97]
Converter: stream=0, channel=0
SDI-Select: 0
PCM:
rates [0x40]: 48000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 1
0x24
Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In
Control: name="Capture Volume", index=0, device=0
ControlAmp: chs=3, dir=In, idx=0, ofs=0
Control: name="Capture Switch", index=0, device=0
ControlAmp: chs=3, dir=In, idx=0, ofs=0
Device: name="ALC287 Analog", type="Audio", device=0
Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
Amp-In vals: [0x3f 0x3f]
Converter: stream=0, channel=0
SDI-Select: 0
PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 1
0x23
Node 0x09 [Audio Input] wcaps 0x10051b: Stereo Amp-In
Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
Amp-In vals: [0x97 0x97]
Converter: stream=0, channel=0
SDI-Select: 0
PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 1
0x22
Node 0x0a [Audio Input] wcaps 0x10051b: Stereo Amp-In
Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
Amp-In vals: [0x97 0x97]
Converter: stream=0, channel=0
SDI-Select: 0
PCM:
rates [0x40]: 48000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 1
0x25
Node 0x0b [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0c [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0d [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0e [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x12 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
Amp-In vals: [0x00 0x00]
Pincap 0x00000020: IN
Pin Default 0x40000000: [N/A] Line Out at Ext N/A
Conn = Unknown, Color = Unknown
DefAssociation = 0x0, Sequence = 0x0
Pin-ctls: 0x00:
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x13 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
Amp-In vals: [0x00 0x00]
Pincap 0x00000020: IN
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x00:
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x14 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Control: name="Bass Speaker Playback Switch", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x00 0x00]
Pincap 0x00010014: OUT EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x90170120: [Fixed] Speaker at Int N/A
Conn = Analog, Color = Unknown
DefAssociation = 0x2, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 1
0x02
Node 0x15 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x16 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x17 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Control: name="Speaker Playback Switch", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x00 0x00]
Pincap 0x0000001c: OUT HP Detect
Pin Default 0x90170110: [Fixed] Speaker at Int N/A
Conn = Analog, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 4
0x02 0x03 0x06* 0x08
Node 0x18 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
Amp-In vals: [0x00 0x00]
Pincap 0x00000024: IN Detect
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x00:
Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
Control: name="Mic Boost Volume", index=0, device=0
ControlAmp: chs=3, dir=In, idx=0, ofs=0
Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
Amp-In vals: [0x02 0x02]
Pincap 0x00003724: IN Detect
Vref caps: HIZ 50 GRD 80 100
Pin Default 0x03a11040: [Jack] Mic at Ext Left
Conn = 1/8, Color = Black
DefAssociation = 0x4, Sequence = 0x0
Pin-ctls: 0x24: IN VREF_80
Unsolicited: tag=02, enabled=1
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x1a [Pin Complex] wcaps 0x40048b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
Amp-In vals: [0x00 0x00]
Pincap 0x00003724: IN Detect
Vref caps: HIZ 50 GRD 80 100
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x00: VREF_HIZ
Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
Amp-In vals: [0x00 0x00]
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x80 0x80]
Pincap 0x00013734: IN OUT EAPD Detect
Vref caps: HIZ 50 GRD 80 100
EAPD 0x2: EAPD
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x00: VREF_HIZ
Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 2
0x02* 0x03
Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1d [Pin Complex] wcaps 0x400400: Mono
Pincap 0x00000020: IN
Pin Default 0x4057392d: [N/A] Digital Out at Ext N/A
Conn = Analog, Color = Blue
DefAssociation = 0x2, Sequence = 0xd
Misc = NO_PRESENCE
Pin-ctls: 0x20: IN
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x1e [Pin Complex] wcaps 0x400501: Stereo
Pincap 0x00000010: OUT
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 1
0x06
Node 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
Processing caps: benign=0, ncoeff=142
Node 0x21 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Control: name="Headphone Playback Switch", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x80 0x80]
Pincap 0x0001001c: OUT HP EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x03211030: [Jack] HP Out at Ext Left
Conn = 1/8, Color = Black
DefAssociation = 0x3, Sequence = 0x0
Pin-ctls: 0xc0: OUT HP
Unsolicited: tag=01, enabled=1
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 2
0x02 0x03*
Node 0x22 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
Connection: 5
0x19 0x1a 0x1b 0x1d 0x13
Node 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-In vals: [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
Connection: 5
0x19 0x1a 0x1b 0x1d 0x12
Node 0x24 [Audio Selector] wcaps 0x300101: Stereo
Connection: 3
0x12* 0x13 0x18
Node 0x25 [Audio Selector] wcaps 0x300101: Stereo
Connection: 2
0x12* 0x13
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Lenovo Yoga 7 2-in-1 16AKP10 volume control bug
2025-09-11 22:53 ` Sandro Gähler
@ 2026-03-08 11:26 ` Sandro Gähler
0 siblings, 0 replies; 3+ messages in thread
From: Sandro Gähler @ 2026-03-08 11:26 UTC (permalink / raw)
To: alsa-devel
[-- Attachment #1: Type: text/plain, Size: 3409 bytes --]
Hello
Unfortunately, my two previous requests didn't fix the issue - but to be
honest, they were just guesses from my side what might solve the problem.
But now I did some deep research with the tool hda-analyser, and found out
that changing node 0x17 from the default of 0x06 to 0x02 does indeed fix
the problem, and the volume control now correctly changes the volume of
upper and lower speakers, not just the lower ones.
Node 0x17 seems to be the balance between the upper and lower speakers,
where the other settings (0x03 and 0x08) result in way to little volume in
the lower speakers, resulting in a thin, low-end-lacking sound output.
Changing from the default 0x06 to 0x02 does indeed change the sound
slightly - just enough that I can hear a difference, but I'm not entirely
sure what it changes. I think 0x02 has the upper loudspeakers ever so
slightly louder than 0x06. It's not ideal that 0x02 changes the sound
slightly, but it's easily worth the functioning volume control.
I did verify that this change does not affect the sound of connected
headphones.
[image: image.png]
Best regards,
--Sandro
On Fri, 12 Sept 2025 at 00:53, Sandro Gähler <gaehlers@gmail.com> wrote:
> Hello
>
> I would like to add some more info to my previous E-Mail:
>
> Problem description:
> The laptop has two speakers above the keyboard, which work as intended.
> It also has two down-firing speakers (called "Subwoofers", even though
> they play all frequencies), which always play at 100% volume, regardless of
> the system volume setting. I have checked this with also-utils. They do
> mute when the system volume is reduced to 0% though.
>
> Problem 2 description:
> When I plug in headphones, I'd expect them to show up as a new output
> device, so I can switch between laptop speakers and headphones over the
> tray icon. Unfortunately, this isn't the case, and instead I have to open
> the system settings, where I can switch between speakers and headphones in
> the configuration of this sound card:
> [image: image.png]
>
>
> Please find the output of alsa-info.sh here:
> http://alsa-project.org/db/?f=ee42a4871704567a853b025c20a02deed49ef4c0
> The card in question is card2.
>
> Please also find the file /proc/asound/card2/codec#0 attached.
>
> Please also let me know if there's any way in which I can assist solving
> this issue.
>
> Best regards,
> --Sandro
>
>
> On Fri, 11 Jul 2025 at 13:48, Sandro Gähler <gaehlers@gmail.com> wrote:
>
>> Hello
>>
>> I would like to report a bug for the brand new Lenovo Yoga 7 2-in-1 16AKP10. It has the same sound chip and also the same volume control bug as several older models. I thus assume that the same workaround, written by Philipp Jungkamp and later by Pascal Gross, will also work for this model.
>>
>> There are several lines with laptops that apply this workaround, for example this line in linux/sound/pci/hda/patch_realtek.c:
>>
>> SND_PCI_QUIRK(0x17aa, 0x3801, "Lenovo Yoga9 14IAP7",
>> ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN)
>>
>> Could you please add this line for my model?
>>
>> SND_PCI_QUIRK(0x????, 0x????, "Lenovo Yoga 7 2-in-1 16AKP10",
>> ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
>>
>> Please advise on how to determine the first two parameters.
>>
>> Thanks a lot for your great work and support.
>>
>> Best regards,
>> --Sandro Gähler
>>
>>
[-- Attachment #2: image.png --]
[-- Type: image/png, Size: 67798 bytes --]
[-- Attachment #3: image.png --]
[-- Type: image/png, Size: 276183 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-03-09 9:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-11 11:48 Lenovo Yoga 7 2-in-1 16AKP10 volume control bug Sandro Gähler
2025-09-11 22:53 ` Sandro Gähler
2026-03-08 11:26 ` Sandro Gähler
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.