在 OpenWRT 上启动界面之前执行命令

在 OpenWRT 上启动界面之前执行命令

我正在用 openwrt 制作一个无线转 3g 路由器,它运行得很好。要启动 3g-wan 接口,我必须首先使用以下命令注册 USB 调制解调器:

gcom -d /dev/ttyUSB0

如果我不这样做,chat将无法建立连接并出现modem not registered错误。

我的问题:是否有类似于 Debian 上的选项,pre-up可以在启动界面之前执行某些操作,并且仅在成功达到此条件后才启动该界面?为什么?因为把gcom命令放在上面/etc/rc.local似乎不起作用,而且也不优雅。

我当前的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

该解决方案必须具有开箱即用的体验,因为在配置后,我们会将这些盒子交付给用户,以便在遥远的地方创建“远程办公室”。

答案1

/etc/rc.local通常是最后运行的脚本。查看其他脚本以/etc/init.d了解加载驱动程序的模型。像脚本这样的东西firewall可能会很好用。

/etc/rc.local内容:

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

这将注册调制解调器,等待一段时间(30 秒似乎是公平的,因为有时在质量较差的连接上需要 20 秒才能注册)并启动wan

相关内容