Execute o comando antes de trazer a interface para cima no OpenWRT

1

Eu estou fazendo um roteador Wireless-to-3G com openwrt, e está funcionando muito bem. Para trazer a interface 3g-wan para cima, primeiro tenho que registrar o modem USB usando o comando:

gcom -d /dev/ttyUSB0

Se eu não fizer isso, chat falhará ao estabelecer conexão com modem not registered erros.

Minha pergunta : Existe uma opção similar a pre-up no Debian para executar as coisas antes de trazer uma interface para cima, e só trazer isso depois de ter atingido com sucesso essa condição? Por quê? Porque colocar o comando gcom em /etc/rc.local parece não funcionar, e não é elegante.

Minha configuração atual da interface wan :

config interface 'wan'
        # === Conexão com a 3G da tim
        # option ifname ppp0
        option ifname 3g-wan
        option username tim
        option password tim
        option pincode XXXX
        option proto 3g
        option service umts
        option device /dev/ttyUSB0
        option dialnumber '*99***1#'
        option apn tim.br

Esta solução deve ter uma experiência imediata porque, depois de configurados, entregamos essas caixas aos usuários para criar "escritórios remotos" em locais distantes.

    
por nwildner 22.12.2015 / 17:37

1 resposta

2

/etc/rc.local é geralmente a última execução de script. Veja os outros scripts em /etc/init.d para um modelo para carregar o driver. Algo parecido com o script firewall pode funcionar bem.

/etc/rc.local contents:

gcom -d /dev/ttyUSB0
sleep 30
ifup wan
exit 0

Isso registrará o modem, esperará um pouco (30 segundos parece ser justo, já que às vezes leva 20 segundos para se registrar em conexões de má qualidade) e traz wan para cima.

    
por 23.12.2015 / 05:24