本文主要記錄個人對小米 WR30U 路由器的解鎖和刷機過程,整體步驟與 一般安裝流程 類似,但是由於 WR30U 的解鎖 ssh
和刷機的過程中有一些細節需要注意,因此記錄一下
需要一臺同時具有 WiFi 和有線網路的電腦,以及一根網線
然後需要設定 python
環境,並且安裝 pycryptodome
依賴
conda create -n wr30u
conda activate wr30u
conda install pycryptodome
然後是解鎖指令碼,可以直接從 PatriciaLee3 的倉庫中下載
PatriciaLee3 的倉庫中已經給出了詳細的解鎖過程,這裡只是簡單記錄一下
電腦連線原廠韌體的路由器,進入 192.168.31.1 的管理後臺,在常用設定-上網設定裡分別設定:
電腦連線有正常網路的 WiFi,然後將網線連線到路由器的 WAN 口
開啟 控制面板 - 網路和 Internet - 網路和共用中心 - 更改介面卡設定 - 選擇 WLAN - 右鍵屬性 - 共用
,勾選第一個並確認,這個時候 WR30U 會通過有線連線共用電腦的網路,並且網路指示燈會變成藍色
開啟 控制面板 - 系統和安全 - Windows Defender 防火牆 - 啟動或關閉 Windows Defender 防火牆
,關閉 Windows Defender 防火牆
執行解鎖指令碼,並按照指令碼提示操作
conda activate wr30u
python server_emulator.py
解鎖完成後,路由器的賬號密碼為 root
和 admin
,之後記得重新開啟防火牆,並且關閉共用網路
這裡首先推薦刷入 hanwckf 的 mt798x uboot,這個 uboot 有很多功能,其中以下兩點非常實用:
電腦接入正常網路,然後去 hanwckf 的倉庫 release 頁面下載對應的 uboot 檔案:mt7981_wr30u-fip-fixed-parts-multi-layout.bin
電腦接入路由器網路,通過 scp
將 uboot 傳到路由器上
scp mt7981_wr30u-fip-fixed-parts-multi-layout.bin [email protected]:/tmp
通過 ssh
登入路由器,檢視佈局
# on PC
ssh [email protected]
# on Router
# 檢視當前分割區佈局
cat /proc/mtd
預設佈局如下:
dev: size erasesize name
mtd0: 08000000 00020000 "spi0.0"
mtd1: 00100000 00020000 "BL2"
mtd2: 00040000 00020000 "Nvram"
mtd3: 00040000 00020000 "Bdata"
mtd4: 00200000 00020000 "Factory"
mtd5: 00200000 00020000 "FIP"
mtd6: 00040000 00020000 "crash"
mtd7: 00040000 00020000 "crash_log"
mtd8: 02200000 00020000 "ubi"
mtd9: 02200000 00020000 "ubi1"
mtd10: 02000000 00020000 "overlay"
mtd11: 00c00000 00020000 "data"
mtd12: 00040000 00020000 "KF"
如果需要備份,可以通過 nanddump
命令備份,之後通過 scp
將備份的檔案傳到電腦上
# on Router
nanddump -f /tmp/BL2.bin /dev/mtd1
nanddump -f /tmp/Nvram.bin /dev/mtd2
nanddump -f /tmp/Bdata.bin /dev/mtd3
nanddump -f /tmp/Factory.bin /dev/mtd4
nanddump -f /tmp/FIP.bin /dev/mtd5
nanddump -f /tmp/ubi.bin /dev/mtd8
nanddump -f /tmp/KF.bin /dev/mtd12
# on PC
scp [email protected]:/tmp/*.bin .
然後將 uboot 刷入 FIP 分割區,之後關機
# on Router
mtd write /tmp/mt7981_wr30u-fip-fixed-parts-multi-layout.bin FIP
poweroff
ImmortalWrt 是 OpenWrt 的一個分支,相比於 OpenWrt 有更多的軟體包以及裝置支援,並且對中國大陸使用者有特殊優化
電腦連線正常網路,去官網下載 Sysupgrade 韌體
這裡選擇了 custom U-Boot layout 的韌體,也就是 112M UBI layout 的韌體,這樣可以有更多的空間用於安裝軟體包,韌體名格式為 immortalwrt-xxxxxx-mediatek-filogic-xiaomi_mi-router-wr30u-112m-nmbm-squashfs-sysupgrade.bin
針按住 reset 不放,再接上電源,等待 10s 左右鬆開,路由器的系統燈變藍後就是成功進入 uboot 了
因 uboot 不支援 DHCP 功能,需要把電腦的 IP 地址設定成固定 IP:
電腦通過網線連線路由器,然後在網路設定裡將乙太網設定為靜態,IP地址:192.168.31.100,子網掩碼:255.255.255.0,閘道器:192.168.31.1,首選 DNS:192.168.31.1,最後儲存
直接存取 WebUI 進行刷韌體,將 layout 選為 immortalwrt-112m
,然後上傳前面下載的韌體,點選刷機即可
刷回原廠韌體的過程與刷入 ImmortalWrt 類似,只是需要下載原廠韌體,然後在 WebUI 中將 layout 設定為 default
,之後上傳原廠韌體刷機即可
本文作者: ywang_wnlo
本文連結: https://ywang-wnlo.github.io/posts/e6410576.html
版權宣告: 本部落格所有文章除特別宣告外,均採用 BY-NC-SA 許可協定。轉載請註明出處!