Linux – Find out why Linux chat script for ppp connection fails

gprsgsminstant-messaginglinuxpoint-to-point-protocol

I'm having trouble making a ppp connection over a GSM Modem. The Platform is an ARM based embedded device, running Debian Linux 5.
The scripts worked before with this device, but not with the new shipment. I just can't get enough information out of chat (/usr/sbin/chat).

The connection is started out of a C Program and the call looks something like this:

/usr/sbin/pppd ttyS1 connect /usr/sbin/chat -S -s -v -T PIN-Nr -f /etc/chatscripts/chat_gprs_con

I have tracked the Problem down to chat, which handles the communication with the modem hardware.

/usr/sbin/chat -e -v -T PIN-NR -f /etc/chatscripts/chat_gprs_con

chat_gprs_con looks like this:

TIMEOUT         10
ECHO            ON
ABORT           '\nBUSY\r'
ABORT           '\nERROR\r'
ABORT           '\nNO ANSWER\r'
ABORT           '\nNO CARRIER\r'
ABORT           '\nNO DIALTONE\r'
ABORT           '\RINGRING\r\n\r\nRINGRING\r'
""      AT
'OK-\d+++\d\d\c-OK'     ATZ
TIMEOUT         3
OK      AT+CSQ
OK      ATE1
OK      AT+CPIN?
'CPIN: READY-AT+CPIN="\T"-OK'   'AT+COPS?'
OK              'at+cgdcont=1, "IP", "a1.net"'
OK              ATD*99***1#
TIMEOUT         25
SAY     "\nwaiting for connect...\n"
CONNECT         ""
SAY     "\nConnected."
SAY     "\nIf the following ppp negotiations fail,\n"
SAY     "try restarting the phone.\n"

The only info I get throug the verbose output in /var/log/syslog or /var/log/messages is:

Jan  1 00:12:30 evm chat[1405]: timeout set to 10 seconds
Jan  1 00:12:30 evm chat[1405]: abort on (\nBUSY\r)
Jan  1 00:12:30 evm chat[1405]: abort on (\nERROR\r)
Jan  1 00:12:30 evm chat[1405]: abort on (\nNO ANSWER\r)
Jan  1 00:12:30 evm chat[1405]: abort on (\nNO CARRIER\r)
Jan  1 00:12:30 evm chat[1405]: abort on (\nNO DIALTONE\r)
Jan  1 00:12:30 evm chat[1405]: abort on (\RINGRING\r\n\r\nRINGRING\r)
Jan  1 00:12:30 evm chat[1405]: send (AT^M)
Jan  1 00:12:30 evm chat[1405]: expect (OK)
Jan  1 00:12:40 evm chat[1405]: alarm
Jan  1 00:12:40 evm chat[1405]: send (\d+++\d\d)
Jan  1 00:12:43 evm chat[1405]: expect (OK)
Jan  1 00:12:53 evm chat[1405]: alarm
Jan  1 00:12:53 evm chat[1405]: Failed

But I can't find out WHY it fails 🙁

Any ideas and help are very apprechiated!
Thanks,
Ben

Best Answer

It looks like chat is receiving no reply from the modem/serial port.

Try connecting to the modem using minicom and see what happens when you type stuff in by hand.

You might also want to compile a copy of serlook for your platform.