準備#
- 電腦,能正常上網,裝好下面需要的軟體,下載所需的檔案
- 一台 OpenWrt 系統的無線路由器(我的是斐訊 K2,固件地址),無線功能要能正常使用,沒有 OpenWrt 系統路由器的可以用虛擬機安裝 OpenWrt。
- Redmi AX6*N,我有 2 台,所以這教程試了 2 次,確定能用
- 一條網線
- PowerShell,最好是以 Windows Terminal 介面啟動,複製粘貼畢竟方便
- Xshell,執行 SSH 命令用
- Unlock Redmi AX3000 完整源代碼
- MiWiFI 1.0.18 官方固件:miwifi_ra69_firmware_45a77_1.0.18.bin
- AX6 使用的 OpenWrt 固件
- 擴容使用的兩個檔案
- 確保 AX6 固件是 1.0.18 及以下
連接 AX6,網線或 WiFi 都行,我是網線,為了保證上傳固件的穩定性。
瀏覽器打開 192.168.31.1,登錄,在常用設置的系統信息裡查看小米官方固件版本號
選擇手動升級,選擇固件,上傳固件,不保留配置進行降級。
降級成功後連上 AX6,設置一下管理頁面的登錄密碼,簡單 12345678 就行。
這一步可能會有兩個問題:
1、上傳固件成功,AX6 在降級重啟過程中卡在橙燈常亮,十幾分鐘沒動靜。你搜索可能會有人說是變磚,其實不是,耐心多放幾分鐘,直接斷電再通電重啟即可進入降級後的 AX6 管理頁面。
2、上傳失敗,提示 XXX 空間已滿這類的。檢查電腦系統的網路連接,確保以太網和 WiFi 沒有同時連接多個路由器或光貓,再重新上傳固件降級。
- 網線連接 K2,準備解鎖 AX6 的環境
K2 接上網線,打開控制面板 \ 所有控制面板項 \ 網路連接,查看以太網的連接狀態。
等識別出網路名稱後,在 PowerShell 執行 ipconfig,查看以太網的具體 IPv4 的 IP
我這裡是 192.168.5.1,使用者:admin,密碼:password
解壓下載的 Unlock Redmi AX3000 完整源代碼,在資料夾右鍵用 Windows Terminal 打開,輸入以下命令:
scp wireless.sh root@192.168.5.1:/root/wireless.sh
第一個提示是提示你密鑰有變化,輸入 “yes” 忽略它
第二個提示是要你連接密碼,這裡我輸入密碼:password
這兩次輸入都不會有顯示,輸入完直接回車即可。
使用 Xshell 連接上 K2 的 SSH,使用者:root,忘記是否需要密碼了,如果提示密碼,則用:password
直接執行命令:
sh /root/wireless.sh
這裡忘記截圖,用的網圖。
當你看到圖上最後一行 Restarting networking,就說明腳本執行完畢
把網線從 K2 上取下來,保持 K2 通電放置一邊即可。
- 再次連接 AX6
網線插上 AX6,等待以太網識別成功,打開 192.168.31.1,登錄管理頁面首頁
複製瀏覽器地址欄的鏈接:
http://192.168.31.1/cgi-bin/luci/;stok=316a516d2835ce8cd6713e9bc324bfea/web/home#router
鏈接裡標紅部分即是 STOK,每一次登錄都會變化,複製完這個標籤頁就放著不動。
只取鏈接標紅部分,替換掉下面鏈接的 ,<> 不要忽略了:
http://192.168.31.1/cgi-bin/luci/;stok=/api/misystem/extendwifi_connect?ssid=MEDIATEK-ARM-IS-GREAT&password=ARE-YOU-OK
ssid=MEDIATEK-ARM-IS-GREAT,這個是 wireless.sh 自動替 K2 改的 WiFi 名字
password=ARE-YOU-OK,這個就是對應的密碼,都不要改動
(如果你用虛擬機設置,可能會在這步出問題)
替換完 STOK,複製整體鏈接到瀏覽器打開,等待差不多一分鐘,瀏覽器會出現如下顯示,代表成功:
這表示 AX6 已經連接上 K2 的 WiFi:MEDIATEK-ARM-IS-GREAT
再用 STOK 替換下面鏈接的 ,其它不用修改
http://192.168.31.1/cgi-bin/luci/;stok=/api/xqsystem/oneclick_get_remote_token?username=xxx&password=xxx&nonce=xxx
瀏覽器顯示下圖表示 SSH 開啟成功:
現在刷新 AX6 的管理頁面:192.168.31.1
點擊 5GHz 密碼的眼睛,複製下這個 WiFi 密碼,保存好,下面有用。
K2 的任務結束。
回到 Windows Terminal,確認一下當前位置還在 Unlock Redmi AX3000 的資料夾裡
把資料夾裡的 ax3000.sh 和 fuckax3000 傳到 AX6 裡,分兩次傳輸
scp ax3000.sh root@192.168.31.1:/etc/ax3000.sh
scp fuckax3000 root@192.168.31.1:/etc/fuckax3000
回到 Xshell,新建 SSH 連接,連接信息是:192.168.31.1,root,剛才複製的 5GHz 密碼就是 SSH 密碼
登錄後執行以下命令:
sh /etc/ax3000.sh dump
看圖最後,會提示你下載備份
打開鏈接:http://192.168.31.1/backup/log/bdata_mtd9.img
下載後標註清楚(如果多台 AX6 的話)留存,以防萬一。具體作用我還沒弄懂。
- 保留 SSH 的權限
如果越獄過 iOS 的可以用不完美越獄和完美越獄的區別來看待這步。
默認情況下,當路由器恢復出廠設置或者升級後,SSH 權限將會丟失,因此我們需要額外的操作以保留它們
繼續在 Xshell 裡執行命令:
sh /etc/ax3000.sh unlock
之後 AX6 會自動重啟,System 燈變藍後,重新連接 SSH,再執行:
sh /etc/ax3000.sh hack
設備會自動重啟
- 掛載 overlay 空間,方便安裝各種軟體包和你想要的一些功能
重新 SSH 連接上 AX6,執行:
sh /etc/ax3000.sh mount
AX6 會自動重啟,再連 SSH,執行命令:
sh /etc/ax3000.sh keep
到此,解鎖 SSH 並保留權限就完成了。下面開始刷你喜歡的 OpenWrt 固件。
========
下載必備的兩個檔案 xiaomimtd12.bin,a6minbib.bin
- 先擴容分區(這部分原理暫時還沒弄清)
默認情況下,AX6 的分區大致在 30MB 左右
如果想多裝插件,再算上各種插件需要的相應空間,可用空間就很有限了
雖然不是必須擴容,但是推薦擴容。
先設置系統環境 env 的 nvram,不熟悉的請一行一行的執行命令:
nvram set flag_last_success=0
nvram set flag_boot_rootfs=0
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram set boot_wait=on
nvram set uart_en=1
nvram set telnet_en=1
nvram set ssh_en=1
nvram commit
回到 Windows Terminal,傳輸 xiaomimtd12.bin 到 AX6,刷 QSDK 過度固件
再到 Xshell,連上 AX6,執行命令:
mtd write /tmp/xiaomimtd12.bin rootfs
然後斷電幾秒再通電重啟 AX6
重啟後的 AX6 不會亮燈,沒有壞,可以打開 192.168.1.1 確認是否成功啟動
使用者:root,沒有密碼,然後不用管這個管理頁面。
在 WT 傳輸 a6minbib.bin 到 AX6 的 /tmp 目錄下:
scp a6minbib.bin root@192.168.1.1:/tmp
注意 IP 變化了,是 1.1
回到 Xshell 重新連接 SSH,執行命令:
. /lib/upgrade/platform.sh
switch_layout boot; do_flash_failsafe_partition a6minbib "0"
還是斷電幾秒再通電重啟 AX6
第五步沒重啟等於沒擴容,會有這種檔案太大的錯誤
這就完成擴容了,開始刷固件
- 刷入 OpenWrt 固件
下載固件,注意固件裡 2 個檔案的不同區別:
openwrt-ipq807x-generic-redmi_ax6-squashfs-nand-factory.ubi
openwrt-ipq807x-generic-redmi_ax6-squashfs-nand-sysupgrade.bin
factory.ubi 這個是命令刷固件使用的
sysupgrade.bin 這個是在 OpenWrt 設置裡使用,路徑是:系統→備份 / 升級
保不保留配置看個人
在 Windows Terminal 傳入固件包:
scp openwrt-ipq807x-generic-redmi_ax6-squashfs-nand-factory.ubi root@192.168.1.1:/tmp
到 Xshell 執行命令刷入系統:
ubiformat /dev/mtd13 -y -f /tmp/openwrt-ipq807x-generic-redmi_ax6-squashfs-nand-factory.ubi
fw_setenv flag_last_success 1
fw_setenv flag_boot_rootfs 1
reboot
最後打開 192.168.10.1 設置路由器,使用者:root,密碼是:admin
整個過程結束!
參考鏈接,部分步驟忘記截圖,圖源↓:
紅米 AX6 可組網 OpenWrt 固件(穩定不重啟)和刷機經驗
網上部分固件會不定時的重啟,原因