NetBSD Problem Report #60557

From www@netbsd.org  Sat Aug  8 00:03:17 2026
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits)
	 client-signature RSA-PSS (2048 bits))
	(Client CN "mail.netbsd.org", Issuer "YR2" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 826BE1A9239
	for <gnats-bugs@gnats.NetBSD.org>; Sat,  8 Aug 2026 00:03:17 +0000 (UTC)
Message-Id: <20260808000316.78ED31A923B@mollari.NetBSD.org>
Date: Sat,  8 Aug 2026 00:03:16 +0000 (UTC)
From: so@neutralite.org
Reply-To: so@neutralite.org
To: gnats-bugs@NetBSD.org
Subject: hdafg(4): headphone output and jack detection do not work on Dell Latitude 5400 (ALC236)
X-Send-Pr-Version: www-1.0
X-From4GNATS: "so@neutralite.org via gnats" <gnats-admin@NetBSD.org>

>Number:         60557
>Category:       kern
>Synopsis:       hdafg(4): headphone output and jack detection do not work on Dell Latitude 5400 (ALC236)
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Aug 08 00:05:01 +0000 2026
>Last-Modified:  Tue Aug 11 23:30:01 +0000 2026
>Originator:     Stéphane Ortega
>Release:        NetBSD 11.0_STABLE
>Organization:
>Environment:
NetBSD phoenix 11.0 NetBSD 11.0 (GENERIC) #0: Thu Jul 30 15:23:12 UTC 2026  mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/amd64/compile/GENERIC amd64

>Description:
The internal speakers work normally. The codec is reported as:

hdafg0: DAC00 2ch: Speaker [Built-In]
hdafg0: DAC01 2ch: HP Out [Jack]
hdafg0: ADC02 2ch: Mic In [Built-In]

The codec configuration also reports NID 0x21 as:

0x21 02211020  2   0 Headphones     Jack  1/8"    Front      Black      0

However, the headphone output does not work.

The headphone jack is not detected when a working headset is plugged in or unplugged. There is no corresponding change in dmesg, and no jack insertion/removal event is visible.

The mixer exposes both DACs:

outputs.dacsel=DAC00,DAC01

Selecting DAC00 produces sound from the internal speakers.

Selecting DAC01 with:

mixerctl -w outputs.dacsel=DAC01

does not produce any sound in the headphones. The internal speakers may still produce sound depending on the mixer configuration.

The audio device itself works correctly. For example:

audiocfg test 0

completes successfully for the Realtek audio device.

The problem is reproducible on two different Dell Latitude 5400 machines using the same NetBSD installation/NVMe drive. The same headset works correctly on another laptop running Debian, so the headset itself is known to work.

Relevant device information:

hdaudio0 at pci0 dev 31 function 3: HD Audio Controller
hdafg0 at hdaudio0: Realtek product 0236

The HDA codec graph shows that DAC00 and DAC01 are both connected to the headphone/speaker pin widgets, including NID 0x21 (Headphones).

Therefore, the main symptoms are:

    internal speakers work;

    headphone DAC01 is detected by hdafg;

    no audio is produced through the headphone jack;

    plugging/unplugging the headset does not appear to be detected by the driver.
>How-To-Repeat:
    Boot NetBSD 11.0_STABLE on a Dell Latitude 5400 with a Realtek ALC236 codec.

    Verify that the internal speakers work.

    Connect a working headset to the 3.5 mm headphone jack.

    Check the audio devices:

    audiocfg list

    Check the mixer:

    mixerctl -a

    Select the headphone DAC:

    mixerctl -w outputs.dacsel=DAC01

    Play audio or run:

    audiocfg test 0

    No sound is produced through the headphones.

    Plug and unplug the headset while monitoring:

    dmesg

No jack insertion or removal event is reported.
>Fix:
unknown

>Audit-Trail:
From: RVP <rvp@SDF.ORG>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: kern/60557: hdafg(4): headphone output and jack detection do
 not work on Dell Latitude 5400 (ALC236)
Date: Sun, 9 Aug 2026 09:44:10 +0000 (UTC)

 On Sat, 8 Aug 2026, so@neutralite.org via gnats wrote:

 >> Description:
 > The internal speakers work normally. The codec is reported as:
 >
 > hdafg0: DAC00 2ch: Speaker [Built-In]
 > hdafg0: DAC01 2ch: HP Out [Jack]
 > hdafg0: ADC02 2ch: Mic In [Built-In]
 >
 > The codec configuration also reports NID 0x21 as:
 >
 > 0x21 02211020  2   0 Headphones     Jack  1/8"    Front      Black      0
 >
 > However, the headphone output does not work.
 >
 > The headphone jack is not detected when a working headset is plugged in or unplugged. There is no corresponding change in dmesg, and no jack insertion/removal event is visible.
 >
 > The mixer exposes both DACs:
 >
 > outputs.dacsel=DAC00,DAC01
 >
 > Selecting DAC00 produces sound from the internal speakers.
 >
 > Selecting DAC01 with:
 >
 > mixerctl -w outputs.dacsel=DAC01
 >
 > does not produce any sound in the headphones. The internal speakers may still produce sound depending on the mixer configuration.
 >

 Realtek HDA is notorious for needing custom widget patches (as carried by Linux)
 What you could do right now is attach both speaker and HP to the same DAC. This
 way, plugging in the HP will automatically mute the speaker, and we already
 know that this DAC works.

 Can you the full output of hdaudioctl for this codec and nid?

 -RVP

From: =?utf-8?B?U3TDqXBoYW5l?= ORTEGA <so@neutralite.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: kern/60557: hdafg(4): headphone output and jack detection do not
 work on Dell Latitude 5400 (ALC236)
Date: Sun, 9 Aug 2026 13:46:41 +0200

 Hi RVP,

 Thanks for looking into this.

 The codec is codecid 0x00, NID 0x01 (Realtek 10EC:0236 / ALC236).

 Here is the output of hdaudioctl show 0x00 0x01:

 nid  Data     As Seq Device         Conn  Jack    Location   Color   Misc
 =========================================================================
 0x12 90A60140  4   0 Mic In         Fixed Digital Internal   Unknown    1
 0x13 40100000  0   0 Speaker        None  Unknown 0x00       Unknown    0
 0x14 90170110  1   0 Speaker        Fixed Analog  Internal   Unknown    1
 0x18 411111F0 15   0 Speaker        None  1/8"    Rear       Black      1
 0x19 411111F0 15   0 Speaker        None  1/8"    Rear       Black      1
 0x1A 411111F0 15   0 Speaker        None  1/8"    Rear       Black      1
 0x1B 411111F0 15   0 Speaker        None  1/8"    Rear       Black      1
 0x1D 40700001  0   1 Modem Handset  None  Unknown 0x00       Unknown    0
 0x1E 421212F2 15   2 Speaker        None  1/4"    Front      Black      2
 0x21 02211020  2   0 Headphones     Jack  1/8"    Front      Black      0

 And here is the output of hdaudioctl graph 0x00 0x01:

 digraph "HD Audio 10EC:0236" {
  widget02h [label="widget02h\naudio output",shape=box,style=filled,fillcolor="#88ff88"];
  widget03h [label="widget03h\naudio output",shape=box,style=filled,fillcolor="#88ff88"];
  widget04h [label="widget04h\nvendor defined",shape=box];
  widget05h [label="widget05h\nvendor defined",shape=box];
  widget06h [label="widget06h\naudio output",shape=box,style=filled,fillcolor="#88ff88"];
  widget07h [label="widget07h\naudio input",shape=box,style=filled,fillcolor="#ff8888"];
  widget24h -> widget07h [sametail=widget24h];
  widget08h [label="widget08h\naudio input",shape=box,style=filled,fillcolor="#ff8888"];
  widget23h -> widget08h [sametail=widget23h];
  widget09h [label="widget09h\naudio input",shape=box,style=filled,fillcolor="#ff8888"];
  widget22h -> widget09h [sametail=widget22h];
  widget0Ah [label="widget0Ah\nvendor defined",shape=box];
  widget0Bh [label="widget0Bh\nvendor defined",shape=box];
  widget0Ch [label="widget0Ch\nvendor defined",shape=box];
  widget0Dh [label="widget0Dh\nvendor defined",shape=box];
  widget0Eh [label="widget0Eh\nvendor defined",shape=box];
  widget0Fh [label="widget0Fh\nvendor defined",shape=box];
  widget10h [label="widget10h\nvendor defined",shape=box];
  widget11h [label="widget11h\nvendor defined",shape=box];
  widget12h [label="widget12h\ndevice=Mic In",style=filled,shape=circle,fillcolor="#ff8888"];
  widget13h [label="widget13h\ndevice=Speaker",style=filled,shape=circle,fillcolor="#ff8888"];
  widget14h [label="widget14h\ndevice=Speaker",style=filled,shape=circle,fillcolor="#88ff88"];
  widget02h -> widget14h [sametail=widget02h];
  widget15h [label="widget15h\nvendor defined",shape=box];
  widget16h [label="widget16h\nvendor defined",shape=box];
  widget17h [label="widget17h\nvendor defined",shape=box];
  widget18h [label="widget18h\ndevice=Speaker",style=filled,shape=circle,fillcolor="#ff8888"];
  widget19h [label="widget19h\ndevice=Speaker",style=filled,shape=circle,fillcolor="#ff8888"];
  widget1Ah [label="widget1Ah\ndevice=Speaker",style=filled,shape=circle,fillcolor="#ff8888"];
  widget1Bh [label="widget1Bh\ndevice=Speaker",style=filled,shape=doublecircle,fillcolor="#ffff88"];
  widget02h -> widget1Bh [sametail=widget02h];
  widget03h -> widget1Bh [sametail=widget03h];
  widget1Ch [label="widget1Ch\nvendor defined",shape=box];
  widget1Dh [label="widget1Dh\ndevice=Modem Handset",style=filled,shape=circle,fillcolor="#ff8888"];
  widget1Eh [label="widget1Eh\nbeep generator",shape=box];
  widget06h -> widget1Eh [sametail=widget06h];
  widget1Fh [label="widget1Fh\nvendor defined",shape=box];
  widget20h [label="widget20h\nvendor defined",shape=box];
  widget21h [label="widget21h\ndevice=Headphones",style=filled,shape=circle,fillcolor="#88ff88"];
  widget02h -> widget21h [sametail=widget02h];
  widget03h -> widget21h [sametail=widget03h];
  widget22h [label="widget22h\naudio mixer",shape=invhouse];
  widget18h -> widget22h [sametail=widget18h];
  widget19h -> widget22h [sametail=widget19h];
  widget1Ah -> widget22h [sametail=widget1Ah];
  widget1Bh -> widget22h [sametail=widget1Bh];
  widget1Dh -> widget22h [sametail=widget1Dh];
  widget23h [label="widget23h\naudio mixer",shape=invhouse];
  widget18h -> widget23h [sametail=widget18h];
  widget19h -> widget23h [sametail=widget19h];
  widget1Ah -> widget23h [sametail=widget1Ah];
  widget1Bh -> widget23h [sametail=widget1Bh];
  widget1Dh -> widget23h [sametail=widget1Dh];
  widget12h -> widget23h [sametail=widget12h];
  widget24h [label="widget24h\naudio selector",shape=invtrapezium];
  widget12h -> widget24h [sametail=widget12h];
  widget13h -> widget24h [sametail=widget13h];
  {rank=min;}
  {rank=max;}
 }

 Please let me know what you would like me to test next.

 Best regards,
 So



 Le Sun, Aug 09, 2026 at 09:45:01AM +0000, RVP via gnats a écrit :
 > The following reply was made to PR kern/60557; it has been noted by GNATS.
 > 
 > From: RVP <rvp@SDF.ORG>
 > To: gnats-bugs@netbsd.org
 > Cc: 
 > Subject: Re: kern/60557: hdafg(4): headphone output and jack detection do
 >  not work on Dell Latitude 5400 (ALC236)
 > Date: Sun, 9 Aug 2026 09:44:10 +0000 (UTC)
 > 
 >  On Sat, 8 Aug 2026, so@neutralite.org via gnats wrote:
 >  
 >  >> Description:
 >  > The internal speakers work normally. The codec is reported as:
 >  >
 >  > hdafg0: DAC00 2ch: Speaker [Built-In]
 >  > hdafg0: DAC01 2ch: HP Out [Jack]
 >  > hdafg0: ADC02 2ch: Mic In [Built-In]
 >  >
 >  > The codec configuration also reports NID 0x21 as:
 >  >
 >  > 0x21 02211020  2   0 Headphones     Jack  1/8"    Front      Black      0
 >  >
 >  > However, the headphone output does not work.
 >  >
 >  > The headphone jack is not detected when a working headset is plugged in or unplugged. There is no corresponding change in dmesg, and no jack insertion/removal event is visible.
 >  >
 >  > The mixer exposes both DACs:
 >  >
 >  > outputs.dacsel=DAC00,DAC01
 >  >
 >  > Selecting DAC00 produces sound from the internal speakers.
 >  >
 >  > Selecting DAC01 with:
 >  >
 >  > mixerctl -w outputs.dacsel=DAC01
 >  >
 >  > does not produce any sound in the headphones. The internal speakers may still produce sound depending on the mixer configuration.
 >  >
 >  
 >  Realtek HDA is notorious for needing custom widget patches (as carried by Linux)
 >  What you could do right now is attach both speaker and HP to the same DAC. This
 >  way, plugging in the HP will automatically mute the speaker, and we already
 >  know that this DAC works.
 >  
 >  Can you the full output of hdaudioctl for this codec and nid?
 >  
 >  -RVP
 >  

 -- 
 Stéphane ORTEGA  https://stephaneortega.fr/ +33 (0)684.041.350
 GPG Key ID: 0x56F6CF155AB3B3BF/2048R   IRC: Well@{libera,oftc}

From: RVP <rvp@SDF.ORG>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: kern/60557: hdafg(4): headphone output and jack detection do
 not work on Dell Latitude 5400 (ALC236)
Date: Sun, 9 Aug 2026 14:45:26 +0000 (UTC)

   This message is in MIME format.  The first part should be readable text,
   while the remaining parts are likely unreadable without MIME-aware tools.

 --0-720364886-1786286348=:23028
 Content-Type: text/plain; CHARSET=ISO-8859-15; format=flowed
 Content-Transfer-Encoding: 8BIT
 Content-ID: <914dc395-b6f4-6fba-8221-3618fc335604@SDF.ORG>

 On Sun, 9 Aug 2026, Stéphane ORTEGA via gnats wrote:

 > Here is the output of hdaudioctl show 0x00 0x01:
 >
 > nid  Data     As Seq Device         Conn  Jack    Location   Color   Misc
 > =========================================================================
 > 0x14 90170110  1   0 Speaker        Fixed Analog  Internal   Unknown    1
 > 0x21 02211020  2   0 Headphones     Jack  1/8"    Front      Black      0
 >

 OK, can you try this:

 1. hdaudioctl get 0 1 > def.xml; cp def.xml new.xml

 2. Edit new.xml and change the `config' value (same as the `Data' field in
     the above table) for nid 33 (0x21) from 0x2214020 -> 0x221401f.

 3. sync; hdaudioctl set 0 1 new.xml

 That should associate the HP output and the speaker output.

 -RVP
 --0-720364886-1786286348=:23028--

