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/