The officially official Devuan Forum!

You are not logged in.

#1 2022-07-11 19:36:37

perot
Member
Registered: 2022-07-11
Posts: 3  

Sound and DisplayPort

Hi,

I wasn't sure if this maybe instead belongs into 'Desktop & Multimedia', but since that says 'Everything running on X', I figured ... Anyway, feel free to move it if my assessment was wrong.

I have successfully installed Chimaera on my old, trusty Lenovo Thinkpad X220. At the heydays of Windows 7, I used to hook it to my home theater system via the DisplayPort socket. Wenn I try this with the Devuan installation, video comes out alright, but no sound, and I cannot figure out how to activate the sound. ALSA apparently can see the DisplayPort as an audio sink.

Just in case it's relevant, the hardware ist a DisplayPort to HDMI adapter, that is plugged into an AV receiver, which is responsible for the sound, with a projector (AE-2000) connected to the receiver's HDMI output. The setup is exactly the same as it used to work with Windows 7.

The first hint that on hardware level things seem to be okay comes from aplay:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CX20590 Analog [CX20590 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

ALSA sees three HDMI ports. I have no idea, why three, but one makes sense, and PulseAudio can even read the projector's model name via 'HDMI 0', in ALSA-speak 'hw:0,3' (note 'hdmi-output-0' under 'ports'):

$ pacmd list-cards
1 card(s) available.
    index: 0
	name: <alsa_card.pci-0000_00_1b.0>
	driver: <module-alsa-card.c>
	owner module: 6
	properties:
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0xf2520000 irq 31"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1b.0"
		sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "1c20"
		device.product.name = "6 Series/C200 Series Chipset Family High Definition Audio Controller"
		device.form_factor = "internal"
		device.string = "0"
		device.description = "Built-in Audio"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	profiles:
		input:analog-stereo: Analog Stereo Input (priority 65, available: unknown)
		output:analog-stereo: Analog Stereo Output (priority 6500, available: unknown)
		output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (priority 6565, available: unknown)
		output:analog-surround-40: Analog Surround 4.0 Output (priority 1200, available: unknown)
		output:analog-surround-40+input:analog-stereo: Analog Surround 4.0 Output + Analog Stereo Input (priority 1265, available: unknown)
		output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 5900, available: unknown)
		output:hdmi-stereo+input:analog-stereo: Digital Stereo (HDMI) Output + Analog Stereo Input (priority 5965, available: unknown)
		output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (priority 800, available: unknown)
		output:hdmi-surround+input:analog-stereo: Digital Surround 5.1 (HDMI) Output + Analog Stereo Input (priority 865, available: unknown)
		output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (priority 800, available: unknown)
		output:hdmi-surround71+input:analog-stereo: Digital Surround 7.1 (HDMI) Output + Analog Stereo Input (priority 865, available: unknown)
		output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (priority 5700, available: no)
		output:hdmi-stereo-extra1+input:analog-stereo: Digital Stereo (HDMI 2) Output + Analog Stereo Input (priority 5765, available: no)
		output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (priority 600, available: no)
		output:hdmi-surround-extra1+input:analog-stereo: Digital Surround 5.1 (HDMI 2) Output + Analog Stereo Input (priority 665, available: no)
		output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (priority 600, available: no)
		output:hdmi-surround71-extra1+input:analog-stereo: Digital Surround 7.1 (HDMI 2) Output + Analog Stereo Input (priority 665, available: no)
		output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (priority 5700, available: no)
		output:hdmi-stereo-extra2+input:analog-stereo: Digital Stereo (HDMI 3) Output + Analog Stereo Input (priority 5765, available: no)
		output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (priority 600, available: no)
		output:hdmi-surround-extra2+input:analog-stereo: Digital Surround 5.1 (HDMI 3) Output + Analog Stereo Input (priority 665, available: no)
		output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (priority 600, available: no)
		output:hdmi-surround71-extra2+input:analog-stereo: Digital Surround 7.1 (HDMI 3) Output + Analog Stereo Input (priority 665, available: no)
		off: Off (priority 0, available: unknown)
	active profile: <output:analog-stereo+input:analog-stereo>
	sinks:
		alsa_output.pci-0000_00_1b.0.analog-stereo/#0: Built-in Audio Analog Stereo
	sources:
		alsa_output.pci-0000_00_1b.0.analog-stereo.monitor/#0: Monitor of Built-in Audio Analog Stereo
		alsa_input.pci-0000_00_1b.0.analog-stereo/#1: Built-in Audio Analog Stereo
	ports:
		analog-input-internal-mic: Internal Microphone (priority 8900, latency offset 0 usec, available: unknown)
			properties:
				device.icon_name = "audio-input-microphone"
		analog-input-dock-mic: Dock Microphone (priority 7800, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "audio-input-microphone"
		analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "audio-input-microphone"
		analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown)
			properties:
				device.icon_name = "audio-speakers"
		analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "audio-headphones"
		hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: yes)
			properties:
				device.icon_name = "video-display"
				device.product.name = "AE-2000"
		hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "video-display"
		hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "video-display"

PulseAudio does not accept it as a sink per default; 'pacmd list-sinks' does not list it. However, after loading a module (see further down), a second sink shows up. I have not figured out why it is not loaded automatically. This may be a configuration issue of PulseAudio.

By bypassing PulseAudio, I tried to use the DisplayPort audio directly. I played some MP3 via

mpg123 --output alsa --audiodevice <dev> <mp3-file>

By setting '<dev>' to 'hw:0,0' it plays nicely on the laptop's speakers. Using 'hw:0,3' it looks like it is playing, but nothing comes from the home theater speakers. Could it be muted, or explicitly the volume set to zero? It seems not to, see further down. Passing anything else, like 'hw:0,1', or 'hw:0,7', mpg123 baulks at me, which makes sense.

There are proper device files for card 0 device 3, and proper entries in /proc/asound/, so superficially it looks as if in terms of ALSA everything's OK (on the other hand, this may just be the source of the 'aplay -l' data):

