Hack de la semana
Tampoco quiere decir que haga un solo hack a la semana o que todas las semanas me vea obligado a hacer hacks, pero sí: esta vez ha sido necesario.
Ya es legendaria la estabilidad de scuba (elxwifi) :D. Es una máquina my vieja, en condiciones extremas (dentro de un tupperware). Y además tiene una Ralink 2400 que... bueno, no es la tarjeta, ni el driver es genial tampoco.
Resulta que a veces la tarjeta ra0
se va de paseo, y no hay manera de que funcione. A veces salta al punto de acceso que no debe, confundiendo a club radio
por truck
, y otras simplemente el driver se 'engancha'.
Teníamos ya un script dentro de cron
que cada minuto verificaba dicha tarjeta e intentaba forzar la asociación con el AP correcto, pero no iba (el driver no implementa esa extensión).
Así que, el hack:
#!/bin/sh PATH=/sbin:/usr/sbin:/bin:/usr/bin iwconfig ra0 | grep "00:40:05:AE:9F:02" > /dev/null if [ $? -ne 0 ]; then echo "Lázaro, ¡levántate y anda!" ifdown ra0 && sleep 5 && ifup ra0 echo "ifup ra0 == $?" fi
Cada minuto se comprueba que la MAC
de truck
aparezca en la información de la ra0
, lo que significa que todo está bien. Sino... bueno, sucio pero efectivo :P.
Se me olvidó poner el PATH
, necesario para que el shell que ejecute las cosas desde cron
encuentre los programas que el script utiliza. Felipe se dio cuenta cuando le llegaba un correo de error por minuto :D.
Los mensajes son importantes. La salida de la ejecución del script se envía por cron
al administrador (Felipe), lo que ayuda a saber que el hack funciona y con qué frecuencia. Además, a todo el mundo le gusta recibir correos de sus scripts ;).
La idea parte de un script de Santi que es algo más radical, todo porque él depende de las tarjetas Ralink mucho más que nosotros y se ve obligado a reiniciar la máquina desde el script cuando todo falla :|.
Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.