¿Cómo conectarse a WiFi sin reiniciar?


17

Acabo de poner una tarjeta recién flasheada (con 2017-09-07-raspbian-stretch-lite) en una Raspberry Pi Zero W.

Luego agregué estas líneas:

network={
    ssid="myWifiSsid"
    psk="myWifiPassword"
}

a /etc/wpa_supplicant/wpa_supplicant.conf.

Los datos ingresados ​​fueron 100% correctos. Esperé 10 minutos y verifiqué: no se conectaba automáticamente.

Luego volví a las instrucciones oficiales y corrí sudo wpa_cli reconfiguresegún lo sugerido. Mismo resultado: no se conectó.

Luego intenté reiniciar manualmente wlan0:

sudo ifconfig wlan0 down
sudo ifconfig wlan0 up

Sigue siendo el mismo: no se conecta.

Luego hice un reinicio y al instante se conectó automáticamente.

Es muy frustrante. Parece que las instrucciones oficiales no se prueban en absoluto.

Entonces, ¿qué falta aquí, cómo se puede hacer esto sin reiniciar?


1
También me he dado cuenta de esto. ¡Muy frustrante!
Quintin Balsdon

Respuestas:


19

También vi este problema con mi RaspberryPi Zero W usando 2017-09-07-raspbian-stretch-lite.

Actualizando el wpa_supplicant.confarchivo, sudo wpa_cli reconfigurey sudo systemctl restart wpa_supplicantno funcionó. Mi Pi no obtendría una IP wlan0.

Noté que wpa_supplicantse genera como hijo del dhcpcdservicio.

$ sudo systemctl status

└─dhcpcd.service
  ├─890 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0
  └─912 /sbin/dhcpcd -q -w

Descubrí que usar daemon-reload y reiniciar la dhcpcd.serviceunidad me funcionó.

sudo systemctl daemon-reload
sudo systemctl restart dhcpcd

Se parece que primero debe ejecutar sudo systemcl daemon-reloadantes de reiniciar dhcpcd. No estoy completamente seguro de por qué, pero parece que daemon-reloadalertará a las unidades de servicio para que cambien los archivos de configuración.

Si reinicié dhcpcdsin ejecutar daemon-reload, recibí esta advertencia. Warning: dhcpcd.service changed on disk. Run 'systemctl daemon-reload' to reload units., pero se reinició bien con o sin daemon-reload. Así que no creo que sea vital, pero probablemente sea una buena práctica.



4

Después de agregar una red en wpa_supplicant.conf:

Ejecute el cli
(aquí se utilizan 3 comandos: interfaz, reconfigurar y salir)

root@raspberrypi:~# wpa_cli
wpa_cli v2.4
Copyright (c) 2004-2015, Jouni Malinen <j@w1.fi> and contributors

This software may be distributed under the terms of the BSD license.
See README for more details.


Selected interface 'p2p-dev-wlan0'

Interactive mode

<3>CTRL-EVENT-SCAN-RESULTS
> interface wlan0
Connected to interface 'wlan0.
> reconfigure
OK
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>Trying to associate with XX:Xa:aX:Xa:XX:Xa (SSID='wifissid' freq=2437 MHz)
<3>Associated with XX:Xa:aX:Xa:XX:Xa
<3>WPA: Key negotiation completed with XX:Xa:aX:Xa:XX:Xa [PTK=CCMP GTK=CCMP]
<3>CTRL-EVENT-CONNECTED - Connection to XX:Xa:aX:Xa:XX:Xa completed [id=0 id_str=]
> quit

Luego verifique que tenga una dirección IP.

