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
gives0 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.
lsof /dev/snd/*
andlsmod | grep snd
and almost forgotps -ef | grep pulse
– nobody Oct 14 '19 at 16:23pulseaudio
errors (lines starting withE:
). – Bruno Le Floch Oct 14 '19 at 18:20