Debian wvdial은 결과를 구문 분석하여 IP 주소를 자동으로 설정합니다.

Debian wvdial은 결과를 구문 분석하여 IP 주소를 자동으로 설정합니다.

Telit LE910 WCDMA 모뎀에서 wvdial이 자동으로 작동하도록 하려고 합니다. 내 스크립트는 필요에 따라 연결을 시작한 다음 데이터 낭비를 방지하기 위해 필요하지 않을 때 연결을 끊습니다. 모뎀을 설정하는 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

관련 정보