嵌入式Linux下pppd通过GPRS拨号上网(CLM920模块)

2019-07-12 18:33发布

data/attach/1907/3hxlr8ysowuf165jlfljhnhxq90isc8h.jpgdata/attach/1907/a6ygl3usbq2ejxyq9wddbvdfc4xu1h6h.jpgdata/attach/1907/msipeg8mjexrphhjkla9lhtzom1dvvbi.jpg 一、makemenuconfig_public_linux选择pppd及相关组件
二、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