Linux系统下使用4G模块EC20实现拨号上网

驱动的实现过程

实现4G功能分为两步,第一步内核能成功识别出该设备,第二步实现拨号上网.最后提一下自带的定位功能

一.添加内核USB驱动

这里直接使用内核已经存在的USB驱动,只需要让内核能识别出该USB设备,并自动加载驱动生成对应的/devUSB*设备节点

  1. 获取EC20的PID和VID
    把模块插入到开发板上,使用lsusb查看
    在这里插入图片描述
    根据USB的ID可以确定模块的版本号
    在这里插入图片描述
  2. 修改USB驱动源码,使之能识别到该设备
    把它添加到源码的./driver/usb/serial/options.c文件里
    #define EC20_VID 0x2c7c
    #define EC20_PID 0x0125
    在options_ids列表中增加: {USB_DEVICE(EC20_VID, EC20_PID)}
  3. 编译内核,并烧写到开发板
    make meuconfig 配置:
    i. USB相关:USB driver for GSM and CDMA modems
    ii.PPP相关:PPP(point-to-point protocol)support
    make得到zImage文件(arch/arm/boot目录下),烧写到开发板

二.拨号上网

  1. 开始拨号上网
    此时插入模块,在/dev目录下映射出来的虚拟串口ttyUSB*
    在这里插入图片描述
    证明USB驱动加载完成,MYiR的MYC-Y6UL自带EC20驱动(直接插入模块即可)

  2. 用AT指令测试EC20信号强度
    i. cat /dev/ttyUSB3 &
    ii.echo -e “AT+CSQ\r\n” > /dev/ttyUSB3
    在这里插入图片描述

  3. 启动PPP拨号:ifup ppp0
    1) 可查看日志 vi /var/log/quectel-dial.log
    2) 查看拨号chat脚本 vi /etc/ppp/peers/quectel-dial

实际调用脚本:
拨号连接: /etc/ppp/chatscripts/quectel-chat-connect
退出拨号:/etc/ppp/chatscripts/quectel-chat-disconnect

  1. ifconfig出现ppp0则表示拨号成功
    在这里插入图片描述
  2. 添加DNS: vi /etc/resolv.conf
    在这里插入图片描述
  3. 不同营运商需要修改APN和拨号

移动APN备用:cmwap(版本较老不建议使用)
联通APN备用:wonet
电信APN备用:ctlte
在这里插入图片描述

  1. 不同运营商拨号的账号和密码也要修改
    联通跟移动的user和password可以不要,但电信卡必须填写user “ctnet@mycdma.cn” password “vnet.mobi”
    在这里插入图片描述

EC20的GPS功能默认关闭

	1) 手动打开:echo -e “AT+QGPS=1\r\n”> /dev/ttyUSB3
	2) 地理位置信息输出:ttyUSB1是GPS用来输出NMEA信息

EC20各型号对比

CEHC纯数据版本
CEFAG有语音,短信,GPS,北斗,二次开发,可外接WIFI,有分集天线的全功能版本
CEFDG有语音,可外接WIFI,无GPS,无北斗,无分集天线

写在最后

感谢以下各位文档的帮助,这里特注说明

参考链接
拨号:

  1. https://www.cnblogs.com/liushuhe1990/articles/10237848.html
  2. https://blog.csdn.net/wwt18811707971/article/details/54291747

GPS:

  1. https://blog.csdn.net/u011195662/article/details/78624977

官方文档下载入口

  1. 链接地址:https://download.csdn.net/download/blog_xu/11569667
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页