1.说明

本章将介绍Raspberry Pi如何采用SIM7600 4G模块进行无线上网,并描述其相关细节,本文先讲解NDIS拨号。

2.采用4G模块的上网方式有哪些?

Raspberry Pi通过SIM7600模组,可采用以下几种方式进行无线上网:

采用AT指令使用封装好的TCP,MQTT,HTTP(S)

该方式适用于资源比较紧张的微处理器,如MCU等,或适用于对数据量比较少的应用场景,如通过http(s),MQTT给服务器,云平台等上传传感器数据。如果网络应用不复杂,数据量比较小时(比如传输传感器数据至服务器,接收服务器下发的控制指令),采用AT指令即可快速使用功能。

采用NDIS驱动上网

该方式必须依赖于Linux系统,适用于需要采用Linux网络套接字编程开发的应用场景,将驱动加载到内核后,将SIM7600和Jetson Nano采用USB线连接,待SIM7600开机后,即可识别到wwan0网口,可通过该网口上网。该方式底层依赖于SIM7600的USB虚拟串口。该方式为官方推荐的上网方式,同样,建议采用该种方式进行拨号上网。

采用ppp拨号上网

该方式必须依赖于Linux系统,适用于需要采用Linux网络套接字编程开发的应用场景,配置并运行相关脚本后,将SIM7600采用USB线连接,待SIM7600开机后,进行pppd脚本拨号,即可识别到ppp0网口,可通过该网口上网。

该方式底层依赖于SIM7600的USB虚拟串口。

采用wvdial拨号上网

该方式的底层实现同ppp拨号上网,不再阐述。

3. 准备工作

接下来,将介绍Raspberry Pi采用NDIS驱动通过SIM7600 4G模块上网的过程。

3.1 硬件准备

Raspberry Pi 4B,16GB SD卡(烧录镜像版本:2020-02-13-raspbian-buster-full)

可上网的4G SIM卡

3.2 硬件连接

硬件连接如下图所示:

树莓派4B接上SIM7600CE 4G扩展板

注意:

1.若接到40Pin引脚上使用,则注意将SIM7600的Flight Mode,PWR引脚拉低,即需要对树莓派引脚进行初始化设置,否则插上树莓派后模组可能会直接进入飞行模式。

2. 若树莓派通过USB线单独给SIM7600供电,须提供有500mA左右的功率,否则可能出现供电不稳定,导致SIM7600开机后关机的现象。

4. 正式开始

4.1 检查硬件连接,网络连接(该步骤必须检查并确认)

长按SIM7600CE 4G HAT上的PWKKEY键,使得SIM7600CE 4G HAT开机,正常开机后,NET灯应当闪烁(若未闪烁,请检查SIM卡是否可用,或是否进入了飞行模式)。

检查Jetson Nano的Ubuntu系统或树莓派的Raspbian系统是否内置了高通USB串口驱动,非新版本镜像系统可能未内置该驱动,查看方式如下图所示:

# 查看Ubuntu版本

uname -a

lsb_release -a

cat /proc/version

# 查看是否有高通USB虚拟串口驱动

lsusb

如果能看到Qualcomm/Option字样,则说明内置了高通USB虚拟串口驱动

输入AT指令,设置为4G上网,查看网络连接状态# 关闭ModemManager进程,以防止minicom调试AT串口时,显示没用的数据

sudo su

killall ModemManager

# 安装minicom串口工具

apt-get install minicom

# 查看串口设备,AT指令串口,为/dev/ttyUSB2

ls /dev/ttyUSB*

# 用minicom打开串口

sudo minicom -D /dev/ttyUSB2

# 强制设置为4G上网

AT+CNMP=38

# 查询网络质量

AT+CSQ

# 查询网络注册状

AT+CREG?

# 查询网络运营商

AT+COPS?

# 查询网络波段

AT+CPSI?

至此,SIM7600CE和Raspberry Pi硬件连接正常,网络连接正常。

4.2 编译并安装驱动模块文件

