Linksys WRT路由器刷入OpenWrt与原厂固件双固件及切换
Linksys路由器OpenWrt与原厂固件双固件刷入及切换
- 双固件机制
- 使用原厂固件刷其他固件
- 使用原厂固件切换启动分区
- 使用OpenWrt刷入Sysupgrade
- 使用OpenWrt刷入Img
- 使用OpenWrt切换分区
- 通用的硬切换分区(三次重启)
双固件机制
- 新机器默认有一个原厂固件,两个boot part,原厂固件在boot part 1,boot part 2为空闲状态。
- 当前boot part为1时,刷入的boot part为2,当前的boot part为2时,刷入的boot part为1。如果使用原厂固件刷入一次Openwrt,如果对这个版本不满意,再使用Openwrt刷入另一个版本的Openwrt,那么原厂固件就没了。大多数人都会踩着个坑,这里要注意。
- 这里需要用到的固件镜像分为.img 和.sysupgrade, 注意区分。
- 新的固件有问题会自动切换另一个分区,至少让你能够进路由器。
使用原厂固件刷其他固件
这里选择一个.img文件。重启后,自动进入新的。
使用原厂固件切换启动分区
点击这里的恢复之前的固件版本。
使用OpenWrt刷入Sysupgrade
使用OpenWrt自带的刷入sysupgrade功能直接刷入sysupgrade镜像
使用OpenWrt刷入Img
- ssh 登录路由器22端口
- 使用opkg install wget 然后通过wget下载Img到/tmp目录
- 或者使用 opkg install lrzsz 通过xshell 上传Img到/tmp目录
- 执行 sysupgrade -F -n -v factory.img, 把镜像刷入另一个分区。
- 连接会立即断开,然后等待5分钟,路由器会重启进入新的分区。
使用OpenWrt切换分区
SSH 登录路由,输入以下命令查看所处分区: fw_printenv boot_part
例如:
root@lede:~# fw_printenv boot_part
boot_part=1
返回结果显示当前使用的固件在第 1 分区。
如果要重启并切换至第 2 分区的另一个固件,则分别输入以下 2 条命令:
fw_setenv boot_part 2
reboot
路由器重启。清空浏览器缓存,再次连接即可。
通用的硬切换分区(三次重启)
这个方法俗称“三次关机大法”,比较麻烦
手动切换 WRT1900ac 废弃 flash 到第二 [备份] flash:
- 长按复位按钮复位路由直到电源灯开始闪烁 {一般需要大约 15 秒}
- 一旦电源灯停止闪烁, 用电源开关关闭路由器
- 重新打开电源,这时候电源灯点亮.
- 在其他灯点亮的瞬间, 用电源开关关闭路由器.
- 重新打开电源,这时候电源灯点亮.
- 在其他灯点亮的瞬间, 用电源开关关闭路由器.
- 重新打开电源,这时候电源灯点亮.
- 在其他灯点亮的瞬间, 用电源开关关闭路由器.
- 重新打开电源,这时候电源灯点亮.
- 让路由完全启动,现在应该使用了第二固件.
说明:
该方法仅在 u-Boot 的 auto_recovery 为开启状态才有效. 从 r46690 开始,OpenWrt 默认开启 auto_recovery 并且让它一直保持开启状态. 任何旧版本会在启动时把它关闭.
- 让路由完全启动,现在应该使用了第二固件.