高新兴ME3630 4G模块在物联网M2M领域应用广泛,本实验围绕其驱动配置与联网测试展开,帮助快速掌握模块的使用方法,核心操作分为驱动修改、内核配置、PPP联网测试三大部分。
一、ME3630 4G模块核心特性
ME3630是LTE Cat.4七模全网通4G模块,LTE模式下支持50Mbps上行、150Mbps下行,可回退至3G/2G网络,还具备分集接收功能,能通过双天线提升通信质量。
它内置USB2.0、UART接口,支持1.8V/3.0V SIM卡,集成TCP、UDP、HTTP等协议,兼容RAS/ECM/NDIS,支持AT指令,且具备GNSS、远程唤醒、短信、FoTA空中升级等功能,适用于智能抄表、工业路由器、车载通信等场景。
实验时需将其插入开发板MiniPCIE座,拧紧螺丝、插入NanoSIM卡、接好天线,完成硬件准备。
二、模块驱动与内核配置
要让模块在Linux系统中正常工作,需完成驱动修改和内核配置,关键步骤如下:
添加USB设备信息:打开Linux源码`drivers/usb/serial/option.c`文件,在`option_ids`数组中添加ME3630的PID和VID,具体添加项为`USB_DEVICE(0x19d2,0x0117)`、`USB_DEVICE(0x19d2,0x0199)`、`USB_DEVICE(0x19d2,0x1476)`,这样内核才能识别该模块。
添加ECM支持程序:修改`option_probe()`函数,针对特定VID/PID及接口编号的模块,添加返回`-ENODEV`的条件,避免模块在非适配场景下被错误识别,确保ECM接口正常工作。
配置Linux内核:一方面需使能USBNET功能,进入
“Device Drivers>Network device support>USB Network Adapters>Multi-purpose USB Networking Framework”开启对应选项;另一方面要使能USB串口GSM/CDMA驱动,路径为“Device Drivers>USB support>USB Serial Converter support>USB driver for GSM and CDMA modems”,同时开启USB的CDC ACM功能。
配置完成后编译内核,用新内核启动开发板,若模块正常接入,系统会输出虚拟USB设备信息,生成ttyUSB0~ttyUSB2三个设备节点,且运行`ifconfig-a`可看到名为usb0的网卡,说明ECM接口驱动加载成功。
三、PPP联网测试流程
PPP拨号是ME3630的常用联网方式,测试前需做好内核配置与软件移植,步骤如下:
使能内核PPP功能:在内核配置中开启PPP相关选项,进入“Device Drivers>Network device support>PPP support”,勾选PPP多链路、压缩、过滤等子功能,同时开启PPP对异步串口的支持,配置完成后重新编译内核,用新镜像启动开发板。
移植pppd软件:从资料包获取ppp-2.4.7源码,复制到Ubuntu解压后进入目录,先配置再编译,若提示bison、flex缺失,需用`sudoapt-getinstall bison`和`sudo apt-get install flex`安装。编译完成后会生成chat、pppd、pppdump、pppstats四个文件,将其复制到开发板根文件系统的`/usr/bin`目录,替换原有chat工具,验证时输入`pppd -v`,若显示版本号则移植成功。
3. 编写拨号配置文件:
- gosuncn_options文件:配置串口、速率、认证等参数,移动/联通卡使用
`/dev/ttyUSB2`,电信卡用`/dev/ttyUSB0`,同时设置`user`和`password`,移动/联通可填任意内容,电信需填“card”和“card”,还需开启调试、自动添加路由、获取DNS等关键选项。
- gosuncn_ppp_dialer文件:编写chat脚本,通过AT指令初始化模块,核心是设置APN,移动卡填“CMNET”,联通卡填“3GNET”,电信卡填“CMNET”,最后执行`ATD99`拨号,还要配置超时、错误处理逻辑。
- disconnect脚本:编写用于断开连接的脚本,内容为`killall pppd`,完成后给`ppp-on`和`disconnect`赋予可执行权限。
4. 解决拨号问题并联网:运行`./ppp-on &`启动拨号,若提示无法创建锁文件,需手动创建`/var/run`和`/var/lock`目录。拨号成功后会生成ppp0网卡,显示模块和远端IP,还会获取主备DNS。
由于系统可能存在有线默认路由,需手动添加4G模块的默认路由,命令为`route add default gw 10.147.220.128`,
之后用
`ping -I 10.147.220.128 www.baidu.com`测试网络,若能收到回复,说明4G模块联网正常。
通过以上步骤,可顺利完成ME3630 4G模块的驱动配置与联网测试,实现通过PPP拨号接入4G网络,为后续物联网应用开发打下基础。