No USB-C audio-out on XPS13 (Tiger Lake)

System:
Dell XPS 13 9305
Intel i7-1166-g7 (Tiger Lake)
Tumbleweed + KDE
Kernel 5.12.0-2-default

Problem:
Only analog sound, no sound over USB-C.
Did a lot of testing, and at some point it started working after a reboot after not having worked on it for a bit, not sure what happened.
After a second reboot, it stopped working again.
By ‘working’ I mean there is an option in the Plasma audio settings for audio out over the usb port (forget what it was called) and by ‘not working’ I mean I get Analog output/input/duplex options only.

Trying to configure the card in YaST, I get:

The kernel module snd-sof-pci-intel-tgl for sound support
could not be loaded. This can be caused by incorrect
module parameters, including invalid IO or IRQ parameters.

What I’ve done:
Tried with pipewire instead of pulseaudio, got no audio output at all, no audio devices available.
Tried with pulseaudio, which gives analog sound only. Rebooting between changes.

**Related info:
**Have had a lot of trouble with USB-C on tumbleweed + KDE. My setup is two external Dell U27xx monitors, the first connected by USB-C to the laptop, then daisy chained to the next one by DP-DP. This gives dual monitor video, audio, usb (hub), ethernet (on screen 1, but not in use atm), and audio. Disconnecting the cable causes all kinds of problems when replugging, as the system fails to recognize the monitors often, and I have to fiddle a bit, like putting the computer to sleep etc. Perhaps the USB-C woes are related.

**Packages installed:
**I went a bit overboard installing packages.
Packages sof-firmware and alsa-firmware are installed, along with the following packages matching ‘alsa’, ‘pulseaudio’ and pipewire’:


# Status             Package                        | Summary                                  | Installed (Available)     | 5

[Keep]               alsa                           | Advanced Linux Sound Architecture        | 1.2.4-3.3                 |    1.3 MiB
[Keep]               alsa-firmware                  | Firmware Data Files for ALSA             | 1.2.4-3.2                 |   10.5 MiB
[Keep]               alsa-oss                       | LD_PRELOAD-able library that translat... | 1.1.8-3.3                 |   92.1 KiB
[Keep]               alsa-plugins                   | Extra Plug-Ins for ALSA Library          | 1.2.2-3.4                 |   25.8 KiB
[Keep]               alsa-plugins-oss               | Plug-Ins for ALSA Library to Access O... | 1.2.2-3.4                 |   64.2 KiB
[Keep]               alsa-plugins-pulse             | Pulseaudio Plug-In for ALSA Library      | 1.2.2-3.4                 |  104.0 KiB
[Keep]               alsa-plugins-speexrate         | Rate Converter Plug-In for ALSA Libra... | 1.2.2-3.4                 |   55.1 KiB
[Keep]               alsa-plugins-upmix             | PCM Up-mix Plug-In for ALSA Library      | 1.2.2-3.4                 |   46.1 KiB
[Keep]               alsa-plugins-usb-stream        | PCM I/O Plug-In for ALSA Library to a... | 1.2.2-3.4                 |   45.0 KiB
[Keep]               alsa-ucm-conf                  | ALSA UCM Profiles                        | 1.2.4-5.1                 |  155.3 KiB
[Keep]               alsa-utils                     | Advanced Linux Sound Architecture Uti... | 1.2.4-5.1                 |    2.1 MiB
[Keep]               apulse                         | PulseAudio emulation for ALSA            | 0.1.13-2.5                |  148.1 KiB
[Keep]               libatopology2                  | ALSA Topology Library                    | 1.2.4-3.3                 |  124.5 KiB
[Keep]               pamix                          | "alsamixer" for pulseaudio               | 1.6-1.14                  |  121.2 KiB
[Keep]               pipewire-alsa                  | PipeWire media server ALSA support       | 0.3.26-1.1                |  151.0 KiB


# Status             Package                        | Summary                                  | Installed (Available)     | 5

[Keep]               alsa-plugins-pulse             | Pulseaudio Plug-In for ALSA Library      | 1.2.2-3.4                 |  104.0 KiB
[Keep]               apulse                         | PulseAudio emulation for ALSA            | 0.1.13-2.5                |  148.1 KiB
[Keep]               libKF5PulseAudioQt2            | Qt bindings for PulseAudio               | 1.2-1.8                   |  310.3 KiB
[Keep]               libpulse-mainloop-glib0        | GLIB 2.0 Main Loop wrapper for PulseA... | 14.2-6.1                  |   21.4 KiB
[Keep]               libpulse0                      | Client interface to PulseAudio           | 14.2-6.1                  |  935.4 KiB
[Keep]               pamix                          | "alsamixer" for pulseaudio               | 1.6-1.14                  |  121.2 KiB
[Keep]               paprefs                        | PulseAudio Preferences                   | 1.1-2.7                   |  145.9 KiB
[Keep]               pulseaudio                     | A Networked Sound Server                 | 14.2-6.1                  |    3.9 MiB
[Keep]               pulseaudio-bash-completion     | PulseAudio Bash completion               | 14.2-6.1                  |   15.3 KiB
[Keep]               pulseaudio-module-bluetooth    | Bluetooth support for the PulseAudio ... | 14.2-6.1                  |  209.3 KiB
[Keep]               pulseaudio-module-gsettings    | GSettings module for PulseAudio          | 14.2-6.1                  |   41.2 KiB
[Keep]               pulseaudio-module-x11          | X11 module for PulseAudio                | 14.2-6.1                  |   72.7 KiB
[Keep]               pulseaudio-module-zeroconf     | Zeroconf module for PulseAudio           | 14.2-6.1                  |  179.5 KiB
[Keep]               pulseaudio-system-wide         | Support for running PulseAudio daemon... | 14.2-6.1                  |      247 B
[Keep]               pulseaudio-utils               | PulseAudio utilities                     | 14.2-6.1                  |  232.4 KiB


# Status             Package                        | Summary                                  | Installed (Available)     | 5

[Keep]               gstreamer-plugin-pipewire      | Gstreamer Plugin for PipeWire            | 0.3.26-1.1                |  124.1 KiB
[Keep]               libpipewire-0_3-0              | A Multimedia Framework designed to be... | 0.3.26-1.1                |  703.7 KiB
[Keep]               libpipewire-0_3-0-32bit        | A Multimedia Framework designed to be... | 0.3.26-1.1                |  606.7 KiB
[Keep]               pipewire                       | A Multimedia Framework designed to be... | 0.3.26-1.1                |  381.9 KiB
[Keep]               pipewire-alsa                  | PipeWire media server ALSA support       | 0.3.26-1.1                |  151.0 KiB
[Keep]               pipewire-modules               | Modules For PipeWire, A Multimedia Fr... | 0.3.26-1.1                |    1.6 MiB
[Keep]               pipewire-spa-plugins-0_2       | Plugins For PipeWire SPA                 | 0.3.26-1.1                |    2.4 MiB
[Keep]               pipewire-spa-tools             | The PipeWire SPA Tools                   | 0.3.26-1.1                |  387.8 KiB
[Keep]               pipewire-tools                 | The PipeWire Tools                       | 0.3.26-1.1                |  621.4 KiB

Some (possibly) helpful output:


alsamixer 
cannot open mixer: Host is down**
**
[FONT=monospace]
sudo dmesg | grep -i audio
    0.085475] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-**Audio**) 
   29.705377] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_**audio**_component_bind_ops [i915]) 
   30.512667] usbcore: registered new interface driver snd-usb-**audio**
   32.784745] snd_hda_codec_realtek hd**audio**C0D0: autoconfig for ALC3271: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker 
   32.784750] snd_hda_codec_realtek hd**audio**C0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0) 
   32.784752] snd_hda_codec_realtek hd**audio**C0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0) 
   32.784753] snd_hda_codec_realtek hd**audio**C0D0:    mono: mono_out=0x0 
   32.784754] snd_hda_codec_realtek hd**audio**C0D0:    inputs: 
   32.784756] snd_hda_codec_realtek hd**audio**C0D0:      Headset Mic=0x19 
   32.784757] snd_hda_codec_realtek hd**audio**C0D0:      Headphone Mic=0x1b 
   32.784758] snd_hda_codec_realtek hd**audio**C0D0:      Internal Mic=0x12

[/FONT]

**[FONT=monospace]
[/FONT]**

[FONT=monospace]aplay -l  
**** List of PLAYBACK Hardware Devices **** 
card 0: PCH [HDA Intel PCH], device 0: ALC3271 Analog [ALC3271 Analog] 
  Subdevices: 1/1 
  Subdevice #0: subdevice #0

[/FONT]


[FONT=monospace]sudo lspci | grep -i audio               
00:1f.3 **Audio** device: Intel Corporation Tiger Lake-LP Smart Sound Technology **Audio** Controller (rev 20)[/FONT]**[FONT=monospace]
[/FONT]**

While I understand the temptation to blindly install extra apps when something doesn’t work - nominally speaking, I don’t believe it to be a good practice, as new complications can be introduced. Where possible, if one installs a new app in a ‘blind’ effort to fix a problem, before accepting the install, I try to make note of which dependencies are also being installed, and then if the installation did not help, I remove the app and its dependencies. This keeps the system more clean, and iMHO easier to find the issue.

Anyway, reading the above, its not clear to me that you have your computer configuration tuned properly. My apologies if you already know what I am about to type, but I don’t recall reading you mentioning such. …

openSUSE with pulse audio, nominally has the capability to send sound from any application, to any sound device. This can be tuned on a per application and per device basis. By default, all sound will go to sound card-0 device, unless one configures their openSUSE install otherwise. So obviously, if your USB device is not sound card-0, then audio will not go to that device, unless you have appropriately selected it.

Did you try to install Pulse Audio Volume Control (pavucontrol), which give one the opportunity to tune which device the sound from an application will go to ? Could you try that if you have not done so already?

Further, if pavucontrol does not work, could you provide some more info to assess your PC audio configuration. I appreciate what you have provided, but its not all that I look for when I try to sort an audio problem.

Please, can you open an xterm or a konsole, and with regular user permissions (and with PC connected to the internet) send the following command to run a diagnostic script, which provides more information:

/usr/sbin/alsa-info.sh

When prompted, select the “UPLOAD/SHARE” option. Then let the script run to completion. When the script completes, in the konsole/xterm will be a statement saying “Your ALSA information is located at http://alsa-… . Please inform the person helping you”.

Please post here that URL that starts with : http://alsa-…

Hopefully it will give us a hint as to what your audio issue may be.

While I understand the temptation to blindly install extra apps when something doesn’t work - nominally speaking, I don’t believe it to be a good practice, as new complications can be introduced.

You are absolutely right, and it was done in frustration. I’m going to pay attention to what I put on my system from now on. I have cleaned up the installed packages a bit now.

Did you try to install Pulse Audio Volume Control (pavucontrol)

Yes, I did. Same as the KDE system settings module for audio, it only shows Analog audio options, and the mic input on my webcam (USB-Audio - AUKEY PC-W1, which you will see in the alsa info file below). There is no option for HDMI/DP/USB-C audio out. There was at one point, but I have no idea what I did to make it work then (again going back to your advice about not blindly installing things).

https://alsa-project.org/db/?f=caef6f754c6da3695fce4c616870bffcf0a1eddd

Would it be a good idea to try an older kernel, perhaps, in case of any recent regressions? I’ve seen some threads mentioning Dell USB-C docks not working for audio on Linux (eventually fixed), maybe the monitor functions the same way as a Dell dock?

Thank you for your time and your help.

According to that script, there is a USB audio device recognized by the alsa driver. Edit : After re-reading your post I read that the USB-Audio AUKEY PC-W1 is your webcam?


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

 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0x6077188000 irq 170
 1 [PCW1           ]: USB-Audio - AUKEY PC-W1
                      Sonix Technology Co., Ltd. AUKEY PC-W1 at usb-0000:00:14.0-6.1.2, high speed

Note that USB device is recognized as soundcard-1 , which means sound will not go to that by default (edit which given it a webcam is ok if not trying to record). (further edit) After re-reading your post I see now that is a webcam.

Further, I note this from the script, identifying further the USB device:


!!USB Stream information
!!----------------------
--startcollapse--

Sonix Technology Co., Ltd. AUKEY PC-W1 at usb-0000:00:14.0-6.1.2, high speed : USB Audio

and also this:


!!USB Descriptors
!!---------------
--startcollapse--
Bus 003 Device 032: ID 0c45:6320 Microdia AUKEY PC-W1

Edit - Upon re-reading your post I see that is a webcam.

Further, a USB device is showing up in the mixer, but only as a mic, and not as different sound device:


!!-------Mixer controls for card PCW1

Card hw:1 'PCW1'/'Sonix Technology Co., Ltd. AUKEY PC-W1 at usb-0000:00:14.0-6.1.2, high speed'
  Mixer name    : 'USB Mixer'
  Components    : 'USB0c45:6320'
  Controls      : 3
  Simple ctrls  : 1
Simple mixer control 'Mic',0
  Capabilities: cvolume cswitch cswitch-joined
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 256
  Front Left: Capture 239 [93%] -6.31dB] [on]
  Front Right: Capture 239 [93%] -6.31dB] [on]

So do you have 2 USB sound devices ? …Edit - and only webcam is showing up?

A bit puzzling are the errors in the dmesg:


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

**   30.050542] usb 3-6.1.2: 3:1: cannot get freq at ep 0x84**
   30.107240] usbcore: registered new interface driver snd-usb-audio
   30.107641] usb 3-6.1.2: Found UVC 1.00 device AUKEY PC-W1 (0c45:6320)
--
**   30.173470] usb usb2-port3: Cannot enable. Maybe the USB cable is bad?**
   30.269456] snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x200f0000
   30.439265] usb 3-6.1.2: 3:1: cannot get freq at ep 0x84
...
**   34.489466] usb usb2-port3: Cannot enable. Maybe the USB cable is bad?**
--
[43396.951553] usb 3-6.1.2: reset high-speed USB device number 32 using xhci_hcd
[44086.118267] snd_hda_intel 0000:00:1f.3: Unstable LPIB (383656 >= 192000); disabling LPIB delay counting
[44134.740743] usb 3-6.1.2: reset high-speed USB device number 32 using xhci_hcd

Where the dmesg suggests you could have a bad USB cable?

Have you tried different USB-C port (or is there only one on your XPS-13? ) … or does my question not make sense given your hardware?

Ah, I’m so sorry for wasting your time, I should have highlighted the webcam part (or better yet, unplugged in before running the test)! My apologies.

A bit puzzling are the errors in the dmesg:

Yes, that’s strange. I guess the first one is the camera, and the other one is the (connected) USB-C?

Have you tried different USB-C port (or is there only one on your XPS-13? ) …

There are three USB-C ports on the laptop, two have thunderbolt capabilities, one is USB3.1, but they should all have same capabilities other than TB: power delivery to the laptop from the monitor; from the laptop to the monitor: USB hub, Video (DP) and Audio out by HDMI/DP/USB-C audio.

There is only one cable connected in total, a USB-C - USB-C that came with the monitor. It is connected to the first thunderbolt USB-C port.

I have tried both thunderbolt capable ports, and they both provide everything except audio out. Unplugging and replugging the cables has been a bit of a mess. Sometimes the external display(s) don’t get recognized, sometimes they do but the image freezes and I have to CTRL+ALT+backspace+backspace to restart X, and even then it sometimes still doesn’t recognize the displays until I reboot.

The last port (USB 3.1) is finicky, and I’m not sure why. It worked in the beginning, but since unplugging it one time while the displays were connected and active, it’s never worked again (for DP out, I mean, other functions like USB and power delivery work fine).

I will do some testing on all the ports and report back.

I**f there is anything specific I should do (other than testing all the ports obviously) please let me know. Thanks again.

EDIT: I should add that all functionality on all ports works in a live USB of Ubuntu 21.04 I used for testing, so I don’t imagine there is anything physically wrong. Can try again with all ports to check
**

I can confirm that all three ports work (and don’t work) exactly the same. DP out, USB out, power delivery all work. Audio out does not work.

I’m stumped, I guess it has to be a kernel driver issue? It can’t be a bandwith issue because I get the same results with: single external monitor, nothing connected to monitor’s USB hub, lower resolution, monitor’s “USB-C priority” mode set to either “High resolution” or “High data speed”, rebooting between all changes.

I will try an older kernel I guess.

**So, quite ridiculously, it is now working. **

Here’s exactly what happened:

