XiaomiAX3000T—Openwrt

假行僧me發表於2024-04-06

韌體降級

如果未升級至1.0.64版本,請關閉自動系統更新。如果已經是該版本,需要進行降級操作,教程針對的版本只適用於1.0.47。
去官網下載小米路由器修復工具

image

MIUI Rom下載低版本的韌體:

image

解壓縮開啟下載的軟體,選擇本地上傳剛下載的韌體即可:

  • 將網線插入任意LAN口中,選擇韌體和對應的有線網路卡;
  • 直到提示:可以進行刷機操作,此時拔掉路由器電源,按住Reset,插入電源,直至橙黃色燈光閃爍;
  • 韌體上傳至路由器,當藍燈閃爍時,拔掉電源重啟路由器,橙色燈光閃爍;
  • 此時在瀏覽器位址列中輸入:miwifi.com,重新配置後臺,韌體版本降級成功。

image

刷Uboot和韌體

首先找到登入後臺的網址,提取STOK,系統重啟會影響該值:

image

然後依次輸入以下程式碼( <STOK> 替換為你的實際 SSID ),下面已經替換:

curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=9a4745633609dae782cdfd654925caf6/api/misystem/arn_switch -d "open=1&model=1&level=%0Anvram%20set%20ssh_en%3D1%0A"

curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=9a4745633609dae782cdfd654925caf6/api/misystem/arn_switch -d "open=1&model=1&level=%0Anvram%20commit%0A"

curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=9a4745633609dae782cdfd654925caf6/api/misystem/arn_switch -d "open=1&model=1&level=%0Ased%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%22debug%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%0A"

curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=9a4745633609dae782cdfd654925caf6/api/misystem/arn_switch -d "open=1&model=1&level=%0A%2Fetc%2Finit.d%2Fdropbear%20start%0A"

curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=9a4745633609dae782cdfd654925caf6/api/misystem/arn_switch -d "open=1&model=1&level=%0Apasswd+-d+root+password%0A"

之後使用MobaXterm透過SSH通道連線路由器終端,login name: root,即可進入終端:

image

這裡最好是下載UP主編寫的U-Boot——mt7981_ax3000t-fip-fixed-parts.bin(fixed-parts代表uboot分割槽表在編譯期間固定,不會隨著uboot環境變數變化),到了這一步緊接著刷入“不死Uboot”點選下載,就是將該檔案檔案拖至/tmp資料夾,之後透過命令列安裝即可:

mtd write mt7981_360t7-fip-fixed-parts.bin fip

Uboot功能介紹參考此處.

刷入完成後,其中對於AX3000T路由器,在訪問Uboot介面時,要將電腦IP地址手動設定為靜態:192.168.31.**,之後透過192.168.31.1訪問Uboot介面:

之後選擇下載好的對應mtk789x-AX3000T路由器的韌體,參考這篇文章原始碼編譯說明,獲得韌體檔案之後,最後Upload即可:

最終的WebUI介面:

如果想刷回原來的官方韌體,在 這裡下載 Upload即可。

如果刷入官方的Uboot,是沒有圖形介面的,但是可以透過串列埠通訊來實現韌體的刷入,當前是透過USB-TTL實現的映象檔案安裝。

記錄一下差點“變磚”的經歷:

也算是成功刷入官方韌體的經歷,只不過是透過線刷。需要的工具有TFTPd軟體,用於將本地檔案上傳到Flash中。

使用CH340下載器,連結路由器的對應介面:

一定不要接VCC!!!,會燒壞晶片!!!

刷入方法也可參考這篇文章:mt798x uboot 功能介紹

使用MobaXterm連線主機板,選擇對應的COM口即可。連線好之後再插電,在終端介面回車,即可見到MTK7981的提示,這就是U-BOOT。首先檢視當前IP地址,查詢serveradress 並將當前電腦的IP地址設定成該地址(靜態IP),將TFTPD軟體中的目錄指定定位到儲存韌體的目錄,下方IP地址選擇有線網路卡的靜態IP地址即可。之後在終端中輸入:bootm,就是啟動映象,軟體會自動尋找韌體並安裝。之後便會進入Openwrt系統中,如果安裝的韌體是snapshot版本,那麼就需要手動安裝WEB-UI Luci,同時修改後臺訪問地址,如果作為路由器並且旁路由使用的話,不要與主路由網段衝突,會導致網路不穩定,無法分配足夠的IP。

文章中使用的方法是:

  • mtkupgrade fip命令可以透過TFTPd刷入uboot
  • mtkupgrade fw命令使用TFTPd刷入韌體

文中指出該款路由器的Flash中具有3個分割槽,default分割槽、immortalwrt-112m分割槽和qwrt分割槽,作者也給出了各個分割槽對不同韌體的相容性。

Openwrt替換國內映象源

一般情況下,下載來自 downloads.openwrt.org 的檔案時,將 URL 中的這部分域名替換為 mirrors.ustc.edu.cn/openwrt 即可。

如要使用本映象作為 OpenWRT/LEDE 系統 opkg 軟體倉庫,SSH 登入路由器編輯 /etc/opkg/distfeeds.conf 檔案,同樣按照上面的方法替換域名即可。可以使用如下命令操作:

sed -i 's/downloads.openwrt.org/mirrors.ustc.edu.cn\/openwrt/g' /etc/opkg/distfeeds.conf

在執行上面的命令之前備份一下原始檔!!!
之後使用opkg update更新索引檔案即可,為了防止國內運營商的快取劫持,需要安裝:libustream-openssl ca-bundle ca-certificates

寫在最後

本人描述有不對的地方,歡迎批評指正,Never too old to learn!

相關文章