Linksys EA8500 路由器双核1.4G CPU、512M内存、512M闪存、全高通方案OpenWrt官方表示完全支持等开始刷机时发现困难重重。
EA8500 固件1.1.4及以后的固件版本已经增加了刷机锁,无法通过Web管理端刷低版本固件及其他第三方固件,这样给刷机带来了很多麻烦;
网上刷机资料很少,刷机过程中刷成了2次砖,在淘友的支持下起死回生,再次表示感谢。并记录下整个过程供有需要的人参考。
注意:第一次打开路由器不要升级路由器固件
整体过程如下:
1. 将路由器固件降级到 1.1.3.166845 版本;
2. 通过1.1.3 版本将Openwrt的 固件通过Web管理端上传刷机
准备工具:
1. 十字螺丝刀、小撬棒、
2. TTL链接线,型号PL2303HX-USB-to-TTL-RS232(某宝去买)
3. Putty工具
4. EA8500 1.1.3.166845 镜像
5. Openwrt升级文件 openwrt-19.07.4-ipq806x-generic-linksys_ea8500-squashfs-factory.bin
6. 整个过程是在Window系统上完成,建议Win7或Win10
7. 主板排针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,如果有未识别的硬件请自行安装驱动;
焊接
如果发现你的主板没有这几根针不要惊讶,因为官方出厂前将这几个针拔掉了。这时候电烙铁、焊锡丝、助焊剂、主板排针要上场了。具体怎么焊上去看自己的方法了,自己有信心可以自己来,自已没把握找外边修电器的师傅帮忙。自己动手一定注意如下:
1. 不要将原有的焊锡弄掉,否则很难再焊上,如果自己焊接技术好可以随意;
2. 因为针孔里有焊锡,只能一根一根来焊;
3. 电烙铁不成长时间接触主板防止烧坏主板,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;
检查电脑与路由器网络连接
1. 开启路由器,尝试 Ping 192.168.1.1 要保证能Ping通
2. 如果无法ping通尝试将路由器恢复出厂模式,再试;
3. 关闭电脑防火墙,防止被拦截;
四、 运行并设置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 $filesizeimage=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=squashfsroot=31:14
partbootargs2=console=ttyHSL1,115200n8 init=/sbin/init rootfstype=squashfsroot=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;nandwrite $loadaddr $prikern $filesize'
setenv flashimg2 'tftp $loadaddr $image;nand erase $altkern $imgsize;nandwrite $loadaddr $altkern $filesize'
saveenv
注意:此部分要非常小心,一但配置错误将导致刷机失败,这边刷成砖的主要原因是在这里了,重要!重要!重要!
八、 写入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 imageFW_EA8500_1.1.3.166845_prod.img #设置写入镜像文件名
setenv ipaddr192.168.1.1 #设置路由器IP地址
setenvserverip 192.168.1.2 #设置tftp服务器IP为电脑的IP
setenvautostart no #禁用自动启动,防止写入后自动启动系统
执行完成后,再写入副分区。
run flashimg2
运行如下图:
注意:如果现实的不是# 而是 T 请检查如下:
1. 电脑与路由器的网线连接是正常;
2. 电脑是否开启了防火墙;
3. 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/