香橙派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…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...
SQL Server 触发器调用存储过程实现发送 HTTP 请求
文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...
【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL
ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...
面试高频问题
文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...
C++--string的模拟实现
一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现,其目的是加强对string的底层了解,以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量,…...
如何通过git命令查看项目连接的仓库地址?
要通过 Git 命令查看项目连接的仓库地址,您可以使用以下几种方法: 1. 查看所有远程仓库地址 使用 git remote -v 命令,它会显示项目中配置的所有远程仓库及其对应的 URL: git remote -v输出示例: origin https://…...
