Il mio adattatore WiFi non funziona affatto, come risolvere?


55

Su questo sito vedo centinaia se non mille domande poste su problemi con un adattatore LAN wireless non rilevati / riconosciuti da Ubuntu. Alcuni adattatori mainstream sembrano essere completamente rotti nel supporto Linux, mentre altri richiedono solo alcuni semplici passaggi per farlo funzionare.

Le opzioni per farlo funzionare sembrano infinitamente enormi e non ho idea di dove iniziare!

Cosa viene considerato "best practice"? Quale ordine di cose da provare è più efficiente in termini di tempo, impegno e impone un rischio minimo per la mia installazione di Ubuntu? Ti prego, aiutami a risparmiare tempo e guidami cosa fare, passo dopo passo.

Risposte:


72

Questa risposta riguarda solo LAN wireless completamente non funzionali. Si tratta non di questioni di stabilità / prestazioni, o casi a metà lavoro. Tuttavia, alcuni passaggi possono essere utili nel caso in cui ti imbatti in loro e cerchi altre opzioni.

Preparazione

In questa risposta suppongo che tu abbia familiarità con almeno le seguenti attività: eseguire comandi in un terminale e installare normali pacchetti software Ubuntu. Se non hai familiarità con questi passaggi di base, inizia a leggere questo e questo .

  1. Ottieni la macchina connessa a Internet. Ciò rende l'esecuzione dei passaggi molto più semplice e l'uso degli Appunti per le azioni.

    Se un'altra scheda di rete funziona, dovrebbe essere semplice. Se a questo punto la tua unica scheda non funziona, trova delle alternative e sii creativo, ad esempio utilizzando una scheda di rete cablata USB o una scheda WiFi funzionante alternativa presa in prestito da un amico o un vicino.

  2. Assicurarsi di aver installato i seguenti pacchetti: lshw, rfkill.

  3. Aggiorna il tuo sistema. Installando tutti gli ultimi (regolari) aggiornamenti di sistema, le correzioni di bug già rilasciate dagli sviluppatori dopo il rilascio dovrebbero essere sul tuo PC. Non dimenticare di riavviare il sistema in seguito. Vedi anche Come aggiorno Ubuntu?

    Dopo aver applicato tutti gli aggiornamenti, riavviare. Potrebbe già funzionare in questa fase. In caso contrario, continua.

È davvero un problema al conducente?

Prima di tutto, si dovrebbe determinare se la scheda non viene riconosciuta e / o se si tratta di un interruttore di interruzione radio che le impedisce di funzionare. Seguire tutti i passaggi seguenti, poiché il problema potrebbe essere duplice o triplo:

  1. Corri sudo lshw -C networkin un terminale.

    Potrebbe essere necessario installare lshwprima.

    • Nel caso in cui siano elencati più dispositivi, individuare il dispositivo in questione.
    • Nel caso in cui sia elencato come *-network UNCLAIMED, è necessario seguire i passaggi in Installazione dei driver (più recenti) .
    • Nel caso in cui sia elencato come *-network(senza "Unclaimed"), l'output di seguito relativo al driver potrebbe essere rilevante in ulteriori passaggi, ad es.configuration: broadcast=yes driver=iwlwifi
    • Nel caso in cui il tuo dispositivo non sia elencato, prova i passaggi aggiuntivi in Identificazione dell'hardware esatto .
  2. Corri rfkill listin un terminale. Questo elenca lo stato dei radiointerruttori della radio. Uscita campione:

    1: phy0: Wireless LAN
            Soft blocked: no
            Hard blocked: no
    
    • Nel caso in cui si vede yessu Hard blocked: Consultare il manuale notebook per un interruttore hardware per Wireless LAN.
    • Nel caso in cui si vede yesil Soft blocked: tasti di scelta rapida del notebook possono aiutare l'attivazione di esso, così come colpire "Enable Wireless" nel applet Network Manager. Se ciò non riesce a rimuovere il blocco software, eseguire sudo rfkill unblock all.
    • Nel caso in cui non visualizzi alcun kill switch elencato: questo potrebbe non essere applicabile per il tuo dispositivo. Di solito solo i PC portatili sono dotati di interruttori di sicurezza.
  3. Solo per dispositivi USB: escludi problemi a livello USB.

    • Preferibilmente, provane uno direttamente collegato al tuo mainbord, evitando hub o connettori del case del tuo computer.
    • Prova a utilizzare un altro tipo di porta USB (ad es. USB 2.0 invece della porta USB 3.0).
    • Vai a Identificare l' hardware esatto e vedi se riesci a vedere alcuni messaggi di errore quando colleghi il dispositivo.
    • Prova un altro cavo (se presente) che hai verificato che funzioni.

Installazione di driver (più recenti)

