CN110069280B - 电子装置与其固件更新方法 - Google Patents
电子装置与其固件更新方法 Download PDFInfo
- Publication number
- CN110069280B CN110069280B CN201810153599.0A CN201810153599A CN110069280B CN 110069280 B CN110069280 B CN 110069280B CN 201810153599 A CN201810153599 A CN 201810153599A CN 110069280 B CN110069280 B CN 110069280B
- Authority
- CN
- China
- Prior art keywords
- packet
- firmware
- microcontroller
- interface module
- network interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012795 verification Methods 0.000 claims description 25
- 230000008439 repair process Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
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)
- Physics & Mathematics (AREA)
- General 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的更新与修复就无法在作业系统正常运作的条件下通过特定软件元件来进行。此时,使用者就只能将机台送回至维修单位,而维修人员需要拆解机台并利用特殊的烧录设备重新烧录固件。可知的,上述固件维修过程耗时、耗人力且流程繁复,对于使用者与维修单位而言,都造成相当大的不便并且需要付出必要的修缮成本。
发明内容
有鉴于此,本发明实施例提出一种电子装置与其固件更新方法,以提供一种便利、省时且节省成本的固件更新方式。
本发明实施例提供一种电子装置,包括固件存储装置、微控制器,以及网络接口模块。固件存储装置存储有固件,而微控制器耦接固件存储装置。网络接口模块耦接微控制器,经由网络从远端服务器接收封包,并藉由判断该封包是否为网络唤醒封包以及是否包括固件更新指令以判断封包是否符合特定格式。若封包符合特定格式,微控制器通过网络接口模块获取远端服务器所提供的固件更新数据,并利用固件更新数据刷新固件存储装置所记录的固件。
在本发明的一实施例中,于上述电子装置操作于省电状态的期间,经由网络接口模块接收封包。
在本发明的一实施例中,若上述封包为网络唤醒封包且不包括固件更新指令,上述微控制器控制电子装置自操作于省电状态切换至操作于工作状态。
在本发明的一实施例中,若上述封包为网络唤醒封包且包括固件更新指令,上述网络接口模块继续接收远端服务器所提供的固件更新数据,并且上述网络接口模块提供固件更新数据给上述微控制器。
在本发明的一实施例中,若上述封包为网络唤醒封包且包括固件更新指令,上述微控制器还对封包进行验证。若封包通过验证,上述网络接口模块继续接收远端服务器所提供的固件更新数据。
在本发明的一实施例中,上述微控制器获取封包内的验证数据并自固件读取固件认证码。上述微控制器判断固件认证码是否匹配封包内的验证数据,以对封包进行验证。
在本发明的一实施例中,上述固件包括基本输入输出系统,且上述微控制器包括嵌入式控制器。
从另一观点来看,本发明实施例提供一种固件更新方法,适用于包括固件存储装置、网络接口模块与微控制器的电子装置。此固件更新方法包括下列步骤。经由网络接口模块从远端服务器接收封包。经由网络接口模块藉由判断该封包是否为一网络唤醒封包以及是否包括一固件更新指令以判断封包是否符合特定格式。若封包符合特定格式,经由微控制器通过网络接口模块获取远端服务器所提供的固件更新数据。经由微控制器利用固件更新数据刷新固件存储装置所记录的固件。
基于上述,于本发明的实施例中,电子装置的网络接口模块可在关机状态或省电状态经由网络接收封包,并判断此封包的格式与内容是否符合特定格式。于此,网络接口模块可藉由判断封包是否为网络唤醒封包且是否包括固件更新指令,来判断此封包是否符合特定格式。若所接收的封包符合特定格式,电子装置的微控制器可获取远端服务器(亦即封包来源端)所提供的固件更新数据,并驱动微控制器利用固件更新数据来刷新固件存储装置中的固件。藉此,即便电子装置无法正常操作或无法开机,其微控制器还是可以完成更新与修复固件的任务,从而大幅降低维修/更新固件的成本与耗时。
附图说明
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
图1是依照本发明一实施例所绘示的电子装置的方块图。
图2是依照本发明一实施例所绘示的固件更新方法的流程图。
图3是依照本发明一实施例所绘示的固件更新方法的流程图。
图4是依照本发明一实施例所绘示的符合特定格式的封包的示意图。
图5是依照本发明一实施例所绘示的固件更新方法的流程图。
符号说明:
100:电子装置
101:固件存储装置
102:微控制器
103:网络接口模块
104:芯片组
N1:网络
101f:固件
I1:传输接口
120:远端服务器
S201~S250、S301~S308、S501~S509:步骤
40:封包内容
401:固件更新指令
402:验证数据
具体实施方式
本发明的部分实施例接下来将会配合附图来详细描述,以下的描述所引用的元件符号,当不同附图出现相同的元件符号将视为相同或相似的元件。这些实施例只是本发明的一部分,并未揭示所有本发明的可实施方式。更确切的说,这些实施例只是本发明的权利要求中的电子装置与固件更新方法的范例。
图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 Inputor 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例如可经由I2C接口或其他传输接口耦接微控制器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.如权利要求1所述的电子装置,其特征在于,于该电子装置操作于一省电状态的期间,经由该网络接口模块接收该封包。
3.如权利要求2所述的电子装置,其特征在于,若该封包为该网络唤醒封包且不包括该固件更新指令,该微控制器控制该电子装置自操作于该省电状态切换至操作于工作状态。
4.如权利要求2所述的电子装置,其特征在于,若该封包为该网络唤醒封包且包括该固件更新指令,该网络接口模块继续接收该远端服务器所提供的该固件更新数据,并且该网络接口模块提供该固件更新数据给该微控制器。
5.如权利要求2所述的电子装置,其特征在于,若该封包为该网络唤醒封包且包括该固件更新指令,该微控制器还对该封包进行验证,
其中若该封包通过验证,该网络接口模块继续接收该远端服务器所提供的该固件更新数据。
6.如权利要求5所述的电子装置,其特征在于,该微控制器获取该封包内的验证数据并自该固件读取一固件认证码,并判断该固件认证码是否匹配该封包内的验证数据,以对该封包进行验证。
7.如权利要求1所述的电子装置,其特征在于,该固件包括一基本输入输出系统。
8.一种固件更新方法,其特征在于,适用于包括一固件存储装置、一网络接口模块与一微控制器的一电子装置,包括:
经由该网络接口模块从一远端服务器接收一封包,该微控制器包括一嵌入式控制器;
经由该网络接口模块藉由判断该封包是否为一网络唤醒封包以及是否包括一固件更新指令以判断该封包是否符合一特定格式;
其中,若该封包符合该特定格式,该微控制器通过该网络接口模块获取该远端服务器所提供的固件更新数据,并利用该固件更新数据刷新该固件存储装置所记录的该固件;
微控制器是用以对电子装置的电源状态进行管理的嵌入式控制器;网络接口模块持续接收来自网络的封包并触发微控制器刷新固件存储装置的可存取媒体。
9.如权利要求8所述的固件更新方法,其特征在于,于该电子装置操作于一省电状态的期间,经由该网络接口模块接收该封包。
10.如权利要求9所述的固件更新方法,其特征在于,经由该网络接口模块藉由判断该封包是否为该网络唤醒封包以及是否包括该固件更新指令以判断该封包是否符合该特定格式的步骤包括:
判断该封包是否为该网络唤醒封包;以及
若该封包为该网络唤醒封包,判断该封包是否包括该固件更新指令。
11.如权利要求10所述的固件更新方法,其特征在于,还包括:
若该封包为该网络唤醒封包且不包括该固件更新指令,经由该微控制器控制该电子装置自操作于该省电状态切换至操作于工作状态。
12.如权利要求10所述的固件更新方法,其特征在于,若该封包符合该特定格式,经由该微控制器通过该网络接口模块获取该远端服务器所提供的固件更新数据的步骤包括:
若该封包为该网络唤醒封包且包括该固件更新指令,经由该网络接口模块继续接收该远端服务器所提供的该固件更新数据;以及
经由该网络接口模块提供该固件更新数据给该微控制器。
13.如权利要求10所述的固件更新方法,其特征在于,若该封包符合该特定格式,经由该微控制器通过该网络接口模块获取该远端服务器所提供的固件更新数据的步骤还包括:
若该封包为该网络唤醒封包且包括该固件更新指令,经由该微控制器对该封包进行验证;以及
若该封包通过验证,经由该网络接口模块继续接收该远端服务器所提供的该固件更新数据。
14.如权利要求13所述的固件更新方法,其特征在于,经由该微控制器对该封包进行验证的步骤包括:
经由该微控制器获取该封包内的验证数据并自该固件读取一固件认证码;以及
经由该微控制器判断该固件认证码是否匹配该封包内的验证数据。
15.如权利要求8所述的固件更新方法,其特征在于,该固件包括一基本输入输出系统。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107102263 | 2018-01-23 | ||
TW107102263A TWI647617B (zh) | 2018-01-23 | 2018-01-23 | 電子裝置與其韌體更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110069280A CN110069280A (zh) | 2019-07-30 |
CN110069280B true CN110069280B (zh) | 2021-09-17 |
Family
ID=65804138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810153599.0A Active CN110069280B (zh) | 2018-01-23 | 2018-02-22 | 电子装置与其固件更新方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10402189B2 (zh) |
CN (1) | CN110069280B (zh) |
TW (1) | TWI647617B (zh) |
Families Citing this family (8)
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 |
TWI808229B (zh) * | 2019-07-29 | 2023-07-11 | 宜鼎國際股份有限公司 | 可遠端控制電子設備執行程序的系統及方法 |
US11016755B2 (en) * | 2019-07-31 | 2021-05-25 | Dell Products L.P. | System and method to secure embedded controller flashing process |
CN112256300A (zh) * | 2020-10-19 | 2021-01-22 | 曙光信息产业(北京)有限公司 | 服务器带内管理方法、装置、电子设备及可读存储介质 |
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逆向及确定方法 |
Citations (8)
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 |
KR20120028179A (ko) * | 2010-09-14 | 2012-03-22 | 엘지이노텍 주식회사 | Mcu의 펌웨어 갱신방법 |
CN102830988A (zh) * | 2011-06-13 | 2012-12-19 | 纬创资通股份有限公司 | 固件更新的方法及其相关计算机系统 |
CN102855146A (zh) * | 2011-06-30 | 2013-01-02 | 鸿富锦精密工业(深圳)有限公司 | 固件更新系统及方法 |
CN105808270A (zh) * | 2014-12-17 | 2016-07-27 | 纬创资通股份有限公司 | 固件变量更新方法 |
CN106155725A (zh) * | 2015-04-16 | 2016-11-23 | 联想(上海)信息技术有限公司 | 加密芯片固件更新方法、装置及电子设备 |
TW201702868A (zh) * | 2015-07-09 | 2017-01-16 | 捷鼎國際股份有限公司 | 儲存裝置之韌體更新架構及方法 |
TWI597665B (zh) * | 2016-12-27 | 2017-09-01 | 緯創資通股份有限公司 | 在一儲存系統中更新軟體的方法及儲存系統 |
Family Cites Families (19)
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 |
EP2596429B1 (de) * | 2010-07-23 | 2018-06-27 | Fujitsu Limited | Verfahren zum ausführen eines dienstprogramms, computersystem und computerprogrammprodukt |
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 |
US9496925B2 (en) * | 2011-09-30 | 2016-11-15 | Nokia Technologies Oy | Method, apparatus, and computer program product for remote wireless powering and control of an electronic device |
US20150170136A1 (en) * | 2013-12-18 | 2015-06-18 | PayRange Inc. | Method and System for Performing Mobile Device-To-Machine Payments |
US10171336B2 (en) * | 2015-12-16 | 2019-01-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Openflow configured horizontally split hybrid SDN nodes |
AU2017210751A1 (en) * | 2016-01-29 | 2018-09-20 | Xard Group Pty Ltd | System and method for updating firmware |
US20170228228A1 (en) * | 2016-02-05 | 2017-08-10 | Quanta Computer Inc. | Remote launch of deploy utility |
-
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 (8)
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 |
KR20120028179A (ko) * | 2010-09-14 | 2012-03-22 | 엘지이노텍 주식회사 | Mcu의 펌웨어 갱신방법 |
CN102830988A (zh) * | 2011-06-13 | 2012-12-19 | 纬创资通股份有限公司 | 固件更新的方法及其相关计算机系统 |
CN102855146A (zh) * | 2011-06-30 | 2013-01-02 | 鸿富锦精密工业(深圳)有限公司 | 固件更新系统及方法 |
CN105808270A (zh) * | 2014-12-17 | 2016-07-27 | 纬创资通股份有限公司 | 固件变量更新方法 |
CN106155725A (zh) * | 2015-04-16 | 2016-11-23 | 联想(上海)信息技术有限公司 | 加密芯片固件更新方法、装置及电子设备 |
TW201702868A (zh) * | 2015-07-09 | 2017-01-16 | 捷鼎國際股份有限公司 | 儲存裝置之韌體更新架構及方法 |
TWI597665B (zh) * | 2016-12-27 | 2017-09-01 | 緯創資通股份有限公司 | 在一儲存系統中更新軟體的方法及儲存系統 |
Also Published As
Publication number | Publication date |
---|---|
CN110069280A (zh) | 2019-07-30 |
US10402189B2 (en) | 2019-09-03 |
TW201933093A (zh) | 2019-08-16 |
US20190227783A1 (en) | 2019-07-25 |
TWI647617B (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110069280B (zh) | 电子装置与其固件更新方法 | |
US7437575B2 (en) | Low power mode for device power management | |
KR100524055B1 (ko) | 원격지 웨이크 업 기능을 갖는 컴퓨터 시스템 및 컴퓨터 시스템의 원격 웨이크 업 방법 | |
US8863109B2 (en) | Updating secure pre-boot firmware in a computing system in real-time | |
US9367446B2 (en) | Computer system and data recovery method for a computer system having an embedded controller | |
CN102929674B (zh) | 电子装置以及开机方法 | |
US20140208092A1 (en) | Method For Updating Firmware of a Battery Included in a Rechargeable Battery Module, Portable Electronic Device, and Rechargeable Battery Module | |
US20090217026A1 (en) | Method for changing power states of a computer | |
TW201915723A (zh) | 計算機實施方法、系統、以及非暫時性計算機可讀儲存媒體 | |
US20200156422A1 (en) | Upgrading method and apparatus for tire pressure monitoring module and tire pressure sensor | |
CN103221919A (zh) | 在操作系统(os)缺席的服务环境中供应固件的方法 | |
US20060271798A1 (en) | Configurable interrupt scheme for waking up a system from sleep mode | |
JP2009524126A (ja) | モバイル計算装置及びそのデータパケッジ受け取り方法 | |
US9201663B2 (en) | Computer system and remote control method for computer device | |
US20080288557A1 (en) | System for backing up and recovering data applied to data processing apparatus and method for the same | |
US6993670B2 (en) | Method of configuring a computer system capable of being woken up on LAN | |
CN114661368B (zh) | 一种芯片及其启动方法 | |
CN112540785A (zh) | 一种存储装置的固件升级方法、控制设备及存储装置 | |
TW201401818A (zh) | 遠端啟動主機的方法及其系統與電子裝置 | |
TW201933091A (zh) | 資料儲存裝置之測試系統與資料儲存裝置之測試方法 | |
TWI581186B (zh) | 用以禁止本地端輸入之方法、可遠端啟動運算系統及相關電腦可讀媒 體 | |
TWI464681B (zh) | 加速開機方法及系統 | |
CN114443152B (zh) | 网络唤醒开机方法及计算机设备 | |
WO2018058717A1 (zh) | 非易失性存储装置、方法、计算机系统及待机或休眠实现方法 | |
CN103984543A (zh) | 一种在国产飞腾处理器上实现待机、休眠及唤醒的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |