Upgrading your system can be exciting, but it sometimes brings along unexpected challenges. Recently, after upgrading my Lenovo T14s from Ubuntu 22.04 to 24.04, I faced a frustrating issue—my audio completely stopped working. Both the internal speakers and any connected headsets weren’t being detected, leaving me with only a "Dummy Output" for audio.
The Problem:
After upgrading, I noticed that no audio devices were showing up in my sound settings. The only available option was "Dummy Output," which is the system’s way of telling you that it can’t find any real audio hardware. This was a clear sign that something had gone wrong with the audio drivers.
A quick check of the system logs revealed the following error:
sof-audio-pci-intel-tgl 0000:00:1f.3: error: request firmware intel/sof/sof-tgl.ri failed err: -2
sof-audio-pci-intel-tgl 0000:00:1f.3: you may need to download the firmware from https://github.com/thesofproject/sof-bin/
It turns out that my system was missing the required Intel Sound Open Firmware (SOF) files needed to run the audio DSP on my hardware. Without these files, the audio subsystem couldn't load properly.
The Fix:
After some research, I discovered that I needed to manually install the missing firmware and DSP topology files for my system to work correctly. Here's the step-by-step guide I followed to fix the issue:
1. Download the Missing Firmware:
I went to the SOF GitHub Repository and downloaded the latest firmware package.
2. Copy Firmware and Topology Files:
Once downloaded, I located the necessary firmware and topology files, specifically sof-tgl.ri
and sof-hda-generic-2ch.tplg
. Using the following commands, I copied them to the correct directories:
sudo cp sof-bin-2024.06/sof/sof-tgl.ri /lib/firmware/intel/sof/
sudo cp sof-bin-2024.06/sof-tplg/sof-hda-generic-2ch.tplg /lib/firmware/intel/sof-tplg/
3. Update Initramfs:
Next, I updated the initramfs to ensure that the new firmware files were loaded during boot:
sudo update-initramfs -u
4. Reboot the System:
After a reboot, I checked the system logs again to make sure everything was loading correctly:
dmesg | grep sof
I was relieved to see that the firmware had been successfully loaded, and the missing audio devices were finally detected!
Lessons Learned:
Upgrading your system can bring new features and improvements, but it can also break existing setups. In this case, understanding the error logs and knowing where to get the missing firmware made all the difference. It’s a reminder of the complexity of hardware drivers on Linux, especially when it comes to newer hardware like Intel’s Sound Open Firmware.
If you ever run into this issue, don’t panic! The solution is out there, and with a bit of patience, you can get your system back to working order.