* [PATCH v2] ALSA: hda/realtek: Add quirk for IPASON SmartBook S1
@ 2026-09-17 6:58 Jianyu Zhou
2026-09-28 11:03 ` Takashi Iwai
0 siblings, 1 reply; 2+ messages in thread
From: Jianyu Zhou @ 2026-09-17 6:58 UTC (permalink / raw)
To: linux-sound; +Cc: tiwai, perex
From 2adfedabfdd9f5ec800462b1f1c0859a198e63aa Mon Sep 17 00:00:00 2001
From: Jianyu Zhou <997536907@qq.com>
Date: Thu, 17 Sep 2026 14:34:46 +0800
Subject: [PATCH v2] ALSA: hda/realtek: Add quirk for IPASON SmartBook S1
The internal speaker of the IPASON SmartBook S1 (an Emdoor ODM laptop)
stays silent under Linux, while the Bluetooth audio and the headset
output work fine. The same machine plays sound under Windows with the
vendor driver, so the hardware and the amplifier are known good.
The BIOS reports the pin default of the actual internal speaker pin
(NID 0x1b) as 0x411111f0, i.e. the default association 0xf, which means
"unconnected". The pin parser therefore drops that node already at the
pin-configuration time, hence no mixer control is ever created for it
and the pin is never driven, no matter how the output pin 0x14 is set
up. Enabling 0x1b makes the speaker work immediately.
The existing ALC256_FIXUP_HONOR_MRB_XXX_M1020_AUDIO quirk makes the
speaker work, too, but it additionally rewrites the pins 0x14, 0x19 and
0x1a with Honor-specific values, which creates a bogus "Dock Mic" device
that does not exist on this hardware. Add a minimal fixup that only
enables 0x1b as the internal speaker. Touching 0x14 is not needed:
with the pin configuration overridden at runtime, both keeping its BIOS
value (0x90170110) and disabling it (0x411111f0) leave the speaker
working, so 0x1b alone decides the output.
Codec: Realtek ALC256 (0x10ec0256), SSID 0x2782:0x0206
BIOS pincfg: 0x14 0x90170110 0x18 0x411111f0 0x19 0x02a19040
0x1a 0x411111f0 0x1b 0x411111f0 0x1d 0x4067b945
0x1e 0x411111f0 0x21 0x02214020
Tested on 7.2.0-1-MANJARO and 6.18.45-1-MANJARO, with both the SOF and
the legacy HDA driver paths.
Signed-off-by: Jianyu Zhou <997536907@qq.com>
---
Changes in v2:
- Use ASCII names for the From and Signed-off-by tags.
- Drop the addition to alc269_fixup_models[]: the quirk can be applied
via the ID alias (0x2782:0x0206) instead.
sound/hda/codecs/realtek/alc269.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
index 3abee61..9bbef18 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -4383,6 +4383,7 @@ enum {
ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN_HEADSET,
ALC285_LENOVO_DAC_RENAME,
ALC287_FIXUP_YOGA9_SPEAKER2_TO_DAC1,
+ ALC256_FIXUP_IPASON_SMARTBOOK_S1,
};
/* A special fixup for Lenovo C940 and Yoga Duet 7;
@@ -7129,6 +7130,13 @@ static const struct hda_fixup alc269_fixups[] = {
.chained = true,
.chain_id = ALC287_FIXUP_TXNW2781_I2C,
},
+ [ALC256_FIXUP_IPASON_SMARTBOOK_S1] = {
+ .type = HDA_FIXUP_PINS,
+ .v.pins = (const struct hda_pintbl[]) {
+ { 0x1b, 0x90170110 }, /* the real internal speaker */
+ { }
+ },
+ },
};
static const struct hda_quirk alc269_fixup_tbl[] = {
@@ -8345,6 +8353,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x2014, 0x800a, "Positivo ARN50", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
SND_PCI_QUIRK(0x2039, 0x0001, "Inspur S14-G1", ALC295_FIXUP_CHROME_BOOK),
SND_PCI_QUIRK(0x2145, 0x0001, "Star Labs StarFighter", ALC233_FIXUP_STARLABS_STARFIGHTER),
+ SND_PCI_QUIRK(0x2782, 0x0206, "IPASON SmartBook S1", ALC256_FIXUP_IPASON_SMARTBOOK_S1),
SND_PCI_QUIRK(0x2782, 0x0214, "VAIO VJFE-CL", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
SND_PCI_QUIRK(0x2782, 0x0228, "Infinix ZERO BOOK 13", ALC269VB_FIXUP_INFINIX_ZERO_BOOK_13),
SND_PCI_QUIRK(0x2782, 0x0232, "CHUWI CoreBook XPro", ALC269VB_FIXUP_CHUWI_COREBOOK_XPRO),
--
2.55.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH v2] ALSA: hda/realtek: Add quirk for IPASON SmartBook S1
2026-09-17 6:58 [PATCH v2] ALSA: hda/realtek: Add quirk for IPASON SmartBook S1 Jianyu Zhou
@ 2026-09-28 11:03 ` Takashi Iwai
0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2026-09-28 11:03 UTC (permalink / raw)
To: Jianyu Zhou; +Cc: linux-sound, tiwai, perex
On Thu, 17 Sep 2026 08:58:29 +0200,
Jianyu Zhou wrote:
>
> From 2adfedabfdd9f5ec800462b1f1c0859a198e63aa Mon Sep 17 00:00:00 2001
> From: Jianyu Zhou <997536907@qq.com>
> Date: Thu, 17 Sep 2026 14:34:46 +0800
> Subject: [PATCH v2] ALSA: hda/realtek: Add quirk for IPASON SmartBook S1
>
> The internal speaker of the IPASON SmartBook S1 (an Emdoor ODM laptop)
> stays silent under Linux, while the Bluetooth audio and the headset
> output work fine. The same machine plays sound under Windows with the
> vendor driver, so the hardware and the amplifier are known good.
>
> The BIOS reports the pin default of the actual internal speaker pin
> (NID 0x1b) as 0x411111f0, i.e. the default association 0xf, which means
> "unconnected". The pin parser therefore drops that node already at the
> pin-configuration time, hence no mixer control is ever created for it
> and the pin is never driven, no matter how the output pin 0x14 is set
> up. Enabling 0x1b makes the speaker work immediately.
>
> The existing ALC256_FIXUP_HONOR_MRB_XXX_M1020_AUDIO quirk makes the
> speaker work, too, but it additionally rewrites the pins 0x14, 0x19 and
> 0x1a with Honor-specific values, which creates a bogus "Dock Mic" device
> that does not exist on this hardware. Add a minimal fixup that only
> enables 0x1b as the internal speaker. Touching 0x14 is not needed:
> with the pin configuration overridden at runtime, both keeping its BIOS
> value (0x90170110) and disabling it (0x411111f0) leave the speaker
> working, so 0x1b alone decides the output.
>
> Codec: Realtek ALC256 (0x10ec0256), SSID 0x2782:0x0206
> BIOS pincfg: 0x14 0x90170110 0x18 0x411111f0 0x19 0x02a19040
> 0x1a 0x411111f0 0x1b 0x411111f0 0x1d 0x4067b945
> 0x1e 0x411111f0 0x21 0x02214020
>
> Tested on 7.2.0-1-MANJARO and 6.18.45-1-MANJARO, with both the SOF and
> the legacy HDA driver paths.
>
> Signed-off-by: Jianyu Zhou <997536907@qq.com>
Applied now. Thanks.
Takashi
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-09-28 11:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-17 6:58 [PATCH v2] ALSA: hda/realtek: Add quirk for IPASON SmartBook S1 Jianyu Zhou
2026-09-28 11:03 ` Takashi Iwai
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.