Linux学习第55天:Linux 4G 通信实验(更快、更高、更强)

Linux版本号4.1.15   芯片I.MX6ULL                                 大叔学Linux    品人间百味  思文短情长


        无论是有线网络还是WiFi都是摆脱不了布线的尴尬,而4G通信可以彻底拜托网线的束缚,实现无线网络通信。

        而说到4G就不得不提到5G,中国5G发展已经取得了显著成就,‌步入成熟期,‌成为全球最大的移动通信市场。‌

        中国5G用户规模已经超过4G,‌成为流量使用增长的主动力。‌截至2024年2月底,‌中国5G用户数达到8.51亿户,‌占比近一半,‌超过了4G用户数近1亿。‌此外,‌5G用户的接入流量同比增长59.8%,‌占比达到53.3%,‌显示出5G已成为推动电信行业收入增长的重要动能1。‌

        在基础设施建设方面,‌中国5G基站总数已经达到350.9万个,‌占移动基站总数的近三成。‌工业和信息化部通过“信号升格”行动和5G应用“扬帆”行动,‌优化通信基站建设,‌实现了网络性能的增强和信号覆盖面积的扩大。‌到2025年底,‌计划超过12万个重点场所实现移动网络深度覆盖,‌3万公里铁路和50万公里公路、‌200条地铁线路实现移动网络连续覆盖。‌

        在应用方面,‌5G技术在多个行业实现了规模应用,‌特别是在“5G+工业互联网”领域,‌在建项目数超过了1.3万个,‌为全球制造业可持续数字化转型提供了中国方案。‌此外,‌5G技术在工业、‌矿业、‌电力等行业已实现规模应用,‌展示了5G技术在提升生产效率、‌保障安全等方面的巨大潜力。‌

        此外,‌中国5G应用在各行业加速渗透到核心环节,‌赋能效应持续彰显。‌5G已覆盖97个国民经济大类中的74个,‌行业渗透率超76%;‌5G行业用户规模超3万家,‌特别是在工业、‌智慧城市、‌医疗、‌教育等领域的用户规模已超千家。‌这些数据表明,‌5G正在成为推动经济社会高质量发展的重要力量。‌

        综上所述,‌中国5G发展在用户规模、‌基础设施建设、‌以及行业应用等方面均取得了重要进展,‌不仅加快了数字化进程,‌也为全球5G技术的发展和应用提供了重要的参考和借鉴。‌

        2024年2月26日] 在MWC24 巴塞罗那期间,华为云核心网产品线总裁高治国在产品解决方案发布会上发布了5.5G智能核心网解决方案,2024是5.5G的商用元年,5.5G智能核心网内生业务智能、网络智能和运维智能,使能网络商业价值变现。

        由北京邮电大学张平院士及其团队搭建的国际首个通信与智能融合的6G外场试验网正式对外发布,标志着我国的6G关键技术迎来新突破。相较于5G,6G具有更高速率、更低时延、更广的连接密度,还能实现通信与人工智能、智能感知的深度融合。【和讯网2024-07-16 09:23】

        本章的思维导图如下:

一、4G网络连接简介

        其实很简单,4G模块驱动(Mini PCIE)就转换为了USB驱动。

        天线 IPEX座

二、高新兴ME3630 4G模块实验

1、ME3630 4G模块简介

2、ME3630 4G模块驱动修改

1)、添加USB设备信息

        drivers/usb/serial/option.c 文件,找到 option_ids 数组,然后在里面添加 ME3630 的 PID 和 VID,option_ids 数组如图:

2)、添加ECM支持程序

        ECM接口:ECM(ethernet control model)协议是USB2.0中用于将USB设备转换为网络适配器的一种协议。它允许将USB设备连接到计算机,并将其作为网络适配器使用,从而使计算机能够通过USB连接到网络。

        使用 ECM 接口的话需要修改 drivers/usb/serial/option.c 文件里面的 option_probe 函数。
 

3)、配置Linux内核

a.使能 USBNET 功能,配置路径如下:
-> Device Drivers
        -> -*- Network device support
                -> USB Network Adapters
                        -> -*- Multi-purpose USB Networking Framework

b.使能 USB 串口 GSM、 CDMA 驱动,配置路径如下:
-> Device Drivers
        -> [*] USB support
                -> <*> USB Serial Converter support
                        -> <*> USB driver for GSM and CDMA modems

c.使能 USB 的 CDC ACM 模式,配置路径如下:
-> Device Drivers
        -> [*] USB support
                -> <*> Support for Host-side USB
                        -> <*> USB Modem (CDC ACM) support

d.编译一下 Linux 内核,然后使用新的 zImage 启动开发板。
        ECM 模式下,可以通过运行“ ifconfig -a”命令查看对应的网卡.
 

3、ME3630 4G模块ppp联网测试

1)、使能Linux内核ppp功能

a.打开 Linux 内核的 ppp 功能,配置路径如下:

-> Device Drivers
        -> [*] Network device support
                -> <*> PPP (point-to-point protocol) support
                                -> <*> PPP BSD-Compress compression

                                -> <*> PPP Deflate compression
                                -> [*] PPP filtering

                                -> <*> PPP MPPE compression (encryption)
                                -> [*] PPP multilink support
                                -> <*> PPP over Ethernet
                                -> <*> PPP support for async serial ports
                                -> <*> PPP support for sync tty ports

b.重新编译一下 Linux 内核,得到新的 zImage 镜像文件,然后使用新的 zImage镜像文件启动开发板


2)、移植pppd软件

通过 pppd 这个软件来实现 ppp 拨号上网.
在移植之前先删除掉/usr/sbin/chat 这个软件!
a.将 ppp-2.4.7.tar.gz 拷贝到 Ubuntu 下并解压,解压以后会生成一个名为 ppp-2.4.7 的文件夹。

b.进入到 ppp-2.4.7 目录中,然后编译 pppd 源码,命令如下:

cd ppp-2.4.7/
./configure //配置
make CC=arm-linux-gnueabihf-gcc //编译

c.安装所需库 bison 和 flex,命令如下:

sudo apt-get install bison
sudo apt-get install flex

 d.将生成的 chat/chat、 pppd/pppd、 pppdump/pppdump 和pppstats/pppstats 这四个文件,将这个四个文件拷贝到开发板根文件系统中的/usr/bin 目录下

sudo cp chat/chat /home/zuozhongkai/linux/nfs/rootfs/usr/bin/ -f
sudo cp pppd/pppd /home/zuozhongkai/linux/nfs/rootfs/usr/bin/ -f
sudo cp pppdump/pppdump /home/zuozhongkai/linux/nfs/rootfs/usr/bin/ -f
sudo cp pppstats/pppstats /home/zuozhongkai/linux/nfs/rootfs/usr/bin/ -f

 e.查看版本号

pppd -v

3)、ppp上网测试

a.在开发板根文件系统下创建/etc/gosuncn 目录.

b.新建一个名为“ppp-on”的 shell 脚本文件,输入以下内容:

1 #!/bin/sh
2 clear
3 OPTION_FILE="gosuncn_options"
4 DIALER_SCRIPT=$(pwd)/gosuncn_ppp_dialer
5 exec pppd file $OPTION_FILE connect "chat -v -f ${DIALER_SCRIPT}"

c.新建一个名为“gosuncn_options”的文件,在文件里面输入如下所示内容:

1 /dev/ttyUSB2//如果是联通或移动的卡就是用 ttyUSB2,如果是电信的卡就是用 ttyUSB0。
2 115200
3 crtscts
4 modem
5 persist
6 lock
7 noauth
8 noipdefault
9 debug
10 nodetach/*
第 11~12 行,这两行内容和所使用的卡有关,如果是联通或者移动的卡就按照上面的写,
如果是电信的卡,要改为:
user card
password card
*/
11 user Anyname
12 password Anypassword
13 ipcp-accept-local
14 ipcp-accept-remote
15 defaultroute
16 usepeerdns
17 noccp
18 nobsdcomp
19 novj
20 dump

 d.新建一个名为“gosuncn_ppp_dialer”的文件,输入如下所示内容:

