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

news2024/9/23 6:37:43

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.coloradmin.cn/o/1943003.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Requestium:一个将Requests和Selenium无缝衔接的爆款工具

2024软件测试面试刷题&#xff0c;这个小程序&#xff08;永久刷题&#xff09;&#xff0c;靠它快速找到工作了&#xff01;&#xff08;刷题APP的天花板&#xff09;-CSDN博客文章浏览阅读2.1k次&#xff0c;点赞85次&#xff0c;收藏11次。你知不知道有这么一个软件测试面试…

全国区块链职业技能大赛国赛考题区块链产品需求分析与方案设计

任务1-1:区块链产品需求分析与方案设计 本任务需要依据项目背景完成需求分析与方案设计,具体要求如下: 依据给定区块链食品溯源系统的业务架构图,对考题进行业务分析,尽可能多的去考虑一个业务系统所需要的模块,使用Visio或思维导图工具展现本系统的基本设计概念和处理流…

python函数中如何修改全局变量

所谓全局变量&#xff0c;其实就是相对于局部变量而说的。全局变量是定义在整个文件层次上的&#xff0c;可以在文件内的任何地方被访问&#xff0c;包括函数内部。 DEFAULT_DB_NAME "ss" def get_connection():print(DEFAULT_DB_NAME) if __name__ __main__:get_c…

C++ —— 关于模板初阶

1.什么是模板 在C中&#xff0c;模板&#xff08;template&#xff09;是一种通用的编程工具&#xff0c;允许程序员编写通用代码以处理多种数据型或数据结构&#xff0c;而不需要为每种特定类型编写重复的代码&#xff0c;通过模板&#xff0c;可以实现代码的复用和泛化提高代…

Python GUI Maker:拖拽式生成Tkinter GUI 界面的设计工具,让Tkinter开发变得专业高效

简介 Python 是一门极其流行和强大的编程语言,其简洁优雅的语法以及丰富的标准库和第三方库,使其在各个领域都广受欢迎。其中,Tkinter 是 Python 内置的图形用户界面(GUI)库,是构建 Python GUI 应用程序的事实标准。Tkinter 提供了创建窗口、添加控件、处理事件等基本功能,但对…

SQL 简单查询

目录 一、投影查询 1、指定特定列查询 2、修改返回列名查询 3、计算值查询 二、选择查询 1、使用关系表达式 2、使用逻辑表达式 3、使用 BETWEEN关键字 4、使用 IN关键字 5、使用 LIKE关键字 6、使用 IS NULL/ NOT NULL关键字 7、符合条件查询 三、聚合函数查询 一…

深度学习 —— 个人学习笔记6(权重衰减)

声明 本文章为个人学习使用&#xff0c;版面观感若有不适请谅解&#xff0c;文中知识仅代表个人观点&#xff0c;若出现错误&#xff0c;欢迎各位批评指正。 十三、权重衰减 使用以下公式为例做演示&#xff1a; y 0.05 ∑ i 1 d 0.01 x i ε w h e r e ε &#xff5e; N…

勇闯高龄“禁区”,四川眼科医院成功为95岁高龄老人实施泪道手术

一吹风就流泪、眼角总有擦不干净的分泌物……很多人以为这只是个滴眼药就能解决的小问题。其实不然&#xff0c;“不起眼”的疾病发展严重时可能还会需要手术治疗。 近日&#xff0c;四川眼科接诊了一位眼泪汪汪的耄耋老人张奶奶&#xff08;化名&#xff09;&#xff0c;此次…

vue2 使用代码编辑器插件 vue-codemirror

vue 使用代码编辑器插件 vue-codemirror 之前用过一次&#xff0c;当时用的一知半解的&#xff0c;所以也没有成文&#xff0c;前几天又因为项目有需求&#xff0c;所以说有用了一次&#xff0c;当然&#xff0c;依旧是一知半解&#xff0c;但是还是稍微写一下子吧&#xff01;…

学习测试10-4自动化 web自动化

