You are not logged in.

#1 2021-11-03 00:44:30

nathanb
Member
Registered: 2011-11-28
Posts: 103
Website

No digital audio out on Intel NUC

I have an Intel NUC (NUC8i7HVK - Hades Canyon) which does not have working digital audio out. The analog port works just fine, but it seems as though the digital port is not discovered.

[root@nathanb-nuc ~]# dmesg | grep hda
[    2.816102] snd_hda_intel: unknown parameter 'power-saving' ignored
[    2.816171] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
[    2.816386] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[    2.816448] snd_hda_intel 0000:01:00.1: Force to non-snoop mode
[    3.160317] snd_hda_intel 0000:01:00.1: bound 0000:01:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[    3.356309] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    3.435039] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC700: line_outs=1 (0x1b/0x0/0x0/0x0/0x0) type:line
[    3.435045] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.435047] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    3.435049] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[    3.435050] snd_hda_codec_realtek hdaudioC0D0:    dig-out=0x1e/0x0
[    3.435052] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[    3.435053] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x13
[    3.435055] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12

I can see a dig-out port here....

 [root@nathanb-nuc ~]# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC700 Analog [ALC700 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
Subdevices: 1/1
Subdevice #0: subdevice #0

But I think that's just  the HDMI device though.... (Note it's snd_hda_codec vs snd_hda_audio as the driver)

It's definitely using the Intel HDA driver:

[root@nathanb-nuc ~]# lspci -nnk | grep -A2 Audio
00:1f.3 Audio device [0403]: Intel Corporation CM238 HD Audio Controller [8086:a171] (rev 31)
	Subsystem: Intel Corporation Device [8086:2073]
	Kernel driver in use: snd_hda_intel

And the only ports that PulseAudio sees for that driver are the analog ports (headphones and line-out):

[nathan@nathanb-nuc ~] pacmd list-sinks
2 sink(s) available.
    index: 1
	name: <alsa_output.pci-0000_00_1f.3.analog-stereo>
	driver: <module-alsa-card.c>
	flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE
	priority: 9039
	volume: front-left: 50580 /  77% / -6.75 dB,   front-right: 50580 /  77% / -6.75 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max request: 0 KiB
	max rewind: 0 KiB
	monitor source: 2
	sample spec: s16le 2ch 48000Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 0
	configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
	card: 1 <alsa_card.pci-0000_00_1f.3>
	module: 7
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "ALC700 Analog"
		alsa.id = "ALC700 Analog"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0x2fff020000 irq 170"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1f.3"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "a171"
		device.product.name = "CM238 HD Audio Controller"
		device.form_factor = "internal"
		device.string = "front:0"
		device.buffering.buffer_size = "384000"
		device.buffering.fragment_size = "192000"
		device.access_mode = "mmap+timer"
		device.profile.name = "analog-stereo"
		device.profile.description = "Analog Stereo"
		device.description = "Built-in Audio Analog Stereo"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	ports:
		analog-output-lineout: Line Out (priority 9000, latency offset 0 usec, available: no)
			properties:
				
		analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "audio-headphones"
	active port: <analog-output-headphones>
  * index: 9
	name: <alsa_output.pci-0000_01_00.1.hdmi-stereo-extra5>
	driver: <module-alsa-card.c>
	flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE
	priority: 9030
	volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max request: 0 KiB
	max rewind: 0 KiB
	monitor source: 10
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 0
	configured latency: 0.00 ms; range is 0.50 .. 1999.82 ms
	card: 0 <alsa_card.pci-0000_01_00.1>
	module: 6
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "HDMI 5"
		alsa.id = "HDMI 5"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "11"
		alsa.card = "1"
		alsa.card_name = "HDA ATI HDMI"
		alsa.long_card_name = "HDA ATI HDMI at 0xdb560000 irq 159"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:01:00.1"
		sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1"
		device.bus = "pci"
		device.vendor.id = "1002"
		device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
		device.product.id = "ab08"
		device.product.name = "Polaris 22 HDMI Audio"
		device.string = "hdmi:1,5"
		device.buffering.buffer_size = "352768"
		device.buffering.fragment_size = "176384"
		device.access_mode = "mmap+timer"
		device.profile.name = "hdmi-stereo-extra5"
		device.profile.description = "Digital Stereo (HDMI 6)"
		device.description = "Polaris 22 HDMI Audio Digital Stereo (HDMI 6)"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	ports:
		hdmi-output-5: HDMI / DisplayPort 6 (priority 5400, latency offset 0 usec, available: yes)
			properties:
				device.icon_name = "video-display"
				device.product.name = "PHL BDM3270"
	active port: <hdmi-output-5>

I had a previous-generation NUC where the digital out worked just fine on Linux, so this seems to be a new behavior in the Hades Canyon series. Any suggestions, or am I stuck with using analog out?

(FWIW the port itself looks definitely functional; I can see it emitting red light when I unplug the cable, and my receiver detects that it's plugged into a live port. This doesn't look like a hardware problem. And I have verified that audio is enabled in the BIOS. But it doesn't see the digital port:)

[    3.355430] input: HDA Intel PCH Line Out as /devices/pci0000:00/0000:00:1f.3/sound/card0/input25
[    3.355621] input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input26
[    3.355834] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input27
[    3.356187] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input28
[    3.356511] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input29
[    3.356832] input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input30
[    3.357012] input: HDA Intel PCH HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input31

Last edited by nathanb (2021-11-03 01:09:46)

Offline

#2 2021-11-12 14:08:04

nathanb
Member
Registered: 2011-11-28
Posts: 103
Website

Re: No digital audio out on Intel NUC

Update: Intel say that Arch Linux is not supported.

https://community.intel.com/t5/Intel-NU … d-id/86570

Very disappointed with Intel here. This will probably be the last NUC I buy.

Meanwhile, a cheap USB-to-optical dongle solved my problem.

Offline

#3 2021-11-13 02:41:19

smartding
Member
Registered: 2021-02-21
Posts: 35

Re: No digital audio out on Intel NUC

nathanb wrote:

Update: Intel say that Arch Linux is not supported.

https://community.intel.com/t5/Intel-NU … d-id/86570

Very disappointed with Intel here. This will probably be the last NUC I buy.

Meanwhile, a cheap USB-to-optical dongle solved my problem.

Not supported probably means there's no support from Intel to fix any issue related to arch Linux on NUC.

There's a arch wiki page about installing arch Linux on Intel NUC: https://wiki.archlinux.org/title/Intel_NUC, which means you can run arch Linux on some NUC models.

Offline

#4 2021-11-13 13:39:39

nathanb
Member
Registered: 2011-11-28
Posts: 103
Website

Re: No digital audio out on Intel NUC

Very true, I've been running Linux on a NUC for years. And I've gotten support from Intel in the past (on a previous NUC model their wifi driver was a bit buggy, and I worked with their engineers to help gather logs and run experimental versions to help debug it). It's a shame that they're not willing to extend the same level of support for Hades Canyon (which is admittedly a pretty old product at this point, by tech standards).

Offline

#5 2021-11-13 13:52:06

smartding
Member
Registered: 2021-02-21
Posts: 35

Re: No digital audio out on Intel NUC

I thought Nuc are just standard hardwares in a small box, just like laptops.
Is there any special hardware not supported by Linux?

Offline

#6 2021-11-13 14:03:33

nathanb
Member
Registered: 2011-11-28
Posts: 103
Website

Re: No digital audio out on Intel NUC

Apparently the optical audio chip big_smile

Your assumption is correct; it's basically laptop hardware in a custom tiny desktop chassis. I don't know why the digital audio port doesn't work on the 8th generation performance NUCs, but it's surely just either a bug in the driver or a bug in the BIOS (reportedly it works fine on Windows). Based on my completely ignorant analysis of the problem I'm guessing the driver needs to do a special probe for additional ports not exposed by the firmware, and it's not doing that.

Since I was able to solve the problem by buying a cheap USB dongle, I've stopped looking into it.

Offline

#7 2021-11-22 08:26:43

Troels
Member
From: Denmark
Registered: 2009-03-01
Posts: 16

Re: No digital audio out on Intel NUC

Hello,

I have the Hades Canyon as well. I have been using it a server, and then I upgraded. Unfortunately, I seldom use it to play audio.

But I can tell that it used to work 7-8 months ago, and now it does not. I do not know what package caused it to stop working, but it is definitely a regression.

Offline

#8 2021-11-22 14:15:44

nathanb
Member
Registered: 2011-11-28
Posts: 103
Website

Re: No digital audio out on Intel NUC

Oh, that's interesting! Thanks for providing that information.

[nathan@nathanb-nuc ~] pacman -Qo /usr/lib/modules/5.14.15-arch1-1/kernel/sound/pci/hda/snd-hda-intel.ko.zst
/usr/lib/modules/5.14.15-arch1-1/kernel/sound/pci/hda/snd-hda-intel.ko.zst is owned by linux 5.14.15.arch1-1

I suspect the regression would be in the kernel package itself

Offline

Board footer

Powered by FluxBB