開始#
紅米路由 AX6000 作為小米公司發布的中端無線路由器
其搭載的聯發科 Filogic 830,經測試確實已經接近入門級雙核的軟路由
可以滿足千兆上網需求,性能可以說是非常強悍的。
本期教程呢既不是不擴容刷機(分區),也不是擴容刷機,而是 U-Boot 刷機
U-Boot 刷機的部分我認為還是比較愉快的,雖然恢復條件較多聽我一一講清楚相信你也可以搞定
這邊建議刷機有風險,玩機需謹慎!建議在刷入前完整將視頻看完再下手
我也是冒著變磚的風險,連夜修復固件問題。坑已經給你們踩過了,這還不值得大家的一鍵三連嗎。
準備#
本期用到
- 紅米 AX6000 無線路由器
- 兩根網線
- 牙籤(或取卡針)
- WinSCP
- Telnet/SSH 客戶端
- 小米路由固件 1.2.8 版本
- CatWrt for Redmi AX6000
恢復需要
- 小米路由官方修復工具
- 小米路由固件 1.0.48 版本
附件下載 提取碼:miao
本期視頻搭配固件已有更新,詳見 CatWrt-v23.8
遇到問題點下面解答博客(視頻中未提及) 👇👇👇
安裝相關軟件#
下載視頻博客裡提供提供的附件,下載後解壓到你知道的位置。
演示下 Telnet 的安裝,鍵盤按 Windows 微標直接鍵入 添加或刪除程序
選擇 可選功能 滑到底部 更多 Windows 功能
選擇 Telnet 客戶端
旁的勾 √,這樣 Telnet 就安裝好了。
打開附件中裡的 WinSCP 安裝包,選擇為所有用戶安裝,在 UAC 裡同意無腦下一步即可。
降級#
因為解鎖需要小米 MiWiFi 固件為 1.2.8 版本
在小米路由器後台 (192.168.31.1),右上角選擇系統更新,在接下來點擊手動更新
選擇剛剛下載好的 1.2.8 版本的固件,系統將會降級或更新到 1.2.8
重啟後重新進入後台
如“出於安全考慮,不允許選擇低於當前版本號的固件進行升級” ## 禁止降級
解鎖 Telnet#
開啟調試模式#
在瀏覽器地址欄 如 http://192.168.31.1/cgi-bin/luci/;stok=1145141919
複製小米路由地址後面的 stok,如這裡的 1145141919
,替換博客裡提供的鏈接然後回車
::: banner {info}
這裡可以直接點擊右邊的 COPY 按鈕快速複製。
:::
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3B%20zz%3D%24%28dd%20if%3D%2Fdev%2Fzero%20bs%3D1%20count%3D2%202%3E%2Fdev%2Fnull%29%20%3B%20printf%20%27%A5%5A%25c%25c%27%20%24zz%20%24zz%20%7C%20mtd%20write%20-%20crash%20%3B%20
如 api 輸出 {"code":0}
就說明我們的步驟沒問題,可以接著繼續
將重啟鏈接中的 stok 也替換一下,我也不知道為啥要這樣重啟既然教程是這樣做就照做吧~,輸入後回車
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20
開啟 Telnet#
機器重啟後再次進入小米路由器後台,再次複製 stok,注意重啟後的 stok 可不一樣不要搞混
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3B%20bdata%20set%20telnet_en%3D1%20%3B%20bdata%20set%20ssh_en%3D1%20%3B%20bdata%20set%20uart_en%3D1%20%3B%20bdata%20commit%20%3B%20
成功執行 api 後也會輸出 {"code":0}
接著輸入以下鏈接替換後回車路由器將進入重啟
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20
解鎖 SSH#
重啟過後呢,我們的 Telnet 就開了,我們連接一下小米路由器,在 cmd 或者 Windows Terminal 這裡簡稱為終端,鍵入 telnet 192.168.31.1
即可進入 telnet 了,接下來我們需要解鎖 SSH 才能完成刷入 U-Boot
這裡非常感謝 @Timochan 為本期節目特地編寫的解鎖腳本,感激不盡
將下列代碼鼠標直接按 COPY 複製嗷,不需要拉橫幅選中再複製
cd /tmp && curl --silent -O https://service.miaoer.xyz/unlock-redmi-ax6000/cn/server/setup.sh && chmod +x setup.sh && ./setup.sh
執行完成後會提示 遺失對主機的連接。這裡就代表解鎖 SSH 腳本執行成功並且重啟了
重啟後再進入終端輸入 ssh [email protected]
即可進入 SSH 了
備份和刷入 U-Boot#
接下來使用 @hanwckf 大神修改編譯好的 U-Boot 和配套腳本
將備份一下原本的引導分區後進行下載 U-Boot
cd /tmp && curl --silent -O https://service.miaoer.xyz/unlock-redmi-ax6000/cn/server/uboot.sh && chmod +x uboot.sh && ./uboot.sh
完成後會有一段代碼飄過其中前面的是下載並且校驗 U-boot 文件的哈希值,備份引導分區和提示部分
其中提示 Backup success! Please download it to your computer 是備份成功,請下載到你的電腦裡
我們就使用 WinSCP 連接小米路由器,協議選擇 scp
主機填 192.168.31.1
帳號 root
密碼 admin
點擊鏈接,同意保存並信任證書文件
如果默認進入 /root 目錄需要雙擊 ..
返回根目錄
進入 /tmp
目錄就可以看到 mtd4_Factory.bin
和 mtd5_FIP.bin
將這兩選中複製或者直接拖動到本機的目錄裡,有需要的小夥伴可以傳到別的進行備份,
這點非常重要,沒有他你就不能恢復到小米原廠系統!
在保存間余我瞄到了 U-Boot 文件,其實你可以不用擔心 U-Boot 腳本有沒有下成功的,沒有下成功腳本就會提示相關錯誤
例如:Error: mt7986_redmi_ax6000-fip-fixed-parts.bin download failed 和 Error: mt7986_redmi_ax6000-fip-fixed-parts.bin md5 is not correct
接下來就是刷入 U-Boot 文件到本機了,這裡強調需要終端中依次輸入,這點很重要!
mtd erase FIP
mtd write /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
mtd verify /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
輸出參考,提示 Success 即可,並且內容需要一模一樣。
root@XiaoQiang:~# mtd erase FIP
Unlocking FIP ...
Erasing FIP ...
root@XiaoQiang:~# mtd write /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
Unlocking FIP ...
Writing from /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin to FIP ...
root@XiaoQiang:~# mtd verify /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
Verifying FIP against /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin ...
72a110768c7473200b863a3c5d4dd975 - FIP
72a110768c7473200b863a3c5d4dd975 - /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin
Success
root@XiaoQiang:~#
U-Boot#
::: banner {warning}
在接下來的步驟網口 1 將作為 Wan 口,網口 234 為 Lan;不支持自適應!
請將連接電腦的網線插入到 234 任意 Lan 網口裡。
:::
接下來需要設置一下 U-Boot 的靜態地址
點擊左下角 Windows 微標在鍵盤上輸入 控制面板
回車,打開 控制面板 - 查看網絡狀態和任務 選擇到 以太網 - 屬性 - Internet 協議版本 4 (TCP/IPv4)- 屬性
或者在 Windows 設置中 IP 分配 - 編輯 - IPv4
選擇使用下面的 IP 地址,依次填入
IP 地址:192.168.31.2
子網掩碼:255.255.255.0
網關地址:192.168.31.1
如果使用 Windows 設置而並非控制面板還需添加 首選 DNS : 192.168.31.1
(視頻中並未演示)
點下確定即可
Tip: 此時 U-Boot 不會亮 LED 燈,可以觀察電腦的網口是否閃爍以檢查路由器是否運行,reset 可以多按幾秒不能少於 15 秒!
接下來拔掉紅米 AX6000 的電源,將牙籤戳入路由器的 reset 口上同時接入電源,按住心裡默念 15 秒然後松開 reset
就進入到大神編譯好的 U-Boot 程序了,這裡點擊選擇文件找到下載我編譯好的 CatWrt For RedmiAX6000 的固件
全稱 catwrt-v22.12-mediatek-filogic-xiaomi_redmi-router-ax6000-squashfs-sysupgrade.bin
然後點擊 Update,固件將會上傳到 U-Boot 裡點擊刷入,就會檢查你的包是否兼容
第一次這裡我這裡就提示 Update Failed 報錯的,這裡很正常,返回再次上傳固件
這次就很輕鬆就刷入固件了,刷入當出現 Upgrade complete! 並且伴隨 LED 白燈亮起 U-Boot 這塊就完成了
設置#
::: banner {warning}
U-Boot 進入需要設置靜態地址,回到 OpenWrt 需要關閉靜態改為 DHCP 自動獲取。
:::
固件的默認地址是 192.168.1.4
這裡還得將我們之前設置的靜態地址改為 DHCP 自動獲取
在瀏覽器中登錄路由器後台 192.168.1.4
帳號 root
密碼 password
即可進入 CatWrt
首先需要設置 Lan 口配置,點擊 網絡 - 接口 - Lan - 編輯
地址我們這裡不修改,挺好的
網關這裡設置本機地址 192.168.1.4
廣播這裡設置 192.168.1.0
DNS 我這裡就設置阿里和騰訊的公共 DNS 地址 119.29.29.99 , 223.5.5.5
IPv6 是默認打開,DHCP 這裡默認 50 起也不是不行我這裡我喜歡改到 20,因人而異吧
IPv6 這裡的 DNS 我們設置在 240C::6666
保存並應用,如果你修改了本機的地址這裡路由器可能無限轉圈圈,就需要重啟一下重新在地址欄裡輸入你的地址即可
接下來接著設置 Wan 口,點擊 網絡 - 接口 - Wan - 編輯
如果你是光貓撥號的,這裡就不需要修改,如果是光貓橋接路由器撥號的,這裡改為 PPPoE 協議,點擊切換協議填入寬帶帳號和密碼
保存並應用
接著優化設置,找到網絡底下的 Turbo ACC 網絡加速
PS: 後面諮詢了暗雲大佬,硬件加速移植過來就集成在了開源的 Flow Offloading 裡了,無需擔憂千兆下的性能問題。
流量分載是 Flow Offloading 也沒有開出來聯發科的 HNAT 即硬件加速,這裡還是稍有遺憾的需要等待 Lean 大佬們的支持
這裡僅需要打開 DNS 緩存並且保留幾個 DNS,這裡我還是只保留的阿里和騰訊的 DNS
然後我們打開服務找到 UPNP 將 啟動 UPnP 與 NAT-PMP 服務
打上勾就可以開啟 UPNP 了
這裡注意,OpenWrt 的端口轉發這裡可以使用 Socat 可以為轉發 IPv4/v6 的端口
無線部分簡單設置一下,可以正常使用是開源的無線驅動而不是閉源的,Mesh 功能也廢了我嘗試過在 LEDE 裡編譯簡單 Mesh 的都以失敗告終
其他功能自行研究,我也編譯好了軟件源,作為小補充,有興趣的可以了解一下
因為我們剛剛修改過 Lan 口配置,重啟紅米 AX6000 即可正常使用了
性能#
我這裡只有 300-400Mbps 的寬帶上網性能 CPU 也就佔用 30%
CpuMark : 27555.110220 Scores 接近入門級雙核軟路由的水準
chacha20-poly1305
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | 16384 bytes |
---|---|---|---|---|---|
61971.58k | 129798.61k | 262005.95k | 304262.25k | 322272.73k | 320474.33k |
aes-256-gcm
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | 16384 bytes |
---|---|---|---|---|---|
98082.86k | 276013.40k | 515196.76k | 663414.10k | 722504.26k | 721534.98k |
4k 視頻呢也可以輕鬆秒殺 20w
刷回小米原廠固件#
如果對 OpenWrt 的功能或者無線部分不滿意想刷回原廠系統也是可以的
::: banner {error}
如果你使用 U-Boot 刷入了其他固件可能不包含 kmod-mtd-rm 即不能解鎖分區並還原,請使用 CatWrt v22.12 恢復
:::
恢復分區#
首先我們使用 WinSCP 連接上紅米 AX6000 此時機器運行的還是我編譯好的 CatWrt
將我們事先備份好的 mtd5_FIP.bin 分區文件上傳到 /tmp 目錄裡後執行命令解鎖 FIP 分區即可恢復官方 U-Boot 分區
insmod mtd-rw.ko i_want_a_brick=1
md5sum /tmp/mtd5_FIP.bin
mtd write /tmp/mtd5_FIP.bin FIP
mtd verify /tmp/mtd5_FIP.bin FIP
後面就可以斷電用小米官方修復工具來修復了
小米恢復工具#
小米修復工具這裡比較多注意事項,首先呢 Windows Defender 防火牆和殺軟得暫時關掉,有多個網卡的記得得把多餘的網卡禁用掉,拔掉 Wan 口網線(網口 1)和電源線
在小米官方修復工具中把我們預先下好的官方固件選上,下一步網卡這裡我這裡只有一個繼續,
接著一手牙籤戳進 reset 孔,一手插電,長按直到藍色 LED 燈長亮轉為橙燈閃爍後松開 reset
等待一會就會出現刷入彈窗,等進度跑完路由器的藍色的 LED 燈閃爍提示你拔掉電源重啟
我們拔掉電源重新插上等待少會我們就恢復了原廠固件
結束#
本期視頻就到這裡了,這款紅米 AX6000 的固件有幾個小遺憾就是 160mhz 暫時沒有測試到需要大家自行測試,也有可能是我的配置不正確開不出來
在狀態概覽中會看到莫名其妙有個 2.5G 的 eth0 其實接口裡是沒有綁定任何接口的
總得來說這款紅米 AX6000 打包開發對我並不難,難的是腳本為我們處理好的部分這裡特別感謝 Timochan PR 的腳本,還有老闆購買並提供機器適配,我到底需要刷 x-wrt 還是 CatWrt 還得看你自己。
最後刷了我們 CatWrt 的可以加入我們的粉絲群,感謝大家支持我是喵二我們下期家庭數據中心再見。
幫助#
固件支持不是十全十美的活,難免會有 Bug,如遇到問題在下方評論留言或者加群詢問,使用了我的固件可以進行簡單諮詢,要是有償是再好不過的,用別人的固件我不理!
歡迎多多留言鼓勵 (´・・) ノ (._.`)
引用#
視頻實拍授權於 @卡卡的鼓捣日記
感謝遇見大佬對 CatWrt 的無線驅動部分解答
感謝暗雲大佬對硬件加速方面部分解答
視頻使用:
BGM:
此文由 Mix Space 同步更新至 xLog
原始鏈接為 https://www.miaoer.net/posts/network/flash-redmi-ax6000