最新心血来潮,想把弱电箱的 er-x 路由器刷成 OpenWrt 系统,折腾了一下线刷,记录一下过程。
mac 跟 windows 都试过,还是 mac 方便,而且现在使用的还是黑苹果
连接 TTL 串口
检查驱动
命令行执行:
ls /dev/tty.usb* |
如果能看到 /dev/tty.usbserial-***
说明驱动已经 OK 了,否则根据对应的芯片下载驱动
启动TFTP服务
添加权限:
sudo chmod -R 777 /private/tftpboot |
启动服务(每次启动服务两条命令都需要执行):
sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist |
然后将要刷的固件拷贝到 /private/tftpboot
目录即可
安装 minicom
测试过几个其它工具,只有这个最靠谱,因为 erx 变砖了,重置的时候需要热插拔,其它工具断开就直接终止程序了,minicom 可以拔了再插上的时候可以自动连上输出 log
命令行执行:
brew install minicom |
启动 minicom:
minicom -s |
配置信息:
|
配置好Serial Device 、Bps/Par/Bits
+-----------------------------------------------------------------------+ |
接着 选择 exit 就回到 log 输出界面了,随便敲一下 enter 键
刷固件
接下来刷固件有两种方式:
方式一
如果插上路由器电源的同时,按住键盘的 1
(注意是按住,国内很多教程写的狂点,效果是一样的)
可以打断路由器启动,显示以下 log:
Please choose the operation: |
按 1
选择 Load system code to SDRAM via TFTP
,填好信息就可以开始刷了
方式二
如果方式一进不了刷机模式,那么可以按如下操作:
- 断开 er-x 的电源
- 断开 ttl 的usb 端
- 按住路由器 reset 的同时,插上电源,保持 reset 一直按住
- 路由器的灯会挨个依次亮两遍,然后全部亮两遍,这时候松手
- 路由器会进入 TFTP 恢复模式,如下图(间隔一个灯闪烁):
连上 ttl 线,等 log 跑完,会出现
waiting for connect...
的字样mac 命令行切到
/private/tftpboot
,输入:tftp
tftp> connect 192.168.1.20
tftp> binary
tftp> put <image-name>.img.signed注意上面这个 192.168.1.20 是路由器的 ip ,此时电脑连着路由器的 eth0 接口
路由器会开始刷机,终端会实时显示 log ,等刷完就可以了
参考链接: