2

My Dell XPS 13 9350 laptop came with Ubuntu 14.04 installed and I had never had sound issues. Since an upgrade to Ubuntu 18.04 the laptop has produced no sound so I've tried applying various fixes found online, possibly messing up more things.

  • In the graphical interface, in the "Settings > Sound > Output" the only available device is Dummy Output. The same Dummy Ouput name appears when I change volume through F-keys.

  • pulseaudio -k && sudo alsa force-reload unloads ALSA sound drivers then reloads them but this does not restore sound.

  • pacmd list-cards gives 0 card(s) available.

About ALSA

On the other hand, aplay -l finds a sound card whose number matches the "Audio controller" RealTek ALC3246 listed in the BIOS:

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

$ grep "Codec:" /proc/asound/card*/codec*
Codec: Realtek ALC3246

This is consistent with the behaviour of alsamixer, which shows Realtex ALC3246 and a bunch of gauges I can vary, with no effect.

Since all seems normal for ALSA, I tried bypassing pulseaudio. First, speaker-test does not produce any sound. Next I tried

aplay -D sysdefault ~/Downloads/file_example_WAV_1MG.wav

without success. With the -vvv option I can see an indicator bar showing the volume varying along the music; still no sound. Repeating the experiment with pulseaudio uninstalled (sudo apt-get purge pulseaudio) does not help.

lsof, ps and lsmod

lsof /dev/snd/* gives no output at all (but as per ls the directory /dev/snd contains: by-path controlC0 hwC0D0 pcmC0D0c pcmC0D0p seq timer).

$ ps -ef | grep pulse
gdm       2168  1827  0 19:53 ?        00:00:00 /usr/bin/pulseaudio --daemonize=no
bruno     2555     1  0 19:54 ?        00:00:00 /usr/bin/pulseaudio --start --log-target=syslog
bruno     4106  3923  0 20:11 pts/2    00:00:00 grep --color=auto pulse

$ lsmod | grep snd
snd_soc_skl           106496  0
snd_soc_hdac_hda       24576  1 snd_soc_skl
snd_hda_ext_core       28672  2 snd_soc_hdac_hda,snd_soc_skl
snd_soc_skl_ipc        65536  1 snd_soc_skl
snd_soc_sst_ipc        20480  1 snd_soc_skl_ipc
snd_soc_sst_dsp        36864  1 snd_soc_skl_ipc
snd_soc_acpi_intel_match    28672  1 snd_soc_skl
snd_soc_acpi           16384  2 snd_soc_acpi_intel_match,snd_soc_skl
snd_hda_codec_realtek   114688  1
snd_soc_core          233472  2 snd_soc_hdac_hda,snd_soc_skl
snd_hda_codec_generic    77824  1 snd_hda_codec_realtek
snd_compress           24576  1 snd_soc_core
ac97_bus               16384  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_hda_intel          49152  0
snd_hda_codec         135168  4 snd_hda_codec_generic,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda
snd_hda_core           86016  7 snd_hda_codec_generic,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_soc_hdac_hda,snd_soc_skl
snd_hwdep              20480  1 snd_hda_codec
snd_pcm               102400  7 snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_soc_core,snd_soc_skl,snd_hda_core,snd_pcm_dmaengine
ledtrig_audio          16384  3 snd_hda_codec_generic,snd_hda_codec_realtek,dell_laptop
snd_seq_midi           20480  0
snd_seq_midi_event     16384  1 snd_seq_midi
snd_rawmidi            36864  1 snd_seq_midi
snd_seq                69632  2 snd_seq_midi,snd_seq_midi_event
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
snd_timer              36864  2 snd_seq,snd_pcm
snd                    86016  12 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi
soundcore              16384  1 snd

pulseaudio -v

I just killed and reran pulseaudio verbosely with pulseaudio -k ; pulseaudio -v and some messages seem interesting.

I: [pulseaudio] (alsa-lib)utils.c: could not open configuration file /usr/share/alsa/ucm/HDA Intel PCH at 0xdc328000 irq 133/HDA Intel PCH at 0xdc328000 irq 133.conf
I: [pulseaudio] (alsa-lib)parser.c: error: could not parse configuration for card HDA Intel PCH at 0xdc328000 irq 133
I: [pulseaudio] (alsa-lib)parser.c: uknown master file field pcm
I: [pulseaudio] (alsa-lib)parser.c: uknown master file field HDA-Intel
I: [pulseaudio] alsa-ucm.c: UCM available for card HDA Intel PCH
E: [pulseaudio] alsa-ucm.c: No UCM verb is valid for HDA Intel PCH
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3" card_name="alsa_card.pci-0000_00_1f.3" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:1f.3/sound/card0 (alsa_card.pci-0000_00_1f.3) failed to load module.
I: [pulseaudio] module-udev-detect.c: Found 1 cards.
  • Please show lsof /dev/snd/* and lsmod | grep snd and almost forgot ps -ef | grep pulse – nobody Oct 14 '19 at 16:23
  • Thank you @nobody; I've added the outputs to the bottom of my question, together with potentially interesting pulseaudio errors (lines starting with E:). – Bruno Le Floch Oct 14 '19 at 18:20

3 Answers3

0

Somewhat underwhelmingly here are the steps that completely fixed sound for me, with two cold reboots (shutdown + turn the computer back on manually) between every step. Probably some of the restarts are not useful.

  • Upgrade the Linux kernel from version 4.15(?) to version 5.0.0

  • Uninstall ALSA and pulseaudio (and all related packages I could find) through:

    sudo apt-get --purge remove linux-sound-base alsa-base alsa-utils pulseaudio pavucontrol pulseaudio-utils
    
  • Reinstall these packages:

    sudo apt-get install linux-sound-base alsa-base alsa-utils pulseaudio pavucontrol pulseaudio-utils
    
c42759
  • 23
  • 3
0

Worked for me as well - I was beyond Linux 5.0 already so I skipped that step. Another tip on XPS 13 9350 - by default ubuntu discovered the internal WiFi card. Enable it- go into About -> Software updates and enable the prioritary driver. enter image description here

0

There's similar reported pulseaudio errors of not detecting Realtek ALCxxx cards on other laptops, even on newer linux kernel like 5.18; so another alternative that works in some cases, is to disable ucm (as seen from pulseaudio -v log is enabled) by appending the following parameter/option in /etc/pulse/default.pa config file e.g.:

load-module module-udev-detect use_ucm=no

Of course after that computer should be restarted although a pulseaudio restart should suffice:

pulseaudio -k

See more details at pulseaudio & freedesktop.

Peter
  • 1