arm-linux实现PPP拨号上网(gprs)

2019-07-13 07:03发布

1)下载编译ppp-2.4.2       解压       进入chat目录,修改Makefile.linux,添加CC=arm-linux-gcc       编译chat: make –f Makefile.linux,生成chat       进入pppd目录,修改Makefile.linux,添加CC=arm-linux-gcc       编译pppd:make –f Makefile.linux,生成pppd       将chat、pppd拷贝至/usr/sbin/目录2)配置       当服务器要求pppd给出用户身份认证信息的时候,如果协商采用PAP认证方式,pppd将到/etc/ppp/pap-secrets文件中取得用户口令;如果协商采用CHAP认证方式,则pppd将到/etc/ppp/chap-secrets文件中取得用户口令       修改PAP认证所需要的用户名和密码,在文件/etc/ppp/pap-secrets添加:       card        *            card        *       修改CHAP认证所需要的用户名和密码,在文件/etc/ppp/chap-secrets添加:       card        *            card        *       在/etc/ppp/peers目录下创建gprs文件,添加内容如下:#pppd参数      debug:pppd工作在调试模式       nodetach:不要让pppd启动后转为后台进程       ipcp-accept-local:接收服务器分配的本机ip地址       ipcp-accept-remote:接收服务器指定的服务器ip地址       defaultroute:把服务器指定的服务器ip地址作为默认路由       usercard:认证时的用户为card,pppd据此从/etc/ppp/pap-secrets或/etc/ppp/chap-secrets文件中取得card用户对应的口令。       ttymxc2:连接到串口/dev/ttymxc2上       115200:串口波特率       crtscts:modem的rts和cts信号线用于流控       connect‘/usr/sbin/chat –v –f /etc/ppp/peers/chat-gprs-connect’:用chat程序完成连接建立的会话过程,会话过程通过/etc/ppp/peers/chat-gprs-connect文件控制       disconnect‘/usr/sbin/chat –v –f /etc/ppp/peers/chat-gprs-disconnect’: 用chat程序完成连接断开的会话过程,会话过程通过/etc/ppp/peers/chat-gprs-disconnect文件控制。              创建/etc/ppp/peers/chat-gprs-connect和/etc/ppp/peers/chat-gprs-disconnect文件,添加内容:TIMEOUT         15ABORT           ' DELAYED 'ABORT           ' BUSY 'ABORT           ' ERROR 'ABORT          ' NO DIALTONE 'ABORT           ' NO CARRIER '''                 ATOK              ATS0=0OK              ATE0V1OK             AT+CGDCONT=1,"IP","CMNET"OK              ATDT*99***1#CONNECT         ''       几个ABORT行的意思是如果modem返回诸如BUSY之类的信息,则取消chat过程,连接失败。TIMEOUT 15表示连接的超时值为120秒,首先发出一个at命令,期待modem返回OK,然后发出ATS0=0,期待返回一个OK,如果modem返回了CONNECT,则表明连接成功。3)运行       pppdcall gprs /dev/ttymxc2       如果拨号成功,将生成一个新的网络接口ppp0,。服务器将自动为ppp0分配了一个ip地址,然后就可以上网了。