对于ppp的内容,这里我们主要讲解一下内核中的编制。那么除了给出了内核ppp编制的方法和源码,并且分析了一些其中容易出现的错误。

在不少设置中,我们都需要进行一下PPP的内核编制。那么对于PPP协议的一些基本内容就不再进行赘述了。这次我们则主要讲解一下编译内核使支持ppp的内容。希望对大家有用。

内核ppp编制和错误分析  ppp 内核 第1张

编译内核使支持ppp

  1. makemenuconfig
  2. networkdevicesupport
  3. pppsupport
  4. pppmultilinksupport
  5. pppsupportforasyncserialports
  6. pppsupportforsyncttyports
  7. pppdeflatecompression
  8. pppBSD_compresscompression
  9. pppoverEthernet
  10. SLIP(serialline)support
  11. CSLIPcompressedheaders

3:编译拨号工具pppd chat,选择:

  1. networkapplication
  2. pppd
  3. rp-pppoe
  4. miscellanenousapplication
  5. chat

4: 建立设备节点

  1. ppp,c,108,0

5: 创建resolv.conf文件,配置dns(可以不设,在/etc/ppp/options 选项中使用 usepeerdns )

  1. /etc/ppp/resolv.conf
  2. nameserver211.136.20.203
  3. nameserver211.136.17.107

6:创建拨号脚本(脚本在redhat9下成功拨号移植到开发板上去的)

  1. /bin:ppp-on
  2. ppp-off
  3. /etc/ppp:
  4. pap-secrets
  5. chap-secrets
  6. 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 会话中出现的 比如

  1. sending()
  2. expected()
  3. alarm

这样的情况得检查chat 会话。

***一种情况 : “Serial line is looped back.“

如果你遇到这种情况,那就证明你运气实在太好了 - -! ,要解决这个问题,可以检查串口驱动,串口的连接.另外,在chat会话后加上"~",也许是你解决问题的办法.

-mn no magic

或者改波特率,有的moden对波特率有特别的限制。

总之,拨号前一定要明白ppp实现原理,所以,ppp-howto,FAQ是必须得看得,我想,如果你真的看懂了howto,FAQ,那么,拨号就是一件很简单的事了.

转载请说明出处
知优网 » 内核ppp编制和错误分析

发表评论

您需要后才能发表评论