Debian wvdial 解析结果自动设置 IP 地址

Debian wvdial 解析结果自动设置 IP 地址

我正在尝试让 wvdial 自动与 Telit LE910 WCDMA 调制解调器一起工作。我的脚本将根据需要启动连接,然后在不需要时断开连接,以防止浪费数据。设置调制解调器的 Telit 命令之一是发送 AT+CGPADDR=3,其结果返回我的运营商提供的 IP 地址。在我的 wvdial.conf 中,我将此作为其中一行

init5 = AT+CGPADDR=3 

该初始化字符串的响应是

+CGPADDR: 3,"100.121.106.244","254.128.0.0.0.0.0.0.0.0.1.128.162.96.1"
OK

每次连接时 IP 地址都会改变。通过 wvdial.conf 中的所有适当配置,wvdial 成功完成并连接。但是,直到我在脚本中或通过命令行手动发出另外两个命令后,我的连接才完全完成,而且我没有找到一种简单的方法将该 IP 地址传递回脚本以实现无人值守运行。要完成连接,我必须输入

ifconfig usb0 100.121.106.244 netmask 255.255.255.0 -arp up
route add default usb0

wvdial.conf 中是否有某种方法可以让它对 init5 变量执行某些操作,从而将结果传递回脚本,以便连接自动完成?

我的 wvdial 的其余部分是

[Dialer Defaults]
Init1 = ATZ
Init2 = AT+CGMR
Init3 = AT#ncm=1,3
Init4 = AT+cgact=1,3
Init5 = AT+cgpaddr=3
Init6 = at+cgdcont?
Init7 = AT+CGDATA="M-RAW_IP",3
Modem Type = USB Modem
ISDN = 0
New PPPD = yes
Modem = /dev/ttyACM3
Baud = 460800

相关内容