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.mzph.cn/news/874594.shtml

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

相关文章

关于css中flex布局垂直居中失效问题的原因

项目中遇到用flex进行页面布局后&#xff0c;使用上下居中设置&#xff1a;align-item: center; 目标效果如下&#xff1a; 但是失效&#xff0c;不起作用&#xff0c;如下图所示&#xff1a; 各种排查过后发现设置了子模块 align-self 属性&#xff0c;这会覆盖容器上的 al…

Cesium 实战 - 自定义纹理材质系列之 - 半球雷达效果(预警)

Cesium 实战 - 自定义纹理材质系列之 - 半球雷达效果(预警) 核心代码完整代码在线示例Cesium 给实体对象(Entity)提供了很多实用的样式,基本满足普通项目需求; 但是作为 WebGL 引擎,肯定不够丰富,尤其是动态效果样式。 对于实体对象(Entity),可以通过自定义材质,…

微软蓝屏事件警示录:网络安全风险应对与行业协同策略探讨

“微软蓝屏”事件暴露了网络安全哪些问题&#xff1f; 近日&#xff0c;一次由微软视窗系统软件更新引发的全球性“微软蓝屏”事件&#xff0c;不仅成为科技领域的热点新闻&#xff0c;更是一次对全球IT基础设施韧性与安全性的深刻检验。这次事件&#xff0c;源于美国电脑安全…

mysql高阶语句:

mysql高阶语句&#xff1a; 高级语法的查询语句&#xff1a; select * from 表名 where limitsdistinct 去重查询like 模糊查询 排序语法&#xff1a;关键字排序 升序和降序 默认的排序方式就是升序 升序&#xff1a;ASC 配合order by语法 select * from 表名…

socket和websocket区别

Socket和‌WebSocket的主要区别在于它们的定义、功能和应用场景。 定义与功能&#xff1a; Socket 是一个系统调用接口&#xff0c;它允许应用程序通过TCP/IP协议进行网络通信。Socket本身不是协议&#xff0c;而是一组接口&#xff0c;用于使用TCP/UDP等传输层协议。‌12WebSo…

Memcached的冗余机制与节点失效应对策略

Memcached的冗余机制与节点失效应对策略 引言 Memcached是一种高性能的分布式内存对象缓存系统&#xff0c;用于加速动态Web应用程序&#xff0c;减轻数据库负载。然而&#xff0c;在分布式环境中&#xff0c;节点失效和数据丢失是常见的挑战。本文将通过具体代码示例&#x…

Python爬虫掌握-----4实战(爬取视频)

我们使用爬虫时难免会遇到爬取视频的情况&#xff0c;其实爬取图片视频&#xff0c;内容都是一样的。这里以b站视频为例。 一、开始 1.找到url&#xff0c;请求url 防盗链&#xff0c;需要写在UA伪装中 正常的三步&#xff1a; 1.url 2.requests请求 3.UA伪装 import req…

docker基于外部缓存加速构建方案

开启外部缓存 http://your_apt_cacher_ng_server:3142 是一个示例 URL&#xff0c;表示需要设置的 apt-cacher-ng 代理服务器的地址。apt-cacher-ng 是一个本地代理服务器&#xff0c;可以缓存从官方 APT 仓库下载的软件包&#xff0c;从而加速后续的下载过程&#xff0c;并减…

linux c 递归锁的介绍

递归锁的递归特性确实只是对于持有锁的线程。当一个线程获取了递归锁后&#xff0c;它可以多次重复获取该锁&#xff0c;而不会导致自身阻塞或死锁。这是递归锁的重要特点&#xff0c;它允许同一个线程在已经持有锁的情况下&#xff0c;再次获取相同的锁。 然而&#xff0c;对…

Zabbix基本介绍

文章目录 一、监控为什么需要监控需要监控什么Zabbix使用场景及系统概述zabbix介绍Zabbix功能Zabbix架构Zabbix术语 二、部署安装编译安装 一、监控 为什么需要监控 监控功能 在需要的时刻&#xff0c;提前预警即将出问题,避免故障发生。实时监控系统和业务,当出问题之后&am…

