TW201301133A - 可修復韌體的用戶端設備及其韌體修復方法 - Google Patents
可修復韌體的用戶端設備及其韌體修復方法 Download PDFInfo
- Publication number
- TW201301133A TW201301133A TW100122827A TW100122827A TW201301133A TW 201301133 A TW201301133 A TW 201301133A TW 100122827 A TW100122827 A TW 100122827A TW 100122827 A TW100122827 A TW 100122827A TW 201301133 A TW201301133 A TW 201301133A
- Authority
- TW
- Taiwan
- Prior art keywords
- firmware
- program
- external device
- client device
- network
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
一種用戶端設備的韌體修復方法,所述方法包括:讀取並檢測儲存在儲存單元的第一韌體是否損壞,當檢測結果判斷第一韌體損壞時,讀取儲存在儲存單元的第二韌體,並將第二韌體載入記憶單元執行,以根據第二韌體的指令啟用網路服務,並控制用戶端設備與外部裝置透過網路傳輸資料與指令。用戶端裝置還接受外部裝置的控制而執行修復程式,並且根據修復程式接收外部裝置所儲存的更新韌體以取代損壞的第一韌體為新的第一韌體。
Description
本發明有關於一種用戶端設備(Customer Premises Equipment,CPE)及其修復方法,且特別是有關於可修復韌體的用戶端設備及其修復韌體的方法。
許多使用者需要仰賴設置在使用者端的用戶端設備以連接網路服務,然而多數用戶端設備都架設於較不易接近的高處。特別是戶外型的用戶端設備(outdoor CPE),時常設置在供電較不穩定的地區,因而易於發生更新韌體時由於斷電造成更新不完全,韌體損壞而無法啟動用戶端設備的狀況。當用戶端設備無法正常開機運行時,維護的人員須以序列通訊介面連接線路(如RS232連接線)連接到發生異常的用戶端設備進行維護。然而序列通訊介面線路可傳輸電氣訊號的距離十分受限(約5公尺),維護人員必須十分接近欲修復的用戶端裝置方能進行修復作業,可能容易產生人力和時間的浪費。
本發明實施例提供一種用戶端設備的韌體修復方法,所述的用戶端設備包括儲存單元、處理單元及網路介面單元,所述方法包括:讀取並檢測儲存在儲存單元的第一韌體是否損壞。當檢測結果判斷第一韌體損壞時,讀取儲存在儲存單元的第二韌體,並將第二韌體載入記憶單元執行,以根據第二韌體的指令啟用第二韌體所包括的網路服務,以及控制用戶端設備與外部裝置透過網路傳輸資料與指令。用戶端裝置還接受外部裝置的控制而執行修復程式,並且根據修復程式接收外部裝置所儲存的更新韌體以取代損壞的第一韌體為新的第一韌體。
此外,本發明實施例還提供一種可修復韌體的用戶端設備,所述的用戶端設備包括儲存單元、處理單元及網路介面單元。其中,儲存單元儲存第一韌體和第二韌體。網路介面單元用以連接外部裝置。處理單元用以在用戶端設備啟動時,檢測第一韌體是否損壞,以及根據檢測結果,在第一韌體損壞時選擇第二韌體並載入到記憶單元加以執行。其中,當第二韌體被執行時,處理單元根據第二韌體的指令,啟用第二韌體所包括的網路服務,控制外部裝置與用戶端設備透過網路介面單元傳送資料與指令,以接收外部裝置所儲存的更新韌體而修復損壞的第一韌體。
綜上所述,本發明實施例所提供的用戶端設備及其韌體修復方法,可自動檢測第一韌體是否正常可運作或已經損壞,並且可在判斷出第一韌體損壞時,自動切換到第二韌體執行,並在執行第二韌體的程序中一併完成對第一韌體的修復作業,使得用戶端設備可再度正常開機運作。
[用戶端設備的韌體修復方法實施例]
請參照圖1,圖1繪製了本發明所提供的一種用戶端設備的韌體修復方法實施例之流程圖。本實施例的用戶端設備(Customer Premises Equipment,CPE)可為用戶為了連接網路服務而架設在戶外的硬體裝置,例如WiMAX基地台等戶外型用戶端設備(outdoor CPE)。
由於用戶端設備1經常設置在高處,例如戶外型的用戶端設備常裝設在戶外的燈柱頂,且有部分安裝所述設備的地區供電不穩,易於造成用戶端設備1的韌體升級或更新過程中,因斷電而造成韌體損壞(damaged),以致用戶端設備1無法正常開機運作。故本實施例所述的修復方法可用於檢測用戶端設備1中的韌體是否損壞,例如資料不完整,並且在發現所檢測的韌體已損壞時,控制用戶端設備1切換到另一個韌體執行,以確保用戶端設備1可繼續順利運行,同時可進行修復損壞的韌體的作業。
請參照圖1,在本實施例中,當用戶端裝置1啟動時(S101),用戶端設備的處理單元會根據開機引導程式的引導,前往用戶端設備的儲存單元中讀取第一韌體的映像檔,並以檢測程式檢測第一韌體是否正常或已損壞(S103),例如檢測第一韌體檔案資料的完整性(integrity)是否被破壞。
檢測的方式可透過開啟所要檢測的第一韌體,並讀取儲存在第一韌體檔案結尾之資料結構中的預設的驗證值,以及利用與產生驗證值相同的特定演算法,計算當時第一韌體映像檔之資料以產生對應於目前的第一韌體的比對值,並比對驗證值及比對值,判斷兩者是否相符,即可得知第一韌體是否損壞(S105)。驗證值是預先利用特定演算法計算出來的第一韌體之字串或數值,例如以資訊摘要演算法5(Message-Digest 5,MD5)計算出來的固定長度雜湊值,通常記錄在第一韌體的資料最末的資料結構中。當然,可用以產生驗證值的演算法不限於上述的資訊摘要演算法5,亦可為其他類型的演算法(如SHA-1或SHA-256等),以產生對應於正常的第一韌體的驗證值。
當驗證值與比對值相符時,代表第一韌體的資料完整性正確無誤,此時可判斷出第一韌體並未發生異常或損壞,接著可由處理單元繼續將第一韌體的映像檔解壓縮並載入記憶單元(如主記憶體)執行(S107),以便根據第一韌體進行初始化及載入作業系統的程序(S109)。
反之,若經步驟S105的比對後,判斷比對值與驗證值並不相符,則代表第一韌體之映像檔未通過完整性檢測,第一韌體的檔案內容可能有損壞,例如在升級或更新過程中因斷電而造成檔案完整性被破壞。處理單元則進一步根據此項檢測及判斷的結果,執行切換程式以指示出第一韌體處於損壞的狀態,例如於記憶單元的特定位址設置(assert)切換旗標(S111)。
接著,處理單元可依照切換旗標的設置,改為讀取儲存儲存單元中的第二韌體到記憶單元執行(S113)。在本實施例中,處理單元將第二韌體被載入記憶單元之前,可根據切換程式的指令,先將第一韌體的映像檔的名稱變更為其他名稱,並將第二韌體的映像檔的名稱變更為第一韌體的映像檔原始的名稱,以便於處理單元根據名稱選取映像檔載入記憶單元時,選取到命名與第一韌體原始名稱相同的第二韌體,藉以達到切換韌體的效果。
特別說明的是,上述手段皆為本實施例之一種例示,用以指示第一韌體損壞的方式以及辨識第二韌體的方式,並不限於本實施例所揭露的手段。例如還可於判斷出第一韌體損壞時,直接讀取第二韌體所在的儲存位址,並前往所述儲存位址直接將第二韌體載入記憶單元等其他手段。
接下來,當第二韌體被載入到記憶單元執行時,用戶端設備可根據第二韌體中的資料,執行位址配置程式、遠端控制程式及檔案傳輸程式等程式以啟用多項網路服務,包括執行動態主機組態協定而使用戶端設備作為動態主機組態協定伺服器(DHCP server),提供網路位址的配置(assign)服務、執行遠端登錄服務協定(Telnet protocol)而使用戶端設備同時可作為遠端登錄服務協定伺服器(Telnet server),提供遠端登錄(login)服務,使得外部裝置可從遠端登錄到用戶端設備,以及執行檔案傳輸協定(File Transfer Protocol,FTP)而作為檔案傳輸協定客戶端(FTP client),以便下載檔案傳輸協定伺服端的檔案。
上述的服務啟用後,用戶端設備可接收來自外部裝置的網路連接請求(S115)。外部裝置可透過網路纜線連接於用戶端設備的網路介面單元而與用戶端設備實體連接。外部裝置與用戶端設備實體連接後,兩者位於同一網段中,因而外部裝置可搜尋所在網段中的動態主機組態協定伺服器,並獲得用戶端設備(即動態主機組態協定伺服器)所配置的網路位址(S117),而完成用戶端設備與外部裝置之間的網路連接。
完成網路連接後,用戶端設備可進一步根據啟用的遠端登錄服務,接受外部裝置根據遠端登錄服務協定伺服器之網路位址,以登錄到作為遠端登錄服務協定伺服器的用戶端設備,並由處理單元接收外部裝置發出的修復指令,以執行修復第一韌體的修復程式(S119)。
所述的修復程式可為預設的指令腳本,處理單元依照指令腳本的指示,藉由啟用的檔案傳輸協定服務,登錄到提供檔案傳輸服務並存有更新韌體映像檔的外部裝置(S121)。用戶端設備登錄到外部裝置後,可繼續依據修復程式的指令,複製更新韌體的映像檔並傳輸回用戶端設備,以及變更更新韌體的名稱為損壞的第一韌體的原始名稱(S123)。用戶端設備所複製及更名的更新韌體可被儲存在原本存放第一韌體的儲存區段中取代已損壞的原第一韌體,而成為新的第一韌體(S125)。修復程式最後還可指示將切換旗標取消(S127)並重新啟動用戶端設備(S129),以便用戶端設備再次啟動後,不會讀取到被設置的切換指標而載入第二韌體,而是載入新的第一韌體。
在上述說明當中,用戶端設備是接收外部裝置所儲存的更新韌體作為新的第一韌體,在用戶端設備與外部裝置透過纜線(網路線)完成實體連接後,用戶端設備和外部裝置即可透過各項網路服務傳遞資料和指令。本實施例中,用戶端設備與外部裝置之間的資料與指令溝通程序請參閱圖2。
將外部裝置與用戶端設備實體連接完成後,外部裝置會對同網段的其他網路設備廣播請求網路連接,以搜尋可指派網路位址的網路服務設備(S115-1),若此時用戶端設備的動態主機組態協定服務已啟用,則會回應發出搜尋的外部裝置,並指派適當的網路位址給外部裝置(S117-1),以待外部裝置確認接收動態主機組態協定伺服器的配置。上述程序可對應到圖1的步驟S115到S117。
外部裝置取得網路位址而完成與用戶端設備的網路連接後,可根據用戶端設備的網路位址登錄到用戶端設備(S119-1),例如以遠端登錄服務協定的指令登錄到用戶端設備,藉以從用戶端設備的外部向用戶端設備發出特定的指令(S119-2),控制用戶端設備執行修復的程序。上述程序可對應到圖1的步驟S119。
用戶端設備再根據修復程式的指示,依據動態主機組態協定服務指派給外部裝置的網路位址,執行接取外部裝置之資料的作業(S121-1),在本例中可根據預設或被輸入的帳號及密碼登錄到啟用檔案傳輸服務的外部裝置,以向外部裝置請求檔案,最後再從外部裝置接收用以取代損壞之韌體的更新韌體,並傳輸回用戶端設備(S123-1),至此而完成用戶端設備與外部裝置之間為修復韌體之目的的溝通。上述程序則可對應到圖1的步驟S121到S123。
特別說明的是,上述多個韌體儲存的位置、用以指示出第一韌體損壞的方式,以及切換所讀取的韌體的手段,皆僅為例示性之作法,本領域中熟悉該技術的人士自可知悉並不限於上述的例示性手段。
[可修復韌體的用戶端設備實施例]
請參照圖3,圖3是本發明提供的一種用戶端設備實施例之方塊圖,所述的用戶端設備可用來執行上述實施例中所述的修復方法。本實施例的用戶端設備3(Customer Premises Equipment,CPE)包括儲存單元30、記憶單元32、處理單元34及網路介面單元36。儲存單元30可包括多個儲存區段,例如第一區段300、第二區段302及開機引導區段304。其中,儲存單元30、記憶單元32及網路介面單元36都連接於處理單元34,以接受處理單元34的控制而存取資料。網路介面單元36更可透過網路線與外部裝置2進行網路連接。
本實施例的儲存單元30可為非揮發性記憶體,例如快閃記憶體(Flash Memory)或電子式可編程唯讀記憶體(EPROM)等記憶體裝置,用以儲存用戶端設備3運作所需要的資料。儲存單元30的第一區段300、第二區段302及開機引導區段304可為相鄰或不相鄰的位址區段,其中,第一區段300可用以儲存用戶端設備3的第一韌體,第二區段302可用以儲存第二韌體,而開機引導區段304則可儲存用戶端設備3的開機引導程式。前述各儲存區段的設置僅為例示而不限於所述方式,實作上,儲存單元30實體上可包括多個非揮發性記憶體晶片,第一韌體、第二韌體及開機引導程式也可分別儲存在不同的記憶體晶片當中。上述各個韌體或程序在儲存單元30中可以以映像檔(image )的方式記錄,每一映像檔各有相對應的檔案名稱加以區別。儲存單元30記錄的資料可包括有用以檢測第一韌體是否損壞的檢測程式,以及在判斷第一韌體損壞時切換到第二韌體的切換程式,所述的程式可包含於開機引導程式。
本實施例的記憶單元32則可為揮發性記憶體,例如隨機存取記憶體(RAM),用以供載入(load)儲存單元30所儲存的第一韌體、第二韌體或開機引導程式。韌體或引導程式被載入記憶單元32時將被解壓縮為可執行的程式,以供處理單元34執行處理。
處理單元34在用戶端設備3被啟動時,會先將開機引導區段304中的開機引導程式載入記憶單元32,以進一步根據開機引導程式的指令,檢測預設的第一韌體的完整性,並在判斷出第一韌體有錯誤或失效時切換到備用的第二韌體,進而選擇所述第一韌體及第二韌體的其中之一載入到記憶單元32。當第一韌體或第二韌體被載入記憶單元32後,處理單元34會根據記憶單元32中解壓縮後的韌體程式執行後續的啟動作業,直到作業系統被啟動後,才將控制權由開機引導程式轉移到作業系統。所述的處理單元34可為中央處理器、微控制器或嵌入式控制器等控制裝置。
網路介面單元36可為乙太網路連接埠(Ethernet Port),用以供外部裝置2與用戶端設備3透過網路進行連接,而使得外部裝置2可對用戶端設備3進行遠端控制,也使得用戶端設備3可存取外部裝置2所具有的資訊。
外部裝置2儲存有更新韌體。所述的外部裝置2可為筆記型電腦或其他可攜式的運算裝置,用以在用戶端設備3的韌體有異常或損壞時,透過網路介面單元36與用戶端設備3網路連接,並提供檔案分享服務,例如執行檔案傳輸協定做為檔案傳輸協定伺服端,以協助修復用戶端設備3的韌體。
另請參照圖4,圖4繪示了本發明提供的用戶端設備實施例的功能方塊圖。在圖4中,用戶端設備3包括有第一韌體306的映像檔,而第一韌體306的內容包括有作業系統、驗證碼、韌體版本號及驗證值等資料。第二韌體308的內容除了包括作業系統之外,還包括有位址配置程式3080、遠端控制程式3082、檔案傳輸程式3084及修復程式3086之映像檔。而開機引導程式310包括有用以檢測第一韌體306完整性的檢測程式3100,以及用以切換到第二韌體308的切換程式3102。上述各項程式可儲存於圖3所示的儲存單元30,並且分別在適當的條件下被載入並解壓縮到如圖3所示的記憶單元32,並可由圖3所示的處理單元34執行被載入的程式,以達成如圖1及2所示的修復方法。
在本實施例中,第一韌體306可被設置為預設或主要的韌體,因此,當用戶端設備3啟動後,處理單元304首先開始執行開機引導程式310時,可根據開機引導程式310的指令先前往第一韌體306的起始位址或是根據第一韌體306的名稱準備讀取第一韌體306,接著並執行檢測程式3100以檢測第一韌體306是否損壞。
當檢測程式3100根據檢測結果判斷出第一韌體306損壞時,可指示出所述第一韌體306處於損壞的狀態,例如於記憶單元32的特定位址設置(assert)一個切換旗標。接著,切換程式3102可於所述的特定位址讀取被設置的切換旗標,並根據切換旗標的設置而將要被載入記憶單元32的韌體切換為第二韌體308。具體來說,在本實施例中切換程式3102切換到第二韌體308的手段,可採用在切換程式3102讀取到切換旗標時,先將第一韌體306的名稱變更為其他名稱,再將第二韌體308的名稱變更為第一韌體306原本的名稱的方式,以便切換程式3102可直接讀取與原第一韌體306名稱相同的第二韌體308,並於第二韌體308的起始位址開始讀取第二韌體308的映像檔,取代已損壞的第一韌體306被載入執行。
特別說明的是,設置切換旗標以指示出第一韌體306損壞的手段僅為一具體例示,實作上並不限於所述方式。在其他的實施方式中,亦可透過如檢測程式3100比對比對值與驗證值而產生真、偽值(true/false),而由切換程式3102直接根據真、偽值決定是否切換到第二韌體308等手段。此外,切換韌體的方式,亦不限於變更第二韌體308的名稱再根據名稱來讀取韌體的作法。在其他實施例中,也可採用預先記錄第二韌體308的起始位址,並前往所述位址讀取第二韌體308之映像檔的方式或其他類似手段達成。
再參照圖4,當第二韌體308被解壓縮並載入執行時,位址配置程式3080、遠端控制程式3082、檔案傳輸程式3084及修復程式3086等映像檔亦同時被解壓縮為可供執行的程式碼,用以進行第一韌體302的修復作業。
以下說明中,同時出現有「用戶端設備(customer)」及「客戶端(client)」之用詞。其中,「用戶端設備」在本實施例中指相對於網路或電信服務提供者而言,設置在訂購所述網路或電信服務之使用者處(subscriber’s premises)的終端裝置(terminal)。而本實施例所述的「客戶端」則是代表電腦架構的「客戶伺服模型(client server model)」中,用以向伺服器請求資源或服務的請求端(requestor)。
請繼續參照圖4,位址配置程式3080可為動態主機組態協定伺服器端程式,處理單元34執行所述模組的程式碼,可使用戶端設備3根據動態主機組態協定作為動態主機組態協定伺服器,並具有自動為同網段內之客戶端裝置(client device)配置網路位址之能力。換言之,處理單元34可執行位址配置程式3080,以指派一個網路位址給透過網路介面單元36及網路纜線而欲與用戶端設備3連接的外部裝置2(如圖3所示)。
遠端控制程式3082可為遠端登錄服務協定伺服器端(Telnet server)程式,用以使用戶端設備3成為可供外部裝置2透過網路登錄的遠端伺服器,而讓外部裝置2從外部控制用戶端設備3執行特定作業。
檔案傳輸程式3084則可為檔案傳輸協定客戶端(FTP client)程式,處理單元34同樣可執行所述程式碼而連接到外部裝置2,以存取外部裝置2所儲存的資料。值得一提的是,外部裝置2可包括對應於檔案傳輸程式3084的檔案傳輸協定伺服器端(FTP server)程式。外部裝置2可執行所述的檔案傳輸協定伺服器端程式碼,以供外部裝置2作為檔案傳輸協定伺服器。藉此,用戶端設備3的處理單元34可執行檔案傳輸模組3084,使得用戶端設備3依照位址配置模組3080配置給外部裝置2的網路位址,登錄到檔案傳輸協定伺服器(即外部裝置2),而從外部裝置2取回所需的檔案。
修復程式3086可為用以修復第一韌體306的指令腳本(script),讓用戶端設備3可根據上述各程式被執行後所提供的網路服務以及指令腳本的指令,循序連接及存取外部裝置2所儲存的資料,以修復損壞的第一韌體306。
請再度參照圖3及圖4,當名稱變更後的第二韌體308被載入記憶單元32執行後,透過網路介面單元36與用戶端設備3實體連接的外部裝置2可先搜索動態主機組態協定伺服器,並因此找到用戶端設備3。作為動態主機組態協定伺服器的用戶端設備3可指派網路位址給外部裝置2。藉此,外部裝置2與用戶端設備3的網路連接作業完成,外部裝置2可進一步執行遠端登錄的程序,以根據遠端登錄服務協定登錄並控制用戶端設備3執行修復第一韌體306的修復程式3086。例如由客戶端的外部裝置2根據用戶端設備3的網路位址登錄到遠端登錄服務協定伺服器。接著再由客戶端的外部裝置2發出修復指令,控制伺服器端的用戶端設備3執行一個已編輯好並儲存在第二韌體308中的指令腳本(script)。
所述的指令腳本中可包括驅動用戶端設備3執行檔案傳輸協定客戶端程式,登錄到檔案傳輸協定伺服器(即外部裝置2),以及下載儲存在檔案傳輸協定伺服器中的更新韌體,所述的更新韌體可為一個適用於用戶端設備3且完整而無損壞的韌體映像檔。其中,下載更新韌體時,除了複製所述的更新韌體到用戶端設備3之外,並可將所複製的更新韌體的名稱變更為第一韌體306的原有名稱,再將變更為與第一韌體306原有名稱相同的更新韌體儲存在儲存單元30的第一區段300,以便由完整未損壞的更新韌體取代第一區段300中損壞的韌體,成為新的第一韌體306。腳本中可更進一步包括在儲存更新韌體到第一區段300之後,將切換旗標取消設置(de-assert)而完成修復程序的指令。
藉此,當用戶端設備3重新啟動後,處理單元34可根據開機引導程式310的引導,在第一區段300讀取到新的第一韌體306,並且由檢測程式3100比對新的第一韌體306的驗證值與比對值,判斷出兩者相符後,直接載入正常可用的第一韌體306到記憶單元32執行,進而使得用戶端設備3可順利完成啟動程序,進入作業系統運行。
[實施例的可能功效]
根據本發明實施例,上述的用戶端設備及其修復韌體的方法,可自動檢測用戶端設備的主要韌體(如實施例所述的第一韌體)的完整性,並在主要韌體損壞時,自動切換至備用的韌體(如實施例所述的第二韌體)執行開機程序,以進行韌體修復的作業。
此外,本案各實施例讓用戶端設備與外部裝置透過網路連接的手段溝通,使得用戶端設備不受限於實體線路的距離而影響資料和指令的傳遞。對於經常設置在戶外高處的戶外型用戶端設備而言,可以提高接取到用戶端設備的便利性。況且,多數的用戶端設備都與網路服務相關,因而用戶端設備本身原本就可能設置網路介面單元用以連接網路線。藉此,採用本發明各實施例所述手段來修復韌體的用戶端設備,不需額外再設置新的連接介面而仍可達到與外部裝置溝通及獲取資料的效果。
更進一步而言,透過網路連接的手段,加上用戶端設備提供的位址配置服務,當外部裝置連接到用戶端設備後,不需要手動設定連線參數或選項,就可使外部裝置自動取得與用戶端設備連線所需的網路位址,減少修復程式的複雜度。
以上所述僅為本發明之實施例,其並非用以侷限本發明之專利範圍。
S101-S129...流程步驟
S115-1、S117-1、S119-1、S119-2、S121-1、S123-1...流程步驟
3...用戶端設備
30...儲存單元
300...第一區段
302...第二區段
304...開機引導區段
306...第一韌體
308...第二韌體
3080...位址配置程式
3082...遠端控制程式
3084...檔案傳輸程式
3086...修復程式
310...開機引導程式
3100...檢測程式
3102...切換程式
32...記憶單元
34...處理單元
36...網路介面單元
2...外部裝置
圖1:本發明提供的一種用戶端設備修復韌體方法之實施例的流程圖;
圖2:本發明提供的用戶端設備與外部裝置之間資料與指令溝通之實施例的流程圖;
圖3:本發明提供的一種可修復韌體的用戶端設備之實施例的方塊圖;及
圖4:本發明提供的可修復韌體的用戶端設備之實施例的儲存單元資料結構示意圖。
S101-S129...流程步驟
Claims (10)
- 一種用戶端設備的韌體修復方法,所述的用戶端設備包括一儲存單元、一處理單元及一網路介面單元,該方法包括:讀取並檢測儲存在該儲存單元的一第一韌體是否損壞;當檢測結果判斷該第一韌體損壞時,讀取儲存在該儲存單元的一第二韌體,並將該第二韌體載入一記憶單元以執行該第二韌體;根據該第二韌體的指令啟用網路服務,以及控制該用戶端設備與一外部裝置透過網路傳輸資料與指令;接受該外部裝置的控制而執行一修復程式;及根據該修復程式接收該外部裝置所儲存的一更新韌體以取代損壞的該第一韌體為新的第一韌體。
- 如申請專利範圍第1項所述的韌體修復方法,其中,檢測該第一韌體是否損壞的步驟中包括:讀取該第一韌體預存的一驗證值;及計算該第一韌體的資料的一比對值並與該驗證值進行比對,當該比對值與該驗證值不符時,判斷該第一韌體損壞。
- 如申請專利範圍第1項所述的韌體修復方法,其中,載入該第二韌體到該記憶單元的步驟之前包括:設置一切換旗標以指示該第一韌體的損壞。
- 如申請專利範圍第3項所述的韌體修復方法,其中,讀取及載入該第二韌體到該記憶單元的步驟中包括:根據該切換旗標的設置而讀取該第二韌體;變更該第二韌體的名稱為該第一韌體的名稱;及載入名稱變更後的該第二韌體到該記憶單元以供執行該第二韌體的指令。
- 如申請專利範圍第1項所述的韌體修復方法,其中,根據該第二韌體的指令而與該外部裝置連接的步驟中包括:接受該外部裝置與該用戶端設備的一網路連接請求;及根據該網路連接請求配置一網路位址給該外部裝置,以供該外部裝置依據該網路位址與該用戶端設備進行網路連接。
- 如申請專利範圍第5項所述的韌體修復方法,其中,接受該外部裝置的控制而執行該修復程式的步驟中包括:接受該外部裝置經由網路登錄到該用戶端設備;及接受該外部裝置發出的一修復指令而啟動該修復程式。
- 如申請專利範圍第6項所述的韌體修復方法,其中,根據該修復程式接收該更新韌體的步驟中包括:接取該外部裝置的該更新韌體;複製該更新韌體並變更該更新韌體的名稱為該第一韌體的名稱;儲存所複製且更名的該更新韌體到該儲存單元;及重新啟動該用戶端設備。
- 如申請專利範圍第1項所述的韌體修復方法,其中,根據該第二韌體的指令啟用網路服務的步驟中包括:執行一位址配置程式以啟用網路位址的配置服務;執行一遠端控制程式以啟用遠端登錄服務;及執行一檔案傳輸程式以啟用檔案傳輸服務。
- 如申請專利範圍第8項所述的韌體修復方法,其中,該位址配置程式是動態主機組態協定程式,該遠端控制程式是遠端登錄服務協定程式,該檔案傳輸程式是檔案傳輸協定程式。
- 一種可修復韌體的用戶端設備,包括:一儲存單元,儲存一第一韌體及一第二韌體;一網路介面單元,用以連接一外部裝置;一處理單元,用以在該用戶端設備啟動時,執行如申請專利範圍第1項所述的韌體修復方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100122827A TW201301133A (zh) | 2011-06-29 | 2011-06-29 | 可修復韌體的用戶端設備及其韌體修復方法 |
US13/361,695 US20130007724A1 (en) | 2011-06-29 | 2012-01-30 | Firmware repairable customer premises equipment and firmware repairing method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100122827A TW201301133A (zh) | 2011-06-29 | 2011-06-29 | 可修復韌體的用戶端設備及其韌體修復方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201301133A true TW201301133A (zh) | 2013-01-01 |
Family
ID=47392068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100122827A TW201301133A (zh) | 2011-06-29 | 2011-06-29 | 可修復韌體的用戶端設備及其韌體修復方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130007724A1 (zh) |
TW (1) | TW201301133A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI693518B (zh) * | 2019-01-16 | 2020-05-11 | 慧榮科技股份有限公司 | 資料儲存裝置及避免韌體失效之方法 |
TWI743709B (zh) * | 2020-03-09 | 2021-10-21 | 瑞昱半導體股份有限公司 | 可後台升級韌體的系統及後台升級韌體方法 |
TWI789627B (zh) * | 2020-09-09 | 2023-01-11 | 神雲科技股份有限公司 | 儲存設備及其控制系統 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9258380B2 (en) * | 2012-03-02 | 2016-02-09 | Realtek Semiconductor Corp. | Cross-platform multimedia interaction system with multiple displays and dynamically-configured hierarchical servers and related method, electronic device and computer program product |
DE102015224829A1 (de) * | 2015-12-10 | 2017-06-14 | Robert Bosch Gmbh | Verfahren zum Flashen von Firmware auf eine Vorrichtung |
US10268818B2 (en) * | 2016-09-07 | 2019-04-23 | Vivint, Inc. | Automated script |
US10353779B2 (en) * | 2017-05-05 | 2019-07-16 | Dell Products L.P. | Systems and methods for detection of firmware image corruption and initiation of recovery |
CN107315616B (zh) * | 2017-06-30 | 2020-08-21 | 苏州浪潮智能科技有限公司 | 一种固件的加载方法、装置及电子设备 |
CN108182077B (zh) * | 2018-01-29 | 2022-03-01 | 广东美的制冷设备有限公司 | 设备、设备的固件升级方法、装置和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7043664B1 (en) * | 2002-10-31 | 2006-05-09 | Microsoft Corporation | Firmware recovery |
JP2004272770A (ja) * | 2003-03-11 | 2004-09-30 | Sony Corp | ネットワーク機器の中継装置の管理システム,ネットワーク機器の中継装置,認証サーバ,更新サーバ,およびネットワーク機器の中継装置の管理方法 |
US20080235501A1 (en) * | 2007-03-19 | 2008-09-25 | James Ray Bailey | Method For Detecting and Correcting Firmware Corruption |
JP5342302B2 (ja) * | 2009-03-30 | 2013-11-13 | 株式会社日立ソリューションズ | ファームウェア更新システム、ファームウェア配信サーバ、及びプログラム |
-
2011
- 2011-06-29 TW TW100122827A patent/TW201301133A/zh unknown
-
2012
- 2012-01-30 US US13/361,695 patent/US20130007724A1/en not_active Abandoned
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI693518B (zh) * | 2019-01-16 | 2020-05-11 | 慧榮科技股份有限公司 | 資料儲存裝置及避免韌體失效之方法 |
CN111444030A (zh) * | 2019-01-16 | 2020-07-24 | 慧荣科技股份有限公司 | 数据储存装置及避免固件失效的方法 |
US11354192B2 (en) | 2019-01-16 | 2022-06-07 | Silicon Motion, Inc. | Data storage devices and methods for firmware failure prevention |
CN111444030B (zh) * | 2019-01-16 | 2023-05-23 | 慧荣科技股份有限公司 | 数据储存装置及避免固件失效的方法 |
TWI743709B (zh) * | 2020-03-09 | 2021-10-21 | 瑞昱半導體股份有限公司 | 可後台升級韌體的系統及後台升級韌體方法 |
US11474805B2 (en) | 2020-03-09 | 2022-10-18 | Realtek Semiconductor Corp. | System capable of upgrading firmware in background and method for upgrading firmware in background |
TWI789627B (zh) * | 2020-09-09 | 2023-01-11 | 神雲科技股份有限公司 | 儲存設備及其控制系統 |
Also Published As
Publication number | Publication date |
---|---|
US20130007724A1 (en) | 2013-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201301133A (zh) | 可修復韌體的用戶端設備及其韌體修復方法 | |
CN108595221B (zh) | PaaS平台的插件加载方法、装置、服务器及存储介质 | |
US7991988B2 (en) | Communication device and firmware update method thereof | |
US9471300B2 (en) | Wireless firmware upgrades to an alarm security panel | |
CN102857358A (zh) | 可修复固件的客户端设备及其固件修复方法 | |
CN110943860B (zh) | 一种bmc固件更新方法、系统、电子设备及存储介质 | |
CN106020875B (zh) | 嵌入式终端的固件更新管理方法和装置 | |
TWI490702B (zh) | 系統檔的修復方法及其裝置 | |
JP2009514042A (ja) | ネットワーク装置およびこの種の装置のスタートアップを監視するための方法 | |
CN102447732A (zh) | 一种在bmc开发中智能配置宿主机嵌入式环境的方法 | |
CN103970564A (zh) | 嵌入式操作系统自动修复升级功能的方法及其系统 | |
WO2011088701A1 (zh) | 一种跨平台版本在线升级的方法及装置 | |
CN113504932A (zh) | 一种固件数据更新方法和装置 | |
CN102882907A (zh) | 客户端配置系统及方法 | |
CN109375953B (zh) | 一种操作系统启动方法及装置 | |
WO2015154578A1 (zh) | 单板的boot程序远程升级方法、装置及系统 | |
WO2024165018A1 (zh) | 应用更新方法及装置、电子设备、计算机可读存储介质 | |
WO2014187401A1 (zh) | 一种远程基站版本安装方法及装置 | |
CN106933637A (zh) | 一种系统分区的修复方法及装置 | |
CN116450219A (zh) | 一种pmon固件的系统拷贝方法、装置、电子设备和存储介质 | |
Cisco | Miscellaneous System Tasks | |
Cisco | Miscellaneous System Tasks | |
Cisco | Miscellaneous System Tasks | |
Cisco | Miscellaneous System Tasks | |
Cisco | Miscellaneous System Tasks |