Existe um armazenamento persistente no roteador com dd-wrt

5

Eu sou novato nisso. Eu tenho dd-wrt, instalado e configurado no meu roteador.

versão dd-wrt: DD-WRT v24-sp2 (08/07/10) versão do roteador: D-Link DIR 600

Estou tentando usar o script de monitoramento de uso de largura de banda de configuração.

Existe alguma maneira, eu posso armazenar detalhes no roteador, sem ser apagado na reinicialização?

Quero dizer, há algum tipo de armazenamento persistente que eu posso conseguir?

Obrigado J

    
por Jijoy 20.01.2012 / 07:09

4 respostas

8

Deve haver nvram (ou seja, ram não 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
    
por 25.01.2012 / 23:40
5

Como Mika disse: nvram é o nome do armazenamento persistente. Infelizmente, não é um sistema de arquivos. O sistema de arquivos do DD-WRT (pelo menos os pequenos) é uma combinação de squashfs e ramfs e é preenchido no momento da inicialização a partir de valores armazenados no nvram.

Quando você vai para Administração- > Comandos , pode inserir um script e salvá-lo como um Script Personalizado (parte inferior da página). Você pode usar esse recurso para implementar vários casos de uso, desde que estejam todos nesse único script. Eu fiz algo assim:

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

Então, eu corro o script na linha de comando:

/tmp/custom.sh wifion

E como uma tarefa do cron ( Administração- > Gerenciamento ):

*/4 * * * * root /tmp/custom.sh wificontrol

Eu sei, esta não é uma solução muito boa, mas funciona. Testado na minha v24-sp2 (rev 14896)

    
por 16.04.2014 / 20:25
1

Existe um pequeno espaço que você pode usar. Eu não sei exatamente porque não procurei as especificações do seu roteador. Quando você define um cron job, você está gravando no sistema de arquivos, não está? Eu iria SSH e confira o diretório / var. Se você tem uma porta usb você pode colocar seus arquivos de log lá. Apenas certifique-se em seu script de excluir os logs assim que eles obtiverem um determinado tamanho ou seu roteador morrer.

Isso pode lhe interessar link ou este tópico do fórum. link

    
por 25.01.2012 / 23:40
1

Geralmente há algum espaço que você pode usar. Por exemplo, leia esta resposta: link . No meu WAG200G eu formatei o mtd2 ou o mtd3 para o meu propósito. Mas você precisa ter certeza de qual bloco de flash você pode usar, caso contrário você pode transformar seu dispositivo em um bloco.

    
por 26.01.2012 / 00:44

Tags