香橙派OrangePi zero H2+ 驱动移远4G/5G模块
目录
1 安装系统和内核文件:
1.1 下载镜像
1.2 内核头安装
1.2.1 下载内核
1.2.2 将内核头文件导入开发板中
1.2.3 安装内核头
2 安装依赖工具:
2.1 Installing Required Host Utilities
3 驱动步骤:
3.1 下载模块驱动文件
3.2 找到接近内核的文件
3.3 将v5.4.51驱动文件导入开发板中
3.4 添加对应的PID VID
3.5 编译并安装驱动
4 验证驱动:
4.1 接入4G/5G模块
4.2 查看USB节点
4.3 查看模块版本号
4.4 查看模块网卡
1 安装系统和内核文件:
Linux orangepizero 5.4.65-sunxi #2.2.2 SMP Tue Aug 15 17:45:28 CST 2023 armv7l armv7l armv7l GNU/Linux
1.1 下载镜像
https://download.csdn.net/download/weixin_37613240/88258590
1.2 内核头安装
1.2.1 下载内核
https://download.csdn.net/download/weixin_37613240/88258469
1.2.2 将内核头文件导入开发板中
orangepi@orangepizero:~$ ls
linux-headers-current-sunxi_2.2.2_armhf.deb
1.2.3 安装内核头
sudo dpkg -i linux-headers-current-sunxi_2.2.2_armhf.deb
2 安装依赖工具:
2.1 Installing Required Host Utilities
sudo install make
sudo install make-guile
sudo install gcc
sudo install udhcpc
3 驱动步骤:
3.1 下载模块驱动文件
下载:模块Linux驱动文件https://download.csdn.net/download/weixin_37613240/87636073
3.2 找到接近内核的文件

