2、固件基础知识:固件与软件的区别、固件版本号解读、固件文件格式(.bin, .trx等)、固件校验机制

2.1 固件 vs 软件:到底差在哪?

很多人觉得固件就是软件,其实不完全对。我打个比方你就明白了——软件像是你手机里的App,随时可以装、可以删;而固件更像是手机的操作系统,它直接跟硬件打交道,写死在芯片里。

具体来说,有这几个核心区别:

  • 存储位置不同:软件装在硬盘或闪存里,固件通常焊死在主板的Flash芯片上。我拆过不少AP,固件芯片都是直接焊在板子上的,想换?得用编程器。
  • 更新频率不同:软件可能一周更新一次,固件一年能更新两次就算勤快了。为什么?因为固件升级风险大,变砖了可不是闹着玩的。
  • 运行环境不同:软件跑在操作系统之上,固件本身就是操作系统。说白了,固件是“裸机”跑的,没有中间层。
  • 功能定位不同:软件解决“怎么用”的问题,固件解决“怎么跑”的问题。你想想看,没有固件,AP的CPU连启动都做不到。
我的经验:有一次客户说AP频繁重启,我查了半天,最后发现是固件里一个内存泄漏的bug。如果是软件问题,重启一下就好了,但固件问题得重新烧录整个系统。所以,固件出问题,往往比软件更棘手。

2.2 固件版本号:别被数字骗了

固件版本号不是随便写的,它背后有一套规则。我见过太多人只看最后一位数字,结果刷错了版本,AP直接变砖。

常见的版本号格式是这样的:

格式示例 含义
v2.1.3 主版本.次版本.修订号
v3.0.0_beta 测试版,别用在生产环境
v2.1.3_20231015 带日期的版本,方便追溯
v2.1.3_CN 中国区专用版本

解读版本号时,我建议你重点关注这几个点:

  • 主版本号:变了说明架构有大改动,升级要谨慎。我曾经遇到过主版本号从2跳到3,结果所有配置都不兼容了。
  • 次版本号:通常代表功能更新,可以放心升。
  • 修订号:修bug的小版本,能升就升。
  • 后缀:_beta、_rc、_test这些,千万别在生产环境用。我有个同事就是手快,刷了beta版,结果AP每隔两小时重启一次。
注意:有些厂商的版本号是反着来的,比如v1.2.3.4,最后一位反而是主版本。刷之前一定先看官方文档,别想当然。

2.3 固件文件格式:.bin、.trx 到底用哪个?

你下载固件时,可能会看到一堆后缀名。.bin、.trx、.img……到底选哪个?我刚开始也懵过,后来才搞明白。

常见的固件格式有这些:

格式 特点 常见场景
.bin 最通用,就是二进制文件 几乎所有AP都支持
.trx 带文件头的bin,包含校验信息 老款AP、部分路由器
.img 镜像文件,可能包含分区信息 某些定制版固件
.tar.gz 压缩包,解压后才是固件 开源固件如OpenWrt

我个人习惯是:优先选.trx。为什么?因为.trx自带校验头,刷错了固件会直接报错,不会让你刷进去。而.bin是裸数据,刷错了可能直接变砖。

避坑指南:我曾经遇到过一台AP,官方只提供了.bin格式的固件。我刷进去之后,AP死活起不来。后来才发现,这个.bin其实是加密过的,需要用厂商的专用工具解密后才能刷。所以,别只看后缀名,还得看来源。

2.4 固件校验机制:别让坏固件毁了你的AP

固件校验,说白了就是检查你下载的固件有没有损坏、有没有被篡改。我见过有人从第三方网站下载固件,结果里面被植入了挖矿程序,AP成了肉鸡。

常见的校验方式有这几种:

  • MD5校验:最常用,但安全性一般。我建议你刷完固件后,用MD5对比一下,确保文件没损坏。
  • SHA256校验:更安全,现在主流厂商都在用。比如华为、思科,都要求用SHA256验证。
  • 数字签名:最高级别,固件里有厂商的签名,AP启动时会验证签名是否合法。如果签名不对,直接拒绝启动。
  • CRC校验:固件内部自带的校验,刷写过程中自动检查。如果CRC不对,刷写会失败。

具体怎么操作?我举个例子:

# 下载固件后,先验证MD5
md5sum AP_firmware_v2.1.3.bin
# 输出:a1b2c3d4e5f6...(和官方对比)

# 或者用SHA256
sha256sum AP_firmware_v2.1.3.bin
# 输出:9a8b7c6d5e4f...(和官方对比)

# 如果厂商提供了签名文件,用gpg验证
gpg --verify AP_firmware_v2.1.3.bin.sig AP_firmware_v2.1.3.bin
我的习惯:每次升级前,我都会先做三件事——第一,从官网下载固件;第二,用SHA256验证文件完整性;第三,对比版本号,确保是从低版本升到高版本。这三步做完,基本不会出问题。
警告:千万别从第三方网站下载固件!我有个朋友图省事,从百度网盘下载了固件,结果刷进去之后AP被植入了后门,整个内网都被黑了。固件校验不是走过场,是保命的。

嗯,到这里固件基础知识就讲完了。你想想看,这些内容其实不难,但很多人就是忽略了。下次升级固件前,记得先看看版本号、选对格式、做好校验。这样,你的AP才能稳稳地跑下去。