Table of Contents

Проблема

В наличии ноутбук (Honor MagicBook Pro 16 2020 AMD Ryzen 4800H) с Ubuntu 20.10, ядро 5.11.10-051110-lowlatency.
Его дефолтный Wifi-адаптер Realtek RTL8822CE был заменен на Intel AX210NGW.
После перезагрузки Wi-Fi не завелся. В выводе lspci такое:

$ lspci
...
01:00.0 Network controller: Intel Corporation Device 2725 (rev 1a)
...

Однако, iwconfig не признает адаптер в качестве Wi-Fiхотя rfkill list всё показывает.
В сообщениях ядра среди всего прочего такое:

bluetooth hci0: Direct firmware load for intel/ibt-0041-0041.sfi failed with error -2

Решение

Оказалось, что поддержка этого железа в Linux появидась совсем недавно, в ядре 5.10 и для того, чтобы все заработало нужно загрузить фирмварь адаптера.
Для Ubuntu это можно сделать двумя путями. Либо - скачать фирмварь отсюда: https://www.intel.com/content/www/us/en/support/articles/000005511/wireless.html или отсюда https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi и распаковать его в /lib/firmware/
Перезагружаемся или выполняем:

sudo rmmod iwlwifi
sudo modprobe iwlwifi

После этих манипуляций заработал WiFi, но не bluetooth. Или можно скачать все фирмвари из гита и установить:

git clone --depth=1 git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
sudo cp linux-firmware/iwlwifi-*.{ucode,pnvm} /lib/firmware/

Третий (и, возможно, более предпочтительный) вариант получения фирмвари - установить пакет linux-firmware версии не ниже 1.196 (из состава еще не вышедшей на данный момент Ubuntu 21.04) отсюда: https://launchpad.net/ubuntu/+source/linux-firmware
После скачивания устанавливаем пакет и перезапускаем модули, обеспечивающие работу bluetooth:

sudo apt-get install ~/Downloads/linux-firmware_1.196_all.deb
sudo rmmod btusb && sudo rmmod btintel  
sudo modprobe btusb

Однако, с новым пакетом linux-firmware оказалось не все так просто. Я запустил Wifi с помощью скачаной фирмвари (без перезагрузки, путем перезапуска модуля), потом накатил новый linux-firmware и тоже перезапустил модули. В итоге всё заработало, но после перезагрузки пропал Wi-Fi. Очевидно, что новый пакет linux-firmware что-то делает с порядком загрузки модулей или фирмварей или еще с чем-то и Wi-Fi умирает.
В итоге выход был найден такой. Я снес новый linux-firmware и откатился на стандартный пакет linux-firmware из стабильного репозитория, затем поглядел в логах какой именной файл фирмвари пытается загрузить модуль btintel (это оказались файлы intel/ibt-0041-0041.sfi и intel/ibt-0041-0041.ddc) и извлек их из пакета и положил вручную в директорию /lib/firmware/intel/. Ну и затем еще раз скопировал в /lib/firmware/ файлы с фирмварью Wi-Fi. В итоге - всё нормально заводится и после перезагрузок.

На всякий случай архив с firmware для Wi-Fi и Bluetooth для адаптера Intel AX210NGW сохранил у себя - ax210ngw-firmware.tar.gz