Script para comprobar y reiniciar driver de la wifi en caso de cuelgue
He comprado hace poco un dispositivo WiFi a puerto USB que funciona con el driver 88x2bu del realtek. Aunque es bastante estable, no está incluido en el kernel, y el módulo va compilado vía dkms. En algún momento el driver me casca, así que he tenido que prepararme un script para reiniciarlo en esos casos:
#!/bin/sh
# Este script debe ser ejecutado como root para que funcione
echo $(date): Iniciamos Script. Iniciaremos comprobaciones \
en 60 segundos para darle tiempo a la wifi a arrancar
sleep 60
echo $(date): Empezamos
while [ 1 ] ; do
echo $(date): Iniciamos comprobación...
if !( ping -c 20 -W 30 192.168.10.1 &> /dev/null) && !( ping -c 20 -W 30 192.168.10.2 &> /dev/null)
then
echo $(date): No tenemos acceso a la red. ¿El driver habrá cascado?
echo $(date): Reinicio driver
rmmod 88x2bu && modprobe 88x2bu
((suma++))
sleep 20
echo $(date): $suma fallo. A los 5 salimos
if [ $suma -eq 5 ]
then
echo $(date): No hay red. Salimos
exit 1
fi
else
suma=0
echo $(date): La red funciona
sleep 60
fi
done
192.168.10.1 y 192.168.10.2 son dos dispositivos que tengo conectados siempre en mi casa. Cambialos por los que tu desees.
#!/bin/sh
# Este script debe ser ejecutado como root para que funcione
echo $(date): Iniciamos Script. Iniciaremos comprobaciones \
en 60 segundos para darle tiempo a la wifi a arrancar
sleep 60
echo $(date): Empezamos
while [ 1 ] ; do
echo $(date): Iniciamos comprobación...
if !( ping -c 20 -W 30 192.168.10.1 &> /dev/null) && !( ping -c 20 -W 30 192.168.10.2 &> /dev/null)
then
echo $(date): No tenemos acceso a la red. ¿El driver habrá cascado?
echo $(date): Reinicio driver
rmmod 88x2bu && modprobe 88x2bu
((suma++))
sleep 20
echo $(date): $suma fallo. A los 5 salimos
if [ $suma -eq 5 ]
then
echo $(date): No hay red. Salimos
exit 1
fi
else
suma=0
echo $(date): La red funciona
sleep 60
fi
done
192.168.10.1 y 192.168.10.2 son dos dispositivos que tengo conectados siempre en mi casa. Cambialos por los que tu desees.
Comentarios
Publicar un comentario