嵌入式Linux下pppd通过GPRS拨号上网(CLM920模块)
2016-06-06 16:43
911 查看
一、makemenuconfig_public_linux选择pppd及相关组件
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/04/e2a0c95b790dd4e5d21f9698fcd1fa31)
二、makemenuconfig_public_linux选择串口支持
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/04/eede6bb1611ea92b45a8f7c3f7ac1d55)
三、make menuconfig加入pppd和chat工具
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/04/ec5d652bdabfdec82681ac2e0f1e6126)
四、修改文件
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/04/d7439d44c889f8e9868e791f2ece655d)
五、加载驱动
#modprobe usbserial vendor=0x05c6 product=0x9025
# ls /dev –al
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/04/19ee54b23a38403a0e3638afae97e1e0)
ttyUSB0-> DIAG
ttyUSB1-> ADB
ttyUSB2-> AT
ttyUSB3-> Modem
ttyUSB4-> 暂不使用(使用NDIS 需将该口过滤)
六、建立库链接
ln -s libssl.so.1.0.1h libssl.so.1.0.0
ln -s libcrypto.so.1.0.1hlibcrypto.so.1.0.0
ln -s libcap.so.2.22 libpcap.so.1
七、加入脚本并启动
(1) /etc/ppp/peers/clm920/gprs-on.sh GPRS拨号脚本,内容如下:
# this is a workaround for issue #651747
PPPD_PID=
echo "Starting pppd"
pppdconnect 'chat -v """AT" """AT+CGDCONT=1,"IP","3gnet"" """ATD*99# CONNECT"' /dev/ttyUSB3 115200 nodetach debug noauthdefaultroute usepeerdns crtsctsusernull
password null -pc -ac $* &
PPPD_EXIT=$?
PPPD_PID=$!
echo "pppd exited with$PPPD_EXIT"
(2)/etc/ppp/ clm920/ gprs-off.sh 文件,内容如下:
#PID=`ps -ef | grep-v grep | grep "$DEVICE" | grep "pppd" | awk '{ print $2;exit }'`
PID=`ps | grep -v grep | grep "pppd" | awk'{ print $1; exit }'`
echo"$PID"
iftest $PID; then
kill-KILL $PID
if [ ! "$?" = "0" ];then
echo "ERROR: Terminated ppp linkto $DEVICE failed"
exit 3
fi
echo "PPP link to $DEVICEterminated"
exit 0
fi
echo"ERROR: PPP link is not active on $DEVICE"
exit 2
两个脚本写好后,执行/etc/ppp/peers/clm920/ gprs-on.sh,拨号上网。
注:
软件版本在[Jun 11 2015 12:00:32]及之后的域格模块,各制式下可统一使用chat 脚本中的ATDT*99#拨号。
pppd 脚本中的用户名和密码是注册在电信2G、3G 时使用的,对其他网络无影响。
需要建立/var/run/ppp目录
4) 测试连接Internet
测试是否连接Internet,用如下指令:
# ping 115.239.210.27
测试是否ping 通baidu 的IP 地址。
如果IP 地址能ping 通,而ping 域名不通,请设置dns地址,如下指令:
#ping
www.baidu.com
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/04/104b950814c2b56cd40f313e331a03fa)
八、常用AT命令
信号强度查询: AT+CSQ
重启: AT+CFUN=1,1
附:写串口echo XXX > /dev/ttyS0
读串口cat /dev/ttyS0
二、makemenuconfig_public_linux选择串口支持
三、make menuconfig加入pppd和chat工具
四、修改文件
五、加载驱动
#modprobe usbserial vendor=0x05c6 product=0x9025
# ls /dev –al
ttyUSB0-> DIAG
ttyUSB1-> ADB
ttyUSB2-> AT
ttyUSB3-> Modem
ttyUSB4-> 暂不使用(使用NDIS 需将该口过滤)
六、建立库链接
ln -s libssl.so.1.0.1h libssl.so.1.0.0
ln -s libcrypto.so.1.0.1hlibcrypto.so.1.0.0
ln -s libcap.so.2.22 libpcap.so.1
七、加入脚本并启动
(1) /etc/ppp/peers/clm920/gprs-on.sh GPRS拨号脚本,内容如下:
# this is a workaround for issue #651747
PPPD_PID=
echo "Starting pppd"
pppdconnect 'chat -v """AT" """AT+CGDCONT=1,"IP","3gnet"" """ATD*99# CONNECT"' /dev/ttyUSB3 115200 nodetach debug noauthdefaultroute usepeerdns crtsctsusernull
password null -pc -ac $* &
PPPD_EXIT=$?
PPPD_PID=$!
echo "pppd exited with$PPPD_EXIT"
(2)/etc/ppp/ clm920/ gprs-off.sh 文件,内容如下:
#PID=`ps -ef | grep-v grep | grep "$DEVICE" | grep "pppd" | awk '{ print $2;exit }'`
PID=`ps | grep -v grep | grep "pppd" | awk'{ print $1; exit }'`
echo"$PID"
iftest $PID; then
kill-KILL $PID
if [ ! "$?" = "0" ];then
echo "ERROR: Terminated ppp linkto $DEVICE failed"
exit 3
fi
echo "PPP link to $DEVICEterminated"
exit 0
fi
echo"ERROR: PPP link is not active on $DEVICE"
exit 2
两个脚本写好后,执行/etc/ppp/peers/clm920/ gprs-on.sh,拨号上网。
注:
软件版本在[Jun 11 2015 12:00:32]及之后的域格模块,各制式下可统一使用chat 脚本中的ATDT*99#拨号。
pppd 脚本中的用户名和密码是注册在电信2G、3G 时使用的,对其他网络无影响。
需要建立/var/run/ppp目录
4) 测试连接Internet
测试是否连接Internet,用如下指令:
# ping 115.239.210.27
测试是否ping 通baidu 的IP 地址。
如果IP 地址能ping 通,而ping 域名不通,请设置dns地址,如下指令:
#ping
www.baidu.com
八、常用AT命令
信号强度查询: AT+CSQ
重启: AT+CFUN=1,1
附:写串口echo XXX > /dev/ttyS0
读串口cat /dev/ttyS0
相关文章推荐
- linux学习笔记(1)
- 我就是认真:Linux SWAP 深度解读(必须收藏)
- Linux防火墙(iptables)关闭与开启配置
- Linux下 LVS DR模型的配置演示
- 如何在一台机器上起多个osv vm
- linux644/755/777等权限说明
- Linux分区介绍
- Linux NFS说明,配置及故障分析
- windows linux共享
- 向CentOS6.6服务器安装confluence5.4.4
- 嵌入式Linux裸机开发(四)——重定位relocate
- linux如何搜索一个文件夹下包含某个字段的文件
- Linux编辑器的选择使用
- Gstreamer rtspsrc 停止不发送teardown 命令
- 嵌入式Linux裸机开发(三)——BL0初始化
- 使用Linux命令来发送信息
- Linux SWAP 深度解读
- linux工具-netcat
- SELinux入门
- Linux常用命令