web-dev-qa-db-ja.com

ppp接続用のLinuxチャットスクリプトが失敗する理由を確認してください

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

しかし、なぜ失敗するのかわかりません:(

どんなアイデアや助けも非常に感謝しています!ありがとう、ベン

3
Benjamin Maurer

プロフィールでこのスレッドを見たところです。

結局、ハードウェアメーカーがこのコンポーネントを台無しにしたことが判明しました。私たちは彼らを送り返し、彼らはそれを修正しました。

1
Benjamin Maurer

チャットがモデム/シリアルポートから応答を受信して​​いないようです。

Minicomを使用してモデムに接続してみて、手で入力するとどうなるかを確認してください。

プラットフォーム用に serlook のコピーをコンパイルすることもできます。

2
symcbean

pppd設定ファイルにデバッグを追加します

1
topdog

モデムがまったく応答しないように見えるからです。ボーレートとハードウェアハンドシェイクを確認できます。

組み込みプラットフォームについて話しているので、GSMモジュールの電源がオンになっていることを確認する必要があります。一部のプラットフォームでは、モジュールの電源をオフにして電力を節約できるためです。

0
Lairsdragon