GNU/Linux >> Linux Esercitazione >  >> Cent OS

Atheros Wireless in Alma, CentOS e Rocky Linux

Non molto tempo fa, ho preso AlmaLinux per un secondo giro, questa volta per una revisione più dettagliata della distribuzione sulla mia nuovissima macchina IdeaPad 3. Le cose sono andate abbastanza bene, tranne un grosso problema evidente. Non avevo la connettività Wireless, subito dopo l'installazione. Questo è importante, perché non puoi davvero usare un sistema moderno senza (alcuni) network, specialmente all'inizio.

Presto, ho passato un paio d'ore cercando di risolvere questo problema. Il problema si è rivelato piuttosto bizzarro. Presumibilmente, avevo tutti i driver giusti e quant'altro, ma il sistema non poteva davvero utilizzare l'hardware. Una combinazione di due fattori ha contribuito al problema, che risolveremo in questo tutorial. Seguimi.

Problema in dettaglio

Quindi il problema che si verifica è il seguente. L'applet di sistema dice Wireless non connesso. Quando provi a connetterti, ti dice di attivare il Wi-Fi. Quando vai nel menu Sistema, ti dice che non è possibile trovare nessun adattatore. Tuttavia, sulla riga di comando, puoi vedere i moduli Atheros caricati in memoria (ath10k). Ciò significa che c'è qualcosa di sbagliato nell'avvio della scheda Wireless, anche se, presumibilmente, la funzionalità è presente.

lsmod |grep ath
ath10k_pci 49152 0
ath10k_core 471040 1 ath10k_pci
ath 36864 1 ath10k_core
mac80211 929792 1 ath10k_core
cfg80211 835584 3 ath,mac80

Soluzione 1:modulo di controllo radio specifico per laptop nella lista nera

La manifestazione del problema indica che qualcosa sta bloccando e/o impedendo il corretto avvio del dispositivo wireless. Se visiti il ​​Web, troverai un milione di ragioni e segnalazioni di bug per questo, specifiche per le carte Atheros, ma non solo. Tuttavia, il problema si riduce ancora a due possibilità:antenne radio disabilitate sul laptop (tramite switch hardware o software) o firmware incompatibile.

Sul mio IdeaPad 3 (e molti altri laptop Lenovo, in particolare la famiglia IdeaPad), in Linux, il controllo di radio, tasti di scelta rapida, ventole e retroilluminazione è governato dal modulo del kernel dell'ideapad. È indicato come ideapad o ideapad-laptop o simili. È possibile che questo modulo sia configurato in modo da entrare in conflitto con la funzionalità del dispositivo Wireless, ovvero che l'antenna Wireless sia disattivata per impostazione predefinita.

La prima cosa da provare è eseguire il comando rfkill per provare a sbloccare questo:

sudo rkfill sblocca il wifi

Se questo non funziona, puoi inserire nella lista nera il modulo dell'ideapad:questo ne impedirà il caricamento all'avvio del sistema e, si spera, consentirà la corretta inizializzazione del dispositivo Wireless. Questo viene fatto creando un file di testo in:

/etc/modprobe.conf/

Assegna un nome al file come:

ideapad.conf

All'interno di questo file, aggiungi la seguente riga:

ideapad nella lista nera

Se hai altri modelli di laptop, controlla le specifiche del tuo fornitore per il nome del modulo.

Riavvia la macchina e, idealmente, il problema verrà risolto.

Soluzione 2:firmware diverso per la tua scheda Wireless

È possibile che il firmware che ottieni con l'immagine della distribuzione non sia abbastanza moderno per la tua particolare scheda Wireless. In tal caso, puoi sostituire manualmente le immagini del firmware e ricaricare i moduli del kernel, che dovrebbero darti la giusta funzionalità.

Il firmware per le schede Atheros è disponibile sulla pagina GitHub di Kalle Valo. Per quanto ne so, Kalle è un ingegnere di Atheros e mantiene il repository con il firmware ufficiale per una varietà di dispositivi. Innanzitutto, devi controllare quale dispositivo hai. Puoi farlo con il comando lscpi -v:

...
02:00.0 Controller di rete:Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)
Sottosistema:Lenovo Device 0827
Flag:bus master, fast devsel, latenza 0, IRQ 64, IOMMU gruppo 8
Memoria a d0200000 (64 bit, non precaricabile) [size=2M]
Funzionalità:[40] Power Management versione 3
Funzionalità:[50] MSI:Enable+ Count=1/8 Maskable+ 64bit-
Funzionalità:[70] Express Endpoint, MSI 00
Funzionalità:[100] Segnalazione errori avanzata
Funzionalità:[148] Canale virtuale
Funzionalità:[168] Numero di serie del dispositivo 00-00-00-00-00-00-00-00
Funzionalità:[178] Report sulla tolleranza alla latenza
Funzionalità:[180] Sottostati PM L1
Driver del kernel in uso:ath10k_pci
Moduli del kernel:ath10k_pci
...

Sul mio laptop, è QCA6174. Nel repository GitHub, puoi quindi recuperare i file necessari. Ci sono cinque file in totale, inclusi:

board.bin
board-2.bin
firmware-4.bin
firmware-6.bin
firmware-sdio-6.bin

Il repository ha più revisioni di queste immagini disponibili, quindi potrebbe essere necessario eseguire più di un download per ottenere l'immagine del firmware corretta per la tua scheda. Il modo più semplice è prendere uno zip dell'intero repository o clonarlo, quindi scegliere selettivamente i file necessari. Naturalmente, è necessario eseguire questa operazione su un sistema dotato di connettività di rete, quindi copiare i file sul laptop interessato.

I file avranno nomi diversi:dovrai rinominarli nel formato sopra, ad esempio:

mv firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1 firmware-4.bin

Il firmware è archiviato in:

/lib/firmware/ath10k/QCA6174/hw3.0/

Copia i file da questa directory in un posto sicuro. Questo sarà il backup del firmware della distribuzione originale, nel caso in cui sia necessario ripristinarlo. Quindi, sostituisci i file esistenti con i nuovi download dal repository GitHub.

Puoi sostituire i file uno per uno o in blocco. Per la risoluzione dei problemi, è meglio procedere uno per uno e vedere se qualche revisione particolare aiuta. Il modo più semplice per ottenere ciò, senza riavviare, è scaricare prima i moduli ath10k esistenti dalla memoria, copiare i file, quindi ricaricare i moduli.

sudo modprobe -r ath10k_pci
sudo modprobe -r ath10k_core
sudo modprobe -r ath
sudo cp "file del firmware nel formato del nome corretto" /lib/firmware/ath10k/QCA6174/hw3.0 /
sudo modprobe ath10k_pci
sudo modprobe ath10k_core
sudo modprobe ath

Se carichi l'immagine sbagliata per il tuo dispositivo, vedrai l'errore "scheda magica non valida" nel registro del kernel. Puoi verificarlo con il comando dmesg:

...
[ 269.339694] ath10k_pci 0000:02:00.0:firmware ver WLAN.RM.4.4.1-00157-QCARMSWPZ-1 api 6 caratteristiche wowlan,ignore-otp,mfp crc32 90eebefb
[ 269.404243 ] ath10k_pci 0000:02:00.0:trovato board magic non valido
[ 269.411730] ath10k_pci 0000:02:00.0:board_file api 1 bmi_id N/A crc32 ed5f849a
[ 272.543623] ath10k_pci 0000.:02:htt richiesta versione scaduta
[ 272.543629] ath10k_pci 0000:02:00.0:impossibile impostare htt:-110
[ 272.601433] ath10k_pci 0000:02:00.0:impossibile avviare il core (-110)
[ 272.601505] ath10k_pci 0000:02:00.0:impossibile sondare fw (-110)
...

Se la blacklist del modulo non funziona, dovrebbe farlo.

Conclusione

Sono sempre costernato dai problemi hardware in Linux, soprattutto perché accrescono la mia percezione della fragilità dell'intero ecosistema, e anche perché mi ricordano la (mia) dolorosa dipendenza dai sistemi proprietari, sia come conseguenza di ciò, sia come la realtà semplice e crudele dello spazio desktop. Ma poi, trovare soluzioni a problemi grandi e complessi è sempre divertente.

Non ho riscontrato questo problema con Ubuntu, Manjaro o Fedora, del resto, sull'IdeaPad 3. Presumo che il problema sia unico per il raccolto dei server, principalmente perché non sono realmente pensati per essere utilizzati come sistemi desktop. Tuttavia, se hai voglia di eseguire una delle distribuzioni della community RHEL8 sulla tua macchina e ti capita di avere una scheda Atheros Wireless, a parte tutti i discorsi sull'ideologia e sui sistemi proprietari, questa guida dovrebbe aiutarti a iniziare. E abbiamo finito.


Cent OS
  1. Come installare e utilizzare php Composer in Rocky Linux/Centos 8

  2. Come installare il client FreeIPA su Rocky Linux/Alma Linux/CentOS 8

  3. Migra CentOS 8 su Rocky Linux

  4. Come creare un utente Sudo su Rocky Linux e CentOS

  5. Come installare e configurare Mono su Rocky Linux 8 e CentOS 8

Come installare la raccolta del compilatore GCC su CentOS 8 e Rocky Linux 8

Come installare Fish Shell su CentOS 8 e Rocky Linux 8

Come installare Webmin su CentOS 8 e Rocky Linux 8

Come installare e configurare Jenkins in Rocky Linux/Centos 8

Come installare Rabbitmq in Rocky Linux/Alma Linux/Centos 8

Come configurare la replica FreeIPA su Rocky Linux/Alma Linux/Centos 8