Estou tentando fazer com que o wvdial funcione automaticamente com um modem Telit LE910 WCDMA. Meu script iniciará a conexão conforme necessário e, em seguida, desconectará quando não for necessário para evitar o desperdício de dados. Um dos comandos telit para configurar o modem é enviar AT + CGPADDR = 3 e o resultado deste retorna o endereço IP que minha operadora forneceu. no meu wvdial.conf, eu tenho isso como uma das linhas
init5 = AT+CGPADDR=3
A resposta para essa string de inicialização é
+CGPADDR: 3,"100.121.106.244","254.128.0.0.0.0.0.0.0.0.1.128.162.96.1"
OK
O endereço IP muda toda vez que eu me conecto. Com todas as configurações apropriadas em meu wvdial.conf, o wvdial é concluído com sucesso e se conecta. Mas minha conexão não está totalmente completa até que eu execute manualmente mais dois comandos no script ou via linha de comando, e não estou encontrando uma maneira fácil de passar esse endereço IP de volta para o script para ser executado sem supervisão. Para completar a conexão, eu tenho que digitar
ifconfig usb0 100.121.106.244 netmask 255.255.255.0 -arp up
route add default usb0
Existe alguma maneira no wvdial.conf de fazer algo com a variável init5 que poderia passar o resultado de volta para o script para que a conexão seja completada automaticamente?
O resto do meu 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
Tags debian wvdial linux shell-script