為什么要刷OpenWrt
小米路由器本身安裝的系統(tǒng)的功能受限,如果你把路由器裝了openwrt后除可以做傳統(tǒng)路由的工作外,還可以靈活的安裝各種應用,如端口鏡像、iptv轉(zhuǎn)播,科學上網(wǎng)軟件,v2ray,nfs,迅雷下載等等。只要你裝了你就離不開了。
安裝方法大致分為以下幾部分:
- 下載所需資源。
- 回退現(xiàn)有路由器版本(最近版本不支持破解)。
- 獲取root權限。
- 拷貝OpenWrt鏡像到路由器中。
- ssh登錄進入Linux系統(tǒng)刷機、重啟。
- 設置OpenWrt。

這里提供了OpenWrt穩(wěn)定版本,大小剛好卡在30M以內(nèi),超過30M的OpenWrt鏡像文件無法刷入,需要重新分區(qū)(風險較大,不推薦?。?,重新分區(qū)的方法這里不做介紹。putty的作用就是為了登錄到你路由器里面的,和xshell、Mbaxterm一樣,你喜歡用哪個都行。WinSCP的作用就是為了把你的OpenWrt鏡像文件從你的windows電腦拷貝到路由器里面。圖中第一個文件是為了降低小米當前系統(tǒng)的文件,降低到1.0.17版本才能破解。
回退現(xiàn)有路由器版本
需要將小米路由器的內(nèi)置系統(tǒng)回退到1.0.17版本,進入小米路由器后(有線、無線方式都可以),記住你的PPPoE撥號的用戶名和密碼,方便后續(xù)配置,點擊系統(tǒng)升級:

然后點擊手動升級

清除用戶配置

等待1,2分鐘后,重新刷新頁面(如果你是無線連接,需要電腦重新連接WIFI,這時候是沒有密碼的),然后進入路由器(網(wǎng)關地址:192.168.31.1),隨便配置一下(很快要被刷掉)查看當前版本為穩(wěn)定版本1.0.17即可。

緊接著查看當前瀏覽器的地址欄,記錄stok后面的這一串數(shù)(藍色標記部分,拷貝到記事本中,后續(xù)待用)

獲取root權限
- 獲取 SSH
http://192.168.31.1/cgi-bin/luci/;stok=/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's%2Fchannel%3D.*%2Fchannel%3D%5C%22debug%5C%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%3B%20%2Fetc%2Finit.d%2Fdropbear%20start%3B
用剛剛保存的stok,補全stok=后面的數(shù)據(jù),然后復制到瀏覽器打開,顯示{"code":0}就說明成功了。 - 修改默認 SSH 密碼為 admin
http://192.168.31.1/cgi-bin/luci/;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
補全stok=后面的數(shù)據(jù),然后復制到瀏覽器打開,顯示{"code":0}就說明成功了。
拷貝OpenWrt鏡像到路由器中
使用WinScp工具進入小米后臺,將小于29MB的ubi格式固件傳至tmp根目錄下。

這里協(xié)議選擇scp,主機名就是你的路由器的IP,填小米默認的192.168.31.1,端口不變,用戶名填寫root,密碼就是剛剛設置的admin,然后點擊登錄。

點擊更新,然后拷貝鏡像文件(ubi后綴的文件)到tmp目錄中。

通俗一點就是左邊找到鏡像文件,然后拖到右邊tmp目錄中去。

ssh登錄進入Linux系統(tǒng)刷機、重啟。
準備PUTTY工具,SSH方式登錄小米后臺,逐一拷貝以下命令:(可以一次拷貝直接郵件粘貼+回車搞定)
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
繼續(xù)逐一輸入以下命令(這些命令建議一行一行執(zhí)行)
ubiformat /dev/mtd12 -y -f /tmp/請?zhí)鎿Q固件包名.ubi
nvram set flag_last_success=0
nvram set flag_boot_rootfs=0
nvram commit
reboot
注:若在執(zhí)行ubiformat命令時,出現(xiàn) “please, first detach mtd12 (/dev/mtd12) from ubi0”,則將mtd12改成mtd13,后面命令里的0改為1
命令如下:
ubiformat /dev/mtd13 -y -f /tmp/請?zhí)鎿Q固件包名.ubi
nvram set flag_last_success=1
nvram set flag_boot_rootfs=1
nvram commit
reboot

刷機完成后會斷掉連接,這時候路由器的系統(tǒng)就已經(jīng)是OpenWrt系統(tǒng)了。
設置OpenWrt
首先你的電腦得重新連接到路由器(無線方式),有線的話本身就連著無所謂。那么你會在無線WIFI信號中看到一個叫做OpenWrt的wifi信號,沒有密碼你直接連接。然后IP地址是多少呢?你可以通過cmd窗口輸入ipconfig命令查看網(wǎng)關地址,就是IP地址了。

瀏覽器輸入IP地址,登錄到路由器中。

注:用戶名為root,密碼默認填寫password
進入到系統(tǒng)界面后,首先需要設置PPPOE撥號(家庭用戶),點擊網(wǎng)絡、接口。

點擊WAN口中的修改按鈕。

填寫運營商分配給你的寬帶賬號和密碼,保存應用即可上網(wǎng)。
下來是設置一下WIFI方面的功能,因為目前的WIFI是沒有密碼公開的,誰都可以接入。
點擊網(wǎng)絡、無線進入到以下頁面。從頁面上看是有三個通道,有一個AIOT的那個就沒效了(就是小米快速發(fā)現(xiàn)設備的功能)。

這里可以給每個通道修改一下名字(基本設置里面),否則你不清楚你的手機連接到了哪個上面。我這里radio0是AC模式,頻率5G,也就是俗稱的WIFI5,radio1是AX模式,頻率5G,也就是WIFI6(我手機連接的這個我感覺挺好用),第三個radio2是AX模式,頻率2.4G,像小米的智能家居什么的就只能連接到這個上面。
修改wifi密碼點擊無線安全可以看到修改頁碼的頁面,我這里使用了安全性較高的WPA2-PSK加密方式,保存應用后重新使用密碼連接wifi。

最后一般都會改一下DHCP租期,默認是12h,太短了。點擊網(wǎng)絡、LAN口、修改按鈕。

改為1200或者2400。

到此為止,恭喜你,基本的上網(wǎng)功能就配置好了,其余功能還需各位小伙伴自己研究折騰。
寫在最后
如果萬一刷壞了,只要你沒修改分區(qū),都可以使用小米官方救磚工具來恢復系統(tǒng)。具體步驟百度一下,這里不做介紹。

還有一點需要知道,我們目前刷的系統(tǒng)還是可以恢復成原先的小米系統(tǒng)的。只需要用putty以root身份進入到路由器(OpenWrt系統(tǒng))中,

注:這里的IP已經(jīng)為OpenWrt的IP地址,密碼為剛才的默認密碼password
然后執(zhí)行以下命令:
fw_setenv flag_last_success 1
fw_setenv flag_boot_rootfs 1
reboot
等待藍燈亮起,即可進入小米后臺。