Come ottenere la connessione Wi-Fi all'avvio?


30

Sistema
operativo Raspberry Pi modello B : Raspbian

Sto eseguendo il mio Pi senza testa (attualmente attraverso una connessione Ethernet diretta). Ho un dongle USB WiFi. Vorrei che il WiFi si avviasse all'avvio e si connettesse tramite DHCP.

http://rpi.tnet.com/project/faqs/headlessportablewifi suggerisce che non ho bisogno di cambiare effettivamente / etc / network / interfacce dall'impostazione predefinita:

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Ho configurato /etc/wpa_supplicant/wpa_supplicant.conf per la mia rete.

Quando avvio il Pi, WiFi non si connette immediatamente. Ma se eseguo SSH ed eseguo sudo ifup wlan0, il Pi si collega bene.

Non è qualcosa che il Pi dovrebbe fare nel proprio processo di avvio? Potrei presumibilmente scrivere a qualche dotfile per eseguire questo comando, ma vorrei farlo nel modo corretto (e imparare come funziona il mio sistema).

So di poter anche impostare un indirizzo IP statico per ogni rete WiFi che voglio usare: Come configurare più reti WiFi? . Ma preferirei avere una soluzione semplice in cui devo solo inserire un paio di righe su /etc/wpa_supplicant/wpa_supplicant.conf per aggiungere una nuova rete WiFi.

Qual è il pezzo che mi manca qui?

Risposte:


24

La configurazione predefinita di Raspbian / etc / network / interfaces non si connette al WiFi all'avvio. Le linee chiave della pagina man delle interfacce sono:

Le righe che iniziano con la parola "auto" vengono utilizzate per identificare le interfacce fisiche da attivare quando ifup viene eseguito con l'opzione -a. (Questa opzione è utilizzata dagli script di avvio del sistema.)

...

Le righe che iniziano con la parola "auto" vengono utilizzate per identificare le interfacce fisiche da attivare quando ifup viene eseguito con l'opzione -a. (Questa opzione è utilizzata dagli script di avvio del sistema.)

Il primo pezzo mancante era la linea auto wlan0. Per quanto ne so, può andare ovunque nel file.

Funziona fino a quando non si tenta l'avvio senza il cavo Ethernet collegato. Quindi, il WiFi non si connette all'avvio e deve essere attivato manualmente eseguendo sudo ifup wlan0o scollegando e reinserendo il dongle Wi-Fi.

Il problema è causato dal demone ifplugd , che accende e spegne i dispositivi di rete quando li colleghi o li rimuovi. Puoi riconfigurarlo o puoi semplicemente rimuoverlo con sudo apt-get purge ifplugd.

Se ifplugd è stato rimosso , è necessario aggiungere le seguenti linee a / etc / network / interfaces in modo che anche la connessione ethernet si colleghi quando è collegata:

auto eth0
allow-hotplug eth0

Non sono sicuro se le autolinee siano strettamente necessarie o se hotplug gestisca l'avvio corretto in assenza di ifplugd , ma questo ha funzionato per me.

Il mio file di lavoro dice:

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

2
hai un refuso su "auth eth0"? dovrebbe essere "auto eth0"?
Jordan Sitkin,

2
una piccola correzione del post di @katriel: il servizio che deve essere rimosso si chiama ifplugd e non ifupd
dh1tw

@ DH1TW e sei mesi dopo ... Non scriverò mai più una di queste cose dalla memoria
Katriel,

Per la cronaca, sto usando wpa_supplicant, quindi ho appena abilitato il serviziosudo systemctl enable wpa_supplicant.service
Daniel Argüelles,

0

Ho avuto lo stesso problema. Controlla le impostazioni R / W del tuo /etc/network/interfaces.

L'ho fatto chmod 600 /etc/network/interfacese il mio problema era sparito.

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.