WiFi se desconecta después de un período de tiempo en Raspberry Pi, no se vuelve a conectar

14

Finalmente pude conectar mi Raspberry Pi a una red SSID oculta (WPA2 Personal) usando la configuración a continuación (sin usar wpa_supplicant.conf).

Sin embargo, después de unas horas se desconecta y no se vuelve a conectar.

  • Raspberry Pi B +, ejecutando NOOBS.
  • Tarjeta WiFi alimentada por USB (chipset Ralink RT5370)
  • Conectado a un SSID oculto (no estoy seguro de que el SSID oculto tenga algo que ver con este problema, podría ser una pista falsa)

Aquí está el registro:

Feb  6 14:36:01 raspberrypi wpa_supplicant[1641]: wlan0: CTRL-EVENT-DISCONNECTED bssid=90:72:40:1c:ed:c8 reason=4
Feb  6 14:36:01 raspberrypi kernel: [33883.785257] cfg80211: Calling CRDA to update world regulatory domain
Feb  6 14:36:01 raspberrypi ifplugd(wlan0)[1634]: Link beat lost.
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: Executing '/etc/ifplugd/ifplugd.action wlan0 down'.
Feb  6 14:36:11 raspberrypi dhclient: Internet Systems Consortium DHCP Client 4.2.2
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: Internet Systems Consortium DHCP Client 4.2.2
Feb  6 14:36:11 raspberrypi dhclient: Copyright 2004-2011 Internet Systems Consortium.
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: Copyright 2004-2011 Internet Systems Consortium.
Feb  6 14:36:11 raspberrypi dhclient: All rights reserved.
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: All rights reserved.
Feb  6 14:36:11 raspberrypi dhclient: For info, please visit https://www.isc.org/software/dhcp/
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: For info, please visit https://www.isc.org/software/dhcp/
Feb  6 14:36:11 raspberrypi dhclient: 
Feb  6 14:36:11 raspberrypi dhclient: Listening on LPF/wlan0/00:0f:60:01:de:14
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: Listening on LPF/wlan0/00:0f:60:01:de:14
Feb  6 14:36:11 raspberrypi dhclient: Sending on   LPF/wlan0/00:0f:60:01:de:14
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: Sending on   LPF/wlan0/00:0f:60:01:de:14
Feb  6 14:36:11 raspberrypi dhclient: Sending on   Socket/fallback
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: Sending on   Socket/fallback
Feb  6 14:36:11 raspberrypi dhclient: DHCPRELEASE on wlan0 to 192.168.128.254 port 67
Feb  6 14:36:11 raspberrypi ifplugd(wlan0)[1634]: client: DHCPRELEASE on wlan0 to 192.168.128.254 port 67
Feb  6 14:36:12 raspberrypi wpa_supplicant[1641]: wlan0: CTRL-EVENT-TERMINATING - signal 15 received
Feb  6 14:36:12 raspberrypi ifplugd(wlan0)[1634]: Program executed successfully.
Feb  6 14:36:14 raspberrypi ntpd[2157]: Deleting interface #2 wlan0, 192.168.128.122#123, interface stats: received=389, sent=396, dropped=0, active_time=33841 secs
Feb  6 14:36:14 raspberrypi ntpd[2157]: 192.96.207.244 interface 192.168.128.122 -> (none)
Feb  6 14:36:14 raspberrypi ntpd[2157]: 178.18.16.124 interface 192.168.128.122 -> (none)
Feb  6 14:36:14 raspberrypi ntpd[2157]: 204.2.134.164 interface 192.168.128.122 -> (none)
Feb  6 14:36:14 raspberrypi ntpd[2157]: 216.152.240.220 interface 192.168.128.122 -> (none)
Feb  6 14:36:14 raspberrypi ntpd[2157]: peers refreshed

Aquí está el / etc / network / interfaces

auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
    wpa-scan-ssid 1
    wpa-ap-scan 1
    wpa-key-mgmt WPA-PSK
    wpa-proto RSN WPA
    wpa-pairwise CCMP TKIP
    wpa-group CCMP TKIP
    wpa-ssid "Na*****"
    wpa-psk *********************************************************
Micah
fuente
1
¿Puedes compartir tu salida de sudo iwconfig wlan0muestra Power Mgmt: On? Si es así, debe deshabilitarlo, lo sudo iwconfig wlan0 power offque debería resolver su problema
Shan-Desai
La solución @ Shan-Desai solucionó mi problema. Mi Raspberry Pi W se desconectará cada 3-5 minutos. ¡Muchas gracias!
Dave

Respuestas:

10

La única forma en que pude resolver este problema fue escribir un script de shell que se ejecuta cada minuto por un trabajo cron. Comprueba si la red está inactiva, si es así, la vuelve a conectar. Ha funcionado muy bien durante la última semana.

#!/bin/bash

MY_PATH="`dirname \"$0\"`"              # relative
LOG_PATH="`( cd \"$MY_PATH\" && cd .. && pwd )`/log/network.log"
now=$(date +"%m-%d %r")

