====== CFE 专题 ======
CFE (Common Firmware Environment) 是博通 (Broadcom) 芯片专用的引导程序。
===== 简介 =====
CFE 是博通公司为其芯片开发的引导程序。
**特点**:
- 博通芯片专用
- 闭源
- 串口命令行操作
- 支持网络启动
- 常见于 Netgear、华硕部分机型
===== 支持的设备 =====
== 常见品牌 ==
^ 品牌 ^ 代表机型 ^
| Netgear | R7000, R6400, R6220, R7800, WNDR3700 |
| 华硕 | RT-AC66U, RT-N66U, RT-AC87U |
| Linksys | WRT1900ACS, WRT1200AC |
| Buffalo | 部分机型 |
== 博通芯片特点 ==
- BCM47xx:802.11n 时代
- BCM53xx:802.11ac 时代
- BCM675xx:WiFi 6 时代
- BCM6756/BCM6765:WiFi 7 时代
===== 进入 CFE =====
== 串口进入 ==
- 连接 TTL 串口(115200 波特率)
- 路由器断电
- 按住 C + Enter 或空格键
- 路由器上电
- 直到看到 CFE> 提示符
== 网络进入 ==
部分机型支持网络唤醒后进入:
- telnet 192.168.1.1
- 输入用户名和密码
- 输入命令进入 CFE 模式
===== CFE 命令 =====
== 常用命令 ==
# 查看帮助
help
# 查看系统信息
show devices
show chips
# 查看环境变量
show env
# 设置环境变量
setenv nvram key value
commit
== 启动命令 ==
# 从 Flash 启动
boot
# 从 TFTP 网络启动
flash -ctheader : flash0 boot
== TFTP 启动 ==
# 设置 IP
setenv ipaddr 192.168.1.1
setenv netmask 255.255.255.0
setenv gatewayip 192.168.1.254
# TFTP 加载固件
flash -ctheader 192.168.1.100:firmware.chk flash0
== NVRAM 操作 ==
# 查看 NVRAM
nvram show
# 设置 NVRAM
nvram set lan_ipaddr=192.168.1.1
nvram commit
# 清除 NVRAM
nvram erase
reboot
===== TFTP 刷固件 =====
== 准备工作 ==
- 安装 TFTP 服务器
- 将 .chk 固件放入 TFTP 目录
- 使用网线直连路由器 LAN 口
- 设置电脑 IP 为 192.168.1.x
== 刷入步骤 ==
# 进入 CFE> 提示符
# 设置启动参数
setenv ipaddr 192.168.1.1
setenv netmask 255.255.255.0
setenv gatewayip 192.168.1.254
setenv serverip 192.168.1.100
# 刷入固件
flash -ctheader 192.168.1.100:firmware.chk flash0
# 重启
reboot
== 注意事项 ==
- 使用 .chk 文件(非 .bin)
- 等待刷入完成,不要断电
- 刷入时间约 3-5 分钟
===== NVRAM 修复 =====
== NVRAM 损坏症状 ==
- 无法保存设置
- 设置后重启恢复默认
- WiFi 名称/密码丢失
== 修复方法 ==
# 在 CFE 中
nvram erase
reboot
# 或在 Web 恢复模式中
# 恢复出厂设置
== NVRAM 备份 ==
# 通过 Telnet/SSH
telnet 192.168.1.1
# 用户名:admin
# 密码:admin
# 备份 NVRAM
dd if=/dev/mtd/0 of=/tmp/nvram.bin
# 通过 SCP/SFTP 导出
===== CFE 与其他 Bootloader 对比 =====
| 特性 | CFE | U-Boot | Breed |
|------|------|--------|-------|
| 适用芯片 | 博通 | 通用 | 特定型号 |
| 开源 | ❌ | ✅ | ❌ |
| Web 界面 | ❌ | ❌ | ✅ |
| 命令风格 | 特殊 | 标准 | 简化 |
===== 常见问题 =====
== CFE 无法进入 ==
- 确认串口参数正确(115200 8N1)
- 尝试不同按键组合(C/Enter/Space)
- 串口软件可能需要先打开
== TFTP 刷入失败 ==
- 确认使用 .chk 文件
- 检查网络连接
- 确认 TFTP 服务器可达
- 尝试更换 TFTP 软件
== NVRAM 丢失 ==
- CFE 的 NVRAM 与其他不同
- 恢复出厂设置后重新配置
- 部分机型需要重新设置地区代码
== CFE 命令不识别 ==
不同 CFE 版本命令略有不同:
- 输入 help 查看可用命令
- 部分命令需要大写
- 参考对应机型的教程
===== Netgear 专用工具 =====
== nmrpflash ==
Netgear 推荐使用 nmrpflash 刷机:
# Linux/macOS
sudo nmrpflash -i eth0 -f firmware.chk 192.168.1.1
# Windows
nmrpflash.exe -i Ethernet -f firmware.chk 192.168.1.1
== Web 恢复模式 ==
- 路由器断电
- 按住 Restore Factory Settings
- 插入电源
- 等待所有灯同时亮起
- 访问 192.168.1.1
===== 相关链接 =====
- [[bootloader:breed|Breed 专题]]
- [[bootloader:uboot|U-Boot 专题]]
- [[method:tftp-recovery|TFTP 恢复方法]]
- [[method:nmrp-recovery|NMRP 恢复方法]]