$ ls -l /dev/snd
total 0
drwxr-xr-x  2 root root       60 Jul 10 21:16 by-path
crw-rw----+ 1 root audio 116,  9 Jul 10 21:16 controlC0
crw-rw----+ 1 root audio 116,  7 Jul 10 21:16 hwC0D0
crw-rw----+ 1 root audio 116,  8 Jul 10 21:16 hwC0D3
crw-rw----+ 1 root audio 116,  3 Jul 10 23:06 pcmC0D0c
crw-rw----+ 1 root audio 116,  2 Jul 10 23:06 pcmC0D0p
crw-rw----+ 1 root audio 116,  4 Jul 10 23:06 pcmC0D3p
crw-rw----+ 1 root audio 116,  5 Jul 10 23:06 pcmC0D7p
crw-rw----+ 1 root audio 116,  6 Jul 10 23:06 pcmC0D8p
crw-rw----+ 1 root audio 116,  1 Jul 10 21:16 seq
crw-rw----+ 1 root audio 116, 33 Jul 10 21:16 timer

$ cat /proc/asound/pcm
00-00: CX20590 Analog : CX20590 Analog : playback 1 : capture 1
00-03: HDMI 0 : HDMI 0 : playback 1
00-07: HDMI 1 : HDMI 1 : playback 1
00-08: HDMI 2 : HDMI 2 : playback 1

$ cat /proc/asound/devices 
  2: [ 0- 0]: digital audio playback
  3: [ 0- 0]: digital audio capture
  4: [ 0- 3]: digital audio playback
  5: [ 0- 7]: digital audio playback
  6: [ 0- 8]: digital audio playback
  7: [ 0- 0]: hardware dependent
  8: [ 0- 3]: hardware dependent
  9: [ 0]   : control
 33:        : timer

So I turned to PulseAudio, and ran it setting it to be very verbose. I do not post the whole log, at 200kB it may be a little much for this forum. So here are two excerpts:
At initialisation time, it probes 'HDMI 0':

(   0.143|   0.000) D: [pulseaudio] alsa-mixer.c: Looking at profile output:hdmi-stereo
(   0.143|   0.000) D: [pulseaudio] alsa-mixer.c: Checking for playback on Digital Stereo (HDMI) (hdmi-stereo)
(   0.143|   0.000) D: [pulseaudio] alsa-util.c: Trying hdmi:0 with SND_PCM_NO_AUTO_FORMAT ...
(   0.146|   0.002) D: [pulseaudio] alsa-util.c: Managed to open hdmi:0
(   0.146|   0.000) D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 11888 ms
(   0.159|   0.012) D: [pulseaudio] alsa-util.c: Set buffer size first (to 4408 samples), period size second (to 1102 samples).
(   0.159|   0.000) D: [pulseaudio] alsa-mixer.c: Profile output:hdmi-stereo supported.
(   0.159|   0.000) D: [pulseaudio] conf-parser.c: Parsing configuration file '/usr/share/pulseaudio/alsa-mixer/paths/hdmi-output-0.conf'
(   0.159|   0.000) D: [pulseaudio] alsa-mixer.c: Probing path 'hdmi-output-0'
(   0.159|   0.000) D: [pulseaudio] alsa-mixer.c: Probe of jack 'HDMI/DP Jack' succeeded (found!)
(   0.159|   0.000) D: [pulseaudio] alsa-mixer.c: Available mixer paths (after tidying):
(   0.159|   0.000) D: [pulseaudio] alsa-mixer.c: Path Set 0x5584f5c417d0, direction=1
(   0.159|   0.000) D: [pulseaudio] alsa-mixer.c: Path hdmi-output-0 (HDMI / DisplayPort), direction=1, priority=59, probed=yes, supported=yes, has_mute=no, has_volume=no, has_dB=no, min_volume=0, max_volume=0, min_dB=-inf, max_dB=0
(   0.159|   0.000) D: [pulseaudio] alsa-mixer.c: Jack HDMI/DP, alsa_name='HDMI/DP,pcm=3 Jack', index='0', detection possible
(   0.159|   0.000) D: [pulseaudio] alsa-mixer.c: Looking at profile output:hdmi-stereo+input:analog-stereo
(   0.159|   0.000) D: [pulseaudio] alsa-mixer.c: Checking for recording on Analog Stereo (analog-stereo)
(   0.159|   0.000) D: [pulseaudio] alsa-util.c: Trying front:0 with SND_PCM_NO_AUTO_FORMAT ...
(   0.159|   0.000) D: [pulseaudio] alsa-util.c: Managed to open front:0
(   0.159|   0.000) D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 11888 ms
(   0.159|   0.000) D: [pulseaudio] alsa-util.c: Set buffer size first (to 4408 samples), period size second (to 1102 samples).
(   0.159|   0.000) D: [pulseaudio] alsa-mixer.c: Profile output:hdmi-stereo+input:analog-stereo supported.
(   0.159|   0.000) D: [pulseaudio] alsa-mixer.c: Skipping profile output:hdmi-stereo+input:iec958-stereo - will not be able to open input:iec958-stereo

It does this for hdmi-stereo (shown here), hdmi-surround, hdmi-surround+input, hdmi-surround71. Frankly, I have trouble to make much sense of most of the log.

While the PulseAudio server was running, I tried to manually load a module for the DisplayPort audio, using

pactl load-module module-alsa-sink device=hw:0,3

The reply from pactl is a small integer number, like 17, so it seems to succeed. At the same time, the server said this:

