淺述PPP內(nèi)核編制
PPP協(xié)議的應(yīng)用非常廣泛,我們常用的設(shè)置包括ADSL等有關(guān)的撥號(hào)設(shè)置。那么這里我們則重點(diǎn)講解一下PPP協(xié)議的內(nèi)核編制,讓我們一起來了解一下在內(nèi)核中,如何設(shè)置PPP吧。
編譯內(nèi)核使支持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:編譯撥號(hào)工具pppd chat,選擇:
- network application
- pppd
- rp-pppoe
- miscellanenous application
- chat
4: 建立設(shè)備節(jié)點(diǎn)
- ppp,c,108,0
5: 創(chuàng)建resolv.conf文件,配置dns(可以不設(shè),在/etc/ppp/options 選項(xiàng)中使用 usepeerdns )
- /etc/ppp/resolv.conf
- nameserver 211.136.20.203
- nameserver 211.136.17.107
6:創(chuàng)建撥號(hào)腳本(腳本在redhat9下成功撥號(hào)移植到開發(fā)板上去的)
- /bin : ppp-on
- ppp-off
- /etc/ppp:
- pap-secrets
- chap-secrets
- options
如果想要在開發(fā)板察看調(diào)試信息,那么將syslogd 編譯進(jìn)內(nèi)核。進(jìn)入uclinux后,可以在/var/log/messages處察看調(diào)試信息。
另外,以下是我總結(jié)出的一些容易出錯(cuò)的LOG信息。
“Lcp : timeout sending config-requests”
這種情況一般是沒有連接上server,所以出錯(cuò)的情況有很多種,比如撥的號(hào)碼填寫錯(cuò)誤,串口,波特率是否正確 等
“authentication 相關(guān)的”
在rh9的下,默認(rèn)是“auth”,所以,認(rèn)證用戶名,密碼都不能為空
(貌似cdma采用的是chap認(rèn)證方式,gprs采用的是pap認(rèn)證方式 )
“lcp terminated by peer”
一般情況下是認(rèn)證失敗導(dǎo)致的,檢查options ,pap-secrets,chap-secrets等文件
“connect scripts failed”
這樣的錯(cuò)誤,一般是由connect 選項(xiàng)引起的,檢查你的腳本路徑,串口,波特率是否正確。
還有一種錯(cuò)誤信息是在chat 會(huì)話中出現(xiàn)的 比如
- sending( )
- expected ()
- alarm
這樣的情況得檢查chat 會(huì)話。
***一種情況 : “Serial line is looped back.“
如果你遇到這種情況,那就證明你運(yùn)氣實(shí)在太好了 - -! ,要解決這個(gè)問題,可以檢查串口驅(qū)動(dòng),串口的連接.另外,在chat會(huì)話后加上"~",也許是你解決問題的辦法.
-mn no magic
或者改波特率,有的moden對(duì)波特率有特別的限制。
總之,撥號(hào)前一定要明白ppp實(shí)現(xiàn)原理,所以,ppp-howto,FAQ是必須得看得,我想,如果你真的看懂了howto,FAQ,那么,撥號(hào)就是一件很簡(jiǎn)單的事了.