1. After testing a bit, I ended up leaving the cable plugged in the USB-C 3.1 port (and connected to the external monitor as usual). As reported, no audio out over USB-C.
2. Installed some unrelated but coincidentally audio-related stuff (spek, glava and flac), did some normal unrelated work
3. Created and booted a live USB of Leap to have a look, went into the BIOS to look at some power settings (but changed nothing)
4. Rebooted into TW to continue working on unrelated stuff
5. Noticed that in System settings > Audio > Configure, there's suddenly an option for Digital Stereo (HDMI) Output...
6. I haven't rebooted yet as I have some stuff running that needs to finish, so I don't know if one of the packages I installed fixed (but it seems unlikely, have a look below)

At two points I did use the laptop’s internal display (i.e. opened and closed the lid) but I never unplugged a singe thing.

Here is the alsa-info.sh result while it’s working: https://alsa-project.org/db/?f=21112f1a5f2e87bfb110dd1671bdb62df832c7d1

**Below is the snapper diff between a snapshot I know for a fact was made when HDMI audio out was not working (330) and one from now where it is working (340), and for several snapshots before 330 there were no added packages or settings changed and audio was not working across reboots in that timeframe.


I have no idea why or how one of these changes would get audio working. I will find out when I reboot I guess. What is the likely problem if I reboot now and it doesn’t work? A hardware issue? How can I even debug this?
**

[FONT=monospace]sudo snapper status 330..340 
c..... /etc/cups/subscriptions.conf 
c..... /etc/cups/subscriptions.conf.O 
c..... /etc/ld.so.cache 
+..... /usr/bin/flac 
+..... /usr/bin/metaflac 
+..... /usr/bin/spek 
+..... /usr/include/glvnd 
+..... /usr/include/glvnd/GLdispatchABI.h 
+..... /usr/include/glvnd/libeglabi.h 
+..... /usr/include/glvnd/libglxabi.h 
+..... /usr/lib64/libEGL.so 
+..... /usr/lib64/libGLdispatch.so 
+..... /usr/lib64/libGLESv1_CM.so 
+..... /usr/lib64/libGLESv2.so 
+..... /usr/lib64/libGL.so 
+..... /usr/lib64/libGLX.so 
+..... /usr/lib64/libOpenGL.so 
+..... /usr/lib64/libwx_baseu_net-suse.so.4.0.0 
+..... /usr/lib64/libwx_baseu-suse.so.4.0.0 
+..... /usr/lib64/libwx_gtk2u_core-suse.so.4.0.0 
+..... /usr/lib64/pkgconfig/glx.pc 
+..... /usr/lib64/pkgconfig/libglvnd.pc 
+..... /usr/lib64/pkgconfig/opengl.pc 
c..... /usr/lib/sysimage/rpm/Index.db 
c..... /usr/lib/sysimage/rpm/Packages.db 
c..... /usr/share/applications/mimeinfo.cache 
+..... /usr/share/applications/spek.desktop 
+..... /usr/share/doc/packages/flac 
+..... /usr/share/doc/packages/flac/README 
+..... /usr/share/doc/packages/spek 
+..... /usr/share/doc/packages/spek/README.md 
+..... /usr/share/icons/hicolor/16x16/apps/spek.png 
+..... /usr/share/icons/hicolor/22x22/apps/spek.png 
+..... /usr/share/icons/hicolor/24x24/apps/spek.png 
+..... /usr/share/icons/hicolor/32x32/apps/spek.png 
+..... /usr/share/icons/hicolor/48x48/apps/spek.png 
c..... /usr/share/icons/hicolor/icon-theme.cache 
+..... /usr/share/icons/hicolor/scalable/apps/spek.svg 
+..... /usr/share/licenses/spek 
+..... /usr/share/licenses/spek/LICENCE.md 
+..... /usr/share/locale/ca/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/cs/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/cs/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/da/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/da/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/de/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/de/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/el/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/eo/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/es/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/es/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/fi/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/fr/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/fr/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/hu/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/id/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/it/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/it/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/ja/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/ja/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/nb/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/nl/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/nl/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/pl/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/pl/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/pt_BR/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/ru/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/ru/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/sl/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/sv/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/sv/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/tr/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/tr/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/uk/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/uk/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/vi/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/zh_CN/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/zh_CN/LC_MESSAGES/wxstd.mo 
+..... /usr/share/locale/zh_TW/LC_MESSAGES/spek.mo 
+..... /usr/share/locale/zh_TW/LC_MESSAGES/wxstd.mo 
+..... /usr/share/man/man1/flac.1.gz 
+..... /usr/share/man/man1/metaflac.1.gz 
+..... /usr/share/man/man1/spek.1.gz 
c..... /usr/share/PackageKit/transactions.db