1 ABORT "NO CARRIER"
2 ABORT "ERROR"
3 TIMEOUT 120
4 "" ATE
5 SAY "ATE"
6 ECHO ON
7 OK ATH
8 OK ATP/*
3GNET 是网络的 APN 码,这个要根据自己所使用的手机卡来确定,联
通卡的 APN 为 3GNET,移动卡的 APN 为 CMNET。
如果使用的移动卡,那么要将 APN 设置为 CMNET。如果是电
信的卡,那么第 9 行要改为:
OK "AT+ZCAPN=card,card"
*/
9 OK AT+CGDCONT=1,\"IP\",\"3GNET\"///*如果是联通或移动的卡,那么第 10 行就不变。如果是电信的卡,那么第 10 行
要改为:
OK ATD#777*/
10 OK ATD*99#11 CONNECT

e.新建一个名为“disconnect”的 shell 脚本,输入如下所示内容:

1 #!/bin/sh
2 killall pppd

f.给予 ppp-on 和 disconnect 这两个文件可执行权限,命令如下:

chmod 777 ppp-on disconnect

g.根文件系统是否存在/var/run 和/var/lock 这两个目录,如果没有的话就手动创建这两个文件夹,
命令如下:

mkdir /var/run //创建/var/run 文件夹
mkdir /var/lock //创建/var/lock 文件夹

h.输入如下命令连接 4G 网络:

./ppp-on &

        4G 网络测试需要关闭其他网卡,否则的话网络测试可能有问题,将 uboot、 Linux kernel、 .dtb 设备树和根文件系统都烧写到板子的EMMC 或 NAND 上,然后直接启动 EMMC 或 NAND 上的系统即可。


4、ME3630 4G模块ECM联网测试

a.用 minicom 打开 ttyUSB1,波特率设置为115200。

        ①、输入 AT 指令:

AT+ZSWITCH=L

        重启开发板。

        ②、使用 AT 指令+CGDCONT 来设置数据参数。联通卡的 APN 为 3gnet,电信卡的 APN
为 ctnet,移动卡的 APN 为 cmnet。
 

AT+CGDCONT=1,” IP” ,” CMNET”

        ③、发送连接 AT 命令:

AT+ZECMCALL=1

 5、ME3630 4G模块GNSS定位测试 

ME3630-C3C 的 GNSS 要用无源天线, 不能使用有源天线,否则无法定位!
minicom 配置:

a.使用 AT 指令配置 ME3630

ATI //查看固件信息
Manufacturer: GOSUNCNWELINK
Model: ME3630-W
Revision: ME3630C3CV1.0B03
IMEI: 864863045876287
OK
AT+ZGINIT //初始化 GPS
OK
AT+ZGMODE=3 //设置定位模式
OK
AT+ZGPORT=0 //定位信息从 AT、 MODEM、 UART 三个口同时上报
OK
AT+ZGNMEA=31 //设置 GPS 数据为 NMEA 格式
OK
AT+ZGPSR=1 //使能 ZGPSR 数据
OK
AT+ZGRUN=2 //连续定位模式
OK

 b.直接解析 NEMA 格式数据,然后得到具体的经纬度、速度、高度、UTC 时间等信息。

三、EC20 4G模块实验

该模块的使用方法和 ME3630基本一样,不再赘述,感兴趣的可以自己去看一下。

1、EC20 4G模块简介

2、EC20 4G模块驱动修改

1)、添加USB设备信息

2)、配置Linux内核

3)、添加移远官方的 GobiNet 驱动

3、quectel-CM移植

4、EC20上网测试


本笔记为参考正点原子开发板配套教程整理而得,仅用于学习交流使用,未经允许不得用于商业用途。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/384186.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jenkins删除历史构建记录

