刷机前翻ref="/tag/286/" style="color:#EB6E00;font-weight:bold;">固件包,看到 xxx.bin、openwrt-23.05.3-ramips-mt7621-d-team_newifi-d2-squashfs-sysupgrade.bin 这类一长串名字,头都大了?别急,这串字符不是乱码,而是藏着关键信息——固件版本文件格式。
常见的固件后缀,不是随便起的
你下载的固件,后缀基本就决定了它能不能刷进你的路由器。最常见的是:
.bin:华三、TP-Link、水星等多数国产厂商用的通用格式,结构简单,常含校验头和原始镜像;
.img:部分中兴、华为定制设备喜欢用,本质也是二进制镜像,但可能带分区表信息;
.trx:OpenWrt 早期常用格式,头部固定 28 字节,含魔数 HDR0 和 CRC 校验,专为嵌入式 Flash 设计;
.sysupgrade:OpenWrt 官方推荐升级格式(实际仍是 .bin 或 .trx 封装),带签名验证和安全检查逻辑。
看懂文件名,比猜后缀更靠谱
比如这个文件名:
openwrt-23.05.3-ath79-generic-netgear_wndr3700v4-squashfs-sysupgrade.bin拆开看:23.05.3 → 固件版本号(2023 年第 5 个月发布的第 3 个补丁);ath79-generic → 架构平台(Atheros 79xx 系列芯片通配版);netgear_wndr3700v4 → 明确适配型号;squashfs → 文件系统类型(只读压缩,省空间);sysupgrade → 升级方式(保留配置重刷,非 factory 初始刷机)。
别瞎改后缀,小心变砖
有人觉得“.bin”不好看,手动改成“.img”再上传——结果路由器死活不认。因为固件校验不只看后缀,更要看头部魔数。拿 hex 编辑器打开一个标准 TRX 文件,开头一定是:
48445230 00000000 00000000 00000000对应 ASCII 就是 HDR0。而 TP-Link 的 BIN 开头通常是 TP-LINK 或厂商自定义标识。刷错格式,Bootloader 直接拒载。
怎么确认自己该用哪个?
三步法:
① 查路由器型号官网「支持文档」或「固件下载页」,看明确标注的格式要求;
② 进路由器后台,系统状态里找「固件版本」和「硬件版本」(比如 WR886N v5 和 v6 刷的固件完全不同);
③ 实在拿不准,优先选 OpenWrt 官网标 sysupgrade 的 BIN,兼容性最稳;商用设备则严格按厂商提供的 IMG/BIN 刷。
固件格式不是玄学,是写死在 Bootloader 里的硬规则。看清后缀、读懂文件名、对准硬件版本,比盲目跟风刷最新版更重要。