[/FONT]

Here you can see that HDMI audio is recognized now:


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

    0.082041] ACPI: Added _OSI(Linux-Dell-Video)
    0.082041] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
    0.082041] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
--
   31.157993] iwlwifi 0000:a5:00.0: enabling device (0000 -> 0002)
   31.166694] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
   31.169229] input: Dell WMI hotkeys as /devices/platform/PNP0C14:02/wmi_bus/wmi_bus-PNP0C14:02/9DBB5994-A997-11DA-B012-B622A1EF5492/input/input27
   31.169545] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
   31.198020] iwlwifi 0000:a5:00.0: api flags index 2 larger than supported by driver
--
   32.938415] usbcore: registered new interface driver r8153_ecm
   32.979195] usbcore: registered new interface driver snd-usb-audio
   32.979590] usb 3-4.1.2: Found UVC 1.00 device AUKEY PC-W1 (0c45:6320)
--
   33.085960] r8152 2-3.3.1:1.0 eth0: v1.11.11
   33.341309] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
   33.341381] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
   33.376274] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC3271: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
   33.376277] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
   33.376278] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
   33.376279] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
   33.376279] snd_hda_codec_realtek hdaudioC0D0:    inputs:
   33.376280] snd_hda_codec_realtek hdaudioC0D0:      Headset Mic=0x19
   33.376281] snd_hda_codec_realtek hdaudioC0D0:      Headphone Mic=0x1b
   33.376282] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12
   33.452871] input: HDA Intel PCH Headphone Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input32
   33.452941] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input33
   33.452976] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input34
   33.454539] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input35
   33.454573] input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input36
   33.454607] input: HDA Intel PCH HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input37
   33.454632] input: HDA Intel PCH HDMI/DP,pcm=11 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input38
   33.454653] input: HDA Intel PCH HDMI/DP,pcm=12 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input39
   33.454672] input: HDA Intel PCH HDMI/DP,pcm=13 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input40
   33.454695] input: HDA Intel PCH HDMI/DP,pcm=14 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input41
   33.454712] input: HDA Intel PCH HDMI/DP,pcm=15 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input42
   33.454732] input: HDA Intel PCH HDMI/DP,pcm=16 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input43
   33.501838] cdc_acm 3-9:1.0: ttyACM0: USB ACM device

Most interesting.

Are you sure? I note there is an ACPI difference between the two configurations.

??? strange - I speculate that can restart some modules … but I don’t know if that important.

In short, it appears to me for some reason, ‘before’ the USB-C driver was not loading - possible due to a bad cable, possibly due to an ACPI issue. With the USB-C driver not loading, I think that caused the other issues.

The long answer follows:

The differences between before (when it was not working) and after (when it is working) are quite significant.

If one looks at the “ALSA Device Nodes” before (when not working) the # of nodes are not too many … however if one looks at the “ALSA Device Nodes” after (when working) there are many new “pcmC0D**” nodes when working.

If one looks at the “APLAY” before (when not working) it is restricted to a single card-0 entry (in essence hw:0,0). However if one looks at the “APLAY” after (when working) a number of new HDMI devices are evident … ie HDMI-0 through to HDMI-10 when working.

If one looks at the “Amixer output” before (when not working) and compares it to the “Amixer output” after (when working) there are a number of mixer controls for IEC958 from 1 to 10 (associated with the HDMI device nodes) additional when working.

If one looks at the “Alsactl output” before (when not working) and compares it to the “Alsactl output” after (when working) , the “before” PCW only go up to 21 controls, while in the “after” the PCW controls count up to 98 - a significantly larger number.

If one looks at the “All Loaded Modules” before (when not working) and compares it to the “All Loaded Modules” after (when working), one can see that when working, an additional kernel module has been loaded, which is “snd_hda_codec_hdmi”.

If one compares the “Sysfs Files” before to the after, one can see that in the after there are many additional pin configs in the ‘after’ … ie pins suddenly detected when not detected before.

Finally, if one compares the “ALSA/HDA dmesg” before working to the after working, one can see that the before has error messages such as:


   30.173470] usb usb2-port3: Cannot enable. Maybe the USB cable is bad?
   30.269456] snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x200f0000
   30.439265] usb 3-6.1.2: 3:1: cannot get freq at ep 0x84

