我正在用 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
。