Linksys EA8500 路由器双核1.4G CPU、512M内存、512M闪存、全高通方案OpenWrt官方表示完全支持等开始刷机时发现困难重重。
EA8500 固件1.1.4及以后的固件版本已经增加了刷机锁,无法通过Web管理端刷低版本固件及其他第三方固件,这样给刷机带来了很多麻烦;
网上刷机资料很少,刷机过程中刷成了2次砖,在淘友的支持下起死回生,再次表示感谢。并记录下整个过程供有需要的人参考。
本过程也适合刷砖后的自救方法。希望能帮助更多的朋友。
注意:第一次打开路由器不要升级路由器固件
整体过程如下:
- 将路由器固件降级到 1.1.3.166845 版本;
- 通过1.1.3 版本将Openwrt的 固件通过Web管理端上传刷机
准备工具:
- 十字螺丝刀、小撬棒
- TTL链接线,型号PL2303HX-USB-to-TTL-RS232(某宝去买)
- Putty工具
- EA8500 1.1.3.166845 镜像
- Openwrt升级文件 openwrt-19.07.4-ipq806x-generic-linksys_ea8500-squashfs-factory.bin
- 整个过程是在Window系统上完成,建议Win7或Win10
- 主板排针5个(某宝去买)、电烙铁60W~100W、助焊剂、焊锡丝
(可能会用到)
一、检查路由器版本
如图右侧 Current Version如果路由器当前的固件版本已经是1.1.3的版本,恭喜可直接进行最后一步刷机。
二、连接前准备
拆机
拆下路由器底部的4个橡胶皮垫,并拧下4枚螺丝;从前端中部开始用撬棒,慢慢打开路由器上盖,这个过程第一次需要费点时间和力气;拆开后看到主板如下图:
注意看右下角的5个插针,这里是TTL端口;
接线
电脑链接TTL端口,需要购买TTL链接线;PL2303HX-USB-to-TTL-RS232 某宝上搜索一下很多、也不贵,注意选择 PL2303HX型号;
电脑链接路由器方法,白(RX)第2针、绿(TX)第3针、黑(Gnd)第5针,注意买回来的TTL线颜色与接口的关系;
TTL连接线链接路由器及电脑,注意检查设备列表中出现的新串口如:Com3,如果有未识别的硬件请自行安装驱动;
焊接
如果发现你的主板没有这几根针不要惊讶,因为官方出厂前将这几个针拔掉了。这时候电烙铁、焊锡丝、助焊剂、主板排针要上场了。具体怎么焊上去看自己的方法了,自己有信心可以自己来,自已没把握找外边修电器的师傅帮忙。自己动手一定注意如下:
- 不要将原有的焊锡弄掉,否则很难再焊上,如果自己焊接技术好可以随意;
- 因为针孔里有焊锡,只能一根一根来焊;
- 电烙铁不成长时间接触主板防止烧坏主板,3秒之内如果没焊好,请离开等几秒冷却后再试;
三、启动TFTP服务端
下载工具:http://mrjcd.com/EA8500_DD-WRT/PuTTy-TFTP.zip,文件清单如下:
putty.exe
tftpd32.exe
EA8500-factory-to-ddwrt.img
EUPL-EN.pdf
tftpd32.chm
tftpd32.ini
下载EA8500 原厂固件:http://mrjcd.com/Malachi/EA8500/Linksys-FW/FW_EA8500_1.1.3.166845_prod.img
以管理员身份运行 tftpd32.exe,如下图:
注意:Current Directory 为固件文件所在的文件夹,尽量不要使用中文文件夹名称
点击Settings 按下图设置;
电脑网线连接路由器 Lan1口(蓝色第1个),电脑端
电脑IP设置为 192.168.1.2,子网掩码:255.255.255.0;
检查电脑与路由器网络连接
- 开启路由器,尝试 Ping 192.168.1.1 要保证能Ping通
- 如果无法ping通尝试将路由器恢复出厂模式,再试;
- 关闭电脑防火墙,防止被拦截;
四、运行并设置Putty
运行 Putty.exe;
注意:连接的串口是你电脑上链接TTL线的串口,其他按下图设置
可以将设置保存下来以方便后续再次使用
点击 Open按钮,出现如下窗口
五、进入路由器命令行(终端)
打开EA8500电源,当看到 Hit any key to stop autoboot X 时,按回车键,停止启动;
直到出现(IPQ)#
六、备份路由器环境变量
此步骤官方不会介绍,当然如果没有备份可以通过官方去查找,有备无患,建议全部部分下来。
输入 printenv 回车,将输出的所有变量。COPY并备份,以防操作失误导致无法启动;
(IPQ) # printenv altkern=3780000 auto_recovery=yes baudrate=115200 boot_part=2 boot_part_ready=3 boot_ver=1.0.12 bootargs=console=ttyHSL1,115200n8 bootcmd=bootipq bootdelay=2 ethact=eth0 ethaddr=00:06:3b:01:41:00 flashimg=tftp $loadaddr $image;nand erase $prikern $imgsize;nand write $loadaddr $prikern $filesize flashimg2=tftp $loadaddr $image;nand erase $altkern $imgsize;nand write $loadaddr $altkern $filesize image=wraith.bin imgsize=2800000 ipaddr=192.168.1.1 loadaddr=42000000 machid=1260 netmask=255.255.255.0 partbootargs=console=ttyHSL1,115200n8 init=/sbin/init rootfstype=squashfs root=31:14 partbootargs2=console=ttyHSL1,115200n8 init=/sbin/init rootfstype=squashfs root=31:16 prikern=f80000 serverip=192.168.1.254 stderr=serial stdin=serial stdout=serial Environment size: 804/262140 bytes
七、检查并设置刷机指令
检查flashimg、flashimg2 是否与上文一致,如果不一致需要修改过来;
修改命令如下:
setenv flashimg 'tftp $loadaddr $image;nand erase $prikern $imgsize;nand write $loadaddr $prikern $filesize' setenv flashimg2 'tftp $loadaddr $image;nand erase $altkern $imgsize;nand write $loadaddr $altkern $filesize' saveenv
对此步骤不理解请参见另一篇文章 https://www.cnblogs.com/moonwebmast/p/13894437.html
注意:此部分要非常小心,一但配置错误将导致刷机失败,这边刷成砖的主要原因是在这里了,重要!重要!重要!
八、写入1.1.3 版本固件
写入主分区
setenv image FW_EA8500_1.1.3.166845_prod.img setenv ipaddr 192.168.1.1 setenv serverip 192.168.1.2 setenv autostart no run flashimg
命令解释:
setenv image FW_EA8500_1.1.3.166845_prod.img #设置写入镜像文件名
setenv ipaddr 192.168.1.1 #设置路由器IP地址
setenv serverip 192.168.1.2 #设置tftp服务器IP为电脑的IP
setenv autostart no #禁用自动启动,防止写入后自动启动系统
执行完成后,再写入副分区。
run flashimg2
运行如下图:
注意:如果现实的不是 # 而是 T 请检查如下:
- 电脑与路由器的网线连接是正常;
- 电脑是否开启了防火墙;
- IP是否设置正确;
如果一切正常,请输入 Reset 重启路由器
reset
九、刷入Openwrt固件
路由器重启后,通过 http://192.168.1.1 进入路由器管理页面。
注意:不要理会系统提示的固件升级
检查固件版本应该如下: Current Version: 1.1.3.166845
Connectivity → Basic (tab) → Router Firmware Update → Manual Update → Choose File
选择 Openwrt文件 openwrt-19.07.4-ipq806x-generic-linksys_ea8500-squashfs-factory.bin
点击 Start 开始写入;
写入成功后等路由器重启,再次访问 http://192.168.1.1 就看到OpenWrt了;
参考资料
https://openwrt.org/toh/linksys/linksys_ea8500
http://mrjcd.com/EA8500_DD-WRT/