Není to tak dávno, co jsem si vzal AlmaLinux na druhé otočení, tentokrát pro podrobnější recenzi distra na mém zbrusu novém stroji IdeaPad 3. Věci šly celkem dobře, až na jeden velký do očí bijící problém. Bezdrátové připojení jsem neměl hned po instalaci. To je důležité, protože moderní systém bez (nějaké) sítě opravdu nemůžete používat, zvláště teď na začátku.
Brzy jsem strávil pár hodin snahou to napravit. Problém se ukázal být poněkud svérázný. Údajně jsem měl všechny správné ovladače a podobně, ale systém nemohl skutečně využít hardware. K problému, který vyřešíme v tomto návodu, přispěla kombinace dvou faktorů. Následujte mě.
Problém podrobněji
Takže problém, který nastane, je následující. Systémový applet říká Bezdrátové připojení není připojeno. Když se pokusíte připojit, řekne vám, abyste zapnuli Wi-Fi. Když přejdete do nabídky Systém, zobrazí se zpráva, že nelze nalézt žádný adaptér. Na příkazovém řádku však můžete vidět moduly Atheros načtené do paměti (ath10k). To znamená, že je něco v nepořádku s iniciací bezdrátové karty, i když pravděpodobně existuje funkce.
lsmod |grep ath
ath10k_pci 49152 0
ath10k_core 471040 1 ath10k_pci
ath 36864 1 ath10k_core
mac80211 9298192 54_11>
Řešení 1:Seznam zakázaných modulů rádiového ovládání pro konkrétní notebook
Projev problému naznačuje, že něco blokuje a/nebo brání správnému spuštění bezdrátového zařízení. Pokud se podíváte na web, najdete pro to milion důvodů a chybových hlášení, specifických pro karty Atheros, ale nejen. Problém se však stále scvrkává na dvě možnosti:deaktivace rádiových antén na vašem notebooku (přes hardwarový nebo softwarový přepínač) nebo nekompatibilní firmware.
Na mém IdeaPadu 3 (a mnoha dalších notebookech Lenovo, zejména rodině IdeaPad), v Linuxu se ovládání rádia, klávesových zkratek, ventilátorů a podsvícení řídí modulem jádra ideapad. Označuje se jako ideapad nebo ideapad-laptop nebo podobně. Je možné, že tento modul je nakonfigurován způsobem, který je v rozporu s funkcemi bezdrátového zařízení, tj. bezdrátová anténa je ve výchozím nastavení vypnutá.
První věc, kterou můžete zkusit, je spustit příkaz rfkill a pokusit se toto odblokovat:
sudo rkfill odblokovat wifi
Pokud to nepomůže, můžete modul ideapad zablokovat – zabráníte tím jeho načtení při startu systému a snad umožníte správnou inicializaci bezdrátového zařízení. To se provede vytvořením textového souboru pod:
/etc/modprobe.conf/
Pojmenujte soubor nějak takto:
ideapad.conf
Do tohoto souboru přidejte následující řádek:
blacklist ideapad
Máte-li jiné modely notebooků, zkontrolujte název modulu ve specifikaci dodavatele.
Restartujte počítač a v ideálním případě bude váš problém vyřešen.
Řešení 2:Jiný firmware pro vaši bezdrátovou kartu
Je možné, že firmware, který získáte s distro image, není dostatečně moderní pro vaši konkrétní bezdrátovou kartu. V takovém případě můžete ručně nahradit obrazy firmwaru a znovu načíst moduly jádra, což by vám mělo poskytnout správnou funkcionalitu.
Firmware pro karty Atheros je k dispozici na stránce GitHubu Kalle Valo. Podle mého nejlepšího vědomí je Kalle inženýrem Atheros a udržuje úložiště s oficiálním firmwarem pro různá zařízení. Nejprve musíte zkontrolovat, jaké zařízení máte. Můžete to udělat pomocí příkazu lscpi -v:
...
02:00.0 Síťový ovladač:Bezdrátový síťový adaptér Qualcomm Atheros QCA6174 802.11ac (rev 32)
Subsystém:Lenovo Device 0827
Příznaky:bus master, fast devsel, latence 0, IRQ 64, IOMMU skupina 8
Paměť při d0200000 (64bitová, bez možnosti přednačítání) [velikost=2M]
Možnosti:[40] Správa napájení verze 3
Možnosti:[50] MSI:Enable+ Count=1/8 Maskable+ 64bit-
Možnosti:[70] Express Endpoint, MSI 00
Možnosti:[100] Pokročilé hlášení chyb
Možnosti:[148] Virtuální kanál
Schopnosti:[168] Sériové číslo zařízení 00-00-00-00-00-00-00-00
Schopnosti:[178] Hlášení o toleranci latence
Schopnosti:[180] L1 PM Substates
Používá se ovladač jádra:ath10k_pci
Moduly jádra:ath10k_pci
...
Na mém notebooku je to QCA6174. V úložišti GitHub pak můžete načíst potřebné soubory. Existuje celkem pět souborů, včetně:
board.bin
board-2.bin
firmware-4.bin
firmware-6.bin
firmware-sdio-6.bin
Úložiště má k dispozici několik revizí těchto obrazů, takže možná budete muset provést více než jedno stažení, abyste získali správný obraz firmwaru pro vaši kartu. Nejjednodušší způsob je chytit zip celého repozitáře nebo jej naklonovat a poté selektivně vybrat potřebné soubory. Samozřejmě to musíte provést na systému, který MÁ síťové připojení, a poté zkopírovat soubory do postiženého notebooku.
Soubory budou mít různé názvy – budete je muset přejmenovat na výše uvedený formát, např.:
mv firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1 firmware-4.bin
Firmware je uložen pod:
/lib/firmware/ath10k/QCA6174/hw3.0/
Zkopírujte soubory z tohoto adresáře na bezpečné místo. Toto bude záloha vašeho původního firmwaru distribuce pro případ, že jej budete potřebovat obnovit. Poté nahraďte stávající soubory novými staženými soubory z úložiště GitHub.
Soubory můžete nahradit jeden po druhém nebo hromadně. Při odstraňování problémů je nejlepší postupovat jeden po druhém a zjistit, zda nějaká konkrétní revize pomáhá. Nejjednodušší způsob, jak toho dosáhnout, bez restartu, je nejprve uvolnit stávající moduly ath10k z paměti, zkopírovat soubory a poté znovu načíst moduly.
sudo modprobe -r ath10k_pci
sudo modprobe -r ath10k_core
sudo modprobe -r ath
sudo cp "soubor firmwaru ve správném formátu názvu" /lib/firmware/ath10k/QCA6174/hw3.0 /
sudo modprobe ath10k_pci
sudo modprobe ath10k_core
sudo modprobe ath
Pokud načtete nesprávný obrázek pro své zařízení, zobrazí se v protokolu jádra chyba „neplatné kouzlo desky“. Můžete to zkontrolovat pomocí příkazu dmesg:
...
[ 269.339694] ath10k_pci 0000:02:00.0:firmware ver WLAN.RM.4.4.1-00157-QCARMSWPZ-1 api 6 funkce wowlan,ignore-otp,mfp crc32 94/29eebef> ] ath10k_pci 0000:02:00.0:nalezena neplatná magie desky
[ 269.411730] ath10k_pci 0000:02:00.0:soubor_tabule api 1 bmi_id N/A crc32 ed5f>8329a:2tt_10:029a
[ 272.543629] ath10k_pci 0000:02:00.0:nepodařilo se nastavit htt:-110
[ 272.601433] ath10k_pci 0000:02:00.0 (-10)
10 se nepodařilo spustit>[ 272.601505] ath10k_pci 0000:02:00.0:nelze prozkoumat fw (-110)
...
Pokud by blacklist modulu nefungoval, mělo by to stačit.
Závěr
Hardwarové problémy v Linuxu mě vždy děsí, většinou proto, že umocňují mé vnímání křehkosti celého ekosystému, a také proto, že mi připomínají (moji) bolestivou závislost na proprietárních systémech, jak v důsledku toho, tak i jako jednoduchá, krutá realita pracovního prostoru. Ale pak je hledání řešení velkých a složitých problémů vždy zábavné.
Nesetkal jsem se s tímto problémem u Ubuntu, Manjaro nebo Fedory, když na to přijde, na IdeaPadu 3. Předpokládám, že problém je jedinečný pro serverovou plodinu, většinou proto, že nejsou ve skutečnosti určeny k použití jako stolní systémy. Pokud však chcete na svém počítači provozovat některou z komunitních distribucí RHEL8 a náhodou máte kartu Atheros Wireless, všechny řeči o ideologii a proprietárních systémech stranou, tato příručka by vám měla pomoci začít. A máme hotovo.