Questi sono alcuni passaggi ovvi, sani e innocui da adottare, evitando quelli elencati nelle Cose da evitare, se possibile .

  1. Prova a vedere se Ubuntu suggerisce di installare driver aggiuntivi. Fare riferimento a Come installare driver aggiuntivi? per ulteriori informazioni su come eseguire questa operazione.

  2. Installa un firmware aggiuntivo poiché potrebbe essere necessario per il tuo hardware.

    • Assicurati di aver abilitato multiversecome pubblicato in Come posso abilitare il repository "multiverso"?
    • Installare sia linux-firmwaree linux-firmware-nonfreepacchetti, ad esempio, sudo apt-get install linux-firmware linux-firmware-nonfreee riavviare.
  3. Prova i moduli del kernel backported (driver) dal pacchetto compat-wireless. Ubuntu fornisce pacchetti di compat-wireless delle versioni più recenti del kernel Linux per il kernel con distribuzione stabile (disponibile dall'11.10 Oneiric Ocelot).

    • Trova gli ultimi disponibili cercando con il tuo strumento di gestione dei pacchetti preferito. Al momento della stesura, questo era linux-backports-modules-cw-3.6-quantal-genericper Quantal. Nel prossimo futuro, un 3.7pacchetto potrebbe essere fuori.
    • Installalo, ad es. sudo apt-get install linux-backports-modules-cw-3.6-quantal-genericPer Quantal o sudo apt-get install linux-backports-modules-cw-3.6-precise-genericPrecise. Quindi riavviare.

    Nel caso in cui si stia eseguendo una versione LTS (ad esempio Precise o Lucid), i kernel backportati di tutte le versioni successive vengono forniti come pacchetto. Al momento in cui scrivo Quantal è l'ultima versione dopo Precise e il pacchetto è linux-image-generic-lts-quantale avvia nel tuo nuovo kernel.

  4. Da qui in poi, dovresti provare a provare una versione più recente di Ubuntu per vedere se ha ottenuto il supporto per il tuo hardware, semplicemente avviando da un Live CD / USB. Considera anche di provare l'ultima Beta / RC di Ubuntu + 1. Se funziona, l'approccio più semplice è semplicemente aspettare la nuova versione.

  5. Parte dell'hardware è completamente rotto nelle installazioni predefinite, di solito perché il fornitore non sta rilasciando (tutto) il codice sorgente o non consente la ridistribuzione di tutti i moduli richiesti tramite Ubuntu. Vedi la sezione Hardware che richiede particolare attenzione in basso per vedere se il tuo dispositivo (chipset) è elencato.

  6. Prova l'ultimo kernel Linux stabile. Questo è un approccio meno innocuo e può rompere altre cose. Ciò non dovrebbe essere necessario poiché i driver wireless più recenti sono forniti dal pacchetto compat-wireless nell'opzione precedente. Tuttavia, potrebbe essere solo un po 'più recente e quindi includere un bugfix che ti aiuta.

    • Vai alla kernel.ubuntu.comsezione download e identificare l'ultima versione stabile (ad esempio, v3.7.1-raringal momento della scrittura).
    • Scarica tutti i .debfile per la tua architettura (es. amd64O i386), oltre a quelli con allil nome.
    • Installali tutti in una volta emettendo ad esempio:

      cd Downloads
      sudo dpkg -i linux-headers-3.7.1-030701-generic_3.7.1-12345678_amd64.deb linux-image... # include all
      
    • e, infine, riavvia il tuo nuovo kernel.

    • se il nuovo kernel non funziona per te o introduce altri problemi, avvia il tuo sistema usando il kernel più vecchio (es. tieni premuto Shiftdurante la fase di avvio iniziale per selezionarlo nel menu Grub) e quindi rimuovi i pacchetti usando la tua gestione dei pacchetti, ad es sudo apt-get remove linux-\*3.7.1\*.

Identificazione dell'hardware esatto

Il prodotto che hai probabilmente è stato venduto utilizzando un nome commerciale completamente irrilevante per il tuo problema. La maggior parte dei fornitori usa solo chipset di produttori come Broadcom, Atheros, Ralink o Intel mentre il prodotto stesso potrebbe non avere questo nome. Un esempio di questo: un adattatore ThinkPad 11a / b / g / n Wireless LAN Mini Express potrebbe in realtà essere solo un Atheros AR5418. Il rebrand Thinkpad di solito non influisce sul supporto hardware in Linux, ma lo fa il chipset utilizzato . Pertanto, è di grande importanza identificare il chipset.

  • PCI e dispositivi integrati (ad es. PC portatili):

    lspci -nn | grep -i network
    
  • Dispositivi USB:

    lsusb
    

    In caso di problemi nell'identificarlo da questo elenco:

    1. Scollegare il dispositivo.
    2. Apri un terminale ed esegui sudo tail -n 0 -f /var/log/syslog
    3. Ricollegare il dispositivo e dare al kernel / dispositivo qualche secondo per inizializzare.
    4. Arrestare il comando premendo Ctrl+ C. L'output dovrebbe aiutare a identificarlo dall'elenco.
    5. Verificare la menzione dell'output unable to enumerate USB device. Se tale output è presente, il dispositivo non sta già comunicando a livello USB. Probabilmente stai riscontrando un problema hardware: verifica la presenza di cavi / connettori rotti, problemi di alimentazione, hub rotti, altro hardware rotto. A questo punto, non preoccuparti di gestire i driver: correggi prima la comunicazione USB.

Nel caso in cui l'hardware non sia elencato, questo potrebbe non essere correlato all'adattatore, ma un errore generale del bus PCI / USB. Questo è considerato al di fuori dell'ambito di un problema WiFi. Si noti che alcuni notebook hanno adattatori WiFi integrati collegati a una porta USB interna, quindi potrebbe essere elencato come USB in questo caso.

Esempio di output:

$ lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. ...
                            ^^^^-- product ID
                       ^^^^------- vendor ID

$ lspci -nn | grep -i network
04:00.0 Network controller [0280]: Intel Corporation [...] [8086:4238] (rev 3e)
                                                vendor ID --^^^^
                                               product ID -------^^^^

Suggerimenti sull'uso di Google

  • Utilizzare gli ID numerici del prodotto / fornitore identificati dai comandi emessi.
  • Utilizzare linuxcome parola chiave con esso, piuttosto che Ubuntu.
  • Prova a utilizzare il nome del chipset del dispositivo come elencato nell'output nei passaggi di Identificazione dell'hardware esatto . Esempi: AR9285, BCM4311, Intel+ 6300.
  • Evitare di utilizzare parole chiave non correlate al supporto hardware. Ad esempio, l'ambiente desktop non è correlato, quindi utilizzare al Ubuntuposto di Lubuntu.
  • Cerca di essere sensibile alle informazioni "generali" sul tuo dispositivo, piuttosto che concentrarti su soluzioni specifiche, ad es. "Per questo dispositivo è necessario il firmware" o rapporti sugli utenti che funzionavano immediatamente in una versione precedente.

Non ho avuto fortuna con tutte le opzioni. Cosa devo fornire in una nuova domanda?

Prima di pubblicare una nuova domanda, cerca in questo sito usando le parole chiave da Identificazione dell'hardware esatto .

  • Tutti gli output pertinenti (imprevisti o errori) dalle opzioni in questa risposta.
  • Rilevante output dei passaggi eseguiti nella sezione Identificazione dell'hardware esatto .
  • Il kernel in esecuzione e le versioni che hai provato. Utilizzare il uname -rcomando per identificare la versione del kernel.
  • Altre versioni di Ubuntu che hai provato.

Cose da evitare se possibile

  • Compilare dalla fonte (es. In esecuzione make, sudo make install).

    • Ciò può sovrascrivere i file di sistema e confondere la gestione dei pacchetti. L'installazione in questo modo può funzionare, ma può interrompersi in qualsiasi momento se gli aggiornamenti di gestione dei pacchetti sovrascrivono nuovamente i file.
    • Può portare a errori imprevisti che possono essere difficili da risolvere per un utente inesperto.
    • È difficile annullare tutte le modifiche apportate sudo make installnel caso in cui desideri ripristinare le tue azioni.
  • Approcci di Ndiswrapper.

    • Questo "wrapper" attorno ai driver di Windows dovrebbe essere provato solo come ultima risorsa, poiché è molto inefficiente emulare un ambiente Windows su Linux per i driver hardware.
    • La stabilità e le prestazioni sono generalmente riportate come basse.

Hardware che richiede cure particolari

  • Dispositivi Broadcom BCM43xx. Si prega di fare riferimento a questa risposta per un bel tutorial su come far funzionare questi dispositivi.

risposta meravigliosa.
Denis

1
Grazie per la magnifica risposta. Ma non sono in grado di installare linux-firmware-nonfree su Ubuntu 16.04. Indipendentemente dall'elenco delle fonti. Può essere in qualche modo sostituito?
Bunyk,

BunykProva a cercare i pacchetti della tua distro usando sudo apt search (package name)e vedi se mostra un pacchetto aggiornato eventualmente rinominato.
Yokai,

Come primo passo MOLTO più semplice, puoi provare a disabilitare Secure Boot in UEFI / BIOS. In modo fastidioso, ha funzionato per me. Non contento che si escludano a vicenda sul mio Yoga 3.
Chiramisu,

1

Su alcuni computer, incluso il Macbook Air 2013, sono inclusi i driver wifi corretti ma non abilitati per impostazione predefinita perché sono proprietari. Apri l'applicazione "Software e aggiornamenti", vai alla scheda "Driver aggiuntivi" e, se ci sono driver elencati per la tua scheda wireless, abilitalo e premi applica modifiche. Se fossero i driver giusti, il tuo wifi inizierà immediatamente a funzionare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.