Sometimes I just like to write about how I solved a problem that took me way longer than it really should have. This was one of those problems which persisted for over a month.
I got my hands on a Lenovo Thinkpad P1. This machine had problems with the audio drivers on Windows; however it's a professional requirement for me to use Linux. Parrot was the distro that was loaded onto this. When I installed Parrot on this system, audio was absolutely not available.
lspci -v or
will give us an idea of what sound card is on board.
Audio: Device-1: Intel Comet Lake PCH cAVS vendor: Lenovo
In the sound control panel of Parrot, I could not see any options for audio input or output. There were some blogs that suggested altering the grub file and playing with the /etc/modprobe.d/alsa.conf file, however those didn't help much. At best they got the speakers working and not the microphone.
What really solved the problem for me was using sof-firmware
Steps to get it working:
Install sof-firmware : github.com/thesofproject/sof-bin and follow the installation instructions
Blacklist incompatible hda_intel and soc_skl modules:
/etc/modprobe.d/blacklist.conf blacklist snd_hda_intel blacklist snd_soc_skl
- Configure PulseAudio's to load Alsa modules with the correct device and channnel settings, by adding these two lines to /etc/pulse/default.pa:
load-module module-alsa-sink device=hw:0,0 channels=4 load-module module-alsa-source device=hw:0,7 channels=4
Now I've got speakers and a microphone working!