¿Se acuerdan del detector de tráfico no deseado para OpenWRT?. Bueno, el tema es que como dije en mi post anterior, al actualizar a OpenWRT Kamikaze, la utilidad gpio dejó de funcionar, por lo que el feedback visual que proporcionaba este hack si alguien accedía a nuestra red, desapareció.
La solución es más simple de lo que parece, ya que aparentemente a partir de la versión RC6 de White Russian (creo) los leds están presentes en /proc/diag/led como se ve a continuación:
root@OpenWrt:/proc/diag/led# ls -l
-r-------- 1 root root 0 Jan 1 01:29 dmz
-r-------- 1 root root 0 Jan 1 01:29 power
-r-------- 1 root root 0 Jan 1 01:29 ses_orange
-r-------- 1 root root 0 Jan 1 01:29 ses_white
-r-------- 1 root root 0 Jan 1 01:29 wlan
root@OpenWrt:/proc/diag/led#
Esto permite que si queremos por ejemplo encender el led naranja detrás del logo de Cisco, sólo tengamos que hacer:
root@OpenWrt:/proc/diag/led# echo "1" > /proc/diag/led/ses_orange
Sin necesidad de recurrir a la herramienta gpio que era necesaria antes. De esta misma manera se puede controlar cualquiera de los otros leds, con solo mandar un 1 para encenderlos y un 0 para apagarlos.
Todo esto nos sirve para simplificar el script que usábamos en la versión anterior (White Russian) y que sólo tengamos que hacer lo siguiente:
Agregar el archivo /usr/bin/wl-traf.sh (y darle permiso de ejecución) con el siguiente contenido:
#!/bin/sh
#
I=wl0
while sleep 1; do
if [ "`wl assoclist`" != "" ]; then
XFER=`ifconfig $I|grep bytes`
if [ "$XFER" != "$PXFER" ]; then
# Si hay transferencia prendo el led ambar
echo "1" > /proc/diag/led/ses_orange
echo "0" > /proc/diag/led/ses_white
PXFER=$XFER
else
# Si no hay transferencia prendo el led blanco
echo "0" > /proc/diag/led/ses_orange
echo "1" > /proc/diag/led/ses_white
fi
else
echo "0" > /proc/diag/led/ses_orange
echo "0" > /proc/diag/led/ses_white
fi
done
Y por último agregar la siguiente línea al archivo /etc/init.d/custom-user-startup
/usr/bin/wl-traf.sh &
No se olviden del “&”, de esta manera será ejecutado cada vez que se inicie el router. Y por supuesto tampoco olviden que como en el caso anterior, va a ser necesario instalar el paquerte wl para que funcione.




