TWI647617B - 電子裝置與其韌體更新方法 - Google Patents
電子裝置與其韌體更新方法 Download PDFInfo
- Publication number
- TWI647617B TWI647617B TW107102263A TW107102263A TWI647617B TW I647617 B TWI647617 B TW I647617B TW 107102263 A TW107102263 A TW 107102263A TW 107102263 A TW107102263 A TW 107102263A TW I647617 B TWI647617 B TW I647617B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet
- firmware
- microcontroller
- network interface
- interface module
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3209—Monitoring remote activity, e.g. over telephone lines or network connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/12—Arrangements for remote connection or disconnection of substations or of equipment thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
一種電子裝置與其韌體更新方法。電子裝置包括韌體儲
存裝置、微控制器,以及網路介面模組。韌體儲存裝置儲存有韌體,而微控制器耦接韌體儲存裝置。網路介面模組耦接微控制器,經由網路從遠端伺服器接收封包,並藉由判斷該封包是否為一網路喚醒封包以及是否包括一韌體更新指令以判斷封包是否符合特定格式。若封包符合特定格式,微控制器透過網路介面模組獲取遠端伺服器所提供的韌體更新資料,並利用韌體更新資料刷新韌體儲存裝置所紀錄的韌體。
Description
本發明是有關於一種電子裝置,且特別是有關於一種電子裝置與其韌體更新方法。
電腦系統都具有用以控制各式硬體元件的韌體(firmware),所謂的韌體可泛指嵌入在裝置之硬體元件中的軟體。這些韌體扮演作業系統與硬體元件之間的溝通橋樑,因此韌體對於電腦系統而言扮演著相當重要的角色。眾所皆知地,倘若電腦系統當中的韌體發生毀損,將導致電腦系統無法正常開機或部分功能無法正常使用。此時,韌體的更新與修復勢必須要被執行,否則電腦系統將無法繼續正常運作。另一方面,透過韌體的版本更新,將可以對電腦系統的運作效率、穩定性等狀態進行調整。換言之,應用適當的韌體版本可確保硬體裝置發揮最佳的運作效能,亦即韌體更新與修復對於硬體裝置的運作而言是非常重要的。
一般而言,在作業系統正常運作的情況下,韌體的更新
可透過特定軟體元件來執行。然而,當電腦系統無法正常開機或作業系統沒有正常運作時,韌體的更新就無法透過特定軟體元件來完成。例如,當基本輸入輸出系統(Basic Input/Output System,BIOS)毀損或與現有硬體不相容而無法正常開機時,BIOS的更新與修復就無法在作業系統正常運作的條件下透過特定軟體元件來進行。此時,使用者就只能將機台送回至維修單位,而維修人員需要拆解機台並利用特殊的燒錄設備重新燒錄韌體。可知的,上述韌體維修過程耗時、耗人力且流程繁複,對於使用者與維修單位而言,都造成相當大的不便並且需要付出必要的修繕成本。
有鑑於此,本發明實施例提出一種電子裝置與其韌體更新方法,其可提供一種便利、省時且節省成本的韌體更新方式。
本發明實施例提供一種電子裝置,包括韌體儲存裝置、微控制器,以及網路介面模組。韌體儲存裝置儲存有韌體,而微控制器耦接韌體儲存裝置。網路介面模組耦接微控制器,經由網路從遠端伺服器接收封包,並藉由判斷該封包是否為網路喚醒封包以及是否包括韌體更新指令以判斷封包是否符合特定格式。若封包符合特定格式,微控制器透過網路介面模組獲取遠端伺服器所提供的韌體更新資料,並利用韌體更新資料刷新韌體儲存裝置所紀錄的韌體。
在本發明的一實施例中,於上述電子裝置操作於省電狀
態的期間,經由網路介面模組接收封包。
在本發明的一實施例中,若上述封包為網路喚醒封包且不包括韌體更新指令,上述微控制器控制電子裝置自操作於省電狀態切換至操作於工作狀態。
在本發明的一實施例中,若上述封包為網路喚醒封包且包括韌體更新指令,上述網路介面模組繼續接收遠端伺服器所提供的韌體更新資料,並且上述網路介面模組提供韌體更新資料給上述微控制器。
在本發明的一實施例中,若上述封包為網路喚醒封包且包括韌體更新指令,上述微控制器更對封包進行驗證。若封包通過驗證,上述網路介面模組繼續接收遠端伺服器所提供的韌體更新資料。
在本發明的一實施例中,上述微控制器獲取封包內的驗證資料並自韌體讀取韌體認證碼。上述微控制器判斷韌體認證碼是否匹配封包內的驗證資料,以對封包進行驗證。
在本發明的一實施例中,上述韌體包括基本輸入輸出系統,且上述微控制器包括嵌入式控制器。
從另一觀點來看,本發明實施例提供一種韌體更新方法,適用於包括韌體儲存裝置、網路介面模組與微控制器的電子裝置。此韌體更新方法包括下列步驟。經由網路介面模組從遠端伺服器接收封包。經由網路介面模組藉由判斷該封包是否為一網路喚醒封包以及是否包括一韌體更新指令以判斷封包是否符合特
定格式。若封包符合特定格式,經由微控制器透過網路介面模組獲取遠端伺服器所提供的韌體更新資料。經由微控制器利用韌體更新資料刷新韌體儲存裝置所紀錄的韌體。
基於上述,於本發明的實施例中,電子裝置的網路介面模組可在關機狀態或省電狀態經由網路接收封包,並判斷此封包的格式與內容是否符合特定格式。於此,網路介面模組可藉由判斷封包是否為網路喚醒封包且是否包括韌體更新指令,來判斷此封包是否符合特定格式。若所接收的封包符合特定格式,電子裝置的微控制器可獲取遠端伺服器(亦即封包來源端)所提供的韌體更新資料,並驅動微控制器利用韌體更新資料來刷新韌體儲存裝置中的韌體。藉此,即便電子裝置無法正常操作或無法開機,其微控制器還是可以完成更新與修復韌體的任務,從而大幅降低維修/更新韌體的成本與耗時。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
100‧‧‧電子裝置
101‧‧‧韌體儲存裝置
102‧‧‧微控制器
103‧‧‧網路介面模組
104‧‧‧晶片組
N1‧‧‧網路
101f‧‧‧韌體
I1‧‧‧傳輸介面
120‧‧‧遠端伺服器
S201~S250、S301~S308、S501~S509‧‧‧步驟
40‧‧‧封包內容
401‧‧‧韌體更新指令
402‧‧‧驗證資料
圖1是依照本發明一實施例所繪示之電子裝置的方塊圖。
圖2是依照本發明一實施例所繪示之韌體更新方法的流程圖。
圖3是依照本發明一實施例所繪示之韌體更新方法的流程
圖。
圖4是依照本發明一實施例所繪示之符合特定格式的封包的示意圖。
圖5是依照本發明一實施例所繪示之韌體更新方法的流程圖。
本發明的部份實施例接下來將會配合附圖來詳細描述,以下的描述所引用的元件符號,當不同附圖出現相同的元件符號將視為相同或相似的元件。這些實施例只是本發明的一部份,並未揭示所有本發明的可實施方式。更確切的說,這些實施例只是本發明的專利申請範圍中的電子裝置與韌體更新方法的範例。
圖1是依照本發明一實施例所繪示之電子裝置的方塊圖。請參照圖1,本實施例的電子裝置100例如是桌上型電腦、筆記型電腦、平板電腦或智慧型手機等,在此並不限制其範圍。電子裝置100可包括韌體儲存裝置101、微控制器102、網路介面模組103,以及晶片組104。此外,電子裝置100也可包括耦接至晶片組104的中央處理器(未繪示)。
韌體儲存裝置101儲存有韌體101f。進一步來說,韌體101f可被存放在韌體儲存裝置101的儲存元件之中,以便於由特定處理電路來存取/執行所述韌體101f的編程碼(programming codes)。韌體儲存裝置101可以是嵌入有韌體101f的微控制器,
或是單純用以紀錄韌體101f的儲存元件。例如,韌體儲存裝置101可為電子裝置100中的嵌入式控制器、其他種類的微控制器,或者是基本輸入輸出單元等等。
韌體儲存裝置101可包括用以儲存韌體101f的記憶體元件,上述記憶體元件例如是唯讀記憶體(Read Only Memory,ROM)、可程式唯讀記憶體(Programmable ROM,PROM)、可抹除可編程唯讀記憶體(Erasable Programmable Read Only Memory,EPROM)、電子抹除式可複寫唯讀記憶體(Electrically Erasable Programmable Read Only Memory,EEPROM)、反及閘型(NAND-type)快閃記憶體(Flash memory)或反或閘型(NOR-type)快閃記憶體等非揮發性記憶體,本發明對此並不限制。此外,韌體101f可為基本輸入輸出系統(Basic Input or Output System,BIOS)、可延伸韌體介面(Extensible Firmware Interface,EFI)BIOS、聯合可延伸韌體介面(Unified Extensible Firmware Interface,UEFI)BIOS,或其他韌體編程碼等等,本發明對此並不限制。
微控制器102可經由傳輸介面I1耦接韌體儲存裝置101,上述傳輸介面例如是序列周邊介面(Serial Peripheral Interface,SPI)匯流排或少量接腳介面(Low Pin Count,LPC)匯流排。微控制器102可以是用以對電子裝置100的電源狀態進行管理的嵌入式控制器(Embedded Controller,EC)或其他具備運算能力的控制晶片。晶片組104可以是南橋晶片或平台控制集線器
(Platform Controller Hub,PCH)等。
網路介面模組103可支援有線或無線的網路通訊協定,使電子裝置100可連接至網路N1。網路介面模組103例如可經由12C介面或其他傳輸介面耦接微控制器102。網路介面模組103可以是實體的乙太網路卡和/或無線網路卡以及其所使用的網路晶片。在本實施例中,電子裝置100可藉由網路介面模組103而經由網路N1與遠端伺服器120進行通訊。值得一題的是,當電子裝置100操作於省電狀態中,網路介面模組103可以持續正常運作而偵測並接收來自網路N1的封包。
於本發明的實施例中,當遠端伺服器120欲對電子裝置100進行遠端韌體更新時,遠端伺服器120可透過網路N1發送用以更新韌體的封包。響應於接收到符合特定格式的封包,電子裝置100的網路介面模組103將觸發微控制器102來進行韌體更新。藉此,在沒有中央處理器與作業系統參與的情況下,遠端伺服器120可控制電子裝置100進行韌體101f的更新與修復。更進一步而言,即便電子裝置100無法正常開機,由於網路介面模組103可以持續接收來自網路N1的封包並觸發微控制器102刷新韌體儲存裝置101的可存取媒體,因此韌體101f的遠端更新可在關機狀態完成。
圖2是依照本發明一實施例所繪示之韌體更新方法的流程圖。請參照圖2,本實施例的方式適用於上述實施例中的電子裝置100,以下即搭配電子裝置100中的各項元件說明本實施例更新
韌體方法的詳細步驟。
於步驟S201,網路介面模組103經由網路N1從遠端伺服器120接收封包。此封包可以是單播封包或廣播封包,本發明對此不限制。於步驟S202,網路介面模組103判斷封包是否符合特定格式。舉例而言,網路介面模組103可判斷封包內容是否包括特定格式所制定的資料來得知封包是否符合特定格式。
若封包符合特定格式(步驟S202判斷為是),於步驟S203,微控制器102透過網路介面模組103獲取遠端伺服器120所提供的韌體更新資料。之後,於步驟S204,微控制器102利用韌體更新資料刷新韌體儲存裝置101所紀錄的韌體101f。於一實施例中,微控制器102可抹除韌體儲存裝置101中部份或全部舊有韌體資料,並將韌體更新資料重新寫入至韌體儲存裝置101,以刷新韌體儲存裝置101所紀錄的韌體101f。另一方面,若封包不符合特定格式(步驟S202判斷為否),於步驟S205,網路介面模組103忽略不符合特定格式的封包,而更新韌體101f的操作也不會被觸發。如此一來,即便電子裝置100無法正常開機或作業系統(Operating System,OS)無法正常運作,由於本實施例的韌體更新過程中不涉及作業系統與中央處理器的參與,因此遠端伺服器120還是可控制電子裝置100進行韌體更新。
圖3是依照本發明一實施例所繪示之韌體更新方法的流程圖。請參照圖3,本實施例的方式適用於上述實施例中的電子裝置100,以下即搭配電子裝置100中的各項元件說明本實施例更新
韌體方法的詳細步驟。
需特別說明的是,圖3所示實施例將以電子裝置100一開始操作於省電狀態為例進行說明。於此,本實施例所提及的省電狀態或工作狀態可以為各式電源標準規範(例如:先進架構電源介面(Advanced Configuration and Power Interface,ACPI)標準)所定義的電源狀態。前述的省電狀態可以是各式電源標準規範所定義的待命狀態、休眠狀態、連線待命狀態或關機狀態。例如,依據ACPI標準,電源狀態包括S0~S5狀態,其中,S0狀態即是一般所謂的工作狀態,而S1~S5狀態為計算機系統提供不同程度的省電狀態。舉例來說,以下實施例所提到的省電狀態可為ACPI標準所定義之S3狀態(休眠狀態)或S5狀態(關機狀態)。
於步驟S301,於電子裝置100操作於省電狀態的期間,網路介面模組103經由網路N1接收封包。於步驟S302,網路介面模組103判斷封包是否為網路喚醒(Wake-on-Lan,WOL)封包。網路喚醒封包(又稱為魔法封包(Magic Packet))是一種用以喚醒處於省電狀態之電子裝置的特殊封包。詳言之,網路喚醒封包是一種廣播性封包,其可用非連接導向(Connectionless protocol)的通訊協定來傳遞,而上述通訊協定一般為使用者資料流通訊協定(User Datagram Protocol,UDP)。網路喚醒封包的訊息格式具有預先定義的內容,網路喚醒封包的訊息格式一般起始於連續六個‘FF’(共6bytes),而16筆多媒體存取控制位址(共16*6=96bytes)接續於連續六個‘FF’之後。前述多媒體存取控制位址為
遠端伺服器120企圖喚醒或遙控之電子裝置的多媒體存取控制位址。
換言之,於一實施例中,網路介面模組103可接收遠端伺服器120所廣播的廣播封包,並透過前述網路喚醒封包的訊息格式來辨識上述廣播封包是否為發送給自己的網路喚醒封包。舉例而言,圖4是依照本發明一實施例所繪示之符合特定格式的封包的示意圖。如圖4所示,假設網路介面模組103所接收之封包包括封包內容40,則網路介面模組103可基於封包內容40包括連續六個‘FF’以及16筆自己的多媒體存取控制位址(MAC address)而判定所接收之封包為網路喚醒封包。
若封包不為網路喚醒封包(步驟S302判斷為否),於步驟S303,網路介面模組103忽略不符合特定格式的封包,因此不觸發微控制器102喚醒電子裝置100且不觸發微控制器102更新韌體101f。
若封包為網路喚醒封包(步驟S302判斷為是),於步驟S304,網路介面模組103更判斷封包是否包括韌體更新指令。依據預先的指令配置,網路介面模組103可進一步判斷網路喚醒封包是否包括韌體更新指令。舉例而言,韌體更新指令例如是2bytes的‘FFFF’,但本發明並不限制於此。韌體更新指令的配置可視實際應用狀況而設計。請參照圖4的範例,以韌體更新指令是2bytes的‘FFFF’為例,網路介面模組103可在判斷所接收之封包為網路喚醒封包之後,基於封包內容40還包括2bytes的‘FFFF’而判定封
包包括韌體更新指令401。
若封包為網路喚醒封包且不包括韌體更新指令(步驟S304判斷為否),於步驟S305,微控制器102控制電子裝置100自操作於省電狀態切換至操作於工作狀態。以微控制器102是嵌入式控制器為例,微控制器102可包括正常喚醒腳位(pin)及網路喚醒腳位,其中正常喚醒腳位例如是耦接至電源按鈕、鍵盤、觸控板、滑鼠等週邊裝置,而網路喚醒腳位耦接至網路介面模組103。在電子裝置100處於省電狀態時,微控制器102可依據正常喚醒腳位及網路喚醒腳位之觸發行為來喚醒處於省電狀態的電子裝置100。於此,倘若封包為網路喚醒封包且不包括韌體更新指令,網路介面模組103觸發微控制器102喚醒電子裝置100但不觸發微控制器102更新韌體101f。
若封包為網路喚醒封包且包括韌體更新指令(步驟S304判斷為是),於步驟S306,網路介面模組103繼續接收遠端伺服器120所提供的韌體更新資料。於步驟S307,網路介面模組103提供韌體更新資料給微控制器102。具體而言,在網路介面模組103偵測到為網路喚醒封包且包括韌體更新指令的封包之後,網路介面模組103將繼續接收遠端伺服器120後續傳來的韌體更新資料,並將韌體更新資料提供給微控制器102。
於一實施例中,網路介面模組103可將遠端伺服器120所提供的韌體更新資料暫存於網路介面模組103的緩存器(buffer)中,並通知微控制器102至此緩存器擷取韌體更新資料。或者,
於一實施例中,網路介面模組103可將遠端伺服器120所提供的韌體更新資料直接轉送至微控制器102。
最後,於步驟S308,微控制器利102利用韌體更新資料刷新韌體儲存裝置101所紀錄的韌體101f。亦即,倘若封包為網路喚醒封包且包括韌體更新指令,網路介面模組103不觸發微控制器102喚醒電子裝置100但觸發微控制器102更新韌體101f。
然而,本發明的實現方式不限於上述說明,可以對於實際的需求而酌予變更上述實施例的內容。例如,在本發明之一實施例中,符合特定格式的封包將進一步被驗證,以響應於接收合格的封包而進行韌體更新。以下則舉一實施例詳細說明。
圖5是依照本發明一實施例所繪示之韌體更新方法的流程圖。請參照圖5,本實施例的方式適用於上述實施例中的電子裝置100,以下即搭配電子裝置100中的各項元件說明本實施例更新韌體方法的詳細步驟。相似於圖3實施例,將以電子裝置100一開始操作於省電狀態為例進行說明。
於步驟S501,於電子裝置操作於省電狀態的期間,網路介面模組103經由網路N1接收封包。於步驟S502,網路介面模組103判斷封包是否為網路喚醒封包。若封包不為網路喚醒封包(步驟502判斷為否),於步驟S503,網路介面模組忽略封包。若封包為網路喚醒封包(步驟502判斷為是),於步驟S504,網路介面模組判斷封包是否包括韌體更新指令。
若封包為網路喚醒封包且不包括韌體更新指令(步驟504
判斷為否),於步驟S505,微控制器102控制電子裝置100自操作於省電狀態切換至操作於工作狀態。圖5所示的步驟S501~步驟S505的詳細內容與圖3所示的步驟S301~步驟S305相似,於此不再贅述。
值得一提的是,若封包為網路喚醒封包且包括韌體更新指令(步驟504判斷為是),於步驟S506,微處理器103獲取封包內的驗證資料並自韌體101f讀取韌體認證碼。於步驟S507,微處理器102判斷韌體認證碼是否匹配封包內的驗證資料。具體而言,於一實施例中,網路介面模組103在判斷封包符合特定格式之後,網路介面模組103擷取出封包內的驗證資料,並將封包內的驗證資料傳送給微控制器102進行驗證。微處理器103可透過判斷封包內的驗證資料是否相同於韌體認證碼,來驗證封包的合法性。以圖4的範例來說,網路介面模組103可將封包內容40內的驗證資料402(共6bytes)傳送至微控制器102,微控制器102可比對驗證資料402與韌體101f當中的韌體驗證碼來進行封包驗證。
承上述,為了避免有心人士利用符合特定格式的封包來破壞電子裝置100中的韌體,每當遠端伺服器120發布韌體更新資料至電子裝置100時,遠端伺服器120可將韌體認證碼連同韌體更新資料一併提供給電子裝置100。每當微控制器103更新韌體101f時,韌體認證碼也伴隨韌體更新資料一起被寫入至韌體儲存裝置101。之後,當遠端伺服器120企圖更新電子裝置100中的韌體101f時,遠端伺服器120所發送的封包除了需要包括韌體更新
指令更需要包括驗證資料。如此,微控制器102可透過比對先前已紀錄的韌體認證碼與封包內的驗證資料來驗證封包,以響應於接收通過驗證的封包來執行韌體更新。
基此,若韌體認證碼不匹配封包內的驗證資料(步驟507判斷為否),接續步驟S503,網路介面模組102忽略此封包,且不觸發微控制器102更新韌體101f。另一方面,若韌體認證碼匹配封包內的驗證資料(步驟507判斷為是),於步驟S508,微控制器102透過網路介面模組103獲取遠端伺服器120所提供的韌體更新資料。換言之,若封包通過驗證,微控制器102可通知網路介面模組103,致使網路介面模組103繼續接收遠端伺服器120所提供的韌體更新資料。最後,於步驟S509,微控制器102利用韌體更新資料刷新韌體儲存裝置101所紀錄的韌體101f。
綜上所述,於本發明的實施例中,允許遠端伺服器經由網路遠端控制電子裝置內部的韌體更新。即便電子裝置無法正常開機或其作業系統無法正常運作,電子裝置內的網路介面模組可響應於接收遠端伺服器所發送之符合特定格式的封包來觸發微控制器執行韌體更新動作。基此,當電子裝置內的韌體故障或毀損,使用者無須將電子裝置送回維修單位,維修單位也無須拆解電子裝置並使用特殊的燒錄設備修復電子裝置韌體。對於使用者與維修單位而言,可大幅節省維修成本並加快韌體更新與修復的速度。此外,透過本發明實施例所提及的封包驗證,可在有效率地更新韌體的前提下確保其安全性。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
Claims (15)
- 一種電子裝置,包括:一韌體儲存裝置,儲存有一韌體;一微控制器,耦接該韌體儲存裝置,且該微控制器包括一嵌入式控制器;以及一網路介面模組,耦接該微控制器,經由網路從一遠端伺服器接收一封包,並藉由判斷該封包是否為一網路喚醒封包以及是否包括一韌體更新指令以判斷該封包是否符合一特定格式,其中,若該封包符合該特定格式,該網路介面模組不觸發該微控制器喚醒該電子裝置,但觸發該微控制器透過該網路介面模組獲取該遠端伺服器所提供的韌體更新資料,並利用該韌體更新資料刷新該韌體儲存裝置所紀錄的該韌體。
- 如申請專利範圍第1項所述的電子裝置,其中於該電子裝置操作於一省電狀態的期間,經由該網路介面模組接收該封包。
- 如申請專利範圍第2項所述的電子裝置,其中若該封包為該網路喚醒封包且不包括該韌體更新指令,該微控制器控制該電子裝置自操作於該省電狀態切換至操作於工作狀態。
- 如申請專利範圍第2項所述的電子裝置,其中若該封包為該網路喚醒封包且包括該韌體更新指令,該網路介面模組繼續接收該遠端伺服器所提供的該韌體更新資料,並且該網路介面模組提供該韌體更新資料給該微控制器。
- 如申請專利範圍第2項所述的電子裝置,其中若該封包為該網路喚醒封包且包括該韌體更新指令,該微控制器更對該封包進行驗證,其中若該封包通過驗證,該網路介面模組繼續接收該遠端伺服器所提供的該韌體更新資料。
- 如申請專利範圍第5項所述的電子裝置,其中該微控制器獲取該封包內的驗證資料並自該韌體讀取一韌體認證碼,並判斷該韌體認證碼是否匹配該封包內的驗證資料,以對該封包進行驗證。
- 如申請專利範圍第1項所述的電子裝置,其中該韌體包括一基本輸入輸出系統。
- 一種韌體更新方法,適用於包括一韌體儲存裝置、一網路介面模組與一微控制器的一電子裝置,且該微控制器包括一嵌入式控制器,包括:經由該網路介面模組從一遠端伺服器接收一封包;經由該網路介面模組藉由判斷該封包是否為一網路喚醒封包以及是否包括一韌體更新指令以判斷該封包是否符合一特定格式;若該封包符合該特定格式,經由該網路介面模組不觸發該微控制器喚醒該電子裝置,但觸發該微控制器透過該網路介面模組獲取該遠端伺服器所提供的韌體更新資料;以及經由該微控制器利用該韌體更新資料刷新該韌體儲存裝置所紀錄的該韌體。
- 如申請專利範圍第8項所述的韌體更新方法,其中於該電子裝置操作於一省電狀態的期間,經由該網路介面模組接收該封包。
- 如申請專利範圍第9項所述的韌體更新方法,其中經由該網路介面模組藉由判斷該封包是否為該網路喚醒封包以及是否包括該韌體更新指令以判斷該封包是否符合該特定格式的步驟包括:判斷該封包是否為該網路喚醒封包;以及若該封包為該網路喚醒封包,判斷該封包是否包括該韌體更新指令。
- 如申請專利範圍第10項所述的韌體更新方法,更包括:若該封包為該網路喚醒封包且不包括該韌體更新指令,經由該微控制器控制該電子裝置自操作於該省電狀態切換至操作於工作狀態。
- 如申請專利範圍第10項所述的韌體更新方法,其中若該封包符合該特定格式,經由該微控制器透過該網路介面模組獲取該遠端伺服器所提供的韌體更新資料的步驟包括:若該封包為該網路喚醒封包且包括該韌體更新指令,經由該網路介面模組繼續接收該遠端伺服器所提供的該韌體更新資料;以及經由該網路介面模組提供該韌體更新資料給該微控制器。
- 如申請專利範圍第10項所述的韌體更新方法,其中若該封包符合該特定格式,經由該微控制器透過該網路介面模組獲取該遠端伺服器所提供的韌體更新資料的步驟更包括:若該封包為該網路喚醒封包且包括該韌體更新指令,經由該微控制器對該封包進行驗證;以及若該封包通過驗證,經由該網路介面模組繼續接收該遠端伺服器所提供的該韌體更新資料。
- 如申請專利範圍第13項所述的韌體更新方法,其中經由該微控制器對該封包進行驗證的步驟包括:經由該微控制器獲取該封包內的驗證資料並自該韌體讀取一韌體認證碼;以及經由該微控制器判斷該韌體認證碼是否匹配該封包內的驗證資料。
- 如申請專利範圍第8項所述的韌體更新方法,其中該韌體包括一基本輸入輸出系統。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107102263A TWI647617B (zh) | 2018-01-23 | 2018-01-23 | 電子裝置與其韌體更新方法 |
CN201810153599.0A CN110069280B (zh) | 2018-01-23 | 2018-02-22 | 电子装置与其固件更新方法 |
US15/942,553 US10402189B2 (en) | 2018-01-23 | 2018-04-01 | Electronic apparatus and firmware update method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107102263A TWI647617B (zh) | 2018-01-23 | 2018-01-23 | 電子裝置與其韌體更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI647617B true TWI647617B (zh) | 2019-01-11 |
TW201933093A TW201933093A (zh) | 2019-08-16 |
Family
ID=65804138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107102263A TWI647617B (zh) | 2018-01-23 | 2018-01-23 | 電子裝置與其韌體更新方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10402189B2 (zh) |
CN (1) | CN110069280B (zh) |
TW (1) | TWI647617B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI808229B (zh) * | 2019-07-29 | 2023-07-11 | 宜鼎國際股份有限公司 | 可遠端控制電子設備執行程序的系統及方法 |
TWI846417B (zh) * | 2023-04-07 | 2024-06-21 | 緯穎科技服務股份有限公司 | 電腦網路及對電腦網路中電腦系統的周邊裝置的更新韌體的方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11455397B2 (en) * | 2018-11-13 | 2022-09-27 | Microchip Technology Incorporated | Secure boot assist for devices, and related systems, methods and devices |
US11016755B2 (en) * | 2019-07-31 | 2021-05-25 | Dell Products L.P. | System and method to secure embedded controller flashing process |
US12001826B2 (en) * | 2020-04-24 | 2024-06-04 | Intel Corporation | Device firmware update techniques |
WO2022010470A1 (en) * | 2020-07-08 | 2022-01-13 | Hewlett-Packard Development Company, L.P. | Device firmware descriptors |
CN112256300B (zh) * | 2020-10-19 | 2024-09-17 | 曙光信息产业(北京)有限公司 | 服务器带内管理方法、装置、电子设备及可读存储介质 |
CN112491799B (zh) * | 2020-10-28 | 2023-03-24 | 深圳市广和通无线股份有限公司 | 通信模块远程修复方法、装置、计算机设备和存储介质 |
CN112506539B (zh) * | 2020-11-26 | 2024-02-23 | 浪潮电子信息产业股份有限公司 | 一种固件更新方法、装置及电子设备和存储介质 |
TWI755184B (zh) * | 2020-12-03 | 2022-02-11 | 聯陽半導體股份有限公司 | 電子裝置及其開機方法 |
CN115022414B (zh) * | 2022-04-20 | 2023-08-22 | 华东师范大学 | 一种面向车辆电子控制单元的can id逆向及确定方法 |
CN117193809B (zh) * | 2023-09-21 | 2024-07-05 | 苏州恒琪信息科技有限公司 | 一种芯片烧录方法、装置及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5826015A (en) * | 1997-02-20 | 1998-10-20 | Digital Equipment Corporation | Method and apparatus for secure remote programming of firmware and configurations of a computer over a network |
US20130084800A1 (en) * | 2011-09-30 | 2013-04-04 | Nokia Corporation | Method, apparatus, and computer program product for remote wireless powering and control of an electronic device |
TW201624273A (zh) * | 2014-12-17 | 2016-07-01 | 緯創資通股份有限公司 | 韌體變量更新方法 |
TW201737169A (zh) * | 2016-01-29 | 2017-10-16 | 速卡集團有限公司 | 韌體更新的系統與方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7305668B2 (en) * | 2002-07-31 | 2007-12-04 | Intel Corporation | Secure method to perform computer system firmware updates |
US7047448B2 (en) * | 2002-11-21 | 2006-05-16 | Bitfone Corporation | Software self-repair toolkit for electronic devices |
TWI256014B (en) | 2004-04-06 | 2006-06-01 | Wistron Corp | Method and apparatus for remote flashing of a bios memory in a data processing system |
US7809811B1 (en) * | 2005-03-09 | 2010-10-05 | Hewlett-Packard Development Company, L.P. | System and method for operator network capable of problem determination and solution deployment |
US8185886B2 (en) * | 2007-06-26 | 2012-05-22 | Intel Corporation | Method and apparatus to enable dynamically activated firmware updates |
JP5038163B2 (ja) * | 2008-01-07 | 2012-10-03 | キヤノン株式会社 | 配信装置、システム、情報処理方法及びプログラム |
KR100951622B1 (ko) * | 2008-05-02 | 2010-04-09 | 강릉원주대학교산학협력단 | 무선센서 네트워크의 노드에 대한 펌웨어 업데이트 방법 및이에 사용되는 펌웨어 업데이트장치 |
CN101860444A (zh) * | 2009-04-09 | 2010-10-13 | 仁宝电脑工业股份有限公司 | 远程唤醒方法及其应用 |
US9210140B2 (en) * | 2009-08-19 | 2015-12-08 | Solarflare Communications, Inc. | Remote functionality selection |
US8879570B2 (en) * | 2009-09-04 | 2014-11-04 | Brocade Communications Systems, Inc. | Systems and methods for reconfiguring a network adapter in sleep mode |
WO2012010354A1 (de) * | 2010-07-23 | 2012-01-26 | Fujitsu Technology Solutions Intellectual Property Gmbh | Verfahren zum ausführen eines dienstprogramms, computersystem und computerprogrammprodukt |
KR20120028179A (ko) * | 2010-09-14 | 2012-03-22 | 엘지이노텍 주식회사 | Mcu의 펌웨어 갱신방법 |
US8607040B2 (en) * | 2010-11-16 | 2013-12-10 | Intel Corporation | Method of provisioning firmware in an operating system (OS) absent services environment |
TWI445349B (zh) * | 2010-12-31 | 2014-07-11 | Aten Int Co Ltd | 遠端管理系統及其運作方法 |
US8869131B2 (en) * | 2011-06-09 | 2014-10-21 | Dot Hill Systems Corporation | Method and apparatus for downgrading firmware in a controller |
TWI475485B (zh) * | 2011-06-13 | 2015-03-01 | Wistron Corp | 韌體更新之方法及其相關電腦系統 |
CN102855146B (zh) * | 2011-06-30 | 2016-05-11 | 鸿富锦精密工业(深圳)有限公司 | 固件更新系统及方法 |
US20150170136A1 (en) * | 2013-12-18 | 2015-06-18 | PayRange Inc. | Method and System for Performing Mobile Device-To-Machine Payments |
CN106155725A (zh) * | 2015-04-16 | 2016-11-23 | 联想(上海)信息技术有限公司 | 加密芯片固件更新方法、装置及电子设备 |
TW201702868A (zh) * | 2015-07-09 | 2017-01-16 | 捷鼎國際股份有限公司 | 儲存裝置之韌體更新架構及方法 |
US10171336B2 (en) * | 2015-12-16 | 2019-01-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Openflow configured horizontally split hybrid SDN nodes |
US20170228228A1 (en) * | 2016-02-05 | 2017-08-10 | Quanta Computer Inc. | Remote launch of deploy utility |
TWI597665B (zh) * | 2016-12-27 | 2017-09-01 | 緯創資通股份有限公司 | 在一儲存系統中更新軟體的方法及儲存系統 |
-
2018
- 2018-01-23 TW TW107102263A patent/TWI647617B/zh active
- 2018-02-22 CN CN201810153599.0A patent/CN110069280B/zh active Active
- 2018-04-01 US US15/942,553 patent/US10402189B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5826015A (en) * | 1997-02-20 | 1998-10-20 | Digital Equipment Corporation | Method and apparatus for secure remote programming of firmware and configurations of a computer over a network |
US20130084800A1 (en) * | 2011-09-30 | 2013-04-04 | Nokia Corporation | Method, apparatus, and computer program product for remote wireless powering and control of an electronic device |
TW201624273A (zh) * | 2014-12-17 | 2016-07-01 | 緯創資通股份有限公司 | 韌體變量更新方法 |
TW201737169A (zh) * | 2016-01-29 | 2017-10-16 | 速卡集團有限公司 | 韌體更新的系統與方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI808229B (zh) * | 2019-07-29 | 2023-07-11 | 宜鼎國際股份有限公司 | 可遠端控制電子設備執行程序的系統及方法 |
TWI846417B (zh) * | 2023-04-07 | 2024-06-21 | 緯穎科技服務股份有限公司 | 電腦網路及對電腦網路中電腦系統的周邊裝置的更新韌體的方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201933093A (zh) | 2019-08-16 |
CN110069280B (zh) | 2021-09-17 |
CN110069280A (zh) | 2019-07-30 |
US10402189B2 (en) | 2019-09-03 |
US20190227783A1 (en) | 2019-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI647617B (zh) | 電子裝置與其韌體更新方法 | |
US7437575B2 (en) | Low power mode for device power management | |
TWI493460B (zh) | 電子裝置以及開機方法 | |
US10007507B2 (en) | Method for updating firmware of a battery included in a rechargeable battery module, portable electronic device, and rechargeable battery module | |
US8863109B2 (en) | Updating secure pre-boot firmware in a computing system in real-time | |
US20140143477A1 (en) | Computer system and data recovery method thereof | |
KR19990074001A (ko) | 원격지 웨이크 업 기능을 갖는 컴퓨터 시스템 및 컴퓨터 시스템의 원격 웨이크 업 방법 | |
TWI567536B (zh) | 電源管理電路、伺服器與其電源管理方法 | |
US20050166213A1 (en) | Remote deployment of executable code in a pre-boot environment | |
JP2009524126A (ja) | モバイル計算装置及びそのデータパケッジ受け取り方法 | |
WO2013013396A1 (zh) | 基本输入/输出系统bios配置数据管理方法及系统 | |
US9201663B2 (en) | Computer system and remote control method for computer device | |
TW201401818A (zh) | 遠端啟動主機的方法及其系統與電子裝置 | |
TWI581186B (zh) | 用以禁止本地端輸入之方法、可遠端啟動運算系統及相關電腦可讀媒 體 | |
TWI464681B (zh) | 加速開機方法及系統 | |
TWI497319B (zh) | 基板管理控制器的更新方法 | |
WO2018058717A1 (zh) | 非易失性存储装置、方法、计算机系统及待机或休眠实现方法 | |
TWI482090B (zh) | 可經由通用序列匯流排裝置開機的系統及其方法 | |
US7075518B2 (en) | Method for updating a keyboard controller in a notebook computer | |
CN108595193B (zh) | 用于风扇转速控制的基板管理控制器固件更新方法 | |
TWI579767B (zh) | Quick boot computer system and method, the computer can read the recording media and computer program products | |
TWI796082B (zh) | 基本輸入輸出系統設定資料保存及沿用方法 | |
CN104348514B (zh) | 集成电路、电子装置与其运作方法 | |
TWI812315B (zh) | 電腦裝置以及增加電腦裝置穩定度之方法 | |
TW201118548A (en) | A power control system of the server |