本文章镜像为5.4.65内核,那么就选择 v5.4.51文件
3.3 将v5.4.51驱动文件导入开发板中
orangepi@orangepizero:~$ ls
v5.4.51
3.4 添加对应的PID VID
orangepi@orangepizero:sudo vi ~/v5.4.51/drivers/usb/serial/option.c在option.c添加入这些PID和VID
#if 1 //Added by Quectel//****省略****//{ USB_DEVICE(0x2C7C, 0x6002) }, /* Quectel EC200s ECx00M ECx00N*/{ USB_DEVICE(0x2C7C, 0x6005) }, /*EC200A */{ USB_DEVICE(0x2C7C, 0x6007) }, /*EG800Q */{ USB_DEVICE(0x2C7C, 0x0903) }, /* ECx00E */{ USB_DEVICE(0x2C7C, 0x0901) }, /* ECx00U */{ USB_DEVICE(0x2C7C, 0x0902) }, /* ECx00D */{ USB_DEVICE(0x2C7C, 0x0904) }, /* ECx00G */{ USB_DEVICE(0x2C7C, 0x0900) }, /* Rxx00U *///****省略****//
#endif
3.5 编译并安装驱动
orangepi@orangepizero:~$ cd v5.4.51
orangepi@orangepizero:~/v5.4.51$ sudo make install//****过程****//
make -C /lib/modules/5.4.65-sunxi/build M=/home/orangepi/v5.4.51 clean
make[1]: Entering directory '/usr/src/linux-headers-5.4.65-sunxi'CLEAN /home/orangepi/v5.4.51/Module.symvers
make[1]: Leaving directory '/usr/src/linux-headers-5.4.65-sunxi'
make -C /lib/modules/5.4.65-sunxi/build M=/home/orangepi/v5.4.51 modules
make[1]: Entering directory '/usr/src/linux-headers-5.4.65-sunxi'CC [M] /home/orangepi/v5.4.51/./drivers/usb/serial/option.oCC [M] /home/orangepi/v5.4.51/./drivers/usb/serial/usb_wwan.oCC [M] /home/orangepi/v5.4.51/./drivers/usb/serial/qcserial.oBuilding modules, stage 2.MODPOST 3 modulesCC [M] /home/orangepi/v5.4.51/./drivers/usb/serial/option.mod.oLD [M] /home/orangepi/v5.4.51/./drivers/usb/serial/option.koCC [M] /home/orangepi/v5.4.51/./drivers/usb/serial/qcserial.mod.oLD [M] /home/orangepi/v5.4.51/./drivers/usb/serial/qcserial.koCC [M] /home/orangepi/v5.4.51/./drivers/usb/serial/usb_wwan.mod.oLD [M] /home/orangepi/v5.4.51/./drivers/usb/serial/usb_wwan.ko
make[1]: Leaving directory '/usr/src/linux-headers-5.4.65-sunxi'
cp /home/orangepi/v5.4.51/drivers/usb/serial/*.ko /lib/modules/5.4.65-sunxi/kernel/drivers/usb/serial/
depmod
4 验证驱动:
4.1 接入4G/5G模块
4.2 查看USB节点
orangepi@orangepizero:~$ lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 2c7c:6005
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
orangepi@orangepizero:~$ ls /dev/ttyUSB*
/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2
orangepi@orangepizero:~$
4.3 查看模块版本号
orangepi@orangepizero:~$ cat /dev/ttyUSB2&
[1] 1680
orangepi@orangepizero:~$ echo -en "ATI\r\n" > /dev/ttyUSB2
ATI
Quectel
EC200A
Revision: EC200ACNHAR01A09M16OK
orangepi@orangepizero:~$
4.4 查看模块网卡
orangepi@orangepizero:~$ ifconfig usb0
usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet6 fe80::e40f:ef33:14fc:3c85 prefixlen 64 scopeid 0x20<link>ether d2:59:3b:a3:e5:8b txqueuelen 1000 (Ethernet)RX packets 7 bytes 460 (460.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 132 bytes 28619 (28.6 KB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
相关文章:
香橙派OrangePi zero H2+ 驱动移远4G/5G模块
目录 1 安装系统和内核文件: 1.1 下载镜像 1.2 内核头安装 1.2.1 下载内核 1.2.2 将内核头文件导入开发板中 1.2.3 安装内核头 2 安装依赖工具: 2.1 Installing Required Host Utilities 3 驱动步骤: 3.1 下载模块驱动文件…...
自动驾驶——【规划】记忆泊车特殊学习路径拟合
1.Back ground 如上图,SLAM学习路线Start到End路径,其中曲线SDAB为D档位学习路径,曲线BC为R学习路径,曲线AE为前进档D档学习路径。 为了使其使用记忆泊车时,其驾驶员体验感好,需去除R档倒车部分轨迹&#x…...
【跟小嘉学 Rust 编程】十六、无畏并发(Fearless Concurrency)
系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…...
Android 进阶——图形显示系统之VSync和 Choreographer的创建详解(一)
引言 前一篇文章Android 进阶——图形显示系统之底层图像显示原理小结(一)介绍了关于Android 图形显示系统的基础理论,相信你对于Android的图形显示系统中图形界面渲染刷新机制有了更深的了解,接下来进一步讲解VSync和Choreography的联系和作用。 一、VSync 信号的产生概…...
SQL Server开启变更数据捕获(CDC)
一、CDC简介 变更数据捕获(Change Data Capture ,简称 CDC):记录 SQL Server 表的插入、更新和删除操作。开启cdc的源表在插入、更新和删除操作时会插入数据到日志表中。cdc通过捕获进程将变更数据捕获到变更表中,通过…...
八、性能测试
八、性能测试 8.1 性能测试代码 #include"ConcurrentAlloc.h"// ntimes 一轮申请和释放内存的次数 // rounds 轮次 void BenchmarkMalloc(size_t ntimes, size_t nworks, size_t rounds) {std::vector<std::thread> vthread(nworks);std::atomic<size_t&g…...
景芯SoC 芯片全流程培训
【全网唯一】景芯SoC是一款用于芯片全流程培训的低功耗ISP图像处理SoC,采用低功耗RISC-V处理器,内置ITCM SRAM、DTCM SRAM,集成包括MIPI、ISP、CNN、QSPI、UART、I2C、GPIO、百兆以太网等IP,采用SMIC40工艺设计流片。 培训数据包括…...
目标检测后的图像上绘制边界框和标签
效果如图所示,有个遗憾就是CV2在图像上显示中文有点难,也不想用别的了,所以改成了英文,代码在下面了,一定要注意一点,就是标注文件的读取一定要根据自己的实际情况改一下,我的所有图像的标注文件…...
Leetcode: 1. 两数之和 【题解超详细】
前言 有人夜里挑灯看花,有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来。 希望下面的题解可以帮助你们开始 你们的 leetcode 刷题 的 天降之路 题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中…...
PHP 通过 Redis 解决并发请求的操作问题
比如PHP收到两个并发的请求A和B,要求只能其中一个请求处理S1操作,另一个请求直接返回失败,可以通过redis去解决: SETNX(SET if Not eXists)是 Redis 中的一个原子命令,用于设置键-值对…...
浅谈信息论和信息编码
目录 背景 信息是什么 信息度量 小白鼠实验 哈夫曼编码 密码学 其它应用 背景 克劳德艾尔伍德香农(Claude Elwood Shannon)出生于 1916 年 美国密歇根州。1936 年毕业于密歇根大学,获得数学和电子工程学士学位。之后,他在麻…...
【测试】笔试02
文章目录 1. 下面不属于软件测试步骤的是2. 关于测试驱动开发,描述错误的是3. 在软件测试中,圈复杂度(Cyclomatic complexity):代码逻辑复杂度的度量,提供了被测代码的路径数量。圈复杂度可通过系统控制流图…...
公司内部网段多管控乱,该如何规范跨网文件传输交换?
古往今来,高筑墙一直是有效的防御措施。从边塞长城到护城河外的高高城墙,都是利用隔离地域的形式实现保护安全域的效果。这样一来,城内的安全域可以在遇到危险时受到有效保护。 在企业网络安全防护方面,网络安全域隔离也是网络安全…...
Ceph入门到精通-OSD waring 设置建议
OSD 以下检查表明 OSD 节点存在问题。 警告 1 在 /var/lib/ceph/osd 中找到的多个ceph_fsid值。 这可能意味着您正在托管许多集群的 OSD 此节点或某些 OSD 配置错误以加入 您期望的集群。 2 设置可能会导致数据丢失,因为如果 未达到最小值,Ceph 将不会确…...
软件测试工程师如何快速理解业务?
1. 阅读需求文档和业务资料 仔细阅读与业务相关的文档和资料对于理解业务至关重要。 需求文档通常描述了软件的功能和用户需求,而业务规范则详细说明了业务流程、规则和标准。 仔细阅读这些文档,你可以了解业务的基本概念、要求和流程。 同时&#x…...
【教程】部署apprtc服务中安装google-cloud-cli组件的问题及解决
#0# 前置条件 已经安装完成node,grunt,node 组件和python pip包等。需要安装google-cloud-cli组件。 Ubuntu安装google-cloud-cli组件 apprtc项目运行需要google-cloud-cli前置组件,且运行其中的dev_appserver.py。 根据google官方的关于安…...
C++——shared_ptr:make_shared的用处,与shared_ptr直接构造的区别
shared_ptr shared_ptr继承自__shared_ptr,其中有两个对象,一个是指向资源的指针,一个是控制块,指向一个引用计数对象。控制块中存储了强引用和弱引用的计数,强引用Uses代表shared_ptr对象的引用计数,弱引…...
【网络安全带你练爬虫-100练】第17练:分割字符串
目录 一、目标1:使用函数分割 二、目标2:使用函数模块 三、目标3:使用正则匹配 一、目标1:使用函数分割 目标:x.x.x.x[中国北京 xx云] 方法:split函数replace函数 1、分割:使用split()方法将…...
Unity 之ToolTip的用法
文章目录 在Unity中,ToolTip是一个在编辑器中使用的UI元素,它提供了鼠标悬停在某个对象或控件上时显示的文本信息。ToolTip通常用于向开发人员提供有关对象、字段、控件或菜单项的附加信息,从而帮助他们更好地理解和使用这些元素。 ToolTip通…...
xsschallenge通关(11-15)
level 11 老规矩,先查看源码,做代码审计: <?php ini_set("display_errors", 0); $str $_GET["keyword"]; $str00 $_GET["t_sort"]; $str11$_SERVER[HTTP_REFERER]; $str22str_replace(">&quo…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