# Which Interface do you want to check
wlan='wlan0'
# Which address do you want to ping to see if you can connect
pingip='google.com'

# Perform the network check and reset if necessary
/bin/ping -c 2 -I $wlan $pingip > /dev/null 2> /dev/null
if [ $? -ge 1 ] ; then
    echo "$now Network is DOWN. Perform a reset" >> $LOG_PATH
    /sbin/ifdown $wlan
    sleep 5
    /sbin/ifup --force $wlan
else
    echo "$now Network is UP. Just exit the program." >> $LOG_PATH
fi
Micah
fuente
1
Hola. Antes de usar ifup --force wlan0por qué estás usandoifdown wlan0
S Andrew
@ Andrew Supongo que, de lo contrario, simplemente no haría nada. Y si ifupno hace nada, tampoco causa una reconexión automática. O esta es la razón, o fue más fácil codificarlo de esta manera que probar si funcionaría de otra manera.
lucidbrot
En mi caso, la parte de reconexión parece innecesaria. Hacer ping a Google cada minuto mantiene la conexión 100% estable.
gromit190
6

Este es el comportamiento esperado; No se puede garantizar el WiFi el 100% del tiempo.

Esto se aplica a Raspbian Wheezy antes del 2015-05-05 para más adelante (y Jessie). Consulte ¿Cómo configuro las redes / WiFi / IP estática?

Si desea que se vuelva a conectar automáticamente después de la pérdida de conectividad, use wpa-roamjunto conwpa_supplicant.conf)

PD: No es sensato publicar su SSID y PSK

/ etc / network / interfaces

auto lo

iface lo inet loopback
iface eth0 inet dhcp

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

iface home inet dhcp
iface default inet dhcp

/etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    scan_ssid=1
    ssid="xxx"
    psk="yyy"
    id_str="home"
    proto=RSN
    key_mgmt=WPA-PSK
    pairwise=CCMP
    auth_alg=OPEN
    eap=MD5
}
Milliways
fuente
¿Puedes dar un ejemplo del uso de wpa-roam junto con wpa_supplicant.conf? Ya no estoy usando el archivo conf porque cuando pongo los créditos allí nunca se conectaría al SSID oculto por alguna razón. Por cierto, ese SSID y PSK no son válidos, aunque los eliminaré ya que son una distracción. Gracias.
Micah
2
He enumerado el mío arriba. el secreto del SSID oculto esscan_ssid=1
Milliways
3

Como se sugirió, puede usar wpa-roam, aunque recomendaría usar wicd o el administrador de red. Se ocupan de todas las configuraciones, también manejan múltiples redes y son más fáciles de usar.

Por ejemplo, wicd tiene una interfaz gráfica de usuario que puedes instalar con:

sudo apt-get install wicd-curses

Y corre con:

wicd-curses
tfjgeorge
fuente
1

tenía los mismos problemas con la desconexión ... tiene que ver con el adaptador inalámbrico. Mi linksys ae3000 se desconecta cada pocos días. Lo modifiqué ligeramente para que funcione con mis cámaras usb de movimiento y nfs share además de notificaciones de correo electrónico agregadas.

Entrada de Crontab:

*/1 * * * * /root/netcheck.sh > /dev/null 2>&1

Script modificado:

#!/bin/bash

LOG_PATH="/var/log/network.log"
now=$(date +"%m-%d %r")

# Which Interface do you want to check (wlan = wireless, eth0 = ethernet)
iface='eth0'
# Which address do you want to ping to see if you can connect
pingip='google.com'

# Perform the network check and reset if necessary
/bin/ping -c 2 -I $iface $pingip > /dev/null 2> /dev/null
if [ $? -ge 1 ] ; then
    echo "$now Network is DOWN. Perform a reset" >> $LOG_PATH
    /sbin/ifdown $iface
    sleep 5
    /sbin/ifup --force $iface
    sleep 5
    /bin/mount -o remount /data (reconnects my NAS nfs share)
    sleep 2
    /etc/init.d/motion restart  (restarts motion to clean hung processes)
    sleep 3
    /etc/init.d/motion restart  (2nd restart for sanity sake, sometimes 1st restart doesn't pan out)
    mail -s "`hostname` $iface recovered" [email protected] < /dev/null  (send me an email so I know about this)
fi
bombero
fuente
0

Cambié la configuración de la hora y todo comenzó a funcionar para mí.

Preferencias-> Configuración de Raspberry Pi-> Pestaña Localización

Me aseguré de que las 4 opciones estuvieran configuradas correctamente para mi ubicación.

pliegues126
fuente
0

Tuve el mismo problema, lo resolví haciendo que mi PI ping Google una vez cada minuto.

correr sudo crontab -e

Agregue esto al final del archivo

* * * * * /bin/ping -c2 -I wlan0 8.8.8.8 >/dev/null
gromit190
fuente
¿No es esencialmente lo mismo que la respuesta aceptada?
Dirk
Básicamente sí. Prácticamente no. Mi IP no se vuelve a conectar, porque no tiene que hacerlo. Tampoco los OP, probablemente.
gromit190