ALSA: hda/realtek: Add quirk for Huawei WRT-WX9 (ALC256, 19e5:320d)
PATCH 1/1 ALSA: hda/realtek: Add quirk for Huawei WRT-WX9 (ALC256, 19e5:320d)
Hi,
this is a one-line quirk addition for a Huawei MateBook WRT-WX9 whose Realtek ALC256 codec reports subsystem ID 19e5:320d. The patch is attached.
Problem: headphone insertion is never detected. The "Headphone Jack" control stays off, PipeWire keeps the speaker route selected, and audio comes out of the internal speakers and the headphones at the same time. Unplugging the headphones leaves the speakers working, so only insertion detection is broken.
Cause: the existing quirk for this machine family is registered for 19e5:320f only, so this variant receives no fixup at all. Applying ALC269_FIXUP_HEADSET_MODE makes jack detection work.
Evidence from the affected machine (kernel 7.0.0-38-generic):
lspci -nn:
00:1f.3 Audio device [0403]: Intel Corporation Cannon Point-LP High Definition Audio Controller [8086:9dc8] (rev 30)
codec: Realtek ALC256, vendor 0x10ec0256, subsystem 0x19e5320d
DMI: HUAWEI WRT-WX9 / WRT-WX9-PCB, BIOS 1.39
Without the fixup:
$ amixer -c0 cget numid=12 | tail -1
: values=off # headphones are plugged in
$ hda-verb /dev/snd/hwC0D0 0x21 0x0f09 0x0
value = 0x0 # pin sense never reports presence
PipeWire: analog-output-headphones -> "not available" Booting with snd-hda-intel.model=headset-mode (the same ALC269_FIXUP_HEADSET_MODE fixup):
$ amixer -c0 cget numid=12 | tail -1
: values=on
$ hda-verb /dev/snd/hwC0D0 0x21 0x0f09 0x0
value = 0x80000000
PipeWire: analog-output-headphones -> "available"; the speaker is
muted automatically on insertion and unplugging restores speaker
output.HDMI audio profiles and the internal microphone keep working with the fixup applied.
The attached patch just maps 19e5:320d to that fixup.
I am not subscribed to the list, please keep me in Cc.
Thanks,
yinguobing <[email protected]>
From: yinguobing <[email protected]>
Date: Thu, 29 Oct 2026 16:08:00 +0800
Subject: [PATCH] ALSA: hda/realtek: Add quirk for Huawei WRT-WX9 (ALC256, 19e5:320d)
On the Huawei MateBook WRT-WX9 whose ALC256 codec reports subsystem ID 19e5:320d, headphone jack presence detection never works: the "Headphone Jack" control stays off, PipeWire keeps the speaker route active, and audio plays from the internal speakers and the headphones at the same time. Unplugging the headphones leaves the speakers working, so only insertion detection is broken.
The existing quirk for this machine family is registered for 19e5:320f only, so this variant receives no fixup at all. ALC256 on this board needs ALC269_FIXUP_HEADSET_MODE; without it the codec's jack detection is never enabled and GET_PIN_SENSE on the headphone pin (0x21) always reads 0.
Verified on the affected machine by booting with snd-hda-intel.model=headset-mode, which applies the same fixup: the "Headphone Jack" control then reports "on" when a plug is inserted, GET_PIN_SENSE on pin 0x21 returns 0x80000000, the "Headphones" port becomes available in PipeWire, and the speaker is muted automatically on insertion. HDMI audio profiles and the internal microphone keep working.
Add a SND_PCI_QUIRK entry for 19e5:320d using ALC269_FIXUP_HEADSET_MODE.
--- sound/hda/codecs/realtek/alc269.c | 1 + 1 file changed, 1 insertion(+)
sound/hda/codecs/realtek/alc269.c +1 -0
@@ -8560,3 +8560,4 @@ static const struct hda_quirk alc269_fixup_tbl[] = {SND_PCI_QUIRK (0x19e5 ,0x3204 ,"Huawei MACH-WX9" ,ALC256_FIXUP_HUAWEI_MACH_WX9_PINS ), +SND_PCI_QUIRK (0x19e5 ,0x320d ,"Huawei WRT-WX9" ,ALC269_FIXUP_HEADSET_MODE ),SND_PCI_QUIRK (0x19e5 ,0x320f ,"Huawei WRT-WX9 " ,ALC256_FIXUP_ASUS_MIC_NO_PRESENCE ), SND_PCI_QUIRK(0x19e5, 0x3212, "Huawei KLV-WX9 ", ALC256_FIXUP_ACER_HEADSET_MIC),
Signature · 1 line
2.43.0
Quoted 75 lines · Guobing Yin
Hi,
this is a one-line quirk addition for a Huawei MateBook WRT-WX9 whose Realtek ALC256 codec reports subsystem ID 19e5:320d. The patch is attached.
Problem: headphone insertion is never detected. The "Headphone Jack" control stays off, PipeWire keeps the speaker route selected, and audio comes out of the internal speakers and the headphones at the same time. Unplugging the headphones leaves the speakers working, so only insertion detection is broken.
Cause: the existing quirk for this machine family is registered for 19e5:320f only, so this variant receives no fixup at all. Applying
ALC269_FIXUP_HEADSET_MODEmakes jack detection work.Evidence from the affected machine (kernel 7.0.0-38-generic):
lspci -nn:
00:1f.3 Audio device [0403]: Intel Corporation Cannon Point-LP High Definition Audio Controller [8086:9dc8] (rev 30)codec: Realtek ALC256, vendor
0x10ec0256, subsystem0x19e5320d
DMI: HUAWEI WRT-WX9 / WRT-WX9-PCB, BIOS 1.39Without the fixup:
$ amixer -c0 cget numid=12 | tail -1 : values=off # headphones are plugged in $ hda-verb /dev/snd/hwC0D0 0x21 0x0f09 0x0 value = 0x0 # pin sense never reports presence PipeWire: analog-output-headphones -> "not available"Booting with snd-hda-intel.model=headset-mode (the same
ALC269_FIXUP_HEADSET_MODEfixup):$ amixer -c0 cget numid=12 | tail -1 : values=on $ hda-verb /dev/snd/hwC0D0 0x21 0x0f09 0x0 value = 0x80000000 PipeWire: analog-output-headphones -> "available"; the speaker is muted automatically on insertion and unplugging restores speaker output.HDMI audio profiles and the internal microphone keep working with the fixup applied.
The attached patch just maps 19e5:320d to that fixup.
I am not subscribed to the list, please keep me in Cc.
Thanks,
yinguobing <[email protected]>
From: yinguobing <[email protected]>
Date: Thu, 29 Oct 2026 16:08:00 +0800
Subject: [PATCH] ALSA: hda/realtek: Add quirk for Huawei WRT-WX9 (ALC256, 19e5:320d)On the Huawei MateBook WRT-WX9 whose ALC256 codec reports subsystem ID 19e5:320d, headphone jack presence detection never works: the "Headphone Jack" control stays off, PipeWire keeps the speaker route active, and audio plays from the internal speakers and the headphones at the same time. Unplugging the headphones leaves the speakers working, so only insertion detection is broken.
The existing quirk for this machine family is registered for 19e5:320f only, so this variant receives no fixup at all. ALC256 on this board needs
ALC269_FIXUP_HEADSET_MODE; without it the codec's jack detection is never enabled andGET_PIN_SENSEon the headphone pin (0x21) always reads 0.Verified on the affected machine by booting with snd-hda-intel.model=headset-mode, which applies the same fixup: the "Headphone Jack" control then reports "on" when a plug is inserted,
GET_PIN_SENSEon pin0x21returns0x80000000, the "Headphones" port becomes available in PipeWire, and the speaker is muted automatically on insertion. HDMI audio profiles and the internal microphone keep working.
Quoted 3 lines
Add a
SND_PCI_QUIRKentry for 19e5:320d usingALC269_FIXUP_HEADSET_MODE.Signed-off-by yinguobing <[email protected]>
Applied now. Thanks.
Takashi