Узнайте, почему не работает скрипт чата Linux для ppp соединения
У меня проблемы с установкой ppp-соединения через GSM-модем. Платформа представляет собой встроенное устройство на основе ARM, работающее под управлением Debian Linux 5. Ранее сценарии работали с этим устройством, но не с новой поставкой. Я просто не могу получить достаточно информации из чата (/usr/sbin/chat).
Соединение запускается из C-программы, и вызов выглядит примерно так:
/usr/sbin/pppd ttyS1 connect /usr/sbin/chat -S -s -v -T PIN-Nr -f /etc/chatscripts/chat_gprs_con
Я отследил проблему до чата, который обрабатывает связь с модемом.
/usr/sbin/chat -e -v -T PIN-NR -f /etc/chatscripts/chat_gprs_con
chat_gprs_con выглядит так:
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"
Единственная информация, которую я получаю через подробный вывод в / var / log / syslog или / var / log / messages:
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
Но я не могу понять, ПОЧЕМУ это терпит неудачу:(
Любые идеи и помощь очень ценны! Спасибо Бен
4 ответа
Я только что видел эту тему в своем профиле.
В итоге оказалось, что производитель оборудования облажался с этим компонентом. Мы отправили их обратно, и они это исправили.
Похоже, что чат не получает ответа от модема / последовательного порта.
Попробуйте подключиться к модему с помощью minicom и посмотрите, что произойдет, когда вы вводите данные вручную.
Вы также можете скомпилировать копию serlook для своей платформы.
Ну, похоже, модем не отвечает вообще. Вы можете проверить скорость передачи и аппаратное рукопожатие.
Поскольку мы говорим о встроенной платформе, вы должны убедиться, что модуль GSM включен, поскольку некоторые платформы позволяют отключать питание модуля для экономии энергии.