discover · compare · collections · requirements · contribute · feed · watching · stats · help with your tokens
LianXia233/H5000M-CI-Qmodem · source
Snapshot 0 · 2026-11-04T12:47:28Z · HTML · MIT
Content fingerprint
c5a6ef5ce768206de9b8911ad8ed0174201824a278283c8d4a8cd82872fc2094GitHub description at capture
ImmortalWrt 云编译固件仓库:覆盖 Hiveton H5000M 5G CPE、AirPi AP3000M 与 x86_64,集成 QModem 模组管理(Next 现代前端 / 传统 LuCI 双配置)、风扇温控与网络模式切换,GitHub Actions 每日自动构建发布。
README at capture
<div align="center">
# 🚀 H5000M & AP3000M & X86_64 · ImmortalWrt 定制固件
**基于 ImmortalWrt 主线源码 · 专为 5G CPE、Wi-Fi 路由器与软路由量身打造的自动化云编译生态**
[-brightgreen?logo=openwrt&logoColor=white&style=flat-square)](https://github.com/immortalwrt/immortalwrt)
[](#-一-硬件支持与固件矩阵)
[](#-一-硬件支持与固件矩阵)
[](#-二-模组方案对比与选型)
[](https://github.com/LianXia233/H5000M-CI-Qmodem/actions)
[](LICENSE)
<p align="center">
<b>全面支持 Hiveton H5000M(MT7987A + MT7996E + MT5700M)、AirPi AP3000M(MT7981B)与通用 X86_64 设备</b><br>
集成 QModem Next 现代化前端、经典 QModem 与 Modem Pro 统一模组方案,提供一键在线无损 OTA 升级
</p>
</div>
---
## 🌟 核心特性亮点
- ⚡ **纯正官方主线与定制分支融合**:QModem 全系配置直接对接 [immortalwrt/immortalwrt](https://github.com/immortalwrt/immortalwrt) 官方 `master` 主线分支;Modem Pro 方案则基于成熟稳定的 [VIKINGYFY/immortalwrt](https://github.com/VIKINGYFY/immortalwrt) `owrt` 分支构建。
- 📶 **QModem 双前端架构**:
- **`*-qmodem-next`(现代版)**:采用全响应式 JavaScript 现代前端,集成 `sms-forwarder-next` 短信转发中心,交互丝滑。
- **`*-qmodem`(传统版)**:经典 LuCI 架构与深度汉化界面,配合 `sms-tool` 原生命令行工具,稳定高效。
- 🛰️ **Modem Pro 统一模组方案(H5000M / AP3000M 专享)**:提供 `H5000M-modem-pro` 与 `AP3000M-modem-pro` 独立配置,引入 [modem-pro-unified](https://github.com/LianXia233/modem-pro-unified) 栈——由 Rust 守护进程 `modemd` 原生接管 QMI/MBIM 拨号,搭配 ucode 世代 LuCI 界面,彻底剥离 QModem 冗余组件。
- 🔄 **硬件级在线 OTA 升级 (`luci-app-online-upgrade`)**:固件内置设备特征唯一锚点,自动识别并匹配对应 Release,支持保留配置无缝一键直升,内置国内加速镜像。
- 🛠️ **AP3000M 射频自动注入**:采用开源 `mt76` 驱动栈,首次启动自动灌装 EEPROM 校准数据并绑定物理 MAC,彻底根治出厂 factory 分区丢失导致无 Wi-Fi 的难题。
- ❄️ **CPE 专属硬件控制套件**:集成 CPU + 基带双温区风扇 PWM 阶梯调速、网络模式秒级切换与双链路故障倒换。
---
## 🎯 一、 硬件支持与固件矩阵
| 目标机型 | 平台架构 / 核心 SoC | 硬件形态与特性 | Wi-Fi 驱动栈 | 源码基线与分支 |
| :--- | :--- | :--- | :---: | :--- |
| **`H5000M`** | MediaTek Filogic (MT7987A + MT7996E) | Hiveton H5000M 5G CPE(鼎桥 MT5700M) | ✅ Wi-Fi 7 (BE) | QModem: `immortalwrt` (`master`)<br>Modem Pro: `VIKINGYFY` (`owrt`) |
| **`AP3000M`** | MediaTek Filogic (MT7981B + MT7976C) | AirPi AP3000M Wi-Fi 6 路由器 | ✅ Wi-Fi 6 (AX · mt76) | QModem: `immortalwrt` (`master`)<br>Modem Pro: `VIKINGYFY` (`owrt`) |
| **`X86`** | x86_64 通用架构 | 工控机 / 软路由 / 物理 PC / 虚拟机 | — | `immortalwrt/immortalwrt` (`master`) |
---
## ⚙️ 默认出厂网络配置
系统出厂参数由 [`Config/OWRT-DEFAULT.txt`](./Config/OWRT-DEFAULT.txt) 声明管理,可在编译时直接读取注入:
| 配置项 | 默认出厂值 | 说明 |
| :--- | :--- | :--- |
| **后台管理地址** | `192.168.10.1` | Web 管理页面 IPv4 入口 |
| **管理登录账号/密码** | `root` / **空(无密码)** | 首次进入后建议设置强密码 |
| **系统主机名** | `OWRT` | 本地局域网主机标识符 |
| **默认 Wi-Fi SSID** | `OWRT` | 2.4G 与 5G 双频合一名称 |
| **默认 Wi-Fi 密钥** | `12345678` | WPA/WPA2 混合加密 |
| **频宽规格(WiFi 6 · AP3000M)** | 2.4G `40MHz` · 5G `160MHz` | 802.11ax(HE),双频并发无线高吞吐 |
| **频宽规格(WiFi 7 · H5000M)** | 2.4G `40MHz` · 5G `160MHz` | 802.11be(EHT),双频设备 5G 上限 160MHz |
| **时区与国家代码** | `CST-8` (`Asia/Shanghai`) / `CN` | 保证时钟对齐与合规无线信道 |
---
## 🧩 二、 模组方案对比与选型
针对不同用户的操作习惯与架构偏好,项目提供三套并列互斥的固件变体:
### 1. QModem 方案对比 (`*-qmodem-next` vs `*-qmodem`)
| 评估维度 | `*-qmodem-next`(现代版) | `*-qmodem`(传统版) |
| :--- | :--- | :--- |
| **前端架构** | 响应式现代化 JavaScript 组件,UI 流畅无重载刷新 | 经典 LuCI CBI / JS 表单页面 |
| **短消息生态** | 深度整合 `sms-forwarder-next` 现代转发中心 | 配合 `sms-tool` 与 `sms-tool_q` 基础管理 |
| **本地化方案** | 现代化模块原生国际化设计 | 完整匹配 `luci-i18n-qmodem-zh-cn` 语言包 |
| **共用核心** | 统一搭载 `qmodem` 核心引擎、`ubus-at-daemon` 与通用 QMI 驱动栈 | 同左 |
| **隔离策略** | 锁定 `kmod-usb-net-qmi-wwan`,两套前端在固件中绝不交叉混编 | 同左 |
### 2. Modem Pro 统一模组方案 (`*-modem-pro`,MTK 机型专享)
`H5000M-modem-pro` 与 `AP3000M-modem-pro` 是独立演进的第三套方案,完全剥离 QModem:
| 评估维度 | `*-modem-pro` 方案特征 |
| :--- | :--- |
| **支持机型** | `H5000M-modem-pro`(MT7987A)与 `AP3000M-modem-pro`(MT7981B) |
| **源码分支** | 基于 `VIKINGYFY/immortalwrt` 的 `owrt` 稳定分支构建 |
| **拨号与管控栈** | [modem-pro-unified](https://github.com/LianXia233/modem-pro-unified) 统一栈,单一顶层包 `modem-pro` |
| **后端引擎** | **Rust 守护进程 `modemd`**,原生处理 QMI / MBIM 协议拨号,经 netifd 协议纳管 |
| **前端交互** | ucode / JS 现代 LuCI 前端(菜单:**移动网络 → 5G 终端**),由 `modemd` 提供高性能 ubus 接口 |
| **与 QModem 关系** | **彻底剔除 QModem**:Next 前端、传统前端、通用界面与 `qmodem` 底层全数移除,零代码冗余 |
| **编译机制** | 宿主 rustup 直编(`MODEM_PRO_HOST_RUST=1`),跳过 feeds 源码编译 rust/host,秒级构建 |
> [!WARNING]
> **AP3000M 固件互刷注意(网口映射相反)**:
> `AP3000M-qmodem-next` / `AP3000M-qmodem`(基于官方 `master`)与 `AP3000M-modem-pro`(基于 `VIKINGYFY/owrt`)两套源码对 AP3000M 的 **LAN / WAN 网口映射是相反的**!在两类固件之间互刷后,若发现无法上网或无法打开后台,只需将原 LAN 口的网线换插到 WAN 口(或反之)即可,系统内部配置无需修改。
---
## 🛠️ 三、 核心专属套件详解
### 1. 固件在线 OTA 升级 (`luci-app-online-upgrade`)
进入 LuCI 菜单:**系统 → 在线升级**:
- **设备指纹精准防呆**:构建期在固件烙印 `{机型}-{前端方案}` 唯一特征(`/etc/online-upgrade-device`),精准定位对应 Release,杜绝错刷;
- **配置无损还原**:默认开启 `keep_config`,刷写前自动备份系统关键配置并在重启后全量恢复;
- **极速下载通道**:内置反向代理下载加速镜像,解决国内 GitHub 下载缓慢问题。
### 2. 硬件风扇温控与多网切换
- **双温区联动风扇控制 (`luci-app-h5000m-fancontrol`)**:定时轮询 CPU 与模组硬件传感器,通过阶梯 PWM 曲线实现静音与强效散热平衡;
- **多网络智能切换 (`luci-app-h5000m-netmode`)**:支持“纯 5G”、“纯 WAN 有线”及“主备热备 / 负载均衡”三档模式,配合 `mwan3` 探针实现毫秒级容灾切流;
- **AP3000M EEPROM 自动化射频恢复**:开机自启服务 `99-ap3000m-eeprom` 自动提取物理 MAC 并写入 factory 分区,激活 Wi-Fi 6 射频。
---
## 🚀 四、 自动化云编译指南
依托 GitHub Actions 提供全套自动化矩阵编排,无需本地交叉编译环境:
### 工作流矩阵一览
| 工作流文件 | 调度策略 | 核心职责 |
| :--- | :--- | :--- |
| **`WRT-BUILD.yml`** | 手动 `workflow_dispatch` | 自定义按需编译:自选机型与方案(`-qmodem-next` / `-qmodem` / `-modem-pro`),支持 `TEST=true` 快速语法校验 |
| **`MTK-AUTO.yml`** | 每日定时 / 联动触发 | 自动构建并并行发布 MTK 机型(H5000M / AP3000M)的全部三版本固件 |
| **`OWRT-ALL.yml`** | 每日定时 / 联动触发 | 自动构建并并行发布 X86 平台的双版本固件 |
| **`Auto-Clean.yml`** | 每日定时 05:00 (CST) | 轮换保留最新一份 Release,自动清理过期 Tag 与 30 天以前的 Actions 日志 |
| **`Cache-Clean.yml`** | 每周定时 / 手动 | 回收 Actions 编译缓存,避免依赖冲突 |
### 手动构建步骤指引
1. 登录 GitHub,进入仓库 **Actions** 页面;
2. 在左侧工作流列表选择 **`WRT-BUILD`**,点击右侧 **`Run workflow`**;
3. 选择目标机型配置(例如 `H5000M-qmodem-next`、`H5000M-qmodem` 或 `H5000M-modem-pro`);
4. 源码仓库由流水线自动识别绑定,无需手动输入;
5. 如需输出正式固件,将 **`TEST`** 参数改为 **`false`** 即可。
---
## 📂 仓库项目结构
```text
H5000M-CI-Qmodem/
├── .github/workflows/ # GitHub Actions 云编译流水线
│ ├── WRT-CORE.yml # 核心编译执行引擎
│ ├── WRT-BUILD.yml # 手动触发定制编译
│ ├── MTK-AUTO.yml # MTK 架构定时自动发版
│ ├── OWRT-ALL.yml # X86 架构定时自动发版
│ ├── Auto-Clean.yml # 历史制品与日志轮换清理
│ └── Cache-Clean.yml # 构建缓存回收
├── AP3000M-EEPROM/ # AP3000M 射频恢复专属资产与脚本
├── Config/ # 模块化 Kconfig 配置文件片段
│ ├── OWRT-DEFAULT.txt # 集中化出厂默认网络与无线参数
│ ├── GENERAL.txt # 通用内核优化与基础插件
│ ├── QMODEM-NEXT.txt # QModem Next 现代化前端依赖
│ ├── QMODEM.txt # 传统 QModem 前端依赖
│ ├── MODEM-PRO.txt # Modem Pro 统一方案依赖(禁用 QModem)
│ ├── H5000M-*.txt # H5000M 各方案目标配置
│ ├── AP3000M-*.txt # AP3000M 各方案目标配置
│ └── X86-*.txt # X86 各方案目标配置
├── Scripts/ # 流水线生命周期钩子脚本
│ ├── Packages.sh # 第三方 Feed 扩展源同步与锁定
│ ├── Handles.sh # 补丁修补、静态资源预置与依赖注入
│ ├── Settings.sh # 出厂默认 IP、Wi-Fi 与参数配置
│ └── online-upgrade/ # 在线升级专属支持脚本
├── index.html # 现代化固件发布聚合展示落地页
└── README.md # 固件说明文档
```
---
## 💖 致敬与鸣谢
* 🐧 **底包源码**:[immortalwrt/immortalwrt](https://github.com/immortalwrt/immortalwrt)(主线路由基石)· [VIKINGYFY/immortalwrt](https://github.com/VIKINGYFY/immortalwrt)(板级专属适配源码)
* 👤 **编译框架**:[VIKINGYFY/OpenWRT-CI](https://github.com/VIKINGYFY/OpenWRT-CI)(优秀的开源自动化云编译框架)
* 👤 **蜂窝模组与 CPE 套件**:
- [FUjr/QModem](https://github.com/FUjr/QModem)(强大的蜂窝模组管理套件与 Next 前端生态)
- [FAN789](https://github.com/FAN789)(H5000M 硬件风扇温控与网络模式切换套件原作者)
- [LianXia233](https://github.com/LianXia233)([modem-pro-unified](https://github.com/LianXia233/modem-pro-unified) 统一模组管理方案、通用解耦管理界面与在线 OTA 升级套件)
---
> 📜 **许可协议**:本项目基于 [GNU General Public License v3.0 (GPL-3.0)](LICENSE) 协议发布。