Ever since getting myself a new HP Spectre x360 13" (late 2019-early 2020 model), I have been plagued by random audio issues in Ubuntu where the speaker and mic will suddenly stop being detected on a kernel update.
When I first encountered the issue after upgrading to 22.214.171.124, I followed a recipe somewhere (lost the link, sorry) that asked me to add this line to
# 13 May 2020 - fixing dummy output with 31 kernel upgrade options snd-hda-intel model=generic
The other oft-suggested answer was to try
options snd-hda-intel dmic_detect=1, but this disabled my microphone, so I stuck with the above
The second file to edit was
/etc/modprobe.d/blacklist.conf, where I added this (ref):
# Kernel regression fix # https://www.linuxuprising.com/2018/06/fix-no-sound-dummy-output-issue-in.html blacklist snd_soc_skl
However, with the latest 126.96.36.199 upgrade, it appears the standard
snd_hda_intel driver has been superseded by the SOF project:
oracology@andromeda:~$ lspci -v | grep -i 'Audio' 00:1f.3 Multimedia audio controller: Intel Corporation Smart Sound Technology Audio Controller (rev 30) Subsystem: Hewlett-Packard Company Smart Sound Technology Audio Controller Kernel driver in use: sof-audio-pci
From this helpful link, I came to know that the SOF driver requires the aforementioned line in
alsa-base.conf to be changed to
options snd-intel-dspcfg dsp_driver=1. This re-enabled my audio, but the microphone stopped working again.
By an extension of logic based on the pattern I found with
snd_hda_intel, I tried this, which finally worked to re-enable both speakers and microphone:
# 9 June 2020 - Updated as per: # https://bugzilla.kernel.org/show_bug.cgi?id=205959 #options snd-intel-dspcfg dsp_driver=1 # Above command disables mic just like dmic_detect=1 # With a little creativity however... options snd-intel-dspcfg model=generic
model=generic parameter to
snd_intel_dspcfg finally seems to be stable, for now. It is also worth mentioning that I do not use the headphone/mic jack, so I have not yet tested whether this part works properly or not. However,
pavucontrol seems to show both the jack and built-in inputs for both the speakers and the microphone, so this is at least a promising start.
The one-liner commands for the working setup are:
oracology@andromeda:~$ sudo echo "options snd-intel-dspcfg model=generic" > /etc/modprobe.d/alsa-base.conf oracology@andromeda:~$ sudo echo "blacklist snd_soc_skl" > /etc/modprobe.d/blacklist.conf
I am not sure if the
blacklist snd_soc_skl bit is still required, but I do not particularly feel like messing around with this working setup for a little while..!