在本地远程访问云Linux服务器部署的tomcat管理控制台

样例: 我们将创建一个 SSH 隧道&#xff0c;将本地计算机的端口映射到远程服务器的端口,以达到在本地的windows系统中访问云Linux中tomcat的管理控制台的目的 1.打开终端,输入以下字段 ssh -L 8080:localhost:8080 userserver_ip 其中各项代表的值为: -L [local_port]:[remo…

Android11 framework 禁止三方应用通过广播开机自启动-独立方案

之前的文章Android11 framework 禁止三方应用开机自启动记录了我调试Android11应用自启动限制的全过程&#xff0c;但是之前的方案感觉还能再研究&#xff0c;所以有了这一篇文章。 这一篇文章主要探讨Android11上&#xff0c;以广播来进行自启动的应用的限制&#xff0c;极个别…

数据库安全:MySQL安全配置,MySQL安全基线检查加固

「作者简介」&#xff1a;冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础著作 《网络安全自学教程》&#xff0c;适合基础薄弱的同学系统化的学习网络安全&#xff0c;用最短的时间掌握最核心的技术。 这一章节我们需…

Java中的字符串类型——String

字符串类型 不可变类型&#xff1a;一旦创建&#xff0c;值就不会改变fianl修饰类不能继承&#xff0c;不能被重写&#xff0c;修饰char类型后&#xff0c;地址不可变&#xff0c;内容可变&#xff0c;没有具体方法修改内容&#xff0c;保证不可变性 常用方法 长度&#xff…

(十七)原生js案例之h5中的几个特性记录

h5 中的新特性 语义化标签增强型表单元素选择器 querySelectorquerySelectorAllgetElementsByClassName class 的操作 classList.addclassList.removeclassList.toggleclassList.containsclassList.replace JSON JSON.stringifyJSON.parseeval 可以解析任何字符串变成 jspares…

配置Linux客户端免密登录服务端Linux主机的root用户

1.安装shh服务 首先安装shh服务&#xff0c;redhat端通过下面代码进行安装服务 sudo yum install sshd sudo yum install openssh-server 2.生成密钥&#xff08;公钥&#xff0b;私钥&#xff09; 执行ssh-keygen命令&#xff0c;会生成id_rsa&#xff08;私钥&#xff0…

【ffmpeg命令入门】再论ffmpeg通用选项

文章目录 前言强制使用特定的文件格式1. 将 MP4 文件转换为 AVI 格式2. 录制音频3. 从摄像头录制视频 指定输入文件覆盖同名文件限制输入/输出文件的时间指定结束点时间主要区别举例说明1. 使用 -t 截取前 10 秒的视频2. 使用 -to 截取到第 10 秒的视频 实际应用中的区别1. 从第…

并发编程--synchronized介绍

1.初步认识synchronized 先来看下利用 synchronized 实现 同步的基 础 &#xff1a; Java 中的每一个 对 象都可以作 为锁 。具体表 现 为 以下 3 种形式。 &#xff1a; 对于普通同步方法&#xff0c; 锁 是当前 实 例 对 象。 对于静 态 同步方法&#xff0c; 锁 是当前 类…

python-首字母移位(PythonTip)

[题目描述] 编写一个程序&#xff0c;将句子中每个单词的首字母移位到下一个单词。定义函数shift_first_letter()&#xff0c;参数为sentence&#xff08;字符串&#xff09;。在函数内&#xff0c;将句子中每个单词的首字母移位到下一个单词。最后一个单词的首字母移位到句子的…

python进阶---闭包与装饰器

一、闭包 在Python中&#xff0c;闭包是指一个函数内部定义的函数&#xff0c;这个内部函数可以访问并修改其外部函数的局部变量&#xff0c;即使外部函数已经执行完毕。闭包可以通过多层函数嵌套来实现。 闭包的三要素&#xff1a; 1、外部函数嵌套内部函数 2、外部函数返回内…