(   7.040|   1.697) I: [pulseaudio] client.c: Created 2 "Native client (UNIX socket client)"
(   7.040|   0.000) D: [pulseaudio] protocol-native.c: Protocol version: remote 34, local 34
(   7.040|   0.000) I: [pulseaudio] protocol-native.c: Got credentials: uid=1001 gid=1001 success=1
(   7.040|   0.000) D: [pulseaudio] protocol-native.c: SHM possible: yes
(   7.040|   0.000) D: [pulseaudio] protocol-native.c: Negotiated SHM: yes
(   7.040|   0.000) D: [pulseaudio] protocol-native.c: Memfd possible: yes
(   7.040|   0.000) D: [pulseaudio] protocol-native.c: Negotiated SHM type: shared memfd
(   7.040|   0.000) D: [pulseaudio] memblock.c: Using shared memfd memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472
(   7.040|   0.000) D: [pulseaudio] srbchannel.c: SHM block is 65472 bytes, ringbuffer capacity is 2 * 32712 bytes
(   7.040|   0.000) D: [pulseaudio] protocol-native.c: Enabling srbchannel...
(   7.041|   0.000) D: [pulseaudio] module-augment-properties.c: Looking for .desktop file for pactl
(   7.041|   0.000) D: [pulseaudio] protocol-native.c: Client enabled srbchannel.
(   7.044|   0.002) D: [pulseaudio] alsa-util.c: Trying hw:0,3 with SND_PCM_NO_AUTO_FORMAT ...
(   7.047|   0.003) D: [pulseaudio] alsa-util.c: Managed to open hw:0,3
(   7.047|   0.000) I: [pulseaudio] alsa-util.c: Trying to disable ALSA period wakeups, using timers only
(   7.047|   0.000) D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 11888 ms
(   7.058|   0.011) D: [pulseaudio] alsa-util.c: Set buffer size first (to 88200 samples), period size second (to 88200 samples).
(   7.058|   0.000) I: [pulseaudio] alsa-util.c: ALSA period wakeups disabled
(   7.058|   0.000) I: [pulseaudio] alsa-sink.c: Successfully opened device hw:0,3.
(   7.058|   0.000) I: [pulseaudio] alsa-sink.c: Successfully enabled mmap() mode.
(   7.058|   0.000) I: [pulseaudio] alsa-sink.c: Successfully enabled timer-based scheduling mode.
(   7.058|   0.000) I: [pulseaudio] sink.c: Created sink 1 "alsa_output.hw_0_3" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
(   7.058|   0.000) I: [pulseaudio] sink.c:     alsa.resolution_bits = "16"
(   7.058|   0.000) I: [pulseaudio] sink.c:     device.api = "alsa"
(   7.058|   0.000) I: [pulseaudio] sink.c:     device.class = "sound"
(   7.058|   0.000) I: [pulseaudio] sink.c:     alsa.class = "generic"
(   7.058|   0.000) I: [pulseaudio] sink.c:     alsa.subclass = "generic-mix"
(   7.058|   0.000) I: [pulseaudio] sink.c:     alsa.name = "HDMI 0"
(   7.058|   0.000) I: [pulseaudio] sink.c:     alsa.id = "HDMI 0"
(   7.058|   0.000) I: [pulseaudio] sink.c:     alsa.subdevice = "0"
(   7.058|   0.000) I: [pulseaudio] sink.c:     alsa.subdevice_name = "subdevice #0"
(   7.058|   0.000) I: [pulseaudio] sink.c:     alsa.device = "3"
(   7.058|   0.000) I: [pulseaudio] sink.c:     alsa.card = "0"
(   7.058|   0.000) I: [pulseaudio] sink.c:     alsa.card_name = "HDA Intel PCH"
(   7.058|   0.000) I: [pulseaudio] sink.c:     alsa.long_card_name = "HDA Intel PCH at 0xf2520000 irq 31"
(   7.058|   0.000) I: [pulseaudio] sink.c:     alsa.driver_name = "snd_hda_intel"
(   7.058|   0.000) I: [pulseaudio] sink.c:     device.bus_path = "pci-0000:00:1b.0"
(   7.058|   0.000) I: [pulseaudio] sink.c:     sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
(   7.058|   0.000) I: [pulseaudio] sink.c:     device.bus = "pci"
(   7.058|   0.000) I: [pulseaudio] sink.c:     device.vendor.id = "8086"
(   7.058|   0.000) I: [pulseaudio] sink.c:     device.vendor.name = "Intel Corporation"
(   7.058|   0.000) I: [pulseaudio] sink.c:     device.product.id = "1c20"
(   7.058|   0.000) I: [pulseaudio] sink.c:     device.product.name = "6 Series/C200 Series Chipset Family High Definition Audio Controller"
(   7.058|   0.000) I: [pulseaudio] sink.c:     device.form_factor = "internal"
(   7.058|   0.000) I: [pulseaudio] sink.c:     device.string = "hw:0,3"
(   7.058|   0.000) I: [pulseaudio] sink.c:     device.buffering.buffer_size = "352800"
(   7.058|   0.000) I: [pulseaudio] sink.c:     device.buffering.fragment_size = "176400"
(   7.058|   0.000) I: [pulseaudio] sink.c:     device.access_mode = "mmap+timer"
(   7.058|   0.000) I: [pulseaudio] sink.c:     device.description = "Built-in Audio"
(   7.058|   0.000) I: [pulseaudio] sink.c:     device.icon_name = "audio-card-pci"
(   7.059|   0.000) I: [pulseaudio] source.c: Created source 2 "alsa_output.hw_0_3.monitor" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
(   7.059|   0.000) I: [pulseaudio] source.c:     device.description = "Monitor of Built-in Audio"
(   7.059|   0.000) I: [pulseaudio] source.c:     device.class = "monitor"
(   7.059|   0.000) I: [pulseaudio] source.c:     device.icon_name = "audio-input-microphone"
(   7.059|   0.000) I: [pulseaudio] alsa-sink.c: Using 2.0 fragments of size 176400 bytes (1000.00ms), buffer size is 352800 bytes (2000.00ms)
(   7.059|   0.000) I: [pulseaudio] alsa-sink.c: Time scheduling watermark is 20.00ms
(   7.059|   0.000) D: [pulseaudio] alsa-sink.c: hwbuf_unused=0
(   7.059|   0.000) D: [pulseaudio] alsa-sink.c: setting avail_min=87319
(   7.059|   0.000) D: [pulseaudio] alsa-util.c: snd_pcm_dump():
(   7.059|   0.000) D: [pulseaudio] alsa-util.c: Hardware PCM card 0 'HDA Intel PCH' device 3 subdevice 0
(   7.059|   0.000) D: [pulseaudio] alsa-util.c: Its setup is:
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   stream       : PLAYBACK
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   access       : MMAP_INTERLEAVED
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   format       : S16_LE
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   subformat    : STD
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   channels     : 2
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   rate         : 44100
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   exact rate   : 44100 (44100/1)
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   msbits       : 16
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   buffer_size  : 88200
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   period_size  : 44100
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   period_time  : 1000000
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   tstamp_mode  : ENABLE
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   tstamp_type  : MONOTONIC
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   period_step  : 1
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   avail_min    : 87319
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   period_event : 0
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   start_threshold  : -1
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   stop_threshold   : 6206523236469964800
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   silence_threshold: 0
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   silence_size : 0
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   boundary     : 6206523236469964800
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   appl_ptr     : 0
(   7.059|   0.000) D: [pulseaudio] alsa-util.c:   hw_ptr       : 0
(   7.059|   0.000) D: [alsa-sink-HDMI 0] alsa-sink.c: Thread starting up
(   7.063|   0.003) D: [alsa-sink-HDMI 0] util.c: RealtimeKit worked.
(   7.063|   0.000) I: [alsa-sink-HDMI 0] util.c: Successfully enabled SCHED_RR scheduling for thread, with priority 5.
(   7.063|   0.000) D: [pulseaudio] sink.c: alsa_output.hw_0_3: state: INIT -> IDLE
(   7.063|   0.000) I: [alsa-sink-HDMI 0] alsa-sink.c: Starting playback.
(   7.063|   0.000) D: [alsa-sink-HDMI 0] ratelimit.c: 324 events suppressed
(   7.063|   0.000) D: [alsa-sink-HDMI 0] alsa-sink.c: Cutting sleep time for the initial iterations by half.
(   7.063|   0.000) D: [alsa-sink-HDMI 0] alsa-sink.c: Cutting sleep time for the initial iterations by half.
(   7.063|   0.000) D: [pulseaudio] source.c: alsa_output.hw_0_3.monitor: state: INIT -> IDLE
(   7.063|   0.000) D: [pulseaudio] module-device-restore.c: Could not set format on sink alsa_output.hw_0_3
(   7.063|   0.000) D: [pulseaudio] module-suspend-on-idle.c: Sink alsa_output.hw_0_3 becomes idle, timeout in 5 seconds.
(   7.063|   0.000) I: [pulseaudio] module.c: Loaded "module-alsa-sink" (index: #17; argument: "device=hw:0,3").
(   7.063|   0.000) D: [alsa-sink-HDMI 0] alsa-sink.c: Cutting sleep time for the initial iterations by half.
(   7.063|   0.000) D: [alsa-sink-HDMI 0] alsa-sink.c: Cutting sleep time for the initial iterations by half.
(   7.063|   0.000) D: [alsa-sink-HDMI 0] alsa-sink.c: Cutting sleep time for the initial iterations by half.
(   7.063|   0.000) D: [alsa-sink-HDMI 0] alsa-sink.c: Cutting sleep time for the initial iterations by half.
(   7.064|   0.000) D: [alsa-sink-HDMI 0] alsa-sink.c: Cutting sleep time for the initial iterations by half.
(   7.064|   0.000) D: [alsa-sink-HDMI 0] alsa-sink.c: Cutting sleep time for the initial iterations by half.
(   7.064|   0.000) D: [alsa-sink-HDMI 0] alsa-sink.c: Cutting sleep time for the initial iterations by half.
(   7.064|   0.000) D: [alsa-sink-HDMI 0] alsa-sink.c: Cutting sleep time for the initial iterations by half.
(   7.064|   0.000) D: [alsa-sink-HDMI 0] alsa-sink.c: Cutting sleep time for the initial iterations by half.
(   7.064|   0.000) I: [pulseaudio] client.c: Freed 2 "pactl"
(   7.064|   0.000) I: [pulseaudio] protocol-native.c: Connection died.

It is interesting that after this operation, mpg123 does not allow choosing an audiodevice anymore: Choosing any of 'hw:0,0' (which worked before with the built-in speakers) or 'hw:0,3' (which looked like working), now gives an error.

Even more interesting is that in pavucontrol's 'Output Devices' tab, after the forced loading a second entry appears, just as I'd expect for audio via DisplayPort. I can switch over, and the level indicator of the new entry shows the Music playing if I do. Here I can also mute and unmute, and set a volume level. But, whatever I do, there is no sound from the home theater system.

'pacmd' now lists the second sink as well, but for that one it doesn't list any port! ???

$ pacmd list-sinks
2 sink(s) available.
  * index: 0
	name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
	driver: <module-alsa-card.c>
	flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: IDLE
	suspend cause: (none)
	priority: 9039
	volume: front-left: 81175 / 124% / 5.58 dB,   front-right: 81175 / 124% / 5.58 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 42.52 ms
	max request: 7 KiB
	max rewind: 7 KiB
	monitor source: 0
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 1
	configured latency: 46.00 ms; range is 46.00 .. 2000.00 ms
	card: 0 <alsa_card.pci-0000_00_1b.0>
	module: 6
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "CX20590 Analog"
		alsa.id = "CX20590 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 0xf2520000 irq 31"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1b.0"
		sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "1c20"
		device.product.name = "6 Series/C200 Series Chipset Family High Definition Audio Controller"
		device.form_factor = "internal"
		device.string = "front:0"
		device.buffering.buffer_size = "352800"
		device.buffering.fragment_size = "176400"
		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-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown)
			properties:
				device.icon_name = "audio-speakers"
		analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "audio-headphones"
	active port: <analog-output-speaker>
    index: 1
	name: <alsa_output.hw_0_3>
	driver: <module-alsa-sink.c>
	flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: IDLE
	suspend cause: (none)
	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: 39.68 ms
	max request: 6 KiB
	max rewind: 6 KiB
	monitor source: 2
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 1
	configured latency: 40.00 ms; range is 0.50 .. 2000.00 ms
	module: 20
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "HDMI 0"
		alsa.id = "HDMI 0"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "3"
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0xf2520000 irq 31"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1b.0"
		sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "1c20"
		device.product.name = "6 Series/C200 Series Chipset Family High Definition Audio Controller"
		device.form_factor = "internal"
		device.string = "hw:0,3"
		device.buffering.buffer_size = "352800"
		device.buffering.fragment_size = "176400"
		device.access_mode = "mmap+timer"
		device.description = "Built-in Audio"
		device.icon_name = "audio-card-pci"

