Package: firmware-nonfree Version: 20210818-1 On a Lenovo X1 Nano Gen2 various Intel hardware fails to load the binary blobs. Here is an example of this:
``` eneufeld@eneufeld-x1nano-v2:~/power_stat$ zgrep kernel /var/log/syslog.1.gz | grep "failed to load" ... Sep 19 19:58:25 eneufeld-x1nano-v2 kernel: [ 7.226071] i915 0000:00:02.0: firmware: failed to load i915/adlp_dmc_ver2_14.bin (-2) Sep 19 19:58:25 eneufeld-x1nano-v2 kernel: [ 7.274084] i915 0000:00:02.0: firmware: failed to load i915/adlp_guc_69.0.3.bin (-2) Sep 19 19:58:28 eneufeld-x1nano-v2 kernel: [ 15.181844] platform regulatory.0: firmware: failed to load regulatory.db (-2) Sep 19 19:58:28 eneufeld-x1nano-v2 kernel: [ 15.184831] cfg80211: failed to load regulatory.db Sep 19 19:58:28 eneufeld-x1nano-v2 kernel: [ 15.198190] iwlwifi 0000:00:14.3: firmware: failed to load iwlwifi-so-a0-gf-a0-72.ucode (-2) Sep 19 19:58:28 eneufeld-x1nano-v2 kernel: [ 15.208711] iwlwifi 0000:00:14.3: firmware: failed to load iwl-debug-yoyo.bin (-2) Sep 19 19:58:28 eneufeld-x1nano-v2 kernel: [ 15.634316] sof-audio-pci-intel-tgl 0000:00:1f.3: firmware: failed to load intel/sof/sof-adl.ri (-2) Sep 19 19:58:28 eneufeld-x1nano-v2 kernel: [ 15.646423] sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to load DSP firmware -2 ... ``` This results in: - iGPU not working: `inxi -G` reports using the `llvmpipe (LLVM 14.0.6 256 bits)` renderer, instead of `Mesa Intel Graphics (ADL GT2)` - WiFi not working - Sound not working Downloading the missing files from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git fixes the issue. Please sync the firmware in the package with whatever is provided in kernel. Maybe useful for debug: ``` eneufeld@eneufeld-x1nano-v2:~/power_stat$ lscpu | head -n 8 Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 46 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 16 On-line CPU(s) list: 0-15 Vendor ID: GenuineIntel Model name: 12th Gen Intel(R) Core(TM) i7-1270P ``` ``` eneufeld@eneufeld-x1nano-v2:~/power_stat$ lspci 00:00.0 Host bridge: Intel Corporation Device 4621 (rev 02) 00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c) 00:04.0 Signal processing controller: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant (rev 02) 00:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 02) 00:07.0 PCI bridge: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #0 (rev 02) 00:07.2 PCI bridge: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #2 (rev 02) 00:08.0 System peripheral: Intel Corporation 12th Gen Core Processor Gaussian & Neural Accelerator (rev 02) 00:0a.0 Signal processing controller: Intel Corporation Platform Monitoring Technology (rev 01) 00:0d.0 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 USB Controller (rev 02) 00:0d.2 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #0 (rev 02) 00:0d.3 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #1 (rev 02) 00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01) 00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01) 00:14.3 Network controller: Intel Corporation Alder Lake-P PCH CNVi WiFi (rev 01) 00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01) 00:16.0 Communication controller: Intel Corporation Alder Lake PCH HECI Controller (rev 01) 00:1f.0 ISA bridge: Intel Corporation Alder Lake PCH eSPI Controller (rev 01) 00:1f.3 Multimedia audio controller: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01) 00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01) 00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01) 04:00.0 Non-Volatile memory controller: Shenzhen Unionmemory Information System Ltd. Device 6302 (rev 03) ```