¿Cómo obtener Wi-Fi para conectarse en el arranque?

30

Raspberry Pi Modelo B
OS: Raspbian

Estoy ejecutando mi Pi sin cabeza (actualmente a través de una conexión Ethernet directa). Tengo un dongle WiFi USB. Me gustaría que el WiFi se inicie en el arranque y se conecte por DHCP.

http://rpi.tnet.com/project/faqs/headlessportablewifi sugiere que no necesito cambiar realmente / etc / network / interfaces del valor predeterminado:

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

He configurado /etc/wpa_supplicant/wpa_supplicant.conf para mi red.

Cuando inicio el Pi, el WiFi no se conecta de inmediato. Pero si entro SSH y ejecuto sudo ifup wlan0, el Pi se conecta bien.

¿No es esto algo que el Pi debería hacer en su propio proceso de arranque? Presumiblemente podría escribir y decirle a algún dotfile que ejecute este comando, pero me gustaría hacerlo de la manera adecuada (y aprender cómo funciona mi sistema).

Sé que también puedo configurar una dirección IP estática para cada red WiFi que quiero usar: ¿Cómo configurar múltiples redes WiFi? . Pero preferiría tener una solución simple donde solo tengo que ingresar un par de líneas en /etc/wpa_supplicant/wpa_supplicant.conf para agregar una nueva red WiFi.

¿Cuál es la pieza que me falta aquí?

katriel
fuente

Respuestas:

24

La configuración predeterminada de Raspbian / etc / network / interfaces no se conecta a WiFi en el arranque. Las líneas clave de la página de manual de interfaces son:

Las líneas que comienzan con la palabra "auto" se utilizan para identificar las interfaces físicas que se mostrarán cuando ifup se ejecute con la opción -a. (Esta opción es utilizada por los scripts de arranque del sistema).

...

Las líneas que comienzan con la palabra "auto" se utilizan para identificar las interfaces físicas que se mostrarán cuando ifup se ejecute con la opción -a. (Esta opción es utilizada por los scripts de arranque del sistema).

La primera pieza que faltaba era la línea auto wlan0. Hasta donde yo sé, puede ir a cualquier parte del archivo.

Eso funciona hasta que intente arrancar sin el cable de ethernet enchufado. Luego, WiFi no se conecta al arrancar y debe activarse manualmente al ejecutar sudo ifup wlan0o desenchufar y reinsertar el dongle Wi-Fi.

El problema es causado por el demonio ifplugd , que enciende y apaga los dispositivos de red cuando los enchufas o los quitas. Puede reconfigurarlo o simplemente eliminarlo con sudo apt-get purge ifplugd.

Si ha eliminado ifplugd , debe agregar las siguientes líneas a / etc / network / interfaces para que la conexión ethernet también se conecte cuando se conecte:

auto eth0
allow-hotplug eth0

No estoy seguro de si las autolíneas son estrictamente necesarias o si hotplug maneja el arranque correctamente en ausencia de ifplugd , pero esto funcionó para mí.

Mi archivo de trabajo 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
katriel
fuente
2
¿tienes un error tipográfico en "auth eth0"? debería ser "auto eth0"?
Jordan Sitkin
2
una pequeña corrección de la publicación de @katriel: el servicio que debe eliminarse se llama ifplugd y no ifupd
dh1tw
@ DH1TW y seis meses después ... nunca volveré a escribir una de estas cosas de memoria
katriel
Para el registro, estoy usando wpa_supplicant, así que acabo de habilitar el serviciosudo systemctl enable wpa_supplicant.service
Daniel Argüelles
0

Yo tuve el mismo problema. Verifique la configuración de r / w de su /etc/network/interfaces.

Lo hice chmod 600 /etc/network/interfacesy mi problema desapareció.

Gero
fuente