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