Le WiFi se déconnecte après une période de temps sur le Raspberry Pi, ne se reconnecte pas

14

J'ai finalement pu connecter mon Raspberry Pi à un réseau SSID caché (WPA2 Personal) en utilisant les paramètres ci-dessous (sans utiliser wpa_supplicant.conf).

Cependant, après quelques heures, il se déconnecte et ne se reconnecte pas.

  • Raspberry Pi B +, exécutant NOOBS.
  • Carte WiFi alimentée par USB (chipset Ralink RT5370)
  • Connecté à un SSID caché (je ne suis pas sûr que le SSID caché ait quelque chose à voir avec ce problème, peut-être un hareng rouge)

Voici le journal:

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

Voici 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 *********************************************************
Michée
la source
1
pouvez-vous partager votre sortie de ce sudo iwconfig wlan0que cela montre Power Mgmt: On? Si oui, vous devez le désactiver, ce sudo iwconfig wlan0 power offqui devrait résoudre votre problème
Shan-Desai
@ La solution Shan-Desai a résolu mon problème. Mon Raspberry Pi W se déconnecte toutes les 3 à 5 minutes. Merci beaucoup!
Dave

Réponses:

10

La seule façon pour moi de résoudre ce problème était d'écrire un script shell exécuté chaque minute par un travail cron. Il vérifie si le réseau est en panne, si c'est le cas, le reconnecte. Cela a très bien fonctionné la semaine dernière.

#!/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
Michée
la source
1
Salut. Avant d'utiliser ifup --force wlan0pourquoi vous utilisezifdown wlan0
S Andrew
@Andrew Je suppose que cela ne ferait rien autrement. Et si ifupcela ne fait rien, il ne provoque pas non plus de reconnexion automatique. Soit c'est la raison, soit il était plus facile de le coder de cette façon que de tester si cela fonctionnerait autrement.
lucidbrot
Dans mon cas, la partie reconnexion semble inutile. Pinging Google chaque minute maintient la connexion 100% stable.
gromit190
6

Il s'agit d'un comportement attendu; Le WiFi ne peut pas être garanti 100% du temps.

Cela s'applique à Raspbian Wheezy avant le 05/05/2015 pour plus tard (et Jessie) Voir Comment configurer le réseau / WiFi / IP statique

Si vous souhaitez qu'il se reconnecte automatiquement après la perte de connectivité, utilisez-le wpa-roamavecwpa_supplicant.conf)

PS Il n'est pas judicieux de publier votre SSID et 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
la source
Pouvez-vous donner un exemple d'utilisation de wpa-roam avec wpa_supplicant.conf? Je n'utilise plus le fichier conf parce que lorsque je mets les crédits dedans, il ne se connectera jamais au SSID caché pour une raison quelconque. BTW, que le SSID et le PSK ne sont pas valides, bien que je les supprime car ils sont une distraction. Merci.
Micah
2
J'ai énuméré le mien ci-dessus. le secret du SSID caché estscan_ssid=1
Milliways
3

Comme suggéré, vous pouvez utiliser wpa-roam, bien que je recommande d'utiliser wicd ou network manager. Ils s'occupent de tous les paramètres, ils traitent également de plusieurs réseaux et sont plus conviviaux.

Par exemple, wicd a un GUI curses que vous pouvez installer avec:

sudo apt-get install wicd-curses

Et courir avec:

wicd-curses
tfjgeorge
la source
1

avait les mêmes problèmes avec la déconnexion ... a à voir avec l'adaptateur sans fil. Mon linksys ae3000 se déconnecte tous les quelques jours. Je l'ai légèrement modifié pour fonctionner avec mes caméras USB de mouvement et partage nfs, plus une notification par e-mail ajoutée.

Entrée Crontab:

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

Script modifié:

#!/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
pompier
la source
0

J'ai changé les paramètres d'heure et tout a commencé à fonctionner pour moi.

Préférences-> Configuration du Raspberry Pi-> Onglet Localisation

Je me suis assuré que les 4 options étaient correctement définies pour mon emplacement.

plyons126
la source
0

J'ai eu le même problème, je l'ai résolu en rendant mon PI ping sur Google une fois par minute.

courir sudo crontab -e

Ajoutez ceci à la fin du fichier

* * * * * /bin/ping -c2 -I wlan0 8.8.8.8 >/dev/null
gromit190
la source
N'est-ce pas essentiellement la même que la réponse acceptée?
Dirk
Essentiellement, oui. Pratiquement non. Mon PI ne se reconnecte pas, car il n'est pas obligé. Les PO non plus, probablement.
gromit190