家用WIFI路由器硬改刷系統(tǒng)-如何給路由器刷系統(tǒng)
最近智能家居路由器很火,智能家居是家居平臺(tái)物聯(lián)網(wǎng)化的結(jié)果,通過物聯(lián)網(wǎng)技術(shù)將家居中的各種設(shè)備連接在一起,并能夠統(tǒng)一協(xié)調(diào)管理。路由器應(yīng)該算是核心構(gòu)件。路由器作為無線網(wǎng)絡(luò)的產(chǎn)物,路由器也是智慧家庭的互聯(lián)網(wǎng)入口點(diǎn),路由器品牌有很多如:華為、斐訊、新路由、網(wǎng)件、360、華碩等。不同的品牌路由系統(tǒng)有可能不同。正好家里有個(gè)多年以前的路由,我這次次用來硬改的路由器水星MW300R,現(xiàn)在看可能算是古董級(jí)路由器了,這個(gè)路由器可玩性非常強(qiáng),所以也想改裝個(gè)路由器玩玩, 路由芯片是MT7620。
以前不知道路由器是什么系統(tǒng)后來查找發(fā)現(xiàn)是linux系統(tǒng),刷個(gè)linux系統(tǒng),發(fā)揮路由器最大潛能。畢竟是開源系統(tǒng),不封閉。能力足夠,操作系統(tǒng)也可以自己改。 下面看我是如何將linux開源路由系統(tǒng)op刷入路由器中的。
首先了解什么是"硬改"?所謂的硬改指的就是在硬件層面對(duì)設(shè)備進(jìn)行diy功能改造。硬改就是把路由的閃存和內(nèi)存更換,使其可以有更好的性能或剛換更好用的系統(tǒng),類似電腦換了大內(nèi)存和大硬盤,比如替換大容量的內(nèi)存和閃存芯片。 對(duì)某些設(shè)備進(jìn)行配置層的升級(jí),如iPhone,小米等手機(jī)內(nèi)存擴(kuò)容,使之具有更大容量的存儲(chǔ)空間和運(yùn)行內(nèi)存等。硬件修改分為硬改和軟改。硬改之后刷入開源路由固件,固件主要有DD-WRT, Tomato, OpenWrt, OPNsense, PFSense等,這次我們主要是刷openwrt。
openwrt是一個(gè)高度模塊化、高度自動(dòng)化的嵌入式linux系統(tǒng)。可以實(shí)現(xiàn)各種去廣告,多撥軟件,掛載U盤,移動(dòng)硬盤,USB網(wǎng)卡,攝像頭等,簡單的輸入下載帶寬和上傳帶寬之后就可以對(duì)所有連接上的設(shè)備進(jìn)行限速,讓看視頻和玩游戲的人都不會(huì)覺得卡。DD-WRT優(yōu)點(diǎn)主要是中繼功能比較強(qiáng)大點(diǎn),但是隨著OpenWrt功能的持續(xù)性更新,中繼已經(jīng)不再是dd-wrt的強(qiáng)項(xiàng)。
專門購買openwrt系統(tǒng)的路由器,價(jià)格卻又不是十分親民,如果能把傳統(tǒng)路由器通過硬件修改,刷入openwrt系統(tǒng),就是個(gè)低成本的解決方案了。對(duì)于連linux還不懂的小白,可以忽略,知道它是一種操作系統(tǒng)就可以了。刷機(jī)還需要一中叫編程器的東西,編程器有很多種,常見的是串行閃存的編程器,可自己制作也可購買,如CH341制作的編程器,有很多也不貴,相比而言并行閃存的編程器就很貴,所以一般用在線編程來剛換程序,如JTAG,FTP或串口編程。
更換16M內(nèi)存,我用的是芯片型號(hào)是w25q128 ,16m的存儲(chǔ)量。直接焊下原來的flash芯片,焊上16m的芯片。
如圖:
這里因?yàn)闆]買風(fēng)槍所以只能用電烙鐵了。還是喜歡用風(fēng)槍,用電烙鐵太笨。要注意有個(gè)半圓的豁口,豁口朝上左側(cè)的引腳為第一引腳。別焊反了,后果很嚴(yán)重,運(yùn)氣好會(huì)把芯片燒了。運(yùn)氣不好不知道哪里會(huì)冒煙。那基本上是報(bào)廢了。以前路由經(jīng)常死機(jī),過熱是一大因素,下面我們改改散熱,翻箱倒柜找到了散熱片,貼上
焊接之前,用編程器燒錄UBOOT,這個(gè)我選的這個(gè)路由flash芯片沒有U-boot,不知道uboot哪里下載可訪問U-BOOT https://github.com/u-boot/u-boot 去研究一下。Uboot是德國DENX小組開發(fā)、用于嵌入式CPU的Bootloader,已經(jīng)成為了很多芯片產(chǎn)品的標(biāo)配引導(dǎo)系統(tǒng),并且在所有嵌入式的引導(dǎo)系統(tǒng)中市場占有率最大。所以我也是使用了Uboot系統(tǒng)引導(dǎo)。這里就不深入講解了。下圖是我使用的編程器軟件。
CH341A燒錄器源代碼地址 是https://github.com/setarcos/ch341prog
如果自己不會(huì)編譯,可以去網(wǎng)上找相同的型號(hào)路由的U-boot下載下來,免去編譯的煩惱。我這有幾個(gè)編譯好的系統(tǒng)。當(dāng)然也是找了很久~~
"u-boot":128KB,設(shè)備初始化程序+引導(dǎo)程序代碼,"kernel" :1MB,存放系統(tǒng)內(nèi)核的二進(jìn)制代碼,"rootfs":6.7MB,完整的系統(tǒng)文件包含只讀和可寫"art":64KB,EEPROM分區(qū),這個(gè)簡單的說就是無線驅(qū)動(dòng), art 包含wifi 的驅(qū)動(dòng)及wifi功率的教調(diào)值, 通常生產(chǎn)的廠商 會(huì)針對(duì)每個(gè)路由調(diào)整wifi的功率,因?yàn)楫吘乖牟町悷o法做到一模一樣, 所以還是需要一些參數(shù)的調(diào)整,這些就放在art中。不刷art可能沒有無線信號(hào),或者信號(hào)質(zhì)量很差。
進(jìn)入U(xiǎn)BOOT web恢復(fù)界面刷入op固件。
完成后重啟路由。登陸路由系統(tǒng)默認(rèn)密碼root,
有廢掉的路由器不用的可以聯(lián)系我,拆了一起研究。