Raspberry Pi WiFi szétcsatlakozás
Bizonyos időközönként a Pi úgy gondolja, hogy nem akar tovább kommunikálni a routerrel és lekapcsolja a wifi-t. Volt, hogy 1-2 napot ment, de volt, hogy újraindítás után 1-2 órával már el is dobta a kapcsolatot…
Az alábbi script-et cronban ( @reboot ) meghívva figyeli a csatlakozást és szükség esetén újra aktiválja a wlan0-t:
#!/bin/bash while true ; do if ifconfig wlan0 | grep −q "inet addr:" ; then sleep 60 else echo "Network connection down! Attempting reconnection." ifdown −−force wlan0 sleep 10 ifup −−force wlan0 sleep 10 fi done
UPDATE 2017.01.31⌗
Cron megvalósítás:
Hozzuk létre a /bin/network-monitor.sh fájlt, az alábbi tartalommal:
#!/bin/bash LOGFILE=/tmp/network-monitor.log if ifconfig wlan0 | grep -q "inet addr:" ; then echo "$(date "+%m %d %Y %T") : Network is OK" >> $LOGFILE else echo "$(date "+%m %d %Y %T") : Connection down! Attempting reconnection." >> $LOGFILE ifup --force wlan0 OUT=$? #save exit status of last command to decide what to do next if [ $OUT -eq 0 ] ; then STATE=$(ifconfig wlan0 | grep "inet addr:") echo "$(date "+%m %d %Y %T") : Current state is" $STATE >> $LOGFILE else echo "$(date "+%m %d %Y %T") : Failed" >> $LOGFILE fi fi
Arch linux esetén használjuk ezt:
#!/bin/bash LOGFILE=/tmp/network-monitor.log if ifconfig wlan0 | grep -q "inet " ; then echo "$(date "+%m %d %Y %T") : Network is OK" >> $LOGFILE else echo "$(date "+%m %d %Y %T") : Connection down! Attempting reconnection." >> $LOGFILE ifconfig wlan0 up OUT=$? #save exit status of last command to decide what to do next if [ $OUT -eq 0 ] ; then STATE=$(ifconfig wlan0 | grep "inet ") echo "$(date "+%m %d %Y %T") : Current state is" $STATE >> $LOGFILE else echo "$(date "+%m %d %Y %T") : Failed" >> $LOGFILE fi fi
Adjunk futtatási jogot a fájlnak:
chmod +x /bin/network-monitor.sh
Adjuk hozzá az alábbi sort a root cronjához (sudo crontab -e):
*/5 * * * * network-monitor.sh
Olvass mást is