内核ppp编制和错误分析
對于ppp的內容,這里我們主要講解一下內核中的編制。那么除了給出了內核ppp編制的方法和源碼,并且分析了一些其中容易出現的錯誤。
在不少設置中,我們都需要進行一下PPP的內核編制。那么對于PPP協議的一些基本內容就不再進行贅述了。這次我們則主要講解一下編譯內核使支持ppp的內容。希望對大家有用。
編譯內核使支持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?
編譯撥號工具pppd chat
network?application? ?
pppd? ?
rp-pppoe? ?
miscellanenous?application? ?
chat?
建立設備節點
ppp,c,108,0??
創建resolv.conf文件,配置dns(可以不設,在/etc/ppp/options 選項中使用 usepeerdns )
/etc/ppp/resolv.conf? ?
nameserver?211.136.20.203? ?
nameserver?211.136.17.107??
創建撥號腳本(腳本在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
或者改波特率,有的modem對波特率有特別的限制。
總之,撥號前一定要明白ppp實現原理,所以,ppp-howto,FAQ是必須得看得,我想,如果你真的看懂了howto,FAQ,那么,撥號就是一件很簡單的事了.
總結
以上是生活随笔為你收集整理的内核ppp编制和错误分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 生产环境 java.util.concu
- 下一篇: maven出现Process termi