while in contrast, the “ALSA/HDA dmesg” in the after (when working) evidence of the “snd_hda_codec_hdmi” module having been loaded and working is clearly evident with


   31.169229] input: Dell WMI hotkeys as /devices/platform/PNP0C14:02/wmi_bus/wmi_bus-PNP0C14:02/9DBB5994-A997-11DA-B012-B622A1EF5492/input/input27
   31.169545] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
   31.198020] iwlwifi 0000:a5:00.0: api flags index 2 larger than supported by driver
--
   32.938415] usbcore: registered new interface driver r8153_ecm
   32.979195] usbcore: registered new interface driver snd-usb-audio
   32.979590] usb 3-4.1.2: Found UVC 1.00 device AUKEY PC-W1 (0c45:6320)
--
   33.085960] r8152 2-3.3.1:1.0 eth0: v1.11.11
   33.341309] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
   33.341381] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
   33.376274] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC3271: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
   33.376277] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
   33.376278] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
   33.376279] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
   33.376279] snd_hda_codec_realtek hdaudioC0D0:    inputs:
   33.376280] snd_hda_codec_realtek hdaudioC0D0:      Headset Mic=0x19
   33.376281] snd_hda_codec_realtek hdaudioC0D0:      Headphone Mic=0x1b
   33.376282] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12
   33.452871] input: HDA Intel PCH Headphone Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input32
   33.452941] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input33
   33.452976] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input34
   33.454539] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input35
   33.454573] input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input36
   33.454607] input: HDA Intel PCH HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input37
   33.454632] input: HDA Intel PCH HDMI/DP,pcm=11 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input38
   33.454653] input: HDA Intel PCH HDMI/DP,pcm=12 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input39
   33.454672] input: HDA Intel PCH HDMI/DP,pcm=13 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input40
   33.454695] input: HDA Intel PCH HDMI/DP,pcm=14 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input41
   33.454712] input: HDA Intel PCH HDMI/DP,pcm=15 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input42
   33.454732] input: HDA Intel PCH HDMI/DP,pcm=16 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input43
   33.501838] cdc_acm 3-9:1.0: ttyACM0: USB ACM device

I can’t explain why its working ‘after’ and not ‘before’. One possiblity is the cable is flaky, and if bent could cause issues. Another is there is an acpi issue, as I note in the ‘before’ this message:


   28.226963] ACPI Error: Aborting method \_SB.PC00.LPCB.ECDV.TSKN._STA due to previous error (AE_NOT_FOUND) (20210105/psparse-529)

while that does not exisit in the ‘after’ (when working). I also note in the ‘after’ a line indicating that some Dell hot keys may be working, but possibly not working in the ‘before’.

I also note in the ‘after’ a dmesg indication that the r8153_ecm USB-C interface driver is registered,


   32.938415] usbcore: registered new interface driver r8153_ecm

while in the ‘before’ the dmesg indicates


   30.050542] usb 3-6.1.2: 3:1: cannot get freq at ep 0x84

This is pretty much beyond my level of expertise, but it appears to me for some reason, ‘before’ the USB-C driver was not loading - possible due to a bad cable, possibly due to an ACPI issue. With the USB-C driver not loading, I think that caused the other issues.

After a reboot it’s not working anymore. Maybe a hardware issue, I have no idea. Will have to test more when I have time. Thanks for your help anyway.

This is pretty much beyond my level of expertise, but it appears to me for some reason, ‘before’ the USB-C driver was not loading - possible due to a bad cable, possibly due to an ACPI issue. With the USB-C driver not loading, I think that caused the other issues.

Oh man I’ve halfway figured it out, or at least how to avoid it.

After seeing that one difference was a Dell hotkey not being activated I tried to reboot with the laptop lid open – this fixed it. For some reason some modules are not loading when you boot with the laptop lid closed.

I will take a closer look when I find the time and do this properly. Sorry for the quality of this thread. I’ll make an updated thread later and link to this for reference as this thread didn’t describe the problem properly, as I got confused and thought it had something to do with the sound card which sent me on the wrong way.

Glad to have it “fixed” for now anyway.

Thanks for sharing your solution. Glad to read you have a ‘workaround’ in place.