Dell WYSE 7040 thin client (Intel i5 6500TE) built-in sound ALC255 mini how-to

Hi everyone,
I usually browse this forum to find solutions, but now I’d like to share something that might be useful to others. I am running FreeBSD 15-RELEASE.
After testing many different fixes found online, I finally found a working solution. My computer has three sound outputs:
1- HDMI
2- Internal built-in speaker
3- Headphone jack

if you
dmesg | grep pcm :

pcm0: <Realtek ALC255 (Front Analog Line-out)> at nid 27 on hdaa0
pcm1: <Intel Skylake (HDMI/DP 8ch)> at nid 3 on hdaa1

then this lines should be added in the /boot/device.hints :
hint.hdaa.0.nid20.config="as=1 seq=0 device=Speaker"
hint.hdaa.0.nid27.config="as=1 seq=15 device=Headphones"

when rebooted, you should see this lines when you dmesg | grep pcm :

pcm0: <Realtek ALC255 (Front Analog Headphones)> at nid 27 on hdaa0
pcm1: <Realtek ALC255 (Front Analog Headphones)> at nid 33 on hdaa0
pcm2: <Intel Skylake (HDMI/DP 8ch)> at nid 3 on hdaa1
pcm0: <Realtek ALC255 (Analog 2.0+HP)> at nid 20,27 on hdaa0
pcm1: <Realtek ALC255 (Front Analog Headphones)> at nid 33 on hdaa0
pcm2: <Intel Skylake (HDMI/DP 8ch)> at nid 3 on hdaa1

and when you cat /dev/sndstat :
Installed devices:
pcm0: <Realtek ALC255 (Analog 2.0+HP)> (play) default
pcm1: <Realtek ALC255 (Front Analog Headphones)> (play)
pcm2: <Intel Skylake (HDMI/DP 8ch)> (play)

each of those pcm should be functional if tested when you switch it with:
sysctl hw.snd.default_unit=n
n = the pcm (0 or 1 or 2)
 
Thank you for this. Could you please share your dmesg and your pindump sysctl? I can patch snd_hda(4) to include this by default. We could also combine pcm0 and pcm1 I think.
 
Hi,
Sure,

This is the dmesg after i did sysctl dev.hdac.0.pindump=1


pchtherm0: <Skylake PCH 100 Thermal Subsystem> mem 0xf714f000-0xf714ffff irq 18 at device 20.2 on pci0
ichsmb0: <Intel Sunrise Point-H SMBus controller> port 0xf040-0xf05f mem 0xf714a000-0xf714a0ff irq 16 at device 31.4 on pci0
smbus0: <System Management Bus> on ichsmb0
acpi_wmi0: <ACPI-WMI mapping> on acpi0
acpi_wmi0: cannot find EC device
acpi_wmi0: Embedded MOF found
hms0: <vendor 0x1d57 2.4G Wireless Receiver Mouse> on hidbus0
hms0: 5 buttons and [XYWH] coordinates ID=1
hcons0: <vendor 0x1d57 2.4G Wireless Receiver Consumer Control> on hidbus0
hsctrl0: <vendor 0x1d57 2.4G Wireless Receiver System Control> on hidbus0
em0: link state changed to UP
lo0: link state changed to UP
em0: link state changed to DOWN
em0: link state changed to UP
hdaa0: Dumping AFG pins:
hdaa0: nid 0x as seq device conn jack loc color misc
hdaa0: 18 40000000 0 0 Line-out None Unknown 0x00 Unknown 0 DISA
hdaa0: Caps: IN
hdaa0: 20 90170110 1 0 Speaker Fixed Analog Internal Unknown 1
hdaa0: Caps: OUT EAPD Sense: 0x00000000 (disconnected)
hdaa0: 23 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: Caps: OUT
hdaa0: 24 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: Caps: IN VREF Sense: 0x00000000 (disconnected)
hdaa0: 25 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: Caps: IN VREF Sense: 0x00000000 (disconnected)
hdaa0: 26 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: Caps: IN VREF Sense: 0x00000000 (disconnected)
hdaa0: 27 0221101f 1 15 Headphones Jack 1/8 Front Black 0
hdaa0: Caps: IN OUT HP EAPD VREF Sense: 0x00000000 (disconnected)
hdaa0: 30 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: Caps: OUT Sense: 0x00000000 (disconnected)
hdaa0: 33 0221105f 5 15 Headphones Jack 1/8 Front Black 0
hdaa0: Caps: OUT HP EAPD Sense: 0x00000000 (disconnected)
hdaa0: NumGPIO=3 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1
hdaa0: GPIO0: disabled
hdaa0: GPIO1: disabled
hdaa0: GPIO2: disabled
hdaa1: Dumping AFG pins:
hdaa1: nid 0x as seq device conn jack loc color misc
hdaa1: 3 18560010 1 0 Digital-out Jack Digital 0x18 Unknown 0
hdaa1: Caps: OUT hdac0: Command 0x203f0900 timeout on address 2
Sense: 0xffffffff (connected, ELD valid)
hdaa1: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0
 
Actually i did another test today and found out if i replace:

Code:
hint.hdaa.0.nid27.config="as=1 seq=15 device=Headphones"
with:
Code:
hint.hdaa.0.nid33.config="as=1 seq=15 device=Headphones"

the automatic switching will be functional (internal speaker auto mute and switched to jack when front audio jack plugged in).

my /boot/device.hints are now:

Code:
hint.hdaa.0.nid20.config="as=1 seq=0 device=Speaker"
hint.hdaa.0.nid33.config="as=1 seq=15 device=Headphones"
 
Back
Top