1. 程式人生 > >ppp撥號上網

ppp撥號上網

1:編譯工具:arm-elf-gcc -v gcc version 2.95.3
      開發版 : 杭州立宇泰公司的 armsys44b0

2: 編譯核心使支援ppp
make menuconfig
network device support
ppp support
ppp multilink support
ppp support for async serial ports
ppp support for sync tty ports
ppp deflate compression
ppp BSD_compress compression
ppp over Ethernet
SLIP(serial line )support
CSLIP compressed headers

3:編譯撥號工具pppd chat,選擇:
network application
pppd
rp-pppoe
miscellanenous application
chat

4: 建立裝置節點
ppp,c,108,0
5: 建立resolv.conf檔案,配置dns(可以不設,在/etc/ppp/options 選項中使用 usepeerdns )
/etc/ppp/resolv.conf
nameserver 211.136.20.203
nameserver 211.136.17.107
6:建立撥號指令碼(指令碼在redhat9下成功撥號移植到開發板上去的)
/bin : ppp-on
ppp-off
/etc/ppp:
pap-secrets
chap-secrets
options 
    如果想要在開發板察看除錯資訊,那麼將syslogd 編譯進核心。進入uclinux後,可以在/var/log/messages處察看除錯資訊。
    另外,以下是我總結出的一些容易出錯的LOG資訊。
“Lcp : timeout sending config-requests”

這種情況一般是沒有連線上server,所以出錯的情況有很多種,比如撥的號碼填寫錯誤,串列埠,波特率是否正確 等

“authentication 相關的”
在rh9的下,預設是“auth”,所以,認證使用者名稱,密碼都不能為空
(貌似cdma採用的是chap認證方式,gprs採用的是pap認證方式 )


“lcp terminated by peer”

一般情況下是認證失敗導致的,檢查options ,pap-secrets,chap-secrets等檔案

“connect scripts failed”

這樣的錯誤,一般是由connect 選項引起的,檢查你的指令碼路徑,串列埠,波特率是否正確。

還有一種錯誤資訊是在chat 會話中出現的 比如
sending( )
expected ()
alarm
這樣的情況得檢查chat 會話。

最後一種情況 : “Serial line is looped back.“
如果你遇到這種情況,那就證明你運氣實在太好了 - -! ,要解決這個問題,可以檢查串列埠驅動,串列埠的連線.另外,在chat會話後加上"~",也許是你解決問題的辦法.
-mn no magic
或者改波特率,有的moden對波特率有特別的限制。
    總之,撥號前一定要明白ppp實現原理,所以,ppp-howto,FAQ是必須得看得,我想,如果你真的看懂了howto,FAQ,那麼,撥號就是一件很簡單的事了.
   
   
附:指令碼
==============================================================================
#ppp-on 指令碼
#!/bin/sh
TELEPHONE=*99***1#
LOCAL_IP=0.0.0.0
REMOTE_IP=0.0.0.0
NETMASK=255.255.255.0

DIALER_SCRIPT=/etc/ppp/ppp-on-dialer

exec /bin/pppd debug lock modem nocrtscts /dev/ttyS1 9600 /
asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP /
noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT
=============================================================================
#ppp-on-dialer
#!/bin/sh
exec /bin/chat -v /
TIMEOUT 3 /
ABORT '/nBUSY/r' /
ABORT '/nNO ANSWER/r' /
ABORT '/nRINGING/r/n/r/nRINGING/r' /
'' /rAT /
'OK-+++/c-OK' ATH0 /
TIMEOUT 30 /
OK ATDT*99***1# /
CONNECT '' /
============================================================================
# options
/dev/ttyS1
9600
debug
kdebug 7
nocrtscts
modem
auth
-chap
noipdefault
defaultroute
user john_doe
lock
===========================================================================
#pap-secrets
# Secrets for authentication using PAP
# client server secret IP addresses
john_doe * "" *
==========================================================================
#chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
==========================================================================