Linux下4G模块高新兴物联中兴ME3630拨号上网

Linux下4G模块高新兴物联ME3630拨号上网

实验硬件平台:
在这里插入图片描述
实验模块:
在这里插入图片描述

一、添加模组的PID/VIP到Linux内核中

代码文件:drivers/usb/serial/option.c
找到option_ids,添加对应的ID,这样USB才能识别到这个模块。

static struct usb_device_id option_ids[] = {
    { USB_DEVICE(0x19d2, 0x0117 },
    { USB_DEVICE(0x19d2, 0x0199) },
    { USB_DEVICE(0x19d2, 0x1476) },
    ....
    };

二、配置Linux内核支持USB串口驱动以及PPP协议的支持

根据周立功内核提供的built-zImage.sh这个文件,打开可以看到。
在这里插入图片描述
图中可以到arch/arm/configs目录下找到这个板子的配置文件。
在这里插入图片描述
然后将以下参数添加到config文件里:
在这里插入图片描述
然后进行Linux内核编译,过程略,设备启动开机后可以观察到如下LOG,即代表模块已经能够识别了。
在这里插入图片描述
ttyUSB0、ttyUSB1、ttyUSB2功能分别如下:
在这里插入图片描述

三、将ppp工具及相关的软件拷贝到开发板上

注意,以下操作是在开发板上进行的。
在这里插入图片描述
打开周立功针对龙尚4G模块提供的文档,我们只要将chat、pppd拷贝到/usr/sbin目下,然后加执行权限即可,再 将libpcap.so.1拷贝到/usr/lib。
在这里插入图片描述

三、拨号上网

注意,以下操作是在开发板上进行的。
ME3630这个模块官方已经提供了拨号脚本,有联通以及电信的拨号脚本,当然还有其它的脚本,这里只介绍联通4G和电信4G的适配方案,分别如下:
3.1 联通4G
ppp-on.sh:

#!/bin/sh
#clear
OPTION_FILE="/usr/sbin/zte_options"
DIALER_SCRIPT=$(pwd)/zte_ppp_dialer
pppd file $OPTION_FILE connect '/usr/sbin/chat -v -f /usr/sbin/zte_ppp_dialer' &

zte_options:

/dev/ttyUSB2
115200
crtscts
modem
persist
lock
noauth
noipdefault
debug
nodetach
user Anyname
password Anypassword
ipcp-accept-local
ipcp-accept-remote
#replacedefaultroute
defaultroute
usepeerdns
noccp
nobsdcomp
novj
dump

zte_ppp_dialer:

ABORT "NO CARRIER"
ABORT "ERROR"
TIMEOUT 120
"" ATE
SAY "ATE"
ECHO ON
OK ATH
OK ATP
OK AT+CGDCONT=1,\"IP\",\"3GNET\"
OK 	AT+ZSNT=0,0,0
OK  ATD*99#
CONNECT

3.2 电信4G
ppp-on.sh:

#!/bin/sh
#clear
OPTION_FILE="/usr/sbin/zte_options"
DIALER_SCRIPT=$(pwd)/zte_ppp_dialer
pppd file $OPTION_FILE connect '/usr/sbin/chat -v -f /usr/sbin/zte_ppp_dialer' &

zte_options:

/dev/ttyUSB2
115200
crtscts
modem
persist
lock
noauth
noipdefault
debug
nodetach
user Anyname
password Anypassword
ipcp-accept-local
ipcp-accept-remote
#replacedefaultroute
defaultroute
usepeerdns
noccp
nobsdcomp
novj
dump

zte_ppp_dialer:

扫描二维码关注公众号,回复: 9301505 查看本文章
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "ERROR"
ABORT "NO ANSWER"
ABORT "BUSY"
TIMEOUT 120
"" at
OK 	ATDT*99*1#
CONNECT

根据当前的适配方案,将zte_options、zte_ppp_dialer拷贝/usr/sbin目录下,ppp-on.sh这个可以随便放在一个用户目录下,然后执行ppp_on.sh脚本
在这里插入图片描述
如看到如上类似的LOG,表示拨号成功,这时候输入ifconfig可以看到生成了一个ppp0节点。
在这里插入图片描述
网络连通测试,我们直接用ping命令ping百度,看是否有心跳包回复:
在这里插入图片描述

发布了597 篇原创文章 · 获赞 1061 · 访问量 182万+

猜你喜欢

转载自blog.csdn.net/morixinguan/article/details/102366284