Il WiFi si disconnette dopo un certo periodo di tempo su Raspberry Pi, non si riconnette


14

Sono stato finalmente in grado di connettere il mio Raspberry Pi a una rete SSID nascosta (WPA2 Personal) usando le impostazioni seguenti (non usando wpa_supplicant.conf).

Tuttavia, dopo alcune ore si disconnette e non si riconnette.

  • Raspberry Pi B +, con NOOBS in esecuzione.
  • Scheda WiFi USB (chipset Ralink RT5370)
  • Connesso a un SSID nascosto (non sono sicuro che l'SSID nascosto abbia qualcosa a che fare con questo problema, potrebbe essere un'aringa rossa)

Ecco il 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

Ecco le / 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 *********************************************************

1
puoi condividere il tuo output di sudo iwconfig wlan0mostra Power Mgmt: On? In tal caso, è necessario disabilitarlo per sudo iwconfig wlan0 power offrisolvere il problema
Shan-Desai,

@ La soluzione Shan-Desai ha risolto il mio problema. Il mio raspberry Pi W si disconnetterà ogni 3-5 minuti. Molte grazie!
Dave,

Risposte:


10

L'unico modo in cui sono stato in grado di risolvere questo problema era scrivere uno script di shell che viene eseguito ogni minuto da un processo cron. Verifica se la rete è inattiva, in tal caso, la ricollega. Ha funzionato molto bene per l'ultima settimana.

#!/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

1
Ciao. Prima di usare il ifup --force wlan0motivo per cui stai usandoifdown wlan0
S Andrew

@Andrew La mia ipotesi è che altrimenti non farebbe nulla. E se ifupnon fa nulla, non provoca anche una riconnessione automatica. O questo è il motivo, oppure era più facile codificarlo in questo modo che testare se avrebbe funzionato diversamente.
lucidbrot

Nel mio caso, la parte di riconnessione sembra superflua. Il ping di Google ogni minuto mantiene stabile la connessione al 100%.
gromit190,

6

Questo è un comportamento previsto; Il WiFi non può essere garantito al 100% delle volte.

Questo vale per Raspbian Wheezy prima del 05-05-2015 per le versioni successive (e Jessie) Vedi Come si imposta la rete / WiFi / IP statico

Se si desidera che si riconnetta automaticamente dopo la perdita di connettività, utilizzare wpa-roaminsieme awpa_supplicant.conf)

PS Non è sensato pubblicare il tuo SSID e 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
}

Puoi fare un esempio dell'uso di wpa-roam insieme a wpa_supplicant.conf? Non sto più usando il file conf perché quando inserisco i crediti lì non si collegherebbe mai al SSID nascosto per qualche motivo. A proposito, che SSID e PSK non sono validi, anche se li rimuoverò perché sono una distrazione. Grazie.
Michea il

2
Ho elencato il mio sopra. il segreto del SSID nascosto èscan_ssid=1
Milliways,

3

Come suggerito puoi usare wpa-roam, anche se consiglierei di usare wicd o il gestore della rete. Si occupano di tutte le impostazioni, si occupano anche di più reti e sono più facili da usare.

Ad esempio wicd ha una GUI maledizioni che puoi installare con:

sudo apt-get install wicd-curses

E corri con:

wicd-curses

1

stava avendo gli stessi problemi con disconnect ... ha a che fare con l'adattatore wireless. Il mio linksys ae3000 si disconnette ogni pochi giorni. L'ho leggermente modificato per funzionare con le mie videocamere motion usb e la condivisione nfs più la notifica e-mail aggiunta.

Voce Crontab:

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

Script modificato:

#!/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" xxxxxxxxx@gmail.com < /dev/null  (send me an email so I know about this)
fi

0

Ho cambiato le impostazioni dell'ora e tutto ha iniziato a funzionare per me.

Preferenze-> Configurazione Raspberry Pi-> Scheda Localizzazione

Mi sono assicurato che tutte e 4 le opzioni fossero impostate correttamente per la mia posizione.



0

Ho avuto lo stesso problema, risolto rendendo il mio PI ping Google una volta al minuto.

correre sudo crontab -e

Aggiungi questo alla fine del file

* * * * * /bin/ping -c2 -I wlan0 8.8.8.8 >/dev/null

Non è essenzialmente la stessa della risposta accettata?
Dirk,

In sostanza sì. Praticamente no. Il mio PI non si riconnette, perché non è necessario. Nemmeno i PO, probabilmente.
gromit190,
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.