網路設備連接電源之後,存放在Flash(快閃記憶體)裡頭的韌體就會載入到內建的記憶體當中運作;不過載入韌體之前,設備還會檢查NVRAM裡頭是否有組態設定可供套用,如果沒有的話,則會以預設值載入系統。

大多數的韌體更新失敗,都可以在除錯模式下排除,最常見的做法就是按住這些設備上的Reset鍵不放,然後重新接上電源,就可以讓設備進入除錯模式,接著可以使用TFTP指令上傳新版本的韌體,最後重新啟動設備,就能讓設備恢復正常運作。TFTP可看成是一種簡易版本的FTP通訊協定,對於登入帳號的查驗限制較少,因此適合拿來做為韌體更新之用,除了在終端機模式下輸入指令之外,許多廠商也有提供圖形介面的TFTP工具,以免除使用者輸入指令的麻煩。

韌體的更新失敗,也有可能是因為設備硬體毀損,其中又以Flash損壞最為常見,在這種情況之下,我們就沒有辦法透過除錯模式來自力救濟,而必須要送廠維修。

最後一種因為韌體更新而導致設備無法使用的可能性狀況,就是所上傳更新的韌體,屬於所謂的客製化韌體(例如DD-WRT、OpenWrt)。這一類韌體因為功能強大,而且可以自行加入模組強化韌體功能,因而受到很多進階使用者的歡迎。不過有時也會因為更新這類韌體,結果導致設備故障,無法使用。我們在測試DD-WRT的時侯,就發生過一次類似的狀況。更新韌體後,當時設備的燈號全亮,同時也無法從其它電腦連接到設備,最後的結果當然就是只有送修。廠商如果接到這類產品送修,通常會向使用者收取維修費用。畢竟,更新非原廠韌體的行為,並不在保固合約的涵蓋範圍之內。文⊙楊啟倫



如何在除錯模式下更新韌體?

以我們這次使用的無線路由器為例,按住Reset鍵不放,同時重新接上電源,就可以進入除錯模式。(左圖)

在文字模式下輸入指令上傳韌體,將韌體傳送到設備進行更新,重新開機之後就可以讓設備恢復正常使用。(下圖)



Flash、NVRAM

Flash與NVRAM是網路設備常見的儲存媒介,其中前者是唯讀性質,後者是可讀寫的,雖然兩者以不同名詞各自表述,不過在硬體設計上,卻是緊密結合而不可分離的。

Flash
Flash通常被稱之為「快閃記憶體」,主要是拿來存放韌體。一般來說,Flash可供儲存的空間不會很大。以消費端的網路設備來說,大多是4到16MB不等,企業端產品由於功能較多,因此內建的Flash儲存空間通常會比前者要大上一些,從32MB、64MB,乃至於128MB以上的都有。

為了維護方便,以及避免日後的功能增加導致Flash空間的不敷使用,所以當廠商製作韌體的時侯,都會打包成一個壓縮檔,像是我們經常看到的.BIN、.TRX。

NVRAM
NVRAM的中文名稱是「不可揮發性記憶體」,我們對於設備所做的任何設定都是以檔案的型態存放在這裡,將NVRAM底下的設定檔清除,則設備就會以出廠預設值啟動。由於NVRAM只需要幾十KB的空間儲存資料,單獨使用一顆Flash做為NVRAM並不划算,因此多數廠商的做法就只是在Flash裡頭切出一塊可以重複讀寫的分割區以便存放設備所產生的設定檔。文⊙楊啟倫

熱門新聞

Advertisement