Não é possível adicionar serviço de inicialização ao openWRT a partir do init.d

2

Eu tenho o openWrt instalado em um TP-Link TL-WA901N / ND v3. Eu não tenho o pacote luci instalado porque não tenho espaço suficiente, então só posso fazer coisa via cli.

O que estou tentando alcançar é criar uma interface mon0 na inicialização e executar o tcpdump nela. Eu criei um arquivo em /etc/init.d e o nomeei monitor. O arquivo do monitor contém o seguinte

#!/bin/sh /etc/rc.common

#to start after /etc/init.d/network is started and stop after it stopped
START=99
STOP=1

start(){
    #tried with and without the following two lines
    include /lib/network
    scan_interfaces

    iw phy phy0 interface add mon0 type monitor
    ifconfig mon0 up
    echo "mon0 is up!"
}
stop(){
    ifconfig mon0 down
    iw mon0 del
    echo "mon0 is down!"
}

então eu corro o seguinte

/etc/init.d/monitor enable

e em /etc/rc.d eu posso ver o S99monitor e o K1monitor, mas quando eu reinicio, não consigo ver a interface mon0 criada quando eu faço ifconfig.

Isso funciona se eu inicio manualmente com

/etc/init.d/monitor start

Eu também tentei adicionar o comando acima em /etc/rc.local, mas nada mudou.

O que estou fazendo de errado?

    
por ickarsim 04.11.2014 / 12:55

1 resposta

0

Eu acho que você esqueceu de adicionar o

boot(){
start
}

seção

    
por 30.03.2016 / 20:16