网页资源 链接: https://pan.baidu.com/s/17XL2c2lkw_R6BD–VnOQqw?pwd43dr 提取码: 43dr 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 框架之间切换 driver.switch_to.frame("idframe1") # 父切子 参数用id和name# 子切子必须先转回父 driver.sw…

数据分析:微生物数据的荟萃分析框架

介绍 Meta-analysis of fecal metagenomes reveals global microbial signatures that are specific for colorectal cancer提供了一种荟萃分析的框架&#xff0c;它主要基于常用的Wilcoxon rank-sum test和Blocked Wilcoxon rank-sum test 方法计算显著性&#xff0c;再使用分…

STM32自己从零开始实操10:PCB全过程

一、PCB总体分布 分布主要参考有&#xff1a; 方便供电布线。方便布信号线。方便接口。人体工学。 以下只能让大家看到各个模块大致分布在板子的哪一块&#xff0c;只能说每个人画都有自己的理由&#xff0c;我的理由如下。 还有很多没有表达出来的东西&#xff0c;我也不知…

Python和MATLAB网络尺度结构和幂律度大型图生成式模型算法

&#x1f3af;要点 &#x1f3af;算法随机图模型数学概率 | &#x1f3af;图预期度序列数学定义 | &#x1f3af;生成具有任意指数的大型幂律网络&#xff0c;数学计算幂律指数和平均度 | &#x1f3af;随机图分析中巨型连接分量数学理论和推论 | &#x1f3af;生成式多层网络…

如何解决Windows系统目录权限问题

目录 前言1. 为什么会出现权限问题2. 修改文件权限的步骤2.1 确定目标文件2.2 右键属性设置2.3 更改所有者2.4 修改权限2.5 确认修改 3. 替换文件3.1 拷贝新的文件3.2 验证替换结果 结语 前言 在Windows系统中&#xff0c;时常需要往C盘系统目录下拷贝或者替换文件。然而&…

【Python系列】JSON 序列化性能对比分析

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【学术会议征稿】第五届计算机工程与智能通信国际研讨会(ISCEIC 2024)

第五届计算机工程与智能通信国际研讨会&#xff08;ISCEIC 2024&#xff09; 2024 5th International Symposium on Computer Engineering and Intelligent Communications (ISCEIC 2024) 第五届计算机工程与智能通信国际研讨会&#xff08;ISCEIC 2024&#xff09;将于2024年…

安全管理(EHS系统)是什么?化工企业如何进行安全管理?

化工企业一般会涉及到易燃易爆、有毒有害的原材料和产品&#xff0c;生产环境有高温高压、腐蚀性强等危险因素。一旦管理不善或操作失误&#xff0c;极易引发火灾、爆炸、中毒等严重事故&#xff0c;不仅有人身伤害&#xff0c;还会给企业带来巨大损失&#xff0c;甚至影响社会…

如何快速批量修改照片拍摄日期?一键批量搞定拍摄日期修改教程

在摄影爱好者、专业摄影师甚至普通用户中&#xff0c;照片不仅仅是视觉记录&#xff0c;它们还承载着时间和地点的印记。当需要调整大量照片的拍摄日期时&#xff0c;手动操作显然不是最高效的方法。幸运的是&#xff0c;现代文件管理工具如“简鹿文件批量重命名”软件提供了批…

数据隐私保护与区块链技术的结合:新兴趋势分析

在当今数字化时代&#xff0c;数据隐私保护成为了一个备受关注的重要话题。随着个人数据的不断生成和流通&#xff0c;如何有效保护用户的隐私成为了技术创新的一个重要方向。区块链技术作为一种去中心化、安全性高且可追溯的技术手段&#xff0c;正在逐渐成为解决数据隐私保护…

Android --- 广播

广播是什么&#xff1f; 一种相互通信&#xff0c;传递信息的机制&#xff0c;组件内、进程间&#xff08;App之间&#xff09; 如何使用广播&#xff1f; 组成部分 发送者-发送广播 与启动其他四大组件一样&#xff0c;广播发送也是使用intent发送。 设置action&#xff…