Linux

找出用於 ppp 連接的 Linux 聊天腳本失敗的原因

  • March 17, 2012

我無法通過 GSM 調製解調器建立 ppp 連接。該平台是一個基於 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

但我不知道為什麼它會失敗:(

任何想法和幫助都非常感激!謝謝,本

看起來聊天沒有收到來自調製解調器/串列埠的回复。

嘗試使用 minicom 連接到調製解調器,看看當您手動輸入內容時會發生什麼。

您可能還想為您的平台編譯serlook的副本。

將調試添加到您的 pppd 配置文件

引用自:https://serverfault.com/questions/171743