A bit more information, kernel modules:

$ lsmod | grep snd
snd_hda_codec_hdmi     73728  1
snd_hda_codec_conexant    24576  1
snd_hda_codec_generic    98304  1 snd_hda_codec_conexant
snd_hda_intel          57344  0
snd_intel_dspcfg       28672  1 snd_hda_intel
soundwire_intel        45056  1 snd_intel_dspcfg
snd_soc_core          315392  1 soundwire_intel
snd_compress           32768  1 snd_soc_core
snd_hda_codec         172032  4 snd_hda_codec_generic,snd_hda_codec_conexant,snd_hda_codec_hdmi,snd_hda_intel
snd_hda_core          110592  5 snd_hda_codec_generic,snd_hda_codec_conexant,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_hwdep              16384  1 snd_hda_codec
snd_pcm               139264  7 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_compress,snd_soc_core,snd_hda_core
snd_timer              49152  1 snd_pcm
ledtrig_audio          16384  2 snd_hda_codec_generic,thinkpad_acpi
snd                   110592  11 snd_hda_codec_generic,snd_hda_codec_conexant,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_compress,thinkpad_acpi,snd_soc_core,snd_pcm
soundcore              16384  1 snd

I'm lost here. Can anybody make sense of this? Maybe with some extra information that I could provide (name it!)?

