找出 Linux 中 ppp 连接聊天脚本失败的原因

找出 Linux 中 ppp 连接聊天脚本失败的原因

我在通过 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

但我不知道为什么它失败了:(

任何想法和帮助都非常感谢!谢谢,Ben

答案1

看起来聊天没有收到来自调制解调器/串行端口的回复。

尝试使用 minicom 连接到调制解调器,并查看手动输入内容时会发生什么。

您可能还想编译一份塞卢克适合您的平台。

答案2

将调试添加到您的 pppd 配置文件中

答案3

我刚刚在我的个人资料中看到了这个帖子。

最后发现是硬件制造商搞砸了这个组件。我们把他们送回去修好了。

答案4

嗯,看起来调制解调器根本没有响应。您可以检查波特率和硬件握手。

由于我们正在谈论嵌入式平台,因此您应该确保 GSM 模块已打开,因为某些平台允许关闭模块以节省电量。

相关内容