1、 登录jenkins&#xff0c;进入【Manage Jenkins】-【Script Console】&#xff0c;输入&#xff1a; def jobName "Test" //删除的项目名称 def maxNumber 60 // 保留的最小编号&#xff0c;意味着小于该编号的构建都将被删除 Jenkins.instance.getItemByFullN…

单元测试--Junit

Junit是Java的单元测试框架提供了一些注解方便我们进行单元测试 1. 常用注解 常用注解&#xff1a; TestBeforeAll&#xff0c;AfterAllBeforeEach&#xff0c;AfterEach 使用这些注解需要先引入依赖&#xff1a; <dependency><groupId>org.junit.jupiter<…

Vue3与Element-plus配合 直接修改表格中的一项数据——控制输入框的显示与隐藏

利用控制与隐藏输入框,直接修改表格中的每一项数据。 <!-- 表格模块 --> <div><el-table :data"tablelist" style"width: 100%"><el-table-column align"center" prop"deposit" label"接单押金">&l…

【 C++ 】 一文搞定——引用、内联、命名空间、缺省、重载

前言&#xff1a;这篇文章将带您了解C基础中的知识点——命名空间、引用、内联、缺省、重载 &#x1f618;我的主页&#xff1a;OMGmyhair-CSDN博客 一、命名空间namespace 1.可以嵌套定义&#xff0c;但是只能定义在全局 namespace ly {int student 1;int age 21;void Pr…

windows wsl ubuntu系统安装桌面可视化

参考&#xff1a; https://www.bilibili.com/read/cv33557374/ 1&#xff09;首先先安装好wsl ubuntu系统 2&#xff09;安装 Ubuntu 桌面版 sudo apt purge -y acpid acpi-support modemmanagersudo apt-mark hold acpid acpi-support modemmanager sudo apt install ubunt…

数据库连接断开后,DBAPI的数据源如何自动重连

现象 在使用DBAPI的过程中&#xff0c;如果网络抖动导致数据库连接不上&#xff0c;发现DBAPI的数据源不能重连&#xff0c;必须重启DBAPI才能连上数据库 解决办法 在数据源的连接池参数配置druid.breakAfterAcquireFailurefalse注意在企业版的4.1.1及以上版本才可以配置连接…

捉虫笔记(1)之 WinDbg符号配置

WinDbg符号配置 1、WinDbg简单介绍 WinDbg 是微软的一款强大的调试工具&#xff0c;用于 Windows 平台的内核和用户模式调试。它提供了一系列强大的功能&#xff0c;包括内存和寄存器的查看、断点设置、堆栈跟踪、性能分析等。 WinDbg 的历史可以追溯到微软早期的调试工具&a…

OceanBase v4.2 特性解析:如何实现表级恢复

背景 在某些情况下&#xff0c;你可能会因为误操作而遇到表数据损坏或误删表的情况。为了能在事后将表数据恢复到某个特定时间点&#xff0c;在OceanBase尚未有表级恢复功能之前&#xff0c;你需要进行以下步骤&#xff1a; 利用OceanBase提供的物理恢复工具&#xff0c;您可…

ESP8266用AT指令实现连接MQTT

1准备工作 硬件&#xff08;ESP8266&#xff09;连接电脑 硬件已经烧入了MQTT透传固件 2实现连接 2-1&#xff08;进入AT模式&#xff09; 打开串口助手发送如下指令 AT 2-2&#xff08;复位&#xff09; ATRST 2-3&#xff08;开启DHCP&#xff0c;自动获取IP&#x…

Java二十三种设计模式-代理模式模式(8/23)

代理模式&#xff1a;为对象访问提供灵活的控制 引言 代理模式&#xff08;Proxy Pattern&#xff09;是一种结构型设计模式&#xff0c;它为其他对象提供一个代替或占位符&#xff0c;以控制对它的访问。 基础知识&#xff0c;java设计模式总体来说设计模式分为三大类&#…

基于 HTML+ECharts 实现智慧运维数据可视化大屏(含源码)

