上面說了目前的路由器的硬件,這篇我們主要說無線路由器的刷寫系統(tǒng)。 路由器刷寫系統(tǒng),的文件目錄如下,此篇主講思路,詳細的教程需要準備比較多,所以我在這里主講思路和經(jīng)驗。
- 路由器的固件刷寫程序。
- 通過網(wǎng)線系統(tǒng)刷入。
- 通過TTL刷入系統(tǒng)。
- 通過編程器刷入系統(tǒng)。
路由器的固件刷寫程序
路由器的引導流程和我之前說的手機的差不多,區(qū)別是路由器要簡單很多。我在這所說的引導流程只是包含:設(shè)備上點—設(shè)備自檢—進入恢復模式,這一塊。剩下的系統(tǒng)加載后面的我們不討論。
uboot結(jié)構(gòu)
路由器通電后會運行CFE(common firmware environment)--它就是一個bootloader。我們經(jīng)常碰到的設(shè)備的CFE程序是U-Boot。這個U-Boot是開源的項目,我們碰到的個種嵌入式操作系統(tǒng)內(nèi)核的引導都是用的它。傳統(tǒng)的都是命令界面。
uboot命令界面
U-Boot除了正常的引導工作,我們在刷機過程中主要使用它的刷寫新固件相關(guān)的主要內(nèi)容。
我們經(jīng)常所說的不死U-Boot,現(xiàn)在主要指的是有圖新界面的boot,簡單易操作。經(jīng)常使用的有恩山論壇的hackpascal大神制作的U-Boot。效果特別好,很容易上手!
hackpascal大神制作的uboot
還有的是有些廠商出廠就將自己制作的圖形化界面U-Boot做好了,大家只需要上傳固件就好了。
廠家自帶圖形化uboot
在這里主要注意的有以下幾點:
- 進入設(shè)備的U-Boot,原廠一般都是沒有圖形界面的。
- 想使用圖像界面,就需要刷寫新的不死uboot,就需要根據(jù)CPU和設(shè)備型號,來選擇對應(yīng)的不死U-Boot
需要根據(jù)設(shè)備CPU和型號找匹配的U-Boot
通過網(wǎng)線系統(tǒng)刷入
通過網(wǎng)線直接將系統(tǒng)刷入的,設(shè)備比較少。一般要么是原廠就是這樣的、要么就是已經(jīng)刷入不死U-Boot了。
目前,我知道可以直接原廠通過網(wǎng)線刷入的,有網(wǎng)件netgear 的3700、4300v1、6300v2。
網(wǎng)件6300v2 外號:電磁爐
網(wǎng)件通過網(wǎng)線刷機很簡單:
- 網(wǎng)線連接路由器和電腦,將電腦設(shè)置IP 192.168.1.2
- 電腦下載軟件“TFTP智能刷機”,固件上傳工具。設(shè)置如下圖,其中的密碼:password 固件文件,直到新的固件文件位置。
- 打開cmd ,一直ping,路由器地址192.168.1.1.(ping的命令:ping 192.168.1.1 -t)
- 點擊軟件“更新固件”。
- 按住路由器reset鍵,一直不放,直到cmd窗口,ping一直顯示平通,軟件將會自動上傳固件,自動重啟,然后等設(shè)備再次啟動,就刷機完成了。
TFTP智能刷機
通過TTL刷入系統(tǒng) 上面的方法行不通,就需要通過TTL更新系統(tǒng),那么就說明設(shè)備升級圖形化界面肯定是沒有的。
路由器的上的TTL接口,有四個針腳VCC、TX、RX、GND。我們只使用除了VCC的其他三個。有的路由器是有針的那就很方便,如果沒有就只能焊接了,這就需要買電烙鐵了。
TTL接口
相應(yīng)的也需要TTL轉(zhuǎn)USB轉(zhuǎn)接器。這個很便宜,建議在淘寶多買幾個不同型號的(和兼容性有關(guān))。
TTL轉(zhuǎn)USB轉(zhuǎn)接器
使用TTL刷機的方法:
- 網(wǎng)線連接設(shè)備,TTL轉(zhuǎn)USB轉(zhuǎn)接器連接路由器設(shè)備TTL接口。
- 使用終端軟件SecureCRT登錄進路由器(也可以使用其它的終端軟件)。
- 開機進入U-Boot,設(shè)置TFTP設(shè)備地址,和允許通訊的電腦地址。(兩個地址要在同一網(wǎng)段),也可以使用在 U-Boot 命令行中運行 printenv 命令, 查看 U-Boot 中的 IP 地址信息。
- 安裝電腦安裝TFTP軟件,current directory設(shè)置固件的文件夾位置。server address設(shè)置為電腦的有線連接網(wǎng)卡,網(wǎng)卡地址為路由器顯示的serverip地址。(下面的圖片我懶得改了)
- 使用TFTP命令上傳固件。
U-Boot 選項
查看 U-Boot 中的 IP 地址信息
TFTP軟件 接口地址為路由器顯示的serverip地址為準 我懶得改了!
使用TFTP上傳固件
在這塊要注意的:
- 有的設(shè)備TTL接口,RX對應(yīng)轉(zhuǎn)接器的TX,有的又對應(yīng)RX,這個需要自己試。GND一直對應(yīng)的GND。
- 有的設(shè)備開機時先不能接上GND,要在路由器開機后,再快速接上GND。
- 有的路由是不會在主板上TTL接口標記名稱的,需要自己試。
- 使用終端軟件需要在設(shè)備管理器記住轉(zhuǎn)接器的COM口號碼。波特率115200,這個不一定,還是需要自己試,不正確會顯示亂碼。還有時都正確,但是還是顯示亂碼就需要關(guān)閉軟件重新連接了。(這都是經(jīng)驗,我之前可是折騰美了?。?/li>
- 在上傳固件時的代碼,是固件在路由器的存儲位置。運行 cat /proc/mtd 命令即可查看
終端連接設(shè)置
查看MTD 分區(qū)名
通過編程器刷入系統(tǒng)
通過編程器刷入系統(tǒng),就是上面兩種辦法都無法解決了!一般都是已經(jīng)U-Boot損壞了,真正的成磚了。
通過編程簡單粗暴,將flash芯片直接拆下來,在使用編程器進行燒錄。在這時需要的就不是簡單的路由器系統(tǒng)固件了,需要的是對應(yīng)設(shè)備的編程器固件。這個就比較難找了,要么廠家能提供,要么在原廠的系統(tǒng)中提取出來的ART固件,再次進行編寫的編程器固件。
編程器
編程器的FLASH的芯片底座,寬體和窄體
編程器燒寫芯片,沒有什么可講的,只要用軟件燒寫,再焊上路由器即可。(前提是有編程器固件)
編程器軟件
編程器時應(yīng)注意:
- 這個是解決問題最終辦法。
- 這需要編程器固件!編程器固件!編程器固件!,重要的說三遍!
- 編程器是有燒寫芯片型號限制的,不是什么Flash芯片都可以,買的時候要注意!
- 這個終于寫完了,寫這個花了5個小時,有啥問題留言吧,主要說明思路。還有就是想了解具體的,可以登陸論壇學習,首推恩山論壇和anywlan。