CN114006901A - 一种嵌入式网络设备免拆机盖固件升级方法和*** - Google Patents
一种嵌入式网络设备免拆机盖固件升级方法和*** Download PDFInfo
- Publication number
- CN114006901A CN114006901A CN202111648632.5A CN202111648632A CN114006901A CN 114006901 A CN114006901 A CN 114006901A CN 202111648632 A CN202111648632 A CN 202111648632A CN 114006901 A CN114006901 A CN 114006901A
- Authority
- CN
- China
- Prior art keywords
- firmware
- server
- flashing
- network
- upgrading
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明属于通讯技术领域,公开了一种嵌入式网络设备免拆机盖固件升级方法,所述方法包括如下步骤:步骤1:启动Boot loader,进入刷机模式;步骤2:通过网卡获取网络刷机代理固件,所述网络刷机代理固件预存于外设的第一服务器中;步骤3:将网络刷机代理固件存入内存中并运行,得到在内存中运行的网络刷机代理***;步骤4:在网络刷机代理***上运行刷机脚本;步骤5:通过网卡从外设的第二服务器中获取***固件;步骤6:将***固件写入经过格式化的flash存储器中,运行flash存储器中的***固件完成升级,该方法在Boot loader正常工作的情况下仅通过网口就可以升级固件,而不需要拆机壳。同时,本发明还公开了实施该方法的***。
Description
技术领域
本发明属于通信技术领域,更具体而言,涉及一种嵌入式网络设备免拆机盖固件升级方法和***。
背景技术
嵌入式网络设备当需要固件更新时,常规的操作是通过设备的WEB页面升级固件或者通过SSH登陆再命令行升级固件。但在某些异常情况下如WEB程序异常或者SSH无法登陆甚至FLASH中的固件损坏无法启动,常规的升级方法已不再适用。
一般来说FLASH里的Boot loader由于有写保护措施一般不会被损坏而均能正常工作。一些高级点的***可以通过切换CPU的BOOT模式选择从其它存储介质(如U盘、SD卡)启动再去升级固件或者在Boot loader下通过其它存储介质升级固件,但前提是设备需要支持BOOT模式选择开关和相应的存储介质接口。而很多低成本的嵌入式网络设备并不支持或暴露此类BOOT模式选择,或者不支持此类外部接口,甚至都没有外出的控制台,如IPC、无线路由器、CPE和一些工业网关设备。现有的相关返修刷机方法有:
1、支持在板编程器烧写FLASH,而编程器接口通常并不外漏于机壳。
2、不支持在板编程器烧写FLASH,则需要焊下FLASH,先使用离线烧录器烧写,再重新贴装。
上述两种升级固件方法费时费力,而且都不免需要拆除机壳才能操作。
发明内容
本发明的主要目的在于提供一种嵌入式网络设备免拆机盖固件升级方法,该方法在Boot loader正常工作的情况下仅通过网口就可以升级固件,而不需要拆机壳。
同时,本发明还公开了实施该方法的***。
根据本发明的第一方面,提供了一种嵌入式网络设备免拆机盖固件升级方法,所述方法包括如下步骤:
步骤1:启动Boot loader,进入刷机模式;
步骤2:通过网卡获取网络刷机代理固件,所述网络刷机代理固件预存于外设的第一服务器中;
步骤3:将网络刷机代理固件存入内存中并运行,得到在内存中运行的网络刷机代理***;
步骤4:在网络刷机代理***上运行刷机脚本,所述刷机脚本从外设的第二服务器获取;
步骤5:通过网卡从外设的第二服务器中获取***固件;
步骤6:将***固件写入经过格式化的flash存储器中,固件写入完成后自动复位网络刷机代理***,运行flash存储器中的***固件完成升级。
在上述的嵌入式网络设备免拆机盖固件升级方法中,所述步骤1具体为:
启动Boot loader,根据用户操作进入刷机模式或正常启动嵌入式网络设备的***。
在上述的嵌入式网络设备免拆机盖固件升级方法中,所述第一服务器为TFTP服务器,所述第二服务器为FTP服务器;
在网络刷机代理***中启动FTP客户端,通过FTP客户端从FTP服务器获取刷机脚本和***固件。
在上述的嵌入式网络设备免拆机盖固件升级方法中,所述步骤5中还包括:根据分区信息对flash存储器进行格式化和分区;所述步骤6中,***固件写入到指定的分区内;
所述分区信息纪录在刷机脚本中。
在上述的嵌入式网络设备免拆机盖固件升级方法中,所述步骤1和步骤4运行之后还进行网卡初始化操作。
同时,本发明还公开了一种嵌入式网络设备免拆机盖固件升级***,包括第一服务器、第二服务器,所述第一服务器中存储有网络刷机代理固件,所述第二服务器存储有***固件;
当嵌入式网络设备需要进行固件升级时,基于如上任一所述的方法从第一服务器获取网络刷机代理固件、运行刷机脚本,在运行刷机脚本时,从第二服务器获取***固件,并采用该***固件进行固件升级。
在上述的嵌入式网络设备免拆机盖固件升级***中,所述第一服务器为TFTP服务器,所述第二服务器为FTP服务器。
本发明上述技术方案中的一个技术方案至少具有如下优点或有益效果之一:
在本发明中,获取网络刷机代理固件并存入内存中,通过运行该固件可得到刷机脚本,对刷机脚本运行可得到***固件,通过将***固件烧录进入flash存储器,固件写入完成后自动复位网络刷机代理***,运行flash存储器中的***固件即可实现***固件升级。
本发明的方法只需要网卡正常、能够启动Boot loader即可。
本发明的方法和***是在非正常的状态下如***固件受损、WEB程序异常或者SSH无法登陆等情况下的可实施的,其可以实现免拆机升级***固件的目的。
附图说明
下面结合附图和实施例对本发明进一步地说明;
图1是本发明的实施例1的流程图;
图2是本发明的实施例2的结构框图。
具体实施方式
下面详细描述本发明的实施方式,实施方式的示例在附图中示出,其中相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
实施例1
参考图1,一种嵌入式网络设备免拆机盖固件升级方法,该嵌入式网络设备具有网卡,运行linux***,所述方法包括如下步骤:
步骤1:启动Boot loader,进入刷机模式;
在过去的20年里,嵌入式***一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash存储器全面代替了ROM(EPROM)在嵌入式***中的地位,用作存储Boot loader以及操作***或者程序代码,或者直接当硬盘使用。
在linux***前都需要启动Boot loader,一般来说,***固件损坏的概率会远远大于Boot loader的损坏概率,所以本发明的方法是基于Boot loader能够运行的前提而提出的。
Boot loader启动后,如果用户长按某一按键如启动键3s,进入到刷机模式,如果用户不作任何操作,将会运行linux***,正常启动。
步骤2:初始化网卡,通过网卡获取网络刷机代理固件,所述网络刷机代理固件预存于外设的第一服务器中;第一服务器优选为TFTP服务器,其和设备之间基于简单文件传输协议进行通信。
在本实施例中,第一服务器优选为TFTP服务器的原因在于:FTP服务器需要TCP,而TFTP只需UDP。UDP 简单且易于实现,而TCP在非任务环境的Bootloader中实现的工作量大。
在刷机模式之下,网卡初始化之后,就会从第一服务器中获取网络刷机代理固件,并写到内存的指定地址;
通常不同的CPU(厂家不同或者CPU架构不同)Bootloader是无法到完全统一的。第一服务器中获取网络刷机代理固件后写到内存上的特定地址是由特定硬件平台的Bootloader中指定的。也就是说在这个阶段Bootloader进入刷机模式后Bootloader知道它需要从TFTP服务器中获取哪个名字的刷机代理固件,也知道获取到的刷机代理固件存在内存的那个地址上。一般来说刷机代理固件的版本和名称与物联网设备的名称和型号相匹配,在向第一服务器获取刷机代理固件之前会传入物联网设备的名称和型号,以寻求与之匹配的固件。
步骤3:将网络刷机代理固件存入内存中并运行网络刷机代理固件;网络刷机代理固件运行后会在内存中运行一个网络刷机代理***,该代理***具有必要的工具去运行相应的脚本、以及向flash中写入固件的必要的信息和工具。
刷机代理固件只需由Bootlaoder获取并存放于内存上,并最后由Bootlaoder引导运行。
步骤4:在网络刷机代理***上运行刷机脚本,初始化网卡,建立FTP客户端,FTP客户端和第二服务器建立基于文件传输协议的通信连接;
所述刷机脚本自网络刷机代理固件启动后产生,所述刷机脚本中纪录有***固件的存储地址;
步骤5:通过网卡从外设的第二服务器中获取***固件;
网络刷机代理***开始运行后,其会从第二服务器上去下载刷机脚本,刷机脚本sysupdate.sh会根据具体设备的实际情况去下载待刷机固件的各个分区的内容文件即***固件到内存文件***的/tmp目录,然后再烧写到对应分区。
烧写到对应分区的前提是对flash存储器进行格式化和分区,而格式化和分区是根据分区信息来进行的,分区信息是存储在物联网设备的内存中的,并不会在刷机过程中丢失。
该分区信息用于对flash存储器进行格式化和分区。
本发明中不管是第一服务器的刷机代理固件还是刷机脚本抑或***固件,其存储的IP地址都会预先的写入物联网设备的内存中,并不会因为刷机过程而丢失。
在不断的升级更新过程中,管理人员可以对第一服务器和第二服务器中的相关固件和脚本进行相应的升级。
关于本发明如何从第一服务器和第二服务器中若干脚本、固件中去区分适用于本设备的固件、脚本,实现方式有很多,比如针对固件脚本的命名与本设备的名称型号进行对应,或者设置专门的文件夹针对特定的设备进行脚本、固件的存储,这样在可准确获取所需固件和脚本。
步骤6:将***固件写入经过格式化的flash存储器中,固件写入完成后自动复位网络刷机代理***,运行flash存储器中的***固件完成升级。
本发明的优势在于:本发明的方法只需要网卡正常、能够启动Boot loader即可完成***升级,可在非正常的状态下如***固件受损、WEB程序异常或者SSH无法登陆等情况下实施,其可以实现免拆机升级***固件的目的。
实施例2
参考图2,一种嵌入式网络设备免拆机盖固件升级***,包括第一服务器1、第二服务器2,所述第一服务器中存储有网络刷机代理固件,所述第二服务器存储有***固件;嵌入式网络设备3需要能够启动Boot loader,并且需要能够接入网络的网卡4。
当嵌入式网络设备需要进行固件升级时,基于如实施例1所述的方法从第一服务器获取网络刷机代理固件、运行刷机脚本,在运行刷机脚本时,从第二服务器获取***固件,并采用该***固件进行固件升级,其中,所述第一服务器为TFTP服务器,所述第二服务器为FTP服务器。
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (7)
1.一种嵌入式网络设备免拆机盖固件升级方法,其特征在于,所述方法包括如下步骤:
步骤1:启动Boot loader,进入刷机模式;
步骤2:通过网卡获取网络刷机代理固件,所述网络刷机代理固件预存于外设的第一服务器中;
步骤3:将网络刷机代理固件存入内存中并运行,得到在内存中运行的网络刷机代理***;
步骤4:在网络刷机代理***上运行刷机脚本,所述刷机脚本从外设的第二服务器获取;
步骤5:通过网卡从外设的第二服务器中获取***固件;
步骤6:将***固件写入经过格式化的flash存储器中,固件写入完成后自动复位网络刷机代理***,运行flash存储器中的***固件完成升级。
2.根据权利要求1所述的嵌入式网络设备免拆机盖固件升级方法,其特征在于,所述步骤1具体为:
启动Boot loader,根据用户操作进入刷机模式或正常启动嵌入式网络设备的***。
3.根据权利要求1所述的嵌入式网络设备免拆机盖固件升级方法,其特征在于,所述第一服务器为TFTP服务器,所述第二服务器为FTP服务器;
在网络刷机代理***中启动FTP客户端,通过FTP客户端从FTP服务器获取刷机脚本和***固件。
4.根据权利要求1所述的嵌入式网络设备免拆机盖固件升级方法,其特征在于,所述步骤5中还包括:根据分区信息对flash存储器进行格式化和分区;所述步骤6中,***固件写入到指定的分区内;
所述分区信息纪录在刷机脚本中。
5.根据权利要求1所述的嵌入式网络设备免拆机盖固件升级方法,其特征在于,所述步骤1和步骤4运行之后还进行网卡初始化操作。
6.一种嵌入式网络设备免拆机盖固件升级***,其特征在于,包括第一服务器、第二服务器,所述第一服务器中存储有网络刷机代理固件,所述第二服务器存储有***固件;
当嵌入式网络设备需要进行固件升级时,基于如权利要求1-5任一所述的方法从第一服务器获取网络刷机代理固件、运行刷机脚本,在运行刷机脚本时,从第二服务器获取***固件,并采用该***固件进行固件升级。
7.根据权利要求6所述的嵌入式网络设备免拆机盖固件升级***,其特征在于,所述第一服务器为TFTP服务器,所述第二服务器为FTP服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111648632.5A CN114006901B (zh) | 2021-12-31 | 2021-12-31 | 一种嵌入式网络设备免拆机盖固件升级方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111648632.5A CN114006901B (zh) | 2021-12-31 | 2021-12-31 | 一种嵌入式网络设备免拆机盖固件升级方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114006901A true CN114006901A (zh) | 2022-02-01 |
CN114006901B CN114006901B (zh) | 2022-04-08 |
Family
ID=79932358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111648632.5A Active CN114006901B (zh) | 2021-12-31 | 2021-12-31 | 一种嵌入式网络设备免拆机盖固件升级方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114006901B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116679946A (zh) * | 2022-11-22 | 2023-09-01 | 荣耀终端有限公司 | 一种固件升级方法及终端 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001004749A1 (en) * | 1999-07-08 | 2001-01-18 | Axis Ab | Method and apparatus for upgrading firmware in an embedded system |
CN102141940A (zh) * | 2010-12-29 | 2011-08-03 | Tcl集团股份有限公司 | 一种固件刷机恢复设备、固件刷机恢复方法及*** |
CN104933367A (zh) * | 2014-03-17 | 2015-09-23 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN105337782A (zh) * | 2015-11-27 | 2016-02-17 | 上海斐讯数据通信技术有限公司 | 一种网络设备固件启动失败后自助升级的方法及装置 |
CN110109693A (zh) * | 2019-04-22 | 2019-08-09 | 南京理工大学 | 嵌入式设备远程固件升级方法 |
CN111813428A (zh) * | 2020-06-02 | 2020-10-23 | 西安闻泰电子科技有限公司 | 终端固件的升级方法、装置、电子设备及存储介质 |
-
2021
- 2021-12-31 CN CN202111648632.5A patent/CN114006901B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001004749A1 (en) * | 1999-07-08 | 2001-01-18 | Axis Ab | Method and apparatus for upgrading firmware in an embedded system |
CN102141940A (zh) * | 2010-12-29 | 2011-08-03 | Tcl集团股份有限公司 | 一种固件刷机恢复设备、固件刷机恢复方法及*** |
CN104933367A (zh) * | 2014-03-17 | 2015-09-23 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN105337782A (zh) * | 2015-11-27 | 2016-02-17 | 上海斐讯数据通信技术有限公司 | 一种网络设备固件启动失败后自助升级的方法及装置 |
CN110109693A (zh) * | 2019-04-22 | 2019-08-09 | 南京理工大学 | 嵌入式设备远程固件升级方法 |
CN111813428A (zh) * | 2020-06-02 | 2020-10-23 | 西安闻泰电子科技有限公司 | 终端固件的升级方法、装置、电子设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116679946A (zh) * | 2022-11-22 | 2023-09-01 | 荣耀终端有限公司 | 一种固件升级方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN114006901B (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7991988B2 (en) | Communication device and firmware update method thereof | |
CN110879712B (zh) | 一种云数据中心物理主机装机方法及相关装置 | |
US7895428B2 (en) | Applying firmware updates to servers in a data center | |
US8375252B2 (en) | Method, device and system for automatic device failure recovery | |
US20120117557A1 (en) | Method and system for upgrading wireless data card | |
US20160132420A1 (en) | Backup method, pre-testing method for environment updating and system thereof | |
CN110045991B (zh) | 服务器的raid配置方法、装置、计算机设备和存储介质 | |
US10635428B2 (en) | System and method for in-service update of software | |
CN102726025B (zh) | 一种业务包的安装方法和相关装置 | |
CN114006901B (zh) | 一种嵌入式网络设备免拆机盖固件升级方法和*** | |
CN104915226A (zh) | 一种网络设备软件启动方法、装置及网络设备 | |
US11989548B2 (en) | Pushing a firmware update patch to a computing device via an out-of-band path | |
CN111273924A (zh) | 软件更新方法及装置 | |
CN103136005A (zh) | 更新固件的方法 | |
CN101196823A (zh) | 一种开放应用架构中软件在线升级的方法、***及设备 | |
CN107220085B (zh) | 一种自动升级raid卡固件的方法 | |
CN100464520C (zh) | 一种分布式数据加载的实现方法及*** | |
CN109960657B (zh) | 一种测试环境部署方法及相关装置 | |
CN111045710A (zh) | 一种基于IPMI命令的SAS-Expander固件升级的方法、设备及介质 | |
CN115794182A (zh) | 固件带外升级方法、装置、电子设备及存储介质 | |
CN110262875B (zh) | 基于补丁机制的Windows虚拟机与KVM宿主机的通信方法及*** | |
KR100456978B1 (ko) | 에이전트의 파일 다운로드 방법 | |
CN113886218B (zh) | 一种验证bios刷新的方法、装置、设备及可读介质 | |
CN113507388B (zh) | 设备部署配置方法、装置、电子设备及存储介质 | |
CN117873519A (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 |