因為最近搬家,正好有一堆東西打算更新了,本身自己對電子硬體方面甚是感興趣,繼電腦主機、手機、電視盒子之後,本著不折騰會死的心態看中了路由器。曾經偶爾也看到過一些關於軟路由、openwrt的文章,覺得在這方面還是有一些可玩性的。
儘管現在2021年了,但路由器圈子還是一個小眾群體,透過恩山論壇還是補充了很多的知識,從韌體來分類,主要有openwet、梅林、DD-DRT、Padavan、x86軟路由等等...可以折騰的路由器品牌主要是小米、華碩、網件、極路由(已倒閉)、斐訊(K2P一代神機)...最後從可玩性和價效比方面綜合考慮(沒錢),小米AX3600是一個還不錯的選擇。
(圖片來自官方商城)
作為一款2020年2月上市的產品,憑藉出色的硬體得到了許多好評,599元的上市價在一年多以後的今天,竟然在某魚炒到了700-1000左右,已經到了一機難求的地步。
在某魚尋找了一個禮拜,用499買了一個售後換新的機器,拿到手後對這個路由器的第一印象就是“大”,太TM大了,佔用空間=2個普通路由器。開機、接網線LAN口、進入設定一氣呵成,然後開啟已經準備好的韌體資料夾和刷機教程,直接開刷。(相關命令步驟來源自恩山論壇)
Step1.韌體降級
在官方韌體1.0.17版本以後,官方修補了開啟SSH的漏洞,因此只能透過降級方法開啟SSH。首先登陸192.168.31.1,進入控制檯後在升級頁面找到1.0.17的韌體包,待刷入重啟便降級成功。
Step2.開啟SSH
降級後進入路由器控制頁面,在瀏覽器位址列找到以下地址,記下stok=後面的一串字元,直接複製。
http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/web/home#router
在位址列輸入以下網址,將<STOK>替換為之前複製的內容,回車後如果頁面顯示{"code":0}就說明成功了。
http://192.168.31.1/cgi-bin/luci/;stok=%3CSTOK%3E/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20nvram%20set%20ssh_en%3D1%3B%20nvram%20commit%3B%20sed%20-i%20%27s%2Fchannel%3D.*%2Fchannel%3D%5C%22debug%5C%22%2Fg%27%20%2Fetc%2Finit.d%2Fdropbear%3B%20%2Fetc%2Finit.d%2Fdropbear%20start%3B
繼續輸入以下網址,將<STOK>替換為之前複製的內容,這一步是為了將root使用者的密碼修改為admin
http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20echo%20-e%20'admin%5Cnadmin'%20%7C%20passwd%20root%3B
Step3.備份及固化SSH
直接Win+X開啟Windows終端(此處贊一下PowerShell真好用),輸入
ssh [email protected]
密碼是剛才設定的admin,然後看到ARE U OK說明成功進入。接下來繼續輸入以下命令,瀏覽器會彈出下載mtd9備份。
mkdir /tmp/syslogbackup/
dd if=/dev/mtd9 of=/tmp/syslogbackup/mtd9
用winscp將提前準備好的fuckax3600上傳到路由器根目錄下的tmp資料夾裡,然後執行
chmod +x /tmp/fuckax3600
/tmp/fuckax3600 unlock
然後路由器重啟,重新SSH連線路由器,再一次用winscp上傳fuckax3600,輸入
chmod +x /tmp/fuckax3600
/tmp/fuckax3600 hack
/tmp/fuckax3600 lock
這一步設定了永久SSH、telnet和uart許可權,並計算預設密碼,儲存,刷機後若ssh被禁用,可使用telnet登陸。
telnet 192.168.31.1
#輸入之前儲存的密碼
sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear
/etc/init.d/dropbear start
Step4.刷QSDK
直接輸入以下命令
nvram set flag_last_success=0
nvram set flag_boot_rootfs=0
nvram set boot_wait=on
nvram set uart_en=1
nvram set telnet_en=1
nvram set ssh_en=1
nvram commit
winscp將韌體xiaomimtd12.bin上傳到路由器tmp目錄,輸入
mtd write /tmp/xiaomimtd12.bin rootfs
然後拔電源重啟路由器(切記不要輸入reboot),重啟後瀏覽器輸入192.168.1.1進入qsdk韌體
在web頁面備份升級下,不保留配置刷入nand-ipq807x-single.img(第一次刷入,目的是為了把rootfs_1分割槽擴大到128M),
重啟後再次進入web,再刷一次nand-ipq807x-single.img
ssh輸入以下命令,重啟後刷入qsdk完成
fw_setenv flag_last_success 1
fw_setenv flag_boot_rootfs 1
Step5.刷入第三方韌體
winsc將韌體包openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-nand-sysupgrae.bin上傳到tmp目錄,ssh輸入
sysupgrade -F -n openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-nand-sysupgrade.bin
然後就是漫長的等待過程,大概30分鐘後沒有任何反應,覺得有點不對勁,拔路由器電源重啟,幸好可以重啟沒有成磚,發現韌體還是qsdk,說明第三方韌體刷入失敗了,不甘心直接在web頁面不保留配置刷入第三方韌體,漫長的等待後,發現路由器燈滅,然後繼續拔電源線重啟,結果開機亮黃燈後燈滅,搜尋不到wifi訊號,網線獲取不了ip地址,瀏覽器無法進入管理後臺,ssh無法連線,telnet無法連線,一塊小米大板磚誕生。
驚慌之下搜尋了小米官方恢復工具miwifitool,按照步驟能成功恢復,路由器閃爍藍燈,本以為重啟正常了,結果依舊亮黃燈後燈滅。
AX3600從拿到到變磚,壽命2天。