banner
miaoer

miaoer

喵二の小博客 https://www.miaoer.net xLog 分站
tg_channel
telegram
bilibili

紅米 AX6000 保姆級教你刷 OpenWrt 小白也不怕變磚

Youtube

開始#

紅米路由 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

遇到問題點下面解答博客(視頻中未提及) 👇👇👇

1


安裝相關軟件#

下載視頻博客裡提供提供的附件,下載後解壓到你知道的位置。

image

演示下 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#

image

機器重啟後再次進入小米路由器後台,再次複製 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 文件的哈希值,備份引導分區和提示部分

image

其中提示 Backup success! Please download it to your computer 是備份成功,請下載到你的電腦裡

我們就使用 WinSCP 連接小米路由器,協議選擇 scp 主機填 192.168.31.1

帳號 root 密碼 admin 點擊鏈接,同意保存並信任證書文件

如果默認進入 /root 目錄需要雙擊 .. 返回根目錄

進入 /tmp 目錄就可以看到 mtd4_Factory.binmtd5_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

image

首先需要設置 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 - 編輯

image

如果你是光貓撥號的,這裡就不需要修改,如果是光貓橋接路由器撥號的,這裡改為 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 bytes64 bytes256 bytes1024 bytes8192 bytes16384 bytes
61971.58k129798.61k262005.95k304262.25k322272.73k320474.33k

aes-256-gcm

16 bytes64 bytes256 bytes1024 bytes8192 bytes16384 bytes
98082.86k276013.40k515196.76k663414.10k722504.26k721534.98k

4k 視頻呢也可以輕鬆秒殺 20w


刷回小米原廠固件#

如果對 OpenWrt 的功能或者無線部分不滿意想刷回原廠系統也是可以的

::: banner {error}
如果你使用 U-Boot 刷入了其他固件可能不包含 kmod-mtd-rm 即不能解鎖分區並還原,請使用 CatWrt v22.12 恢復
:::

恢復分區#

首先我們使用 WinSCP 連接上紅米 AX6000 此時機器運行的還是我編譯好的 CatWrt

image

將我們事先備份好的 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

image

等待一會就會出現刷入彈窗,等進度跑完路由器的藍色的 LED 燈閃爍提示你拔掉電源重啟

我們拔掉電源重新插上等待少會我們就恢復了原廠固件


結束#

本期視頻就到這裡了,這款紅米 AX6000 的固件有幾個小遺憾就是 160mhz 暫時沒有測試到需要大家自行測試,也有可能是我的配置不正確開不出來

在狀態概覽中會看到莫名其妙有個 2.5G 的 eth0 其實接口裡是沒有綁定任何接口的

總得來說這款紅米 AX6000 打包開發對我並不難,難的是腳本為我們處理好的部分這裡特別感謝 Timochan PR 的腳本,還有老闆購買並提供機器適配,我到底需要刷 x-wrt 還是 CatWrt 還得看你自己。

最後刷了我們 CatWrt 的可以加入我們的粉絲群,感謝大家支持我是喵二我們下期家庭數據中心再見。

幫助#

固件支持不是十全十美的活,難免會有 Bug,如遇到問題在下方評論留言或者加群詢問,使用了我的固件可以進行簡單諮詢,要是有償是再好不過的,用別人的固件我不理!

歡迎多多留言鼓勵 (´・・) ノ (._.`)

引用#

U-Boot

解鎖 Telnet/SSH 教程

刷入 U-Boot 教程

解鎖 SSH 權限

unlock-redmi-ax6000

視頻實拍授權於 @卡卡的鼓捣日記

感謝遇見大佬對 CatWrt 的無線驅動部分解答

感謝暗雲大佬對硬件加速方面部分解答



視頻使用:

BGM:

  • Roa - Feather

  • Children's Music - Bike Rides



  • 此文由 Mix Space 同步更新至 xLog
    原始鏈接為 https://www.miaoer.net/posts/network/flash-redmi-ax6000


    Footnotes#

    1. https://www.miaoer.net/posts/blog/redmiax6000_openwrt_qanda

    載入中......
    此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。