From: =?utf-8?B?U3TDqXBoYW5l?= ORTEGA <so@neutralite.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: kern/60557: hdafg(4): headphone output and jack detection do not
 work on Dell Latitude 5400 (ALC236)
Date: Sun, 9 Aug 2026 19:12:27 +0200

 I tested the suggested configurations.

     0x2214020: no change.

     0x221401f: the internal speakers stop working, but there is still no sound from the headphones.

 hdaudioctl show 0x00 0x01 now shows:

 0x21 0221401F 1 15 Headphones Jack 1/8" Front Green 0

 I also saved the current configuration as current.xml.

 I compared def.xml (original) with current.xml using diff -u. The only difference is the config value for nid 33:

 Original:
 0x2211020

 Current:
 0x221401f

 I tried to restore the original configuration with:

 sudo hdaudioctl set 0 1 def.xml

 but the command hangs and does not return. Ctrl-C is needed to get the prompt back.



 Le Sun, Aug 09, 2026 at 02:50:01PM +0000, RVP via gnats a écrit :
 > The following reply was made to PR kern/60557; it has been noted by GNATS.
 > 
 > From: RVP <rvp@SDF.ORG>
 > To: gnats-bugs@netbsd.org
 > Cc: 
 > Subject: Re: kern/60557: hdafg(4): headphone output and jack detection do
 >  not work on Dell Latitude 5400 (ALC236)
 > Date: Sun, 9 Aug 2026 14:45:26 +0000 (UTC)
 > 
 >    This message is in MIME format.  The first part should be readable text,
 >    while the remaining parts are likely unreadable without MIME-aware tools.
 >  
 >  --0-720364886-1786286348=:23028
 >  Content-Type: text/plain; CHARSET=ISO-8859-15; format=flowed
 >  Content-Transfer-Encoding: 8BIT
 >  Content-ID: <914dc395-b6f4-6fba-8221-3618fc335604@SDF.ORG>
 >  
 >  On Sun, 9 Aug 2026, St?phane ORTEGA via gnats wrote:
 >  
 >  > Here is the output of hdaudioctl show 0x00 0x01:
 >  >
 >  > nid  Data     As Seq Device         Conn  Jack    Location   Color   Misc
 >  > =========================================================================
 >  > 0x14 90170110  1   0 Speaker        Fixed Analog  Internal   Unknown    1
 >  > 0x21 02211020  2   0 Headphones     Jack  1/8"    Front      Black      0
 >  >
 >  
 >  OK, can you try this:
 >  
 >  1. hdaudioctl get 0 1 > def.xml; cp def.xml new.xml
 >  
 >  2. Edit new.xml and change the `config' value (same as the `Data' field in
 >      the above table) for nid 33 (0x21) from 0x2214020 -> 0x221401f.
 >  
 >  3. sync; hdaudioctl set 0 1 new.xml
 >  
 >  That should associate the HP output and the speaker output.
 >  
 >  -RVP
 >  --0-720364886-1786286348=:23028--
 >  

 -- 
 Stéphane ORTEGA  https://stephaneortega.fr/ +33 (0)684.041.350
 GPG Key ID: 0x56F6CF155AB3B3BF/2048R   IRC: Well@{libera,oftc}

From: RVP <rvp@SDF.ORG>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: kern/60557: hdafg(4): headphone output and jack detection do
 not work on Dell Latitude 5400 (ALC236)
Date: Tue, 11 Aug 2026 23:25:21 +0000 (UTC)

   This message is in MIME format.  The first part should be readable text,
   while the remaining parts are likely unreadable without MIME-aware tools.

 --0-1958797674-1786490722=:25123
 Content-Type: text/plain; format=flowed; charset=ISO-8859-15
 Content-Transfer-Encoding: 8BIT

 On Sun, 9 Aug 2026, Stéphane ORTEGA via gnats wrote:

 > I tested the suggested configurations.
 >
 >     0x2214020: no change.
 >
 >     0x221401f: the internal speakers stop working, but there is still no sound from the headphones.
 >

 Ah, then you'll really need one of the many widget patches Linux carries for
 Realtek HDA:

 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/hda/codecs/realtek?h=v7.2-rc7


 > I tried to restore the original configuration with:
 >
 > sudo hdaudioctl set 0 1 def.xml
 >
 > but the command hangs and does not return. Ctrl-C is needed to get the prompt back.
 >

 That is a different bug, I think. There are locking issues in the code....

 -RVP
 --0-1958797674-1786490722=:25123--

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.51 2026/08/10 02:28:17 riastradh Exp $
$NetBSD: gnats_config.sh,v 1.10 2026/05/13 22:00:09 riastradh Exp $
Copyright © 1994-2026 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.