無聊開始玩路由器,入門Tomato固件
在之前的《路由器上寫CMCC自動登錄驗證腳本》 這篇文章中,我嘗試了在使用openWRT的WR703N上接入8G的U盤也實現了在路由上安裝和運行Python應用。不過當時很有目的性的玩玩,所以沒有怎么深入探究底層的東西。
昨天在ziv同學的陪同下,搞來了兩個Tenda的路由器,老板鄧先生幫我刷了Tomato的固件。話說,以前我的703N也是在他這里網購的,不過這次路過實體店了。在他的店里,看着他輕輕松松的拆掉里面的電子元件,然后放到一個地方進行編程,接着又輕輕松松的安裝回去。我呆呆的看着,覺得很酷。突然想起初中的時候,自己拆開一個mp3.5為了刷固件,短路兩條引腳結果太暴力被我弄斷了,為了修好到處找店鋪想方設法焊接上那塊芯片上的引腳,到最后還是放棄了。鄧先生說這個Tenda的路由只能刷Tomato的固件,刷openWRT固件的路由價格貴,穩定性也不高,所以我就看着便宜的撿了70塊錢的Tenda回去。
晚上就開始上手刷機,沒有閱讀任何說明書,沒有查閱任何wiki資料,沒有看過任何論壇帖子,直奔Tomato官網下載固件,然后很淡定地從路由器管理界面的升級欄目里上傳固件。結果悲劇的事情發生了,路由器重啟之后就一直沒有啟動過了,沒有Wifi信號,連接端口也沒有自動獲取IP地址。咨詢鄧先生,看樣子已經變磚,只能送回去修理。從沒刷過路由固件的我,最后只能能怪自己不認版本,刷了不兼容的固件。
不過幸好我買了兩個路由,壞了一個還可以繼續玩。既然那個要我這個宅男山長水遠的送回去修理,還不如再弄壞一個一起拿去修。第二次就聰明很多了,開始逛一些國內外的論壇,看了一個晚上的固件信息,在 http://tomato.groov.pl/ 上學習怎么看固件文件名中的信息,當然還要感謝店鋪鄧先生的指導。
發現國內上關於Tomato的資料真的很少,也幾乎很少有人去編譯它的源代碼。在很多地方都看到網名叫佐須之男的大神發布的固件,不過他的固件似乎沒有開源,修改開源項目的東西然后進行商業化,感覺不是很好吧!因為國內關於路由固件的資料相當缺乏,技術也不開放,所以也難怪為什么現在很多路由器的界面都那么單一和簡陋。
從路由器系統狀態里得知我的CPU芯片是Broadcom BCM53572,據說跟BCM5357差不多。但是Shibby博客上並沒有提到BCM5357能夠使用哪些固件,鄧先生也不清楚,只能每一個去嘗試一下。那這樣豈不是不止變磚一次了,對於不懂硬件的我來說磚頭永遠還是磚頭。不過我還是挺幸運的,居然跑去了GitHub上搜代碼,結果還真的搜出來了跟BCM5357相關的東西,發現Linksys的E系列和Asus的N系列也用到了BCM5357。那么既然芯片一致,應該就可以跑同一個內核的了吧。祈禱一下這回不會變磚了。
在Shibby上找了一個RT N系列的固件,開始着手升級了。這次有點小緊張,不過似乎很順利。通過Wifi進入管理界面,如下圖:
不過刷完這個固件后出現了一點小問題,就是所有LAN端口都用不了,鄧先生說是VLAN問題,然后我重新配置了一下VLAN,問題又解決了!
好吧,這次刷固件成功之后,略有成就感,一下子收獲了不少,於是發文祝賀。有些同學已經知道下一步我打算做什么了,哈哈,在上面安裝和運行我的Python應用。





