惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
V
V2EX
博客园 - 【当耐特】
WordPress大学
WordPress大学
爱范儿
爱范儿
美团技术团队
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
量子位
Hugging Face - Blog
Hugging Face - Blog
B
Blog RSS Feed
Recorded Future
Recorded Future
Engineering at Meta
Engineering at Meta
雷峰网
雷峰网
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
M
MIT News - Artificial intelligence
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 聂微东
H
Hackread – Cybersecurity News, Data Breaches, AI and More
腾讯CDC
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
博客园 - 叶小钗
GbyAI
GbyAI
Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
F
Full Disclosure
G
Google Developers Blog
D
Docker
T
Tailwind CSS Blog
C
Check Point Blog
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
T
The Blog of Author Tim Ferriss
B
Blog
博客园 - 三生石上(FineUI控件)
博客园 - Franky
H
Help Net Security
MyScale Blog
MyScale Blog
U
Unit 42
D
DataBreaches.Net
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
L
LangChain Blog
有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
Microsoft Security Blog
Microsoft Security Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
为兆能M2编译支持WiFi6的OpenWRT固件 - 少数派
2024-05-10 · via 少数派

♦️提示(2026/01/14):

本教程的固件已过时。请各位读者阅读我的新版教程,点击这里阅读

现在,支持WiFi6技术的路由器,或许已经成为诸多数码爱好者的标配——相较于以往的技术,有着更稳定、流畅的体验。市面上WiFi6路由器也早已成为主流;不过,高性价比又具有可玩性的WiFi6路由器,却长期可遇不可求。我的要求是:能刷OpenWrt,采用ARM架构处理器,具有可观性能。

幸运的是,我遇到了兆能讯通M2路由器(下文简称「兆能M2」),是在办宽带的时候,当地的中国电信分公司赠送的。它的配置如下:

  • 搭载高通 IPQ6000 处理器,主频1.2 GHz
  • 支持 WiFi6,2.4 GHz / 5 GHz双频,无线速率可达1200 Mbit/s
  • 支持千兆网络

在性能优异的同时,拥有广阔的玩转空间。闲鱼上未经改装的原机,50元左右即可拿下,并且改装过(例如升级内存、增加USB接口)的机器也可在100元以内搞定,可见其性价比之高。

为了更好发挥兆能M2的可玩性,我给它编译了支持无线的OpenWRT固件,畅快做主力。理论上也可与中国移动定制的路由器——和目CMIOT AX18通用。

注意: 

阅读本文需要你掌握 OpenWRT 的基本知识,以及 menuconfig 的使用方法。

兆能M2 OpenWRT后台的首页。

背景

由于可玩性高,兆能M2(以及采用相同方案的和目CMIOT AX18)在恩山论坛也获得关注,固件适配有不少。笔者最初也是遍寻恩山的固件来尝试。

但是,多数固件是不带无线的,意味着刷了这些固件,你的兆能M2就只能当有线路由器使用了。与此同时在闲鱼上,你能找到的改装版本有相当一部分拆掉了天线。就笔者观察,主要有以下一些原因:

  • 大多数玩家偏重IPQ6000的转发性能,用作主路由放在弱电箱;同时由于处理器性能给力,有些玩家也偏重于用它运行各类OpenWRT应用。以上场景都不使用它的WiFi。
  • 兆能M2的OpenWRT固件曾长时间缺乏稳定、有效的WiFi解决方案,以至于玩家只好弃用WiFi。
  • 部分固件开发者希望在出厂的256 MB RAM当中,使用高通的硬件加解密组件。但受限于RAM容量,WiFi与硬件加解密不可得兼,故舍弃WiFi。

在笔者看来,得益于IPQ6000的加持,兆能M2 WiFi6的实力不可小视。在使用官方固件时,信号质量不错,能充分发挥家宽的性能。要是无线功能闲置不用,将有多可惜,白白浪费了这么好的底子!因此,有一个带无线且稳定的固件,对笔者来说是刚需。

幸运的是,Lean大神(L大)发布了支持IPQ6000处理器的OpenWRT源代码,并于2023年4月12日加入了CMIOT AX18的无线配置文件(同时适用于兆能M2),因此现在可以直接编译带无线的固件了。

事先准备

升级内存(重点!!!)

要想给兆能M2刷入OpenWRT固件,内存(RAM)扩容是刚需,必须升级!

兆能M2出厂RAM容量只有256MB,跑官方固件不成问题。然而,适用于兆能M2的OpenWRT对内存要求更高。如果不升级,固件依然可以运行,但将会非常卡顿,半天都打不开LuCI服务,即使用PuTTY登录SSH也反应迟钝。

内存必须512MB起步。建议有条件的玩家扩容到1GB以上(含1GB),这样运行速度将会飞快,稳定性也更佳。

你可以在淘宝寻找专业的路由器升级扩容服务,通常有经验的工程师会帮你升级好RAM,并刷入正确的CDT文件(高通的设备信息文件,包含内存信息)。笔者就请专业工程师将RAM扩容到了1 GB,运行丝滑流畅,足以胜任各类应用。

刷入U-Boot

兆能M2最常用的U-Boot,就是由暗云编译的闭源U-Boot

需要注意的是,暗云的UBoot分为普通版和扩容版,后者重新调整了分区结构,使rootfs分区更大,便于装更多软件,但需要配合正确的ADT文件(相当于分区表)使用。其中,普通版的文件名为uboot-cmiot-ax18.bin,扩容版为uboot-cmiot-ax18-mod.bin。 对笔者来说,原厂的分区已经够用,因此只使用普通版。

官方固件用户请注意

如果你正在使用官方固件,在刷UBoot之前,请你先从官方固件刷入一版第三方OpenWRT固件作为过渡,这样才便于登录SSH。刷入教程见:https://www.right.com.cn/forum/thread-7827262-1-1.html

支持刷入的是nand-factory格式的固件(至少满足以下条件:以.ubi为扩展名;文件名带有nand-factory)。相关固件可以在恩山搜索,建议使用暗云的闭源固件,下载链接在这篇教程里:https://qust.me/post/ax18-openwrt/

另外,理论上也可以使用本教程编译出来的固件(请往下翻到“编译成功后”小节),但需要你自行测试。

L大的OpenWRT源码地址为:https://github.com/coolsnowwolf/openwrt-gl-ax1800

修订(2025-04-13):

L大已经删除了原仓库,并且原版的代码在新版编译器(GCC 14.2.1)下编译出错。

因此,从下文开始,将改用笔者的 fork,修复了编译错误,并包含了一系列改进升级。

克隆源码,并进入源码目录:

git clone https://github.com/AnClark/openwrt-gl-ax1800
cd openwrt-gl-ax1800

初始化源码

下载组件

# 同步OpenWRT各个组件的源代码
./scripts/feeds update -a && ./scripts/feeds install -a

# 下载各类组件(可选,不影响兆能M2的运行)
make download

加入helloworld源(可选)

把以下内容添加到源码根目录的feeds.conf.default末尾:

src-git helloworld https://github.com/fw876/helloworld.git

然后重新运行以下命令:

./scripts/feeds update -a && ./scripts/feeds install -a

配置设备(make menuconfig

运行make menuconfig打开配置菜单,然后依次配置以下的主要参数。其余功能可以按照你自己的需要来配置。

1. 目标设备

参数名

Target SystemQualcomm Atheros IPQ60xx
SubtargetGeneric
Target ProfileZN M2

注意: 虽然兆能M2与CMIOT AX18可以通刷,但为了保证兼容性和稳定性,建议选择ZN M2。

2. 选择无线配置文件

依次进入【Firmware】 –> 【ath11k Board-Specific Overrides】,然后勾选这一项,以启用兆能M2(或CMIOT AX18)的无线配置文件:

[ ] ath11k-wifi-cmiot-ax18.............. board-2.bin Overrides for CMIOT AX18

这是设备能使用WiFi的关键。

3. 启用IPv6

考虑到如今运营商都支持IPv4/IPv6双栈接入,开启IPv6支持可以获得更好的网络体验。

具体可参考我这篇文章:《OpenWRT启用IPv6与DHCPv6支持

4. 更改无线配置文件名

提示:

最新版本(Git提交bff53ede)已经修复了无线配置文件名的错误,无需手动修改。

源码树中的无线配置文件位于package/firmware/ath11k-wifi/,其中CMIOT AX18(或兆能M2)对应的配置文件名应当为board-cmiot-ax18.bin.IPQ6018

最初引入该配置文件时,源码树里的文件名写错了,多出了.bin的扩展名,这将导致编译系统无法找到文件而报错。

运行以下命令,更正文件名:

mv package/firmware/ath11k-wifi/board-cmiot-ax18.bin.IPQ6018.bin \
    package/firmware/ath11k-wifi/board-cmiot-ax18.bin.IPQ6018

5. 加入各类实用程序

L大的OpenWRT自带了一些实用程序。为了提升使用体验,建议至少启用本教程建议的功能。

首先,依次进入【LuCI】–>【3. Applications】,然后至少勾选下面的项目:

  • luci-app-cpufreq:CPU性能优化调节
  • luci-app-autoreboot:定时重启
  • luci-app-ttyd:TTYD终端
  • luci-app-turboacc:TurboACC网络加速

开始编译

执行编译命令

为了防止冲突,首先清理上次的编译结果:

make clean

然后正式开始编译。参数V=s会让OpenWRT在编译时显示详细信息,便于你掌握编译状况:

make V=s

需要注意的是,首次编译会花很长时间,因为要从源码开始编译一系列工具(如GCC、CMake、Golang)。

问题:QCA相关组件编译失败

编译过程中,常常容易在构建QCA(高通Atheros)相关组件时,发生莫名其妙的编译错误,例如找不到文件等。但是反复尝试时,反而又能继续推进,直到成功。

这是因为GNU make在编译QCA组件时,无法正确处理并行编译,从而造成冲突——例如,A依赖B,但A反而比B先编译。

对此,解决对策就是反复运行编译,直至成功。一个技巧是,用下面的命令来编译OpenWRT,这样就能确保在出错时反复尝试,直至编译成功:

make V=s; while [ $(($?)) -ne 0 ]; do make V=s; done

由于OpenWRT会反复编译内核,上述命令耗时会很长。你可以先一次性把最容易出错的组件全部编译完。如果失败,反复尝试即可:

make package/qca/qca-ssdk/compile V=s
make package/qca/qca-ssdk-shell/compile V=s

编译成功后

输出的文件位于bin/target/ipq60xx/generic,主要包括:

  • openwrt-ipq60xx-generic-zn_m2-squashfs-nand-sysupgrade.bin:需要在OpenWRT中刷入。
  • openwrt-ipq60xx-generic-zn_m2-squashfs-nand-factory.ubi:需要用UBoot刷入。
  • openwrt-ipq60xx-generic-zn_m2-initramfs-fit-uImage.itb:这不是刷机包,没有软件支持。请勿使用!

使用技巧:无线参数的设置

为了优化兆能M2的无线网络体验,建议优化以下参数。

1. 双频合一

将2.4 GHz与5 GHz设置为相同的SSID、加密方式和密码,这样就能让设备根据当前环境,自动确定该用哪一个频段。设置方法不再赘述。

需要注意的是,不支持WiFi6的老设备,即使两个频段SSID不同,也只能显示其中一个(例如在支持5G频段的ThinkPad X201T上,只显示5G接入点)。事实上双频合一就可以保证兼容性。

当然,你也可以为两个频段分别设置SSID。如果你家有不止一台无线路由器,而你希望在这些路由器的接入点之间切换,则不建议开启双频合一,否则从5 GHz跳到2.4 GHz时容易掉线。

2. 自动信道

分别把2.4 GHz与5 GHz的信道设为自动(auto),这样可以让兆能M2自动选择合适的信道,防止多台路由器互相干扰。

设置方法是:

  • 登录OpenWRT LuCI后台,点击【网络】–>【无线】,然后点击5G频段无线网络的【修改】按钮,进入无线网络设置页面。
  • 此时,找到【工作频率】一栏,把【信道】改成Auto即可。
  • 用同样的方法来设置2.4G频段的信道。
在这里设置无线信道。

评测

从L大源代码编译的固件,使用起来就是一个字:稳!

1. 无线

目前的固件满血发挥兆能M2的无线性能。2.4 GHz与5 GHz双频都能正常配置、连接,WiFi6自动激活,正确地在我的手机上显示相关标识。笔记本连接5G频段,用国内源更新Arch Linux来测试,5秒内就可以跑满100M带宽,并且一直保持稳定。

信号强度方面,我家两层楼,路由器放在二楼,在1楼也能收到2.4G的信号,几乎满格。

刚刚刷入固件时,有一个小Bug:我三台ThinkPad笔记本,X201T连不上无线,内核日志显示认证超时;然而年代更久远的X200和R400,反而能正常连接。后来尝试重启路由器,三台电脑都能连上,5G频段可以跑满100M宽带,这个Bug也没有再出现过。

值得注意的是,兆能M2的无线网启动很慢,开机大概需要等待1分钟,2.4G网络才启动,再等半分钟5G频段也才能使用。需要有些耐心

无线网络工作状况。

2. 性能

L大的源码全面启用了高通的网络硬件加速(QCA NSS系列组件),包括硬件流量分载(QCA-NSS-ECM)、硬件加解密,进一步发挥了IPQ6000的性能优势,上网顺畅不卡顿。

IPQ6000性能可观,处理器本身具有高频率(864MHz起步,最高1.2GHz),再配合NSS,胜任平时各类用途不在话下。最直接的体验是使用LuCI管理界面时,所有页面几乎都是秒开;日常上网、下载大文件也有平稳顺滑的体验。

Turbo ACC界面,从这里可以看到高通硬件流量分载默认启用。
CPU性能优化调节界面。
路由器的运行情况(接口总览)。

3. 软件版本

L大源码当前版本的OpenWRT是19.07版,内核为4.4.60。但这一版本已经足够丝滑、稳定,不影响体验与稳定性,也不影响L大与社区开发的各类APP的运行。建议你踏踏实实用好这个版本。

需要注意的是,该版内核较旧,不支持BBR加速。并且,源码树配套的Golang工具链版本也较老(1.17),可能无法编译新推出的Go应用。你可以参考《将OpenWRT 19.07的Go语言替换为新版本1.21》来升级Golang。

4. SSH

本版固件也支持SSH远程管理,但默认情况下OpenSSH不能直接登录,会有以下错误提示:

Unable to negotiate with 192.168.1.1 port 22: no matching host key type found. Their offer: ssh-rsa

对策1: 让OpenSSH能识别我们的路由器加密算法:

ssh -o HostKeyAlgorithms=+ssh-rsa root@192.168.1.1

对策2: 直接使用第三方SSH客户端——PuTTY来登录。这是更简便的方法。

5. 异常重启的问题

在长时间运行,尤其是天气渐热之后,兆能M2出现了随机异常重启的状况,严重影响使用体验。幸好恩山论坛网友bieh提供了解决方案。

具体可以参阅我的博文《解决兆能M2(和目AX18)异常随机重启的问题》。

6. 稳定性

在解决异常重启问题后,兆能M2的稳定性有了质的飞跃,7x24小时稳定运行不间断,完全胜任做主力。

截至2023年10月7日,已经创下了连续45天稳定运行的uptime记录!

写在最后

兆能讯通M2,如此强悍、性价比如此之高,且可玩性又如此之强的WiFi6路由器,可遇而不可求。

如果你只把兆能M2当作有线路由器使用,舍弃它的无线功能,你不觉得可惜吗?诚然,在它诞生以来数年,受条件所限,也许我们只能无奈地舍弃WiFi功能。但Lean大神推出的OpenWRT固件,已经完全弥补了这一遗憾,因此是时候让兆能M2全面发挥无限效能了。

相信以上这篇教程能对你有所帮助。

参考资料