公司使用的 ERPoe-5 路由器, 某日在跳電/復電的過程中造成損壞, 使用 Hardware Reset 程序亦無法回復運作, 真真實實的成為一個「磚塊」. 一方面緊急採購了一部 Synology RT2600ac 路由器應急, 一方面也思考如何診斷 ERPoe-5 變磚的真正原因.
準備工作
- RJ45 serial console cable
- 由於同事圈、朋友圈沒人有這條連接線, 因此 shortie 是從 PChome 採購一條備用: 伽利略 USB CONSOLE Cable (FT232) 3m
- TFTP 伺服程式
- 可以用來診斷的電腦是 Ubuntu 18.04 LTS, 因此 shortie 準備的是 tftpd-hpa 伺服程式.
- DHCP 伺服程式
- 呈上點所述條件, shortie 準備的是 isc-dhcp-server 伺服程式.
第一步: 取得 console 連接埠輸出, 確認損壞方式
使用 RJ45 serial console 連接線連接診斷電腦與 ERPoe-5 後, 可利用下列指令接收輸出:
$ screen /dev/ttyUSB0 115200
檢視 ERPoe-5 的輸出之後, 發現 kernel panic 訊息難怪她會變磚了:
第二步: 參考 EMRK 說明, 執行 emrk-reinstall
不論有沒有設定好 DHCP, 進入 U-Boot 提示符號之後, 都可以依照文件中的指示設定 tftpboot
所需要的參數. 一旦成功下載 emrk-0.9c.bin 之後, 就可以使用 bootoctlinux $loadaddr
讓 ERPoe-5 成功開機.
開機完成之後, 我們就可執行 emrk-reinstall
從網路下載最新的韌體: http://dl.ubnt.com/firmwares/edgemax/v1.10.x/ER-e100.v1.10.8.5142440.tar讓 ERPoe-5 恢復正常運作. 過程中注意兩點:
- 提供可設定正常上網的 DHCP 對網路設定有幫助.
- 輸入韌體的網址時要小心, 建議檢查三次以上.
後話
整個修復的過程, 從 serial console 輸出的訊息來看都很完美, 可惜的是在執行完重新安裝韌體之後, 重新開機還是出現 Kernel Panic 訊息, 看來公司這個 ERPoe-5 是確確實實變成一個磚塊了.