root@raspberrypi:~# ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.XX.XXX  netmask 255.255.255.0  broadcast 10.10.XX.XXX
        inet6 fe80::aab2:d96e:d3ef:836d  prefixlen 64  scopeid 0x20<link>
        ether bX:XX:Xb:XX:Xe:aX  txqueuelen 1000  (Ethernet)
        RX packets 162  bytes 31128 (30.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 75  bytes 11385 (11.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

3

Estoy usando un Raspberry Pi 3 con 2018-03-13-raspbian-stretchy mi problema es marginalmente diferente, pero encontré una solución, así que creo que esto también puede ayudarlo.

Arranco el RPi con la /etc/wpa_supplicant/wpa_supplicant.confconfiguración para que tenga un SSID y una contraseña configurados y el RPi se conecta automáticamente al SSID configurado en el arranque. Además, quería cambiar /etc/wpa_supplicant/wpa_supplicant.conf usando un script de procesamiento de texto automatizado y luego volver a cargar la configuración wifi .

Después de buscar un poco, encontré esta publicación en los foros oficiales de Raspberry Pi y encontré este conjunto de comandos dentro que me funcionó al menos:

sudo dhclient -r wlan0
sudo ifdown wlan0
sudo ifup wlan0
sudo dhclient -v wlan0

No sé cómo o por qué funcionan, así que no hay garantías ...


Esta es la única respuesta que me funcionó, también en Pi3 con estiramiento de raspian, ¡gracias!
smörkex

2

Debe ejecutar esta línea de comando para reiniciar la red.

/etc/init.d/networking restart


3
No en estiramiento!
MatsK

66
Idealmente, tampoco en jessie, ya que también está basado en systemd (no SysV); ese comando es anacrónico y, en el mejor de los casos, es compatible con la compatibilidad con versiones anteriores.
Ricitos de oro

No, no funciona Debe volver a configurar wpa supplicant y reiniciar dhcpcd
Hola Soy Edu Feliz Navidad

0

Puede usar la herramienta NetworkManager, que usa nmclicomandos para configurar un perfil de conexión.

Instálelo usando apt:

sudo apt-get install network-manager

Comenta wlane Ethernetinteractúa /etc/network/interfaces.

Reinicia el dispositivo.

Luego use:

sudo nmcli device wifi con "SSID" password "PSK" 

para conectarse a una red Wi-Fi.


No aconseje mezclar otra herramienta de red con las tres existentes (dhcpcd, Debian networking ifupdown, systemd-networkd). Raspbian no admite el administrador de red, por lo que debe configurarlo todo a mano. Primero entra en conflicto con dhcpcdy ifupdown. No lo respetas en tu respuesta. Luego, en Raspbian Stretch no hay entradas, por /etc/network/interfaceslo que no hay nada que comentar.
Ingo

Sí, tienes razón amigo, entran en conflicto con la red con otros dhcpcd y ifupdown. Pero NetworkManager parece ser la única forma de hacer esto, después de seguir los consejos anteriores. Las versiones raspbian lite de Raspberry pi no tienen otra opción que nmcli. No lo he probado en Stretch pero, durante la instalación, el administrador de red en sí dará la advertencia de conflicto. Si tiene una solución, siempre estoy listo para aprender ese método.
Rituraj Rautela

Simplemente con sudo systemctl stop wpa_supplicant@wlan0.servicey sudo systemctl start wpa_supplicant@wlan0.servicepuede detener e iniciar una conexión WiFi como desee. Cómo hacerlo, puede consultar Configurar una Raspberry Pi como punto de acceso: la forma fácil o Punto de acceso como repetidor WiFi, opcional con puente o Cambiar entre cliente wifi y punto de acceso sin reiniciar u otras soluciones similares.
Ingo

0

Tuve un problema similar con Raspbian GNU / Linux 10 (buster). Hice cambios en wpa_supplicant.conf y ejecuté

# wpa_cli -i wlan0 reconfigure

Pero no funcionó todo el camino.

# dhclient -v

Lo hizo funcionar.

Encontré información en https://kb.isc.org/docs/isc-dhcp-44-manual-pages-dhclient

Salida de

$ sudo dhclient -v
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/a0:f3:c1:26:04:9c
Sending on   LPF/wlan0/a0:f3:c1:26:04:9c
Listening on LPF/eth0/b8:27:eb:1f:ab:6e
Sending on   LPF/eth0/b8:27:eb:1f:ab:6e
Sending on   Socket/fallback
DHCPREQUEST for 192.168.7.28 on wlan0 to 255.255.255.255 port 67
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
DHCPACK of 192.168.7.28 from 192.168.7.1
RTNETLINK answers: File exists
bound to 192.168.7.28 -- renewal in 1717 seconds.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.