
Soy novato en esto. Tengo dd-wrt, instalado y configurado en mi enrutador.
Versión dd-wrt: DD-WRT v24-sp2 (07/08/10) Versión del enrutador: D-Link DIR 600
Estoy intentando configurar un script de monitoreo del uso del ancho de banda.
¿Hay alguna manera de almacenar detalles en el enrutador sin que se eliminen al reiniciar?
Quiero decir, ¿hay algún tipo de almacenamiento persistente que pueda conseguir?
gracias
j
Respuesta1
Debería haberlo nvram
(es decir, un ariete no volátil).
nvram show # list all variables
nvram get name # get variable
nvram set name=value # set variable
nvram unset name # delete variable
nvram commit # save changes to flash
Respuesta2
Como dijo Mika: nvram es el nombre del almacenamiento persistente. Desafortunadamente esnoun sistema de archivos. El sistema de archivos de DD-WRT (al menos los más pequeños) es una combinación de squashfs y ramfs y se completa en el momento del arranque a partir de valores almacenados en nvram.
Cuando vas aAdministración->Comandos, puede ingresar un script y guardarlo comoGuión personalizado(final de la página). Puede utilizar esta función para implementar varios casos de uso, siempre que todos estén en este único script. Hice algo como esto:
case "$1" in
wificontrol)
#here is code which turns off wlan after 30 mins of inactivity
;;
wifion|wifi)
wlanIF=ra0
ifconfig $wlanIF up
touch /tmp/wlan-online0
;;
*)
echo "$0 {wificontrol|wifi[on]}"
esac
Luego, ejecuto el script en la línea de comando:
/tmp/custom.sh wifion
Y como trabajo cron (Administración->Gestión):
*/4 * * * * root /tmp/custom.sh wificontrol
Lo sé, esta no es una solución muy buena, pero funciona. Probado en mi v24-sp2 (rev 14896)
Respuesta3
Hay un pequeño espacio que puedes utilizar. No lo sé exactamente porque no busqué las especificaciones de tu enrutador. Cuando configuras un trabajo cron, estás escribiendo en el sistema de archivos, ¿no es así? Entraría por SSH y comprobaría el directorio/var. Si tiene un puerto USB, puede colocar allí sus archivos de registro. Solo asegúrese de eliminar los registros en su secuencia de comandos una vez que alcancen un tamaño determinado o su enrutador morirá.
Esto te puede interesarhttp://www.dd-wrt.com/wiki/index.php/Useful_Scripts o este hilo del foro.http://www.dd-wrt.com/phpBB2/viewtopic.php?t=81432
Respuesta4
Habilitar JFFS.
Hay dos instrucciones en el enlace:
- utilizando la interfaz Web-GUI
- usando la interfaz de línea de comandos
En mi caso, solo funcionó la interfaz de línea de comandos. La interfaz Web-GUI no.
mis instrucciones modificadas de la interfaz de línea de comandos
Estos comandos son más fáciles de ejecutar en un shell a través de ssh; ssh debe estar habilitado.
Primero, verifica si jffs ya está montado:
mount
Una partición jffs montada tiene el siguiente aspecto:
$ mount
...
/dev/mtdblock/4 on /jffs type jffs2 (rw)
$ df -h
Filesystem Size Used Available Use% Mounted on
...
/dev/mtdblock/4 4.3M 260.0K 4.0M 6% /jffs
Si no está disponible, indique a DD-WRT que formatee y cree uno:
PROBABLEMENTE DEBE HACER UNA COPIA DE SEGURIDAD DE SU CONFIGURACIÓN DD-WRT ANTES DE EJECUTAR ESTOS
nvram set jffs_mounted=1
nvram set enable_jffs2=1
nvram set sys_enable_jffs2=1
nvram set clean_jffs2=1
nvram set sys_clean_jffs2=1
nvram commit
reboot
Después de reiniciar, desactive el formateo por inicio para que los archivos no se pierdan
nvram set clean_jffs2=0
nvram set sys_clean_jffs2=0
nvram commit
Prueba con
date | tee /jffs/test
cat /jffs/test