Depois de muito trabalho, temos um script de configuração e CHAT funcionando.
Eu acho que a causa raiz é a falta de recepção causada por um chumbo desonesto.
AT+CSQ
Retornará a recepção e o valor de confiança (menor é melhor para ambos). No log original, isso foi 99,99. Com um lead diferente, o seguinte é retornado.
+CSQ: 15,99
O script de chat final usado é:
TIMEOUT 5
ECHO ON
ABORT '\nBUSY\r'
ABORT '\nERROR\r'
ABORT '\nNO ANSWER\r'
ABORT '\nNO CARRIER\r'
ABORT '\nNO DIALTONE\r'
ABORT '\nRINGING\r\n\r\nRINGING\r'
'' 'ATZ'
'' \rAT
TIMEOUT 30
OK 'AT+CSQ'
OK 'AT#SIMDET=1'
OK 'AT+CGDCONT = 1,"IP","telstra.internet"'
OK 'AT+CGDCONT?'
\r \d\c
'OK' 'ATD*99#'
\r \d\c
\r \d\c
'CONNECT' ''
Os \ r \ d \ c são uma pausa de 1 segundo. Como isso é na inicialização e na inicialização, ficar um pouco mais lento está bem neste aplicativo.
Isso provavelmente pode ser otimizado.
O script Peers que estamos usando é:
# initialization string.
connect "/usr/sbin/chat -v -f /etc/ppp/chat"
# Serial device to which the modem is connected.
/dev/ttyUSB2
# Speed of the serial line.
115200
# Assumes that your IP address is allocated dynamically by the ISP.
noipdefault
# Try to get the name server addresses from the ISP.
usepeerdns
#Use this connection as the default route.
defaultroute
replacedefaultroute
# Makes pppd "dial again" when the connection is lost.
persist
# Do not ask the remote to authenticate.
noauth
# For testing purposes
debug
nodetach
Isso funciona agora, portanto, deve ser utilizável no futuro.