GNU/Linux >> Linux Esercitazione >  >> Linux

Come abilitare Broadcom Wireless su Manjaro

Ecco un problema interessante. Diverse settimane fa, ho testato Manjaro 18.0.4 Illyria sul mio laptop HP Pavilion e mi sono imbattuto in un fenomeno interessante. Il laptop è dotato di una scheda Broadcom Wireless e nella sessione live, sia con driver gratuiti che non, la rete era attiva e funzionante. Tuttavia, dopo l'installazione, non avevo Wireless.

Osservando l'aspetto del sistema, ho trovato un errore che diceva errore WLC_SCAN (-22). Una volta che ho colpito l'Intertubes con questa ricerca, si è scatenato l'inferno. Ho trovato dozzine di post sul forum di Arch e Manjaro che parlano di questo problema. C'erano alcune soluzioni offerte, ma erano inefficaci o molto difficili da implementare. Quindi ho deciso di provare a risolvere questo problema da solo, da qui questa guida. Seguimi.

Problema in dettaglio

A quanto pare, nel mio caso, è stata visualizzata l'icona Wireless e Network Manager ha elencato un certo numero di punti di accesso nelle vicinanze del laptop. Ma quando ho provato a connettermi, non sarebbe successo nulla. Digitavo la password, aspettavo, quindi il punto di accesso selezionato scompariva semplicemente dall'elenco e non veniva stabilita alcuna connessione. Eseguendo dmesg, ho visto il seguente testo:

[ 526.274664] IPv6:ADDRCONF(NETDEV_UP):wlo1:collegamento non pronto
[ 526.276614] ERRORE @wl_cfg80211_scan :
[ 526.276619] Errore WLC_SCAN (-22)

Avevo una scheda di rete wireless identificata (attiva e funzionante). Il modulo (gratuito) del kernel wl è stato caricato in memoria. Tuttavia, il sistema non è stato in grado di stabilire una connessione. La disattivazione di IPv6 non ha aiutato:questo è solo un artefatto del mancato utilizzo di IPv6 sui router.

Ho provato alcune delle soluzioni rapide suggerite nei vari thread. Uno di questi consisteva nell'utilizzare il pulsante hardware sulla custodia del laptop per attivare/disattivare l'antenna wireless, quindi controllare lo stato con il comando rfkill. Alcune persone hanno riferito che questo li ha aiutati a "sbloccare" le loro carte. Non ha funzionato per me.

rfkill list
0:hp-wifi:Wireless LAN
Soft bloccato:no
Hard bloccato:sì
1:hp-bluetooth:Bluetooth
Soft bloccato:sì
Bloccato hard:sì
2:phy0:Wireless LAN
Bloccato soft:no
Bloccato hard:no

Non volevo iniziare a giocherellare con te a questo punto, provare broadcom-wl-dkms e altri suggerimenti e trucchi menzionati. Volevo vedere se potevo risolverlo con modifiche minime allo stato del mio sistema e, si spera, senza bisogno di download tramite rete cablata (o simile).

Soluzione

Osservando altre distribuzioni che ho usato su questa macchina, inclusa la Fedora 30 alquanto problematica, così come altre che avevano connettività e velocità di rete buone e ragionevoli, mi sono reso conto che avrei dovuto usare i moduli del kernel b43 per il dispositivo Wireless piuttosto rispetto al wl blob. Il primo passo è stato scaricare manualmente il modulo esistente (wl) e caricare quello b43:

sudo modprobe -r wl

sudo modprobe b43

Una volta fatto questo, il problema è cambiato. Non avevo più il Wireless, anche se il modulo b43 è stato caricato in memoria. Quindi ho controllato ancora una volta i messaggi di sistema e ho visto il seguente errore:

[ 120.170582] Supporto per le revisioni dei core 0x17 e 0x18 disabilitato dal modulo param allhwsupport=0. Prova b43.allhwsupport=1
[ 120.170590] b43:probe di bcma0:1 non riuscito con errore -524
[ 120.170611] Driver Broadcom 43xx caricato [ Caratteristiche:PNLS ]

Come dice l'errore, dovevo caricare il modulo con parametri diversi:

sudo modprobe b43 allhwsupport=1

Successo! Una volta fatto ciò, la scheda Wireless è tornata in vita, sono stato in grado di connettermi e utilizzare la rete perfettamente. Quindi il problema è risolto, ma dobbiamo ancora capire perché e quindi abilitare automaticamente l'uso del modulo b43 all'avvio.

Moduli inseriti nella lista nera

Per qualche motivo, sia l'edizione gratuita che quella non libera di Manjaro Illyria hanno il modulo b43 nella lista nera, il che spiegherebbe perché non sarebbero stati caricati all'avvio. Puoi verificarlo esaminando il contenuto del file denominato linux419-broadcom-wl.conf in /etc/modprobe.d. All'interno è stata elencata l'intera gamma di moduli rilevanti, inclusi b43, b43legacy, bcma, ssb e altri.

Abilita caricamento b43 all'avvio

Ora che abbiamo una correzione manuale, dobbiamo renderla permanente. Ciò richiede la modifica di due file. Uno, è necessario aggiungere b43 all'elenco dei moduli da avviare in /etc/modules-load.d/modules.conf. Se catturi il contenuto di questo file, mostrerà qualcosa del tipo:

# Elenco dei moduli da caricare all'avvio

Devi aggiungere b43 sotto, in questo modo:

# Elenco dei moduli da caricare all'avvio
b43

Ma non è tutto. Dobbiamo aggiungere un'opzione di caricamento del modulo in /etc/modprobe.d. Questo è simile a quello che abbiamo fatto con la scheda Realtek Wireless per farla funzionare sui vecchi kernel 3.X. È necessario creare un file di configurazione con il seguente formato:"nome modulo".conf. In questo caso, b43.conf. All'interno di questo file, abbiamo bisogno dell'opzione allhwsupport:

opzioni b43 allhwsupport=1

Per verificare, il file dovrebbe assomigliare a questo:

cat /etc/modprobe.d/b43.conf
opzioni b43 allhwsupport=1

E questo è tutto. Riavvia e avrai il tuo Wireless attivo e funzionante.

Conclusione

Eccoci. Questo non era banale. Ma lo trovo più elegante della compilazione e della creazione manuale di moduli e del dover utilizzare una rete separata solo per prendere i pacchetti necessari. Il fatto che ci siano anche due diverse directory che devi usare per abilitare il caricamento del modulo rende anche questo un po' più complicato.

Ad ogni modo, la soluzione a lungo termine è fare in modo che la distribuzione rilevi automaticamente l'hardware potenzialmente "cattivo" già nella fase live e apporti le modifiche di conseguenza:installi strumenti di compilazione e intestazioni, modifichi la configurazione del sistema in anticipo e così via, così quando l'utente accede la prima volta funziona tutto. Spero che tu abbia trovato utile questo tutorial. Fate attenzione, Manjarians.


Linux
  1. Come abilitare le statistiche HAProxy

  2. Come abilitare l'inoltro IP su Linux

  3. Come abilitare HTTP2 in NGINX

  4. Come far funzionare una scheda wireless Broadcom Bcm4312?

  5. Come abilitare la partizione di swap Linux?

Come disinstallare le applicazioni WINE

Come abilitare IPv6 in Nginx?

Come abilitare la compressione GZIP in Nginx

Come abilitare un repository EPEL

Come abilitare i backup su cloud

Come abilitare l'autenticazione in chiaro in Dovecot?