Cheers  Peter

Offline

#2 2022-07-12 00:42:30

ralph.ronnquist
Administrator
From: Clifton Hill, Victoria, AUS
Registered: 2016-11-30
Posts: 1,106  

Re: Sound and DisplayPort

You might also want to review the output from

alsa-info --no-upload --stdout

which supposedly tells everything possible about the alsa setup. It's a good haystack to look for needles in smile

Offline

#3 2022-07-12 10:31:27

perot
Member
Registered: 2022-07-11
Posts: 3  

Re: Sound and DisplayPort

ralph.ronnquist wrote:

You might also want to review the output from

alsa-info --no-upload --stdout

which supposedly tells everything possible about the alsa setup. It's a good haystack to look for needles in smile

Thanks for the hint. If only I knew a little bit more about ALSA's internals ... :-)

Here is the output:

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.65
!!################################

!!Script ran on: Tue Jul 12 09:41:04 UTC 2022

!!Linux Distribution
!!------------------

ID_LIKE=debian

!!DMI Information
!!---------------

Manufacturer:      LENOVO
Product Name:      4287CTO
Product Version:   ThinkPad X220
Firmware Version:  8DET76WW (1.46 )
System SKU:        
Board Vendor:      LENOVO
Board Name:        4287CTO

!!ACPI Device Status Information
!!---------------

/sys/bus/acpi/devices/ACPI0003:00/status 	 15
/sys/bus/acpi/devices/LEN0068:00/status 	 15
/sys/bus/acpi/devices/LNXPOWER:00/status 	 1
/sys/bus/acpi/devices/LNXVIDEO:01/status 	 15
/sys/bus/acpi/devices/PNP0103:00/status 	 15
/sys/bus/acpi/devices/PNP0C0A:00/status 	 31
/sys/bus/acpi/devices/PNP0C0F:00/status 	 9
/sys/bus/acpi/devices/PNP0C0F:01/status 	 9
/sys/bus/acpi/devices/PNP0C0F:02/status 	 9
/sys/bus/acpi/devices/PNP0C0F:03/status 	 9
/sys/bus/acpi/devices/PNP0C0F:04/status 	 9
/sys/bus/acpi/devices/PNP0C0F:05/status 	 9
/sys/bus/acpi/devices/PNP0C0F:06/status 	 9
/sys/bus/acpi/devices/PNP0C0F:07/status 	 9

!!Kernel Information
!!------------------

Kernel release:    5.10.0-15-amd64
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         unknown
SMP Enabled:       Yes

!!ALSA Version
!!------------

Driver version:     k5.10.0-15-amd64
Library version:    1.2.4
Utilities version:  1.2.4

!!Loaded ALSA modules
!!-------------------

snd_hda_intel

!!Sound Servers on this system
!!----------------------------

Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - Yes

!!Soundcards recognised by ALSA
!!-----------------------------

 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf2520000 irq 31

!!PCI Soundcards installed in the system
!!--------------------------------------

00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 04)
	Subsystem: Lenovo 6 Series/C200 Series Chipset Family High Definition Audio Controller [17aa:21da]

!!Modprobe options (Sound related)
!!--------------------------------

snd_pcsp: index=-2
snd_usb_audio: index=-2
snd_atiixp_modem: index=-2
snd_intel8x0m: index=-2
snd_via82xx_modem: index=-2

!!Loaded sound module options
!!---------------------------

!!Module: snd_hda_intel
	align_buffer_size : -1
	bdl_pos_adj : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	beep_mode : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	dmic_detect : Y
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	jackpoll_ms : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	pm_blacklist : Y
	position_fix : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	power_save : 1
	power_save_controller : Y
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : -1
	snoop : -1

!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Conexant CX20590
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x14f1506e
Subsystem Id: 0x17aa21da
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D1 D2 D3 D3cold CLKSTOP EPSS
  Power: setting=D0, actual=D0
GPIO: io=4, o=0, i=0, unsolicited=1, wake=0
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x10 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="CX20590 Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals:  [0x4a 0x4a]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
Node 0x11 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals:  [0x80 0x80]
  Converter: stream=0, channel=0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
Node 0x12 [Audio Output] wcaps 0x611: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
Node 0x13 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
  Control: name="Beep Playback Volume", index=0, device=0
    ControlAmp: chs=1, dir=Out, idx=0, ofs=0
  Control: name="Beep Playback Switch", index=0, device=0
    ControlAmp: chs=1, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x07, nsteps=0x07, stepsize=0x0f, mute=0
  Amp-Out vals:  [0x01]
Node 0x14 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Control: name="Capture Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Capture Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Device: name="CX20590 Analog", type="Audio", device=0
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals:  [0x50 0x50] [0x80 0x80] [0x50 0x50] [0x80 0x80]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 4
     0x17 0x18 0x23* 0x24
Node 0x15 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals:  [0x4a 0x4a] [0x4a 0x4a] [0x4a 0x4a] [0x4a 0x4a]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 4
     0x17* 0x18 0x23 0x24
Node 0x16 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals:  [0x4a 0x4a] [0x4a 0x4a] [0x4a 0x4a] [0x4a 0x4a]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 4
     0x17* 0x18 0x23 0x24
Node 0x17 [Audio Selector] wcaps 0x30050d: Stereo Amp-Out
  Control: name="Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
  Amp-Out vals:  [0x00 0x00]
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 4
     0x1a* 0x1b 0x1d 0x1e
Node 0x18 [Audio Selector] wcaps 0x30050d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
  Amp-Out vals:  [0x00 0x00]
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 4
     0x1a* 0x1b 0x1d 0x1e
Node 0x19 [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x04211040: [Jack] HP Out at Ext Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x4, Sequence = 0x0
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=02, enabled=1
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x10 0x11*
Node 0x1a [Pin Complex] wcaps 0x400481: Stereo
  Pincap 0x00001324: IN Detect
    Vref caps: HIZ 50 80
  Pin Default 0x61a19050: [N/A] Mic at Sep Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x5, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=03, enabled=1
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
Node 0x1b [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00011334: IN OUT EAPD Detect
    Vref caps: HIZ 50 80
  EAPD 0x2: EAPD
  Pin Default 0x04a11060: [Jack] Mic at Ext Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x6, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=04, enabled=1
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x10* 0x11
Node 0x1c [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00000014: OUT Detect
  Pin Default 0x6121401f: [N/A] HP Out at Sep Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=01, enabled=1
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x10 0x11*
Node 0x1d [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x00010034: IN OUT EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x10* 0x11
Node 0x1e [Pin Complex] wcaps 0x400481: Stereo
  Pincap 0x00000024: IN Detect
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
Node 0x1f [Pin Complex] wcaps 0x400501: Stereo
  Pincap 0x00000010: OUT
  Pin Default 0x90170110: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x10* 0x11
Node 0x20 [Pin Complex] wcaps 0x400781: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x12
Node 0x21 [Audio Output] wcaps 0x611: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
Node 0x22 [Pin Complex] wcaps 0x400781: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x21
Node 0x23 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Control: name="Internal Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x04, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x90a60170: [Fixed] Mic at Int N/A
    Conn = Digital, Color = Unknown
    DefAssociation = 0x7, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
Node 0x24 [Audio Mixer] wcaps 0x20050b: Stereo Amp-In
  Amp-In caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-In vals:  [0x00 0x00] [0x00 0x00]
  Power states:  D0 D1 D2 D3 D3cold EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x10 0x11
Node 0x25 [Vendor Defined Widget] wcaps 0xf00000: Mono
Codec: Intel CougarPoint HDMI
Address: 3
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x80862805
Subsystem Id: 0x80860101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0, Clock-stop-OK
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x02
Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="IEC958 Playback Con Mask", index=1, device=0
  Control: name="IEC958 Playback Pro Mask", index=1, device=0
  Control: name="IEC958 Playback Default", index=1, device=0
  Control: name="IEC958 Playback Switch", index=1, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560020: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x03
Node 0x07 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="IEC958 Playback Con Mask", index=2, device=0
  Control: name="IEC958 Playback Pro Mask", index=2, device=0
  Control: name="IEC958 Playback Default", index=2, device=0
  Control: name="IEC958 Playback Switch", index=2, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560030: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x3, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x04
Node 0x08 [Vendor Defined Widget] wcaps 0xf00000: Mono
--endcollapse--

!!ALSA Device nodes
!!-----------------

crw-rw----+ 1 root audio 116,  9 Jul 12 11:37 /dev/snd/controlC0
crw-rw----+ 1 root audio 116,  7 Jul 12 11:37 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116,  8 Jul 12 11:37 /dev/snd/hwC0D3
crw-rw----+ 1 root audio 116,  3 Jul 12 11:39 /dev/snd/pcmC0D0c
crw-rw----+ 1 root audio 116,  2 Jul 12 11:39 /dev/snd/pcmC0D0p
crw-rw----+ 1 root audio 116,  4 Jul 12 11:39 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116,  5 Jul 12 11:39 /dev/snd/pcmC0D7p
crw-rw----+ 1 root audio 116,  6 Jul 12 11:39 /dev/snd/pcmC0D8p
crw-rw----+ 1 root audio 116,  1 Jul 12 11:37 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Jul 12 11:37 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  60 Jul 12 11:37 .
drwxr-xr-x 3 root root 260 Jul 12 11:37 ..
lrwxrwxrwx 1 root root  12 Jul 12 11:37 pci-0000:00:1b.0 -> ../controlC0

!!Aplay/Arecord output
!!--------------------

APLAY

XDG_RUNTIME_DIR (/run/user/1001) is not owned by us (uid 0), but by uid 1001! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CX20590 Analog [CX20590 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

ARECORD

XDG_RUNTIME_DIR (/run/user/1001) is not owned by us (uid 0), but by uid 1001! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CX20590 Analog [CX20590 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card PCH

XDG_RUNTIME_DIR (/run/user/1001) is not owned by us (uid 0), but by uid 1001! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
Card hw:0 'PCH'/'HDA Intel PCH at 0xf2520000 irq 31'
  Mixer name	: 'Conexant CX20590'
  Components	: 'HDA:14f1506e,17aa21da,00100000 HDA:80862805,80860101,00100000'
  Controls      : 45
  Simple ctrls  : 14
XDG_RUNTIME_DIR (/run/user/1001) is not owned by us (uid 0), but by uid 1001! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 74
  Mono: Playback 74 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 74
  Mono:
  Front Left: Playback 0 [0%] [-74.00dB] [off]
  Front Right: Playback 0 [0%] [-74.00dB] [off]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 74
  Mono:
  Front Left: Playback 74 [100%] [0.00dB] [on]
  Front Right: Playback 74 [100%] [0.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB]
  Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 4
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Mic Mute-LED Mode',0
  Capabilities: enum
  Items: 'On' 'Off' 'Follow Capture' 'Follow Mute'
  Item0: 'Follow Mute'
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Beep',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 7
  Mono: Playback 1 [14%] [-24.00dB] [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 80 [100%] [6.00dB] [on]
  Front Right: Capture 80 [100%] [6.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Enabled'
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 4
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Mute-LED Mode',0
  Capabilities: enum
  Items: 'On' 'Off' 'Follow Master'
  Item0: 'Follow Master'

!!Alsactl output
!!--------------

--startcollapse--
state.PCH {
	control.1 {
		iface MIXER
		name 'Speaker Playback Volume'
		value.0 74
		value.1 74
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.2 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 -7400
			dbvalue.1 -7400
		}
	}
	control.4 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Auto-Mute Mode'
		value Enabled
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 Enabled
		}
	}
	control.6 {
		iface MIXER
		name 'Capture Volume'
		value.0 80
		value.1 80
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 80'
			dbmin -7400
			dbmax 600
			dbvalue.0 600
			dbvalue.1 600
		}
	}
	control.7 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.8 {
		iface MIXER
		name 'Internal Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 4'
			dbmin 0
			dbmax 4800
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.9 {
		iface MIXER
		name 'Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 4'
			dbmin 0
			dbmax 4000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.10 {
		iface MIXER
		name 'Beep Playback Volume'
		value 1
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 7'
			dbmin -2800
			dbmax 0
			dbvalue.0 -2400
		}
	}
	control.11 {
		iface MIXER
		name 'Beep Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.12 {
		iface MIXER
		name 'Mic Mute-LED Mode'
		value 'Follow Mute'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 On
			item.1 Off
			item.2 'Follow Capture'
			item.3 'Follow Mute'
		}
	}
	control.13 {
		iface MIXER
		name 'Master Playback Volume'
		value 74
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 0
		}
	}
	control.14 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.15 {
		iface MIXER
		name 'Mute-LED Mode'
		value 'Follow Master'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 On
			item.1 Off
			item.2 'Follow Master'
		}
	}
	control.16 {
		iface CARD
		name 'Internal Mic Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.17 {
		iface CARD
		name 'Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.18 {
		iface CARD
		name 'Dock Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.19 {
		iface CARD
		name 'Speaker Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.20 {
		iface CARD
		name 'Dock Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface CARD
		name 'Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.22 {
		iface PCM
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		comment {
			access read
			type INTEGER
			count 4
			range '0 - 36'
		}
	}
	control.23 {
		iface PCM
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.24 {
		iface CARD
		name 'HDMI/DP,pcm=3 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.25 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.26 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.27 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.28 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.29 {
		iface PCM
		device 3
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.30 {
		iface CARD
		name 'HDMI/DP,pcm=7 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.31 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 1
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.32 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 1
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.33 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 1
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.34 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 1
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.35 {
		iface PCM
		device 7
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.36 {
		iface CARD
		name 'HDMI/DP,pcm=8 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.37 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 2
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.38 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 2
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.39 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 2
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.40 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 2
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.41 {
		iface PCM
		device 8
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.42 {
		iface PCM
		device 3
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.43 {
		iface PCM
		device 7
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.44 {
		iface PCM
		device 8
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.45 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 255
		value.1 255
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}
--endcollapse--

!!All Loaded Modules
!!------------------

ac
aesni_intel
ahci
ansi_cprng
at24
auth_rpcgss
battery
bluetooth
bnep
btbcm
btintel
btrtl
btusb
button
ccm
cec
cfg80211
coretemp
cqhci
crc16
crc32_pclmul
crc32c_generic
crc32c_intel
crc_t10dif
crct10dif_common
crct10dif_generic
crct10dif_pclmul
cryptd
crypto_simd
ctr
drbg
drm
drm_kms_helper
e1000e
ecc
ecdh_generic
efi_pstore
efivarfs
ehci_hcd
ehci_pci
evdev
ext4
fat
fscache
ghash_clmulni_intel
glue_helper
grace
hid
hid_generic
i2c_algo_bit
i2c_i801
i2c_smbus
i915
iTCO_vendor_support
iTCO_wdt
intel_cstate
intel_pmc_bxt
intel_powerclamp
intel_rapl_common
intel_rapl_msr
intel_uncore
irqbypass
iwldvm
iwlwifi
jbd2
jitterentropy_rng
joydev
kvm
kvm_intel
ledtrig_audio
libaes
libahci
libarc4
libata
lockd
lp
lpc_ich
mac80211
mbcache
mc
mei
mei_hdcp
mei_me
mei_wdt
mmc_core
nfs
nfs_acl
nfs_ssc
nfsd
nls_ascii
nls_cp437
nvram
parport
parport_pc
pcspkr
ppdev
pps_core
psmouse
ptp
rapl
rfkill
scsi_mod
sd_mod
sdhci
sdhci_pci
serio_raw
sg
snd
snd_compress
snd_hda_codec
snd_hda_codec_conexant
snd_hda_codec_generic
snd_hda_codec_hdmi
snd_hda_core
snd_hda_intel
snd_hwdep
snd_intel_dspcfg
snd_pcm
snd_soc_core
snd_timer
soundcore
soundwire_bus
soundwire_cadence
soundwire_generic_allocation
soundwire_intel
sunrpc
t10_pi
thinkpad_acpi
uas
usb_common
usb_storage
usbcore
usbhid
uvcvideo
vfat
video
videobuf2_common
videobuf2_memops
videobuf2_v4l2
videobuf2_vmalloc
videodev
watchdog
wmi
wmi_bmof
x86_pkg_temp_thermal

!!Sysfs Files
!!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x19 0x04211040
0x1a 0x61a19050
0x1b 0x04a11060
0x1c 0x6121401f
0x1d 0x40f001f0
0x1e 0x40f001f0
0x1f 0x90170110
0x20 0x40f001f0
0x22 0x40f001f0
0x23 0x90a60170

/sys/class/sound/hwC0D0/driver_pin_configs:
0x19 0x042110ff
0x1a 0x21a190f0
0x1c 0x212140ff

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D0/hints:

/sys/class/sound/hwC0D3/init_pin_configs:
0x05 0x18560010
0x06 0x18560020
0x07 0x18560030

/sys/class/sound/hwC0D3/driver_pin_configs:

/sys/class/sound/hwC0D3/user_pin_configs:

/sys/class/sound/hwC0D3/init_verbs:

/sys/class/sound/hwC0D3/hints:

!!ALSA/HDA dmesg
!!--------------

[    0.335520] ACPI: Added _OSI(Linux-Dell-Video)
[    0.335520] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    0.335520] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
--
[    3.394812] usb 1-1.3: new full-speed USB device number 4 using ehci-pci
[    3.411353] snd_hda_intel 0000:00:1b.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    3.418756] intel_rapl_common: Found RAPL domain package
--
[    3.418767] intel_rapl_common: RAPL package-0 domain package locked by BIOS
[    3.429057] snd_hda_codec_conexant hdaudioC0D0: CX20590: BIOS auto-probing.
[    3.429804] snd_hda_codec_conexant hdaudioC0D0: autoconfig for CX20590: line_outs=1 (0x1f/0x0/0x0/0x0/0x0) type:speaker
[    3.429806] snd_hda_codec_conexant hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    3.429807] snd_hda_codec_conexant hdaudioC0D0:    hp_outs=2 (0x1c/0x19/0x0/0x0/0x0)
[    3.429808] snd_hda_codec_conexant hdaudioC0D0:    mono: mono_out=0x0
[    3.429809] snd_hda_codec_conexant hdaudioC0D0:    inputs:
[    3.429810] snd_hda_codec_conexant hdaudioC0D0:      Internal Mic=0x23
[    3.429811] snd_hda_codec_conexant hdaudioC0D0:      Mic=0x1b
[    3.429812] snd_hda_codec_conexant hdaudioC0D0:      Dock Mic=0x1a
[    3.476860] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input11
[    3.476931] input: HDA Intel PCH Dock Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input12
[    3.477001] input: HDA Intel PCH Dock Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input13
[    3.477073] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input14
[    3.477149] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input15
[    3.477226] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input16
[    3.477868] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input17
[    3.504379] usb 1-1.3: New USB device found, idVendor=147e, idProduct=2016, bcdDevice= 0.02

!!Packages installed
!!--------------------

ii  alsa-topology-conf                    1.2.4-1                            all          ALSA topology configuration files
ii  alsa-ucm-conf                         1.2.4-2                            all          ALSA Use Case Manager configuration files
ii  alsa-utils                            1.2.4-1                            amd64        Utilities for configuring and using ALSA

I noticed one thing, though, looking at the controls:

	control.19 {
		iface CARD
		name 'Speaker Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
...
	control.21 {
		iface CARD
		name 'Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
...
	control.24 {
		iface CARD
		name 'HDMI/DP,pcm=3 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}

The speaker is probably called phantom jack because it's in-built, no jack. The value is true, as it's 'plugged' i.e. available. The Headphone's value is false, because none are plugged in. The HDMI (DisplayPort) value is also false, even though the home theater system in connected and ready to play audio (no video - projector is off)! If my interpretation is correct, then it looks as if ALSA does not see the cable being plugged in. The reason is unclear, I could imagine a buggy BIOS, though (mistakes in the ACPI tables, for instance).

I'll try to download a new BIOS.

Cheers  Peter

Offline

#4 2022-07-12 12:26:15

ralph.ronnquist
Administrator
From: Clifton Hill, Victoria, AUS
Registered: 2016-11-30
Posts: 1,106  

Re: Sound and DisplayPort

I don't know much of this either, but fwiw I agree with your observations.

You might be able to use amixer to toggle that 'HDMI/DP,pcm=3 Jack' control.
First you'd do

amixer contents

to see what is possible and the "names" of things, and then something like

amixer cset iface=CARD,name='HDMI/DP,pcm=3 Jack' toggle

to toggle that control.

Offline

#5 2022-07-12 21:07:08

perot
Member
Registered: 2022-07-11
Posts: 3  

Re: Sound and DisplayPort

ralph.ronnquist wrote:

You might be able to use amixer to toggle that 'HDMI/DP,pcm=3 Jack' control.

I'll try that.

The idea with the BIOS turned out to be a dead end. The BIOS is already the latest version 1.46 (from 2018 - kudos to Lenovo for a new BIOS version seven years after the purchase); I had not remembered that I had already updated it a few years ago.

Cheers  Peter

Offline

Board footer