智慧运维数据可视化大屏&#xff1a;基于 HTML 和 ECharts 的实现 在现代企业中&#xff0c;运维管理是确保系统稳定运行的关键环节。随着数据量的激增&#xff0c;如何高效地监控和分析运维数据成为了一个重要课题。本文将介绍如何利用 HTML 和 ECharts 实现一个智慧运维数据可…

14、如何⽤DDD设计微服务代码模型

在完成领域模型设计后&#xff0c;接下来我们就可以开始微服务的设计和 落地了。在微服务落地前&#xff0c;⾸先要确定微服务的代码结构&#xff0c;也就是我 下⾯要讲的微服务代码模型。 只有建⽴了标准的微服务代码模型和代码规范后&#xff0c;我们才可以将 领域对象映射到…

【Rust】所有权OwnerShip

什么是所有权 rust使用由编译器检查的一些规则构成的所有权系统来管理内存。且这不会影响程序的运行效率。 所有权规则 rust中每一个每一个值都有一个owner。在同一时刻&#xff0c;只能有一个owner。当这个owner超过范围&#xff0c;则该值会被丢弃。 String类型 为什么需…

全链路追踪 性能监控,GO 应用可观测全面升级

作者&#xff1a;古琦 01 介绍 随着 Kubernetes 和容器化技术的普及&#xff0c;Go 语言不仅在云原生基础组件领域广泛应用&#xff0c;也在各类业务场景中占据了重要地位。如今&#xff0c;越来越多的新兴业务选择 Golang 作为首选编程语言。得益于丰富的 RPC 框架&#xff…

虚拟机centos9搭建wordpress

目录 1. 更换yum源更新系统软件包&#xff1a; 1.1备份yum源 1.1.1创建备份目录&#xff1a; 1.1.2移动现有仓库配置文件到备份目录&#xff1a; 1.1.3验证备份&#xff1a; 1.2更换yum源 1.2.1添加yum源 1.2.2删除和建立yum缓存 1.3更新系统软件包 1.4 yum与dnf介绍…

单元测试的最佳实践

整体架构 合适的架构可以提升可测试性。比如菱形对称架构的模块化和解耦特性使得系统各个部分可以独立进行单元测试。这不仅提高了测试的效率&#xff0c;还能够减少测试的依赖性&#xff0c;提高测试准确性。 代码设计 代码设计和可测试性有密切关联。强烈建议一个方法的代码行…

Docker 安全及日志管理(包含SSL证书)

目录 一、Docker 存在的安全问题 二、Docker 架构缺陷与安全机制 三、Docker 安全基线标准 四、容器相关的常用安全配置方法 五、限制流量流向 六、镜像安全 七、DockerClient 端与 DockerDaemon 的通信安全 https的单向认证流程 https的双向认证流程 八、DockerClie…

Qt 使用视口和窗口作图

物理坐标系与逻辑坐标系 绘图设备的物理坐标系是基本的坐标系&#xff0c;通过 QPainter 的平移、旋转等坐标变换可以得到更容 易操作的逻辑坐标系。 物理坐标系也称为视口&#xff08;viewport&#xff09;坐标系&#xff0c;逻辑坐标系也称为窗口&#xff08; window&…

USB转多路串口-纯硬件实现串口数据传输指示灯电路

前言 串口相关产品往往要求有数据收发时LED闪烁&#xff0c;我们经常会用软件实现&#xff0c;在MCU内注册一个定时器&#xff0c;有数据发送时就闪烁一段时间。软件点灯这种方式存在两个缺陷&#xff0c;一是接收方向不好实现&#xff1b;二是定时器一般用固定频率&#xff0…

谷粒商城实战笔记-63-商品服务-API-品牌管理-OSS获取服务端签名

文章目录 一&#xff0c;创建第三方服务模块thrid-party1&#xff0c;创建一个名为gulimall-third-party的模块2&#xff0c;nacos上创建third-party命名空间&#xff0c;用来管理这个服务的所有配置3&#xff0c;配置pom文件4&#xff0c;配置文件5&#xff0c;单元测试6&…