前言
Wi-Fi 7 都有產品上市了。家裡 3 年前買的 AC86U ,只支援 Wi-Fi 5 ,設備大都是 2×2,只能協商 866Mbps 的速度。之前換的手機和桌機,也都能支援 Wi-Fi 6E 。看到蠻多人在網路上賣 AC86U ,而且價格比想像中保值。再加上前陣子中國很熱門的小米 AX3000T 路由器,使用的 MTK Filogic 820 SOC ,性能不俗價格又便宜,基於台積電 12nm 製程,發熱耗電表現不錯。於是換換病發作,決定將家裡路由器升級成 Wi-Fi 6 。
直接上淘寶找,發現還有一款 WR30U ,是中國聯通的小米訂製機。基本跟 AX3000T 相同,天線多一根和少了 NFC 功能(刷 OpenWrt 用不到),價格還能便宜 200 左右。也有官方 OpenWrt 支援,那改買這款省點錢。再順便買張 AX210 幫筆電升級一下。兩樣含運費才花了一千出頭,拿 AC86U 賣掉的錢來買還有剩😁。
刷機流程
獲取SSH
需要先準備:
- Windows 電腦,需要有網路孔和其他上網方式(ex: Wi-Fi 或手機 USB 數據共享)
- 安裝 Python 和
pycryptodome3.17- 下載
server_emulator.py
開始啟用 SSH Service:
-
路由器中設定以下部分:
- 固定 WAN 至 Port1
- 開啟 “启用与智能网关的无线配置同步”
- 上網方式改為 “DHCP” 與 “自動配置DNS”
-
電腦中 Wi-Fi 網卡上右鍵開啟共用如下圖

-
用網路線將路由器 Port1 和電腦連接,如果共用設定成功,路由器上的網路指示燈會亮
-
執行
server_emulator.py並等待找到路由器連線 -
找到後會顯示路由器資訊,按任意鍵繼續操作
-
出現 finish 後即可關閉程式
-
將網路線換回路由器上其他 LAN 口,即獲得臨時 SSH 權限。帳密為
root/admin
備份原廠韌體分區
避免意外或是之後想還原,建議備份分區內容供日後還原
可以用 cat /proc/mtd 查看分區表:
其中只需要備份:
|
|
使用以下指令備份分區:
|
|
分區會備份至 /tmp ,使用 scp 將檔案保存至電腦
刷入 Uboot
刷入 Uboot 後再刷入 OpenWrt
也可以不刷 Uboot ,直接刷過渡韌體,再刷 OpenWrt
由於 OpenWrt 官方的 Uboot(ubootmod) 安裝需要更改路由器分區,刷機風險較高,因此改用第三方開源 Uboot 。選擇了 hanwckf 的bl-mt798x,自帶 Web Fail-Safe ,可以方便地刷回原廠韌體。
將mt7981_wr30u-fip-fixed-parts-multi-layout.bin使用 scp 上傳至/tmp ,並使用mtd write mt7981_wr30u-fip-fixed-parts-multi-layout.bin FIP刷入 Uboot 至 FIP 分區。
Uboot 中不含 DHCP 功能,因此需將電腦網路卡設定為固定 ip 。

重啟後按住 reset ,即可在 192.168.31.1 看到 Faif-Safe 介面。

刷入官方 OpenWrt
接著就能將 OpenWrt 官網下載的韌體刷入,需要選擇 stock 分區布局且為 sysupgrade 的完整韌體包。如 xiaomi_mi-router-wr30u-stock-squashfs-sysupgrade.bin 檔案。
在 Web 介面上傳韌體,mtd layout 選擇 default 。重啟後,就能在 192.168.1.1 登入 OpenWrt 後台。
預設 user: root 且無密碼。

刷回原廠韌體
要從 OpenWrt 刷回原廠韌體,一樣重啟按住 reset 進入 Uboot 。刷入之前備份的 ubi 分區。
如果要還原原廠 Uboot ,需要再次獲取 SSH 後,上傳 FIP 至 /tmp ,執行 mtd write FIP.bin 即可。
更新 Uboot
通常非必要都不需更新 Uboot 。但如果需要更新,一樣重啟按住 Reset 進入 Web Fail-Safe。
並在 192.168.31.1/uboot.html 頁面上傳 Uboot 。
