web-dev-qa-db-ja.com

GSMプロバイダーへのppp接続を確立するのが難しい

携帯電話のモデムを使用して、GSMプロバイダーへのpppリンクを確立したいと思います。モデムが認識され、ATコマンドを正常に送信できますが、接続を確立できません。

私のchatスクリプトは次のようになります。

#######################################
SAY 'Setting the abort string\n'
SAY '\n'
# Abort String ------------------------------
ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT 'NO CARRIER' ABORT DELAYED

#######################################
SAY 'Initializing modem\n'
# Modem Initialization
'' AT
OK ATZ

#######################################
SAY '\n'
SAY     'Setting APN\n'
# Access Point Name (APN)
# Incorrect APN or CGDCONT can often cause errors in connection.
# Below are a bunch of different popular APNs

#REG:\s1 AT+cgdcont=1,"IP","proxy"
#OK     'AT+CGDCONT=0,"IP","proxy"'
#OK     'AT+CGDCONT=1,"IP","proxy"'
#OK     'AT+CGDCONT=2,"IP","proxy"'
OK     'AT+CGDCONT=1,"IP","m2mstatic.apn"'
#OK     'AT+CGDCONT=1,"IP","ISP.TELUS.COM"'
#OK     'AT+CGDCONT=1,"IP","INTERNET.COM"'
#OK     'AT+CGDCONT=1,"IP","ISP.CINGULAR"'
#OK     'AT+CGDCONT=2,"IP","ISP.CINGULAR"'
   ""

そして/var/log/messages次のメッセージが表示されます。

Jan 11 04:08:49 ariag25 pppd[2518]: pppd 2.4.5 started by root, uid 0
Jan 11 04:08:50 ariag25 chat[2520]: abort on (NO DIAL TONE)
Jan 11 04:08:50 ariag25 chat[2520]: abort on (NO ANSWER)
Jan 11 04:08:50 ariag25 chat[2520]: abort on (NO CARRIER)
Jan 11 04:08:50 ariag25 chat[2520]: abort on (DELAYED)
Jan 11 04:08:50 ariag25 chat[2520]: send (AT^M)
Jan 11 04:08:50 ariag25 chat[2520]: expect (OK)
Jan 11 04:08:50 ariag25 chat[2520]: AT^M^M
Jan 11 04:08:50 ariag25 chat[2520]: OK
Jan 11 04:08:50 ariag25 chat[2520]:  -- got it
Jan 11 04:08:50 ariag25 chat[2520]: send (ATZ^M)
Jan 11 04:08:51 ariag25 chat[2520]: expect (OK)
Jan 11 04:08:51 ariag25 chat[2520]: ^M
Jan 11 04:08:51 ariag25 chat[2520]: ATZ^M^M
Jan 11 04:08:51 ariag25 chat[2520]: OK
Jan 11 04:08:51 ariag25 chat[2520]:  -- got it
Jan 11 04:08:51 ariag25 chat[2520]: send (AT+CGDCONT=1,"IP","m2mstatic.apn"^M)
Jan 11 04:08:51 ariag25 chat[2520]: expect (OK)
Jan 11 04:08:51 ariag25 chat[2520]: ^M
Jan 11 04:08:51 ariag25 chat[2520]: AT+CGDCONT=1,"IP","m2mstatic.apn"^M^M
Jan 11 04:08:51 ariag25 chat[2520]: OK
Jan 11 04:08:51 ariag25 chat[2520]:  -- got it
Jan 11 04:08:51 ariag25 chat[2520]: send (ATDT*99#^M)
Jan 11 04:08:51 ariag25 chat[2520]: expect (CONNECT)
Jan 11 04:08:51 ariag25 chat[2520]: ^M
Jan 11 04:08:51 ariag25 chat[2520]: ATDT*99#^M^M
Jan 11 04:08:51 ariag25 chat[2520]: CONNECT
Jan 11 04:08:51 ariag25 chat[2520]:  -- got it
Jan 11 04:08:51 ariag25 chat[2520]: send (^M)
Jan 11 04:08:51 ariag25 pppd[2518]: Serial connection established.

編集

チャットスクリプトではなく、モデムに問題があるとは思いません。メッセージの下部で、コンテキストがchatからpppdに切り替わったことに注意してください-それはなぜですか?電源が弱すぎませんか?それが私が今疑っているものです。何か案は?

また、私がkillall pppdこの後、画面に接続してみてください

screen /dev/modem 9600

電源を入れ直すまで、モデムは応答しなくなります。

でもびっくり! 2.1AのUSB電源に接続しました。

Edit2

僕の /etc/ppp/optionsは次のようになります:

debug
/dev/ttyUSB1
9600
modem
crtscts
lock
connect /etc/ppp/net-connect
asyncmap 0
defaultroute

および/etc/ppp/peers/provider このような:

connect "/usr/sbin/chat -v -f /etc/chatscripts/pap -T *99***1#"

# Serial device to which the modem is connected.
/dev/modem

# Speed of the serial line.
9600

# Assumes that your IP address is allocated dynamically by the ISP.
noipdefault
# Try to get the name server addresses from the ISP.
usepeerdns
# Use this connection as the default route.
defaultroute

# Makes pppd "dial again" when the connection is lost.
persist

# Do not ask the remote to authenticate.
noauth
3
stdcerr

「defaultroute」行を削除すると、機能するはずです。

必要に応じて手動でルートを設定できますが、おそらくそうする必要はありません。新しいインターフェースが起動し、pppdを壊しているときにルーティングを設定するスクリプトがすでにフックされているようです。

1
user169819

pppdの設定で何かが正しく構成されていません。正常に機能している場合は、次のようなpppdからのメッセージがログに表示されます。

Oct  5 12:37:35 localhost pppd[1289]: Serial connection established.
Oct  5 12:37:35 localhost pppd[1289]: Using interface ppp0
Oct  5 12:37:35 localhost pppd[1289]: Connect: ppp0 <--> /dev/ttyS1
Oct  5 12:37:36 localhost pppd[1289]: Remote message: Welcome!
Oct  5 12:37:36 localhost pppd[1289]: PAP authentication succeeded
Oct  5 12:37:40 localhost pppd[1289]: local  IP address 109.112.53.134
Oct  5 12:37:40 localhost pppd[1289]: remote IP address 109.112.235.129
Oct  5 12:37:40 localhost pppd[1289]: primary   DNS address 83.224.66.134
Oct  5 12:37:40 localhost pppd[1289]: secondary DNS address 83.224.65.134

参考文献

1
slm