Raspberry Pi的Raspbian系统,默认是安装了高通的用于wwan0网口的驱动模块文件,可用以下命令查看

lsmod

如下图:

对于Raspberry Pi,需要先卸载该驱动(不然会与新装的驱动冲突),再安装上simcom的用于wwan0网口的驱动模块文件,卸载方式如下:sudo su

rmmod qmi_wwan

在此基础上,执行后续步骤。

下载SIMCOM官方提供的驱动模块源程序:wget https://www.waveshare.net/w/upload/0/00/SIM7600_NDIS.7zsudo apt-get install p7zip-full7z x SIM7600_NDIS.7z -r -o./SIM7600_NDIScd SIM7600_NDIS

sudo apt install raspberrypi-kernel-headers

*注意:默认情况下上述命令会安装与官网最新版本镜像对应的内核版本头文件,如果你用的是旧版的镜像,需要先把升级下内核版本,可用命令:sudo apt-get install --reinstall raspberrypi-bootloader raspberrypi-kernel

开始编译NDIS驱动源文件,先切换成超级管理员权限,如下图所示:

sudo su

make clean

make

ls

由上图可查看到,已编译成内核驱动模块文件simcom_wwan.ko 。

接下来,将安装该驱动模块文件:

insmod simcom_wwan.ko

lsmod

此时,simcom_wwan驱动模块已安装上。

可查看到内核的打印信息:

dmesg

*注意:如果安装驱动失败,也可以通过内核打印信息查看出错类型,如果提示内核版本不匹配,须再次检查下安装的内核头文件版本是否与系统内核版本匹配。

4.3 开始拨号,并分配IP

此时,可看到已经出现wwan0网口:

ifconfig -a

但是该网口并未分配IP地址,如需分配IP,需要

首先开启网口

ifconfig wwan0 up

然后拨号

minicom -D /dev/ttyUSB2

AT$QCRMCALL=1,1

最后,分配IP

apt-get install udhcpc

udhcpc -i wwan0

此时,正常可以分配到IP。当然,没有绝对!如果一直出现“udhcpc: sending discover”,那么要反思是否没有听麻麻的话。比如树莓派下没有先按照上文卸载驱动 rmmod qmi_wwan 驱动,或者拨号时间太长又断开了,又或者上面其他步骤操作错了。。

接下来开始该网口进行测试:

ifconfig -a

ping -I wwan0 www.baidu.com

由上图可知,wwan0网口测试通过。

如果出现dns解析异常,输入以下命令可解决:

route add -net 0.0.0.0 wwan0

5 测速

最后,对采用NDIS拨号上网进行测速:

注意,以上数值仅供参考,不同地域,不同运营商,测速所得出的数据略有差距,在理想的情况下,在SIMCOM实验室测试,理想上行与下行速度为20Mbps。

6 相关资料

PS:鉴于作者水平有限,有发现错漏之处劳烦之处,操作上有其他问题,欢迎留言讨论。最后感谢SIMCOM官方小伙伴的支持协助。

7 操作演示视频

sim7600ce 拨号上网测试_树莓派系列教程:通过SIM7600 4G模块NDIS拨号相关推荐

  1. sim7600ce 拨号上网测试_sim7600ce拨号上网

    1.使用lsusb命令确认4G模块工作正常,没显示如下信息的话就是硬件有问题了. 另外,7600ce 4G模块上有一个蓝色的指示灯,sim卡插好了就会持续闪烁. 2.修改内核配置选项 make meu ...

  2. (二)树莓派系列教程:树莓派4B手动连接wifi,远程控制。命令行界面、桌面界面

    一.通过连接同一局域网的wifi来远程操作树莓派 在树莓派系列教程(一)中我们在烧录系统的时候已经配置了树莓派在开机时候按优先级来裂解wifi.但是如果我们没有配置wifi的文件,我们可以手动连接wi ...

  3. ME909S-821 4G-LTE模块在Linux系统下拨号上网测试

    转:https://blog.csdn.net/csdnhuaong/article/details/74910569 实验平台 大前提 图形化界面配置拨号上网操作 利用wvdial工具软件拨号上网操 ...

  4. 前端测试框架Jest系列教程 -- Expect(验证)

    写在前面 在编写测试时,我们通常需要检查值是否满足某些条件,Jest中提供的expect允许你访问很多"Matchers",这些"匹配器"允许您验证不同的东西. ...

  5. linux 串口4g ppp,在ARM-linux上实现4G模块PPP拨号上网

    原标题:在ARM-linux上实现4G模块PPP拨号上网 在ARM平台上实现 的 ,参考网上的资料和自己的理解,从一无所知到开发完成花了一周多.最后看到ARM板ping通www.baidu.com时甚 ...

  6. 树莓派4通过华为ME909S 4G模块连接蜂窝网(非PPP)

    树莓派4通过华为ME909S 4G模块连接蜂窝网(非PPP) 最近做一个项目需要树莓派连接蜂窝网络,几个月前用ppp拨号成功驱动了华为me909s模块,但最近几天使用了官方新镜像后(2019-07-1 ...

  7. 驱动程序开发:基于EC20 4G模块自动拨号联网的两种方式(GobiNet工具拨号和PPP工具拨号)

    目录 一.EC20 4G模块简介 二.根据移远官方文档修改EC20 4G模组驱动   1.因为EC20 4G模组min-pice接口其实就是usb接口,因此需要修改Linux内核源码drivers/u ...

  8. sim7600ce 拨号上网测试_SIM7600CE TCP/IP连接与PPP拨号上网 4G上网

    SIM7600CE联网测试分为两部分: 1.TCP/IP连接 2.PPP拨号上网 实验环境:ubuntu-meta 16.04 硬件:树莓派3B,SIM7600CE 上网卡:移动的NB-IOT物联网卡 ...

  9. sim7600ce 拨号上网测试_Linux下sim7600ce调试笔记

    文档链接: sim7600ce拨号上网: https://blog.csdn.net/qq_26600237/article/details/80009171 SIM7600CE 4G HAT htt ...

最新文章

  1. 转发:听老罗讲这一代人的学习方法有感
  2. 小程序素材抓取软件_如何抓取微信小程序的数据?
  3. WPF对某控件添加右键属性
  4. JavaScript几个难点
  5. python不用模块调用麦克风_python调用pyaudio使用麦克风录制wav声音文件的教程
  6. java导入日期处理,java实现Excel表格的导入日期变成数字的问题
  7. Hadoop、storm和Spark的区别、比较
  8. 多线程中的事务回滚,你真的用对了吗?
  9. ad一张图纸绘制多图_你知道,为什么工程图纸都是蓝图纸,而不是白色黄色红色?...
  10. 【原创】技术员 Ghost Win 10(x86/x64)企业版 201806
  11. 微博html怎么编辑器,制作一个微博文本编辑器
  12. brctl 设置ip_Linux网桥配置命令:brctl
  13. 高校实验室安全隐患及安全建设-LIMS2
  14. 2019北航计算机961考研经验总结
  15. oracle怎么加上双引号,Oracle中的双引号的作用
  16. ☆【容斥原理】【SCOI2010】幸运数字
  17. Spring中的一些常用注解
  18. free结果输出中的-/+ buffers/cache是什么意思
  19. nth-child 实用技巧
  20. 【转】Android开发工具--android-studio-bundle-141.2288178

热门文章

  1. 让你的Python程序在用户面前以小概率崩溃
  2. Python版的百钱买百鸡问题
  3. Python通过多帧静态图像制作GIF动态图像
  4. python字符串驼峰转换_驼峰风格字符串转换为下滑线风格字符串
  5. LeetCode-27 移除元素
  6. c++ std 方法 取两个数的较大_【数据结构C++】两数交换(4种方法)
  7. 手写 instanceof 方法
  8. tensorflow 读取cifar_对tensorflow中cifar-10文档的Read操作详解
  9. netmiko 记录日志_Pythonnetmiko模块的使用 | 学步园
  10. word转chm_如何免费在线将图像转换为Word?