WO2014182159A1 - Providing a maintenance interface on wireless device in the event of firmware upgrade failure - Google Patents
Providing a maintenance interface on wireless device in the event of firmware upgrade failure Download PDFInfo
- Publication number
- WO2014182159A1 WO2014182159A1 PCT/MY2014/000090 MY2014000090W WO2014182159A1 WO 2014182159 A1 WO2014182159 A1 WO 2014182159A1 MY 2014000090 W MY2014000090 W MY 2014000090W WO 2014182159 A1 WO2014182159 A1 WO 2014182159A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- interface
- wireless device
- maintenance
- error
- firmware
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/26—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using dedicated tools for LAN [Local Area Network] management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/04—Arrangements for maintaining operational condition
Definitions
- the present invention relates to device's firmware update. More particularly, it relates to a system and method of providing a maintenance interface on a device for managing firmware updates or changes.
- firmware is now available in all of the electronic and computing devices to facilitate and control their functionalities.
- the firmware can be stored on a non- volatile memory, which allows the firmware to be installed, changed or updated, commonly for fixing bugs, or adding features to the devices.
- US8,041,988 discloses a method of updating firmware. To update firmware on the device, it requires two or more application images to be stored on the device. When a firmware update fails, the device roll back to the previous firmware. As two or more application images are required, it takes up the storage space of the device unnecessarily, when only one set of the application images is required.
- US6,836,657 discloses an alternative solution for handling firmware upgrade. It discloses an error repair module that resides on the new firmware to be install. The recovery of the firmware update also requires backup data to restore the functionalities. However, not only that it requires extra storage space for storing the backup data, the new firmware is also required to carries the extra coding for the error repair module. Summary
- a device for installing a firmware comprises a firmware installation module adapted for handing firmware installation module adapted for handing firmware installation on the device and rebooting the device after the firmware installation.
- the firmware installation module operationally performs an error check on the new firmware installed on the device for errors that could render the device inoperable, and when the error is found, the firmware installation module creates and configures an operational interface on the device that is required for normal operation.
- the device further includes a maintenance module operationally creates and configures a maintenance interface for temporary allowing the device to resume the normal operations when the firmware installation module fails to created the operational interface, wherein the device displays a relevant error log of detected errors for debugging the device.
- the maintenance module does not create and configure operational interface.
- Maintenance module creates and configures maintenance interface, which is only used when there is a problem detected. Once the Maintainer solves the problem, the device should operate as normal using the operational interface.
- the maintenance check further comprises a hardware test on the device to detect for errors that could render the device inoperable, log the error found on the hardware test, and perform interface check on the device to detect for error that could render the device inoperable.
- the interface check include determining existence of the required interface, determining whether the required interface is in an operational mode, and determining whether the required interface has an IP address assigned, and when the required interface is not found, creating an operational interface on the device, when the required interface is not in the operational mode, turning the required interface in the operational mode, and when the IP address is not assigned, assigning an appropriated IP address to the required interface.
- the maintenance check further verifies if the operational is created successfully, when the operational interface is not successfully created, the maintenance module creates a maintenance interface, assigning maintenance SSID with dedicated error code appended, assigning a maintenance IP address and configuring the maintenance interface into operational mode.
- the maintenance module operationally turning on an operational mode and assigning an appropriate IP address when configuring the operational interface.
- a method for providing a new firmware installation on a device comprises installing the new firmware on the device; rebooting the device under the new firmware; performing a maintenance check on the new firmware for errors that could render the device inoperable; displaying error logs, if any, of the detected errors; creating an operational interface on the device that is required for normal operation of the device; configuring the operational interface with appropriate configurations for the device's normal operation; and resuming normal operations on the device with the interface created when the errors detected.
- the maintenance check comprises performing a hardware test on the device to detect for errors that could render the device inoperable; logging the error found on the hardware test; performing interface check on the device to detect for errors that could render the device inoperable; wherein the interface check include determining existence of the required interface, determining whether the required interface is in an operational mode, and determining whether the required interface has an IP address assigned, and when the required interface is not found, creating an operational interface on the device, when the require interface is not in the operational mode, turning the required interface in the operational mode, and when the IP address is not assigned, assigning an appropriated IP address to the required interface.
- the method further comprises verifying if the operational interface is created successfully, when the operational interface is not successfully created, creating a maintenance interface, assigning maintenance SSID with dedicated error code appended, assigning a maintenance IP address and configuring the maintenance interface into operational mode.
- configuring the operational interface further includes turning on an operational mode and assigning an appropriate IP address.
- FIG. 1 illustrates a schematic block diagram of a wireless device connecting to a remote source for updating firmware in accordance with one embodiment of the present invention
- FIG. 2 illustrates a process of firmware upgrading on a wireless device in accordance with one embodiment of the present invention
- FIG. 3 illustrates a maintenance check process in accordance with one embodiment of the present invention
- FIG. 4 illustrates a process of creating an interface that is not found according to one embodiment of the present invention
- FIG. 5 illustrates a process of configuring interface according to one embodiment of the present invention
- FIG. 6 illustrates a process of assigning IP address to the interface according to one embodiment of the present invention
- FIG. 7 illustrates a process of creating a maintenance interface according to one embodiment of the present invention.
- FIG. 8 illustrates a firmware upgrade process as an embodiment of the present invention.
- the present invention concerns firmware update.
- a firmware update typically referred to as a process of replacing a currently installed firmware with a new firmware on a device. It is however understood to a skilled person that all firmware update requires a source firmware to be uploaded on the device to be update, and thereafter execute the same to install the new firmware onto the device.
- the new firmware installation may be a fresh installation, partial installation (i.e.
- the present invention is implementable on any firmware installation, firmware flashing, firmware restoration, firmware updating, firmware deployment and the like.
- the present invention provides a method and system to enable the firmware upgrade even when "operation interfaces" are not available (i.e. when the device is not bridged correctly, etc.). This is done by providing a "maintenance interface” as a back up, where the maintenance interface creates and configures interfaces on the fly whenever problems are uncovered.
- FIG. 1 illustrates a schematic block diagram of a wireless device 100 connecting to a remote source 105 for updating firmware in accordance with one embodiment of the present invention.
- the wireless device 100 is connecting to the remote source 105 via a wireless connection 102, such as Wi-Fi or any mobile communication means.
- the remote source 105 uploads the new firmware to the wireless device 100.
- Such firmware upload may be pushed from the remote source 105 or it can also be pulled by the wireless device 100 'over-the-air', i.e. wirelessly.
- Examples of the wireless device 100 can be access points, servers and other related devices that need software or firmware updates.
- the embodiments provides a solution of upgrading firmware without the need for serial or JTAG i.e. wired connections, when the common network interfaces used for access the wireless device 100 fail to operate appropriately due to any error in the firmware upgrade.
- the wireless device 100 comprises a firmware upgrade module 120, a bridge module 140, a wireless interface module 160 and a maintenance module 180.
- the functions of these modules will be explained in more details in conjunctions with the descriptions describing the figures below.
- FIG. 2 illustrates a process of firmware upgrading on a wireless device
- the process comprises rebooting the device with upgraded firmware at step 201, performing maintenance check to ensure error in the upgraded firmware at step 202, determine if any error found at step 203, when no error found, continuing with normal operation at step 204 and when error found, setting an error log page as default GUI page to indicate error found during the firmware upgrade at step 205.
- a new firmware is to be stored on the wireless device.
- the process starts with user uploading a new firmware to the device and install the new firmware on the device.
- the wireless device 100 reboots itself at step 201 under the new firmware.
- the firmware installation and reboot is primarily handled by the Firmware Upgrade Module 120 of the wireless device 100.
- the wireless interface is also referred herein as Operational Interface Module', or simply Operational Interface', to differentiate with the other interfaces or modules that will be introduced later in the later flow (i.e. the Maintenance Interface).
- the firmware itself or error occurred during the installation process that prevents the operational interface module 160 to behave normally.
- the error may cause the bridge module 140 of the wireless device 100 unable to find the relevant operational interface such as the wireless interface module 160 and hence cannot bridge the interfaces in order to connect with remote devices wirelessly.
- the Operational Interface is not assigned the correct IP address and hence is not operational from the user side (i.e. user cannot connect to the SSID). When this happens, the user would not be able to use the wireless device 100 any more.
- the only way to access the wireless device 100 is to connect it through any physical connection available, such as Joint Test Action Group (JTAG) or serial connection.
- JTAG Joint Test Action Group
- the embodiments of the present invention provide a maintenance module 180 on the wireless device 100 to address this issue.
- the maintenance module 180 automatically starts the maintenance test sequence to perform maintenance check if any error found on the new firmware at step 202.
- the wireless device operates normally under the new firmware at step 204.
- the maintenance module 180 set an error log page as a default GUI (Graphical User Interface) page on the wireless device to display that error found during upgrading at step 205.
- FIG. 3 illustrates a maintenance check process in accordance with one embodiment of the present invention.
- the maintenance check process begins with a hardware test to check the physical interfaces, such as Peripheral Component Interconnect (PCI), and any other peripheral interfaces are functioning at step 301. If the wireless device passes the hardware test at step 302, the maintenance module 180 further checks if all required interfaces are available for operations at step 303. When the required interfaces are found at step 304, the maintenance module 180 verifies whether the available interface in in operational mode in step 305. The required interfaces includes operational interface such as wireless LAN interface, Ethernet interface, mesh interface, etc. During the operational mode verification, the maintenance module 180 will also attempt to bridge up the available interfaces.
- PCI Peripheral Component Interconnect
- the maintenance module further verifies if the required settings and configurations, such as IP address for a wireless interface module, is assigned to the required interfaces at step 307. If the IP address is assigned at step 308, the maintenance check process is concluded and the wireless device shall proceed to operate normally under the new firmware.
- step 302 if the hardware test fails, then the specific hardware failure is logged into a log file at step 312. The hardware test further triggers a physical indicator for example, an LED light or any other triggering mechanism to alert the user that there is a hardware failure at step 313. Thereafter, the maintenance check process ends accordingly. Any detected hardware failure also indicates that the firmware upgrading failure cannot be solved. [0039] Referring back to the step 304, if the interface does not exist, the maintenance module 180 will attempt to create the interface at step 314. Details of creation of the interface will be described later in details.
- the maintenance module 180 will configure the interface into an operational mode at step 316. Details of configurations of the interface will be described later in details.
- the maintenance module 180 shall assign an appropriate IP at step 318. Details of assignment of the IP address will be described later in details.
- FIG. 4 illustrates a process of creating an interface that is not found according to one embodiment of the present invention. This process is initiated when the interface is not found.
- the maintenance module 180 creates an interface, which is missing for the normal operational during the maintenance check 202 of FIG. 2.
- the interface and its settings and configurations can be created via executing available commands on the device. For example, to create a WLAN interface, a command "ifconfig wlanO up" can be executed on the device. If the interface is not bridged, a further command such as "brctl addifbrO wlanO" or the like.
- the brO, wlanO and others are examples of default interface that is required for the device to function normally.
- these interfaces shall be executed automatically by default. But when error occurs, these interfaces may not be executed as required. Therefore, these interfaces are being forced executing temporary to create the temporary interfaces during the temporary maintenance process. If the interface is created successfully at step 402, the error is logged into the log file at step 403, and the maintenance module 180 continues with the next step (i.e. step 305 of FIG. 3) to verify whether the interface is in operational mode. While logging the error, the log shall also indicate that the maintenance process needs to undergo the creation of the interface.
- the maintenance module 180 creates a maintenance interface at step 700. Details of creating maintenance interface will be described later in details.
- FIG. 5 illustrates a process of configuring interface according to one embodiment of the present invention. This process is initiated when the interface is verified to be under a non-operational mode.
- the maintenance module 180 configures the interface to be under the operational mode. If the interface is configured successfully under an operational mode in 502, the error is logged into the log file at step 503. The log shall record the error into the log file. Subsequently, the maintenance module 180 continues with the next step (i.e. step 307 of FIG. 3) to verify whether an IP address is assigned to the interface. [0045] If the interface found cannot be configured to be under an operational mode at step 502, the maintenance module 180 creates a maintenance interface at step 700. Details of creating maintenance interface will be described later in details.
- FIG. 6 illustrates a process of assigning IP address to the interface according to one embodiment of the present invention. This process is initiated when the interface is verified that IP address has not been assigned to the interface.
- the maintenance module 180 assigns an IP address to the interface.
- the maintenance module 180 may assign a default value as the IP address.
- the default value may be a predefined value, such as 192.168.30.1. This default value can be used to ping to the device, when DHCP fails to assign an appropriate IP or the previously set IP address for operational mode is not available.
- the error log is logged into the log file at step 603. The log shall record the error into the log file. Subsequently, the maintenance module 180 shall conclude the maintenance check.
- FIG. 7 illustrates a process of creating a maintenance interface according to one embodiment of the present invention. The process is initiated when the maintenance check fails in steps 304, 306 and 308. This process aims to create a temporary interface, herein referred as "maintenance interface" to ensure that the wireless device is operable after the firmware update. The maintenance interface is created in place of the operational interface, which is inoperable during the maintenance check sequence.
- the maintenance module 180 first creates a maintenance interface at step 701. If the maintenance interface is created successfully at step 702, a maintenance SSID is assigned to the wireless device, appended with dedicated error code at step 703. It indicates to the user/maintainer that the SSID is a maintenance SSID with a particular error detected. Subsequently, a maintenance IP address, i.e. default value, is also assigned at step 704 and the maintenance interface is configured into an operational mode at step 705. The maintenance interface, the maintenance SSID and the maintenance IP address are created for the purpose of maintenance only, thus a temporary creation for purpose of allowing the wireless device to be operable when error occurs during the firmware upgrade or installation. This stage may also refer herein as maintenance mode. At step 706, an error indicating that the device in the maintenance mode is logged into the log file.
- the maintenance SSID should be a unique SSID to avoid conflicting with other devices.
- Example of unique SSID would be SSID that is tied to the MAC address of the device.
- FIG. 8 illustrates a firmware upgrade process as an embodiment of the present invention.
- the process starts at upgrading new firmware onto the device at step 801.
- the firmware upgrade is carried out through typical wireless interface, such as the operational interface/SSID.
- the device is rebooted at step 802.
- the user/maintainer will check if the operational SSID is broadcasted and if it is appended with any error at step 803.
- the user/maintainer then checks the error code at step 804 and subsequently connects to the SSID at step 805.
- the log page is then automatically loaded as a default page of the GUI for the user/maintainer to easily refer to the related error and information. From here, the user/maintainer proceeds to fix the problem accordingly at step 806. In the case where the maintainer resides at a remote location, the maintainer may need to fix the problem remotely. Referring back to the step 803, if the SSID is not broadcasted with error appended, the maintenance process shall end and the device will function as normal. [0054] While specific embodiments have been described and illustrated, it is understood that many changes, modifications, variations, and combinations thereof could be made to the present invention without departing from the scope of the invention.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Circuits Of Receivers In General (AREA)
- Stored Programmes (AREA)
Abstract
The present invention provides wireless device (100) for installing a firmware, the wireless device (100) includes a firmware installation module (120) adapted for handing firmware installation on the device and rebooting the wireless device (100) after the firmware installation; a maintenance module (180) adapted for performing a maintenance check on a new firmware installed on the device for errors that could render the wireless device (100) inoperable, displaying error logs of detected errors, wherein the maintenance module (180) is operable to create and configure an operational interface (160) on the wireless device (100) that is required for normal operation, and resuming the normal operations on the wireless device (100) with the operational interface (160) created when the errors are detected. A method of providing firmware installation is also provided.
Description
Providing a Maintenance Interface on Wireless Device in the Event of
Firmware Upgrade Failure
Field of the Invention
[0001] The present invention relates to device's firmware update. More particularly, it relates to a system and method of providing a maintenance interface on a device for managing firmware updates or changes.
Background
[0002] Firmware is now available in all of the electronic and computing devices to facilitate and control their functionalities. In the modern electronics, the firmware can be stored on a non- volatile memory, which allows the firmware to be installed, changed or updated, commonly for fixing bugs, or adding features to the devices.
[0003] As firmware facilitates and controls the basic operations of the device, any errors or failures during the firmware installation or update may render the device unusable. Firmware update remotely and wirelessly is especially vulnerable to such failure.
[0004] For example, when error or problem is encounter during a remote firmware upgrading, such as wlanO or ethO interfaces are not bridged or SSID (Service Set Identifier) is missing, it could result in common network interfaces being unable to be used for normal operations. When this happens, client cannot connect to the SSID and there would not be any way but access the device on-site and wired the device in order to flash a new firmware.
[0005] This may not be practical especially once the devices are deployed in the field, and hence the devices need to be dismounted and opened up to flash a new firmware.
[0006] US8,041,988 discloses a method of updating firmware. To update firmware on the device, it requires two or more application images to be stored on the device. When a firmware update fails, the device roll back to the previous firmware. As two or more application images are required, it takes up the storage space of the device unnecessarily, when only one set of the application images is required.
[0007] US6,836,657 discloses an alternative solution for handling firmware upgrade. It discloses an error repair module that resides on the new firmware to be install. The recovery of the firmware update also requires backup data to restore the functionalities. However, not only that it requires extra storage space for storing the backup data, the new firmware is also required to carries the extra coding for the error repair module. Summary
[0008] In accordance with one aspect of the present invention, there is provided a device for installing a firmware. The device comprises a firmware installation module adapted for handing firmware installation module adapted for handing firmware installation on the device and rebooting the device after the firmware installation. The firmware installation module operationally performs an error check on the new firmware installed on the device for errors that could render the device inoperable, and when the error is found, the firmware installation module creates and configures an operational interface on the device that is required for normal operation. The device
further includes a maintenance module operationally creates and configures a maintenance interface for temporary allowing the device to resume the normal operations when the firmware installation module fails to created the operational interface, wherein the device displays a relevant error log of detected errors for debugging the device.
[0009] The maintenance module does not create and configure operational interface. Maintenance module creates and configures maintenance interface, which is only used when there is a problem detected. Once the Maintainer solves the problem, the device should operate as normal using the operational interface. [0010] In one embodiment, the maintenance check further comprises a hardware test on the device to detect for errors that could render the device inoperable, log the error found on the hardware test, and perform interface check on the device to detect for error that could render the device inoperable. The interface check include determining existence of the required interface, determining whether the required interface is in an operational mode, and determining whether the required interface has an IP address assigned, and when the required interface is not found, creating an operational interface on the device, when the required interface is not in the operational mode, turning the required interface in the operational mode, and when the IP address is not assigned, assigning an appropriated IP address to the required interface. [0011] In another embodiment, the maintenance check further verifies if the operational is created successfully, when the operational interface is not successfully created, the maintenance module creates a maintenance interface, assigning
maintenance SSID with dedicated error code appended, assigning a maintenance IP address and configuring the maintenance interface into operational mode.
[0012] In yet another embodiment, the maintenance module operationally turning on an operational mode and assigning an appropriate IP address when configuring the operational interface.
[0013] Each error found is being logged and displayed on the device.
[0014] In another aspect of the present invention, there is provided a method for providing a new firmware installation on a device. The method comprises installing the new firmware on the device; rebooting the device under the new firmware; performing a maintenance check on the new firmware for errors that could render the device inoperable; displaying error logs, if any, of the detected errors; creating an operational interface on the device that is required for normal operation of the device; configuring the operational interface with appropriate configurations for the device's normal operation; and resuming normal operations on the device with the interface created when the errors detected.
[0015] In one embodiment, the maintenance check comprises performing a hardware test on the device to detect for errors that could render the device inoperable; logging the error found on the hardware test; performing interface check on the device to detect for errors that could render the device inoperable; wherein the interface check include determining existence of the required interface, determining whether the required interface is in an operational mode, and determining whether the required interface has an IP address assigned, and when the required interface is not found, creating an operational interface on the device, when the require interface is not in the
operational mode, turning the required interface in the operational mode, and when the IP address is not assigned, assigning an appropriated IP address to the required interface.
[0016] In another embodiment, the method further comprises verifying if the operational interface is created successfully, when the operational interface is not successfully created, creating a maintenance interface, assigning maintenance SSID with dedicated error code appended, assigning a maintenance IP address and configuring the maintenance interface into operational mode.
[0017] Yet, configuring the operational interface further includes turning on an operational mode and assigning an appropriate IP address.
[0018] Each error found are logged and displayed on the device.
Brief Description of the Drawings
[0019] Preferred embodiments according to the present invention will now be described with reference to the figures accompanied herein, in which like reference numerals denote like elements;
[0020] FIG. 1 illustrates a schematic block diagram of a wireless device connecting to a remote source for updating firmware in accordance with one embodiment of the present invention;
[0021] FIG. 2 illustrates a process of firmware upgrading on a wireless device in accordance with one embodiment of the present invention;
[0022] FIG. 3 illustrates a maintenance check process in accordance with one embodiment of the present invention;
[0023] FIG. 4 illustrates a process of creating an interface that is not found according to one embodiment of the present invention; [0024] FIG. 5 illustrates a process of configuring interface according to one embodiment of the present invention;
[0025] FIG. 6 illustrates a process of assigning IP address to the interface according to one embodiment of the present invention;
[0026] FIG. 7 illustrates a process of creating a maintenance interface according to one embodiment of the present invention; and
[0027] FIG. 8 illustrates a firmware upgrade process as an embodiment of the present invention.
Detailed Description
[0028] Embodiments of the present invention shall now be described in detail, with reference to the attached drawings. It is to be understood that no limitation of the scope of the invention is thereby intended, such alterations and further modifications in the illustrated device, and such further applications of the principles of the invention as illustrated therein being contemplated as would normally occur to one skilled in the art to which the invention relates. [0029] The present invention concerns firmware update. A firmware update typically referred to as a process of replacing a currently installed firmware with a new
firmware on a device. It is however understood to a skilled person that all firmware update requires a source firmware to be uploaded on the device to be update, and thereafter execute the same to install the new firmware onto the device. The new firmware installation may be a fresh installation, partial installation (i.e. update only), real-time (or online) installation, network installation, attended/unattended installation, silent installation, headless installation, automated installation or the like. Therefore, the present invention is implementable on any firmware installation, firmware flashing, firmware restoration, firmware updating, firmware deployment and the like.
[0030] The present invention provides a method and system to enable the firmware upgrade even when "operation interfaces" are not available (i.e. when the device is not bridged correctly, etc.). This is done by providing a "maintenance interface" as a back up, where the maintenance interface creates and configures interfaces on the fly whenever problems are uncovered.
[0031] FIG. 1 illustrates a schematic block diagram of a wireless device 100 connecting to a remote source 105 for updating firmware in accordance with one embodiment of the present invention. The wireless device 100 is connecting to the remote source 105 via a wireless connection 102, such as Wi-Fi or any mobile communication means. The remote source 105 uploads the new firmware to the wireless device 100. Such firmware upload may be pushed from the remote source 105 or it can also be pulled by the wireless device 100 'over-the-air', i.e. wirelessly. Examples of the wireless device 100 can be access points, servers and other related devices that need software or firmware updates. Through the various modules of the wireless device 100, which will be illustrated below, the embodiments provides a solution of upgrading firmware without the need for serial or JTAG i.e. wired
connections, when the common network interfaces used for access the wireless device 100 fail to operate appropriately due to any error in the firmware upgrade.
[0032] The wireless device 100 comprises a firmware upgrade module 120, a bridge module 140, a wireless interface module 160 and a maintenance module 180. The functions of these modules will be explained in more details in conjunctions with the descriptions describing the figures below.
[0033] FIG. 2 illustrates a process of firmware upgrading on a wireless device
100 in accordance with one embodiment of the present invention. The process comprises rebooting the device with upgraded firmware at step 201, performing maintenance check to ensure error in the upgraded firmware at step 202, determine if any error found at step 203, when no error found, continuing with normal operation at step 204 and when error found, setting an error log page as default GUI page to indicate error found during the firmware upgrade at step 205.
[0034] Before the firmware upgrading, a new firmware is to be stored on the wireless device. The process starts with user uploading a new firmware to the device and install the new firmware on the device. Once the new firmware installation is completed, the wireless device 100 reboots itself at step 201 under the new firmware. The firmware installation and reboot is primarily handled by the Firmware Upgrade Module 120 of the wireless device 100. Under a usual circumstance, once the wireless device 100 has restarted itself, it will automatically connect to the wireless interface module 160 as usual. For the purpose of this description, the wireless interface is also referred herein as Operational Interface Module', or simply Operational Interface', to
differentiate with the other interfaces or modules that will be introduced later in the later flow (i.e. the Maintenance Interface).
[0035] However, in some cases, there can be error in the firmware itself or error occurred during the installation process that prevents the operational interface module 160 to behave normally. For example, the error may cause the bridge module 140 of the wireless device 100 unable to find the relevant operational interface such as the wireless interface module 160 and hence cannot bridge the interfaces in order to connect with remote devices wirelessly. Another example is that the Operational Interface is not assigned the correct IP address and hence is not operational from the user side (i.e. user cannot connect to the SSID). When this happens, the user would not be able to use the wireless device 100 any more. The only way to access the wireless device 100 is to connect it through any physical connection available, such as Joint Test Action Group (JTAG) or serial connection. These physical connections are typically provided on the wireless devices for debugging the devices when it malfunctions. Some of these connections may further require removing the casing of the device to reveal the connection terminals. This poses a problem when the wireless device is mounted high on a pole or somewhere not easily accessible by the users. Further, debugging the wireless device may require special skills and knowledge to fix the wireless device appropriately. [0036] Accordingly, the embodiments of the present invention provide a maintenance module 180 on the wireless device 100 to address this issue. Referring back to the FIG. 2, once the wireless device 100 is rebooted, the maintenance module 180 automatically starts the maintenance test sequence to perform maintenance check if any error found on the new firmware at step 202. When no error is found in step 203,
the wireless device operates normally under the new firmware at step 204. When error is detected on the new firmware in any of the check sequence at the step 203, the maintenance module 180 set an error log page as a default GUI (Graphical User Interface) page on the wireless device to display that error found during upgrading at step 205.
[0037] FIG. 3 illustrates a maintenance check process in accordance with one embodiment of the present invention. The maintenance check process begins with a hardware test to check the physical interfaces, such as Peripheral Component Interconnect (PCI), and any other peripheral interfaces are functioning at step 301. If the wireless device passes the hardware test at step 302, the maintenance module 180 further checks if all required interfaces are available for operations at step 303. When the required interfaces are found at step 304, the maintenance module 180 verifies whether the available interface in in operational mode in step 305. The required interfaces includes operational interface such as wireless LAN interface, Ethernet interface, mesh interface, etc. During the operational mode verification, the maintenance module 180 will also attempt to bridge up the available interfaces. If the required interface is verified to be under an operational mode at step 306, the maintenance module further verifies if the required settings and configurations, such as IP address for a wireless interface module, is assigned to the required interfaces at step 307. If the IP address is assigned at step 308, the maintenance check process is concluded and the wireless device shall proceed to operate normally under the new firmware.
[0038] Returning to step 302, if the hardware test fails, then the specific hardware failure is logged into a log file at step 312. The hardware test further triggers
a physical indicator for example, an LED light or any other triggering mechanism to alert the user that there is a hardware failure at step 313. Thereafter, the maintenance check process ends accordingly. Any detected hardware failure also indicates that the firmware upgrading failure cannot be solved. [0039] Referring back to the step 304, if the interface does not exist, the maintenance module 180 will attempt to create the interface at step 314. Details of creation of the interface will be described later in details.
[0040] Further, if the interface is not in an operational mode at step 306, the maintenance module 180 will configure the interface into an operational mode at step 316. Details of configurations of the interface will be described later in details.
[0041] Further, if the IP address is not assigned, the maintenance module 180 shall assign an appropriate IP at step 318. Details of assignment of the IP address will be described later in details.
[0042] FIG. 4 illustrates a process of creating an interface that is not found according to one embodiment of the present invention. This process is initiated when the interface is not found. At step 401, the maintenance module 180 creates an interface, which is missing for the normal operational during the maintenance check 202 of FIG. 2. In one embodiment, the interface and its settings and configurations can be created via executing available commands on the device. For example, to create a WLAN interface, a command "ifconfig wlanO up" can be executed on the device. If the interface is not bridged, a further command such as "brctl addifbrO wlanO" or the like. The brO, wlanO and others are examples of default interface that is required for the device to function normally. It is placed in volatile memory once the device is started
or booted up. Under a normal operation of the device, these interfaces shall be executed automatically by default. But when error occurs, these interfaces may not be executed as required. Therefore, these interfaces are being forced executing temporary to create the temporary interfaces during the temporary maintenance process. If the interface is created successfully at step 402, the error is logged into the log file at step 403, and the maintenance module 180 continues with the next step (i.e. step 305 of FIG. 3) to verify whether the interface is in operational mode. While logging the error, the log shall also indicate that the maintenance process needs to undergo the creation of the interface.
[0043] If the interface cannot be created at step 402, the maintenance module 180 creates a maintenance interface at step 700. Details of creating maintenance interface will be described later in details.
[0044] FIG. 5 illustrates a process of configuring interface according to one embodiment of the present invention. This process is initiated when the interface is verified to be under a non-operational mode. At step 501, the maintenance module 180 configures the interface to be under the operational mode. If the interface is configured successfully under an operational mode in 502, the error is logged into the log file at step 503. The log shall record the error into the log file. Subsequently, the maintenance module 180 continues with the next step (i.e. step 307 of FIG. 3) to verify whether an IP address is assigned to the interface. [0045] If the interface found cannot be configured to be under an operational mode at step 502, the maintenance module 180 creates a maintenance interface at step 700. Details of creating maintenance interface will be described later in details.
[0046] FIG. 6 illustrates a process of assigning IP address to the interface according to one embodiment of the present invention. This process is initiated when the interface is verified that IP address has not been assigned to the interface. At step 601, the maintenance module 180 assigns an IP address to the interface. The maintenance module 180 may assign a default value as the IP address. The default value may be a predefined value, such as 192.168.30.1. This default value can be used to ping to the device, when DHCP fails to assign an appropriate IP or the previously set IP address for operational mode is not available. Once the IP address is successfully assigned at step 602, the error log is logged into the log file at step 603. The log shall record the error into the log file. Subsequently, the maintenance module 180 shall conclude the maintenance check.
[0047] If the IP address cannot be assigned at step 602, the maintenance module
180 creates a maintenance interface at step 700. Details of creating maintenance interface will be described later in details. [0048] Again, continuing from Figure 3, next maintenance check is on the IP address of the interface. If the interface has not been assigned with IP address, proceed to Figure 6. Else this concludes the maintenance check sequence.
[0049] It is understood that there may be more check sequences provided in the maintenance check to ensure that the device operates properly. In another embodiment, a separate check sequence can also be provided to the step 305 of FIG. 3 to check if interfaces are correctly bridged. Other check sequences to verify all functionalities of the required interfaces, such as VLAN can also be desired.
[0050] FIG. 7 illustrates a process of creating a maintenance interface according to one embodiment of the present invention. The process is initiated when the maintenance check fails in steps 304, 306 and 308. This process aims to create a temporary interface, herein referred as "maintenance interface" to ensure that the wireless device is operable after the firmware update. The maintenance interface is created in place of the operational interface, which is inoperable during the maintenance check sequence. The maintenance module 180 first creates a maintenance interface at step 701. If the maintenance interface is created successfully at step 702, a maintenance SSID is assigned to the wireless device, appended with dedicated error code at step 703. It indicates to the user/maintainer that the SSID is a maintenance SSID with a particular error detected. Subsequently, a maintenance IP address, i.e. default value, is also assigned at step 704 and the maintenance interface is configured into an operational mode at step 705. The maintenance interface, the maintenance SSID and the maintenance IP address are created for the purpose of maintenance only, thus a temporary creation for purpose of allowing the wireless device to be operable when error occurs during the firmware upgrade or installation. This stage may also refer herein as maintenance mode. At step 706, an error indicating that the device in the maintenance mode is logged into the log file.
[0051] The maintenance SSID should be a unique SSID to avoid conflicting with other devices. Example of unique SSID would be SSID that is tied to the MAC address of the device.
[0052] If the maintenance interface cannot be created at the step 702, such incident will be logged into the log file at step 707, and also triggers the physical indicator to indicate that the maintenance interface failed to be created at step 708.
[0053] FIG. 8 illustrates a firmware upgrade process as an embodiment of the present invention. The process starts at upgrading new firmware onto the device at step 801. The firmware upgrade is carried out through typical wireless interface, such as the operational interface/SSID. Once the new firmware is installed on the device, the device is rebooted at step 802. Once the device rebooted, the user/maintainer will check if the operational SSID is broadcasted and if it is appended with any error at step 803. The user/maintainer then checks the error code at step 804 and subsequently connects to the SSID at step 805. The log page is then automatically loaded as a default page of the GUI for the user/maintainer to easily refer to the related error and information. From here, the user/maintainer proceeds to fix the problem accordingly at step 806. In the case where the maintainer resides at a remote location, the maintainer may need to fix the problem remotely. Referring back to the step 803, if the SSID is not broadcasted with error appended, the maintenance process shall end and the device will function as normal. [0054] While specific embodiments have been described and illustrated, it is understood that many changes, modifications, variations, and combinations thereof could be made to the present invention without departing from the scope of the invention.
Claims
1. A wireless device (100) for installing a firmware, the device comprising:
a firmware installation module (120) adapted for handing firmware installation on the device and rebooting the device after the firmware installation,
wherein the firmware installation module having a error check module for operationally performing an error check on the new firmware installed on the wireless device (100) for errors that could render the device inoperable, and
the firmware installation module creates and configure an operational interface (160) when the error is found on the wireless device (100) that is required for normal operation; and
a maintenance module (180) operationally creates and configures a maintenance interface for temporary allowing the device to resume the normal operations when the firmware installation module fails to create the operational interface (160),
wherein the device displays a relevant error log of detected errors for debugging the wireless device (100).
2. The wireless device (100) according to claim 1, wherein the error check module further operationally performs a hardware test on the wireless device (100) to detect for hardware errors that could render the device inoperable, logs error when hardware error is found on the hardware test, and checks the interfaces of the wireless device (100) to detect for error that could render the device inoperable,
wherein the interface check includes determining existence of the required interface, determining whether the required interface is in an operational mode, and determining whether the required interface has an IP address assigned,
wherein when the required interface (160) is not found, creating an operational interface on the wireless device (100), when the required interface is not in the operational mode, turning the required interface in the operational mode, and when the IP address is not assigned, assigning an appropriated IP address to the required interface.
3. The wireless device (100) according to claim 2, wherein the maintenance interface is turned into an operational mode with a maintenance SSID with dedicated error code appended, and a maintenance IP address assigned.
4. The wireless device (100) according to claim 2, wherein the firmware installation module (120) operationally turning on an operational mode and assigning an appropriate IP address when configuring the operational interface (160).
5. The wireless device (100) according to claim 1, wherein each error found is being logged (205, 312, 403, 503, 603, 706, 707) and displayed on the wireless device
(100).
6. A method for providing a new firmware installation on a wireless device (100), the method comprising:
installing the new firmware on the wireless device (100);
rebooting (201) the wireless device (100) under the new firmware;
performing (202) a maintenance check on the new firmware for errors that could render the wireless device (100) inoperable;
displaying (205) error logs, if any, of the detected errors;
creating (401) an operational interface on the wireless device (100) that is required for normal operation of the wireless device (100);
configuring (501, 601) the operational interface with appropriate configurations for the wireless device's normal operation
providing (701) a maintenance module (180) with appropriate configurations assigned for the wireless device's normal operation if the operational interface is failed to be created; and
resuming (204) normal operations on the device with the interface created when the errors detected.
7. The method according to claim 6, wherein the maintenance check comprising: performing (301) a hardware test on the wireless device to detect for errors that could render the device inoperable;
logging (312) the error found on the hardware test;
performing interface check on the wireless device to detect for errors that could render the wireless device inoperable;
wherein the interface check include determining (303) existence of the required interface, determining (305) whether the required interface is in an operational mode, and determining (307) whether the required interface has an IP address assigned,
wherein when the required interface is not found, creating (401) an operational interface on the wireless device (100), when the require interface is not in the operational mode, turning the required interface in the operational mode, and when the IP address is not assigned, assigning an appropriated IP address to the required interface.
8. The method according to claim 6, wherein the maintenance module (180) operationally creating a maintenance interface, assigning maintenance SSID with dedicated error code appended, assigning a maintenance IP address and configuring the maintenance interface into operational mode.
9. The method according to claim 6, wherein configuring (501, 601) the operational interface includes turning on an operational mode and assigning an appropriate IP address.
10. The method according to claim 6, further comprising logging (205, 312, 403, 503, 603, 706, 707) each error found and displaying the error on the wireless device (100).
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
MYPI2013001692A MY163853A (en) | 2013-05-09 | 2013-05-09 | Providing maintenance interface on wireless device in the event of firmware upgrade failure |
MYPI2013001692 | 2013-05-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014182159A1 true WO2014182159A1 (en) | 2014-11-13 |
Family
ID=51257548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/MY2014/000090 WO2014182159A1 (en) | 2013-05-09 | 2014-04-25 | Providing a maintenance interface on wireless device in the event of firmware upgrade failure |
Country Status (2)
Country | Link |
---|---|
MY (1) | MY163853A (en) |
WO (1) | WO2014182159A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677427A (en) * | 2016-01-12 | 2016-06-15 | 浪潮通用软件有限公司 | Module upgrading method and device |
CN107463471A (en) * | 2017-07-21 | 2017-12-12 | 北京小米移动软件有限公司 | The method and device of diagnosis terminal screen |
CN107580040A (en) * | 2017-08-29 | 2018-01-12 | 聚好看科技股份有限公司 | The method and apparatus that a kind of communication module in intelligent household terminal upgrades |
US20200364135A1 (en) * | 2019-05-14 | 2020-11-19 | University Of Florida Research Foundation, Inc. | Automated security analysis of baseband firmware |
WO2023249638A1 (en) * | 2022-06-24 | 2023-12-28 | Hewlett-Packard Development Company, L.P. | Restoring wireless network connectivity |
EP4428678A1 (en) * | 2023-03-08 | 2024-09-11 | Juniper Networks, Inc. | Confirming installation of new network device software for a network device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040092255A1 (en) * | 2002-11-12 | 2004-05-13 | De Ji | Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade |
US20060280150A1 (en) * | 2005-06-13 | 2006-12-14 | Qualcomm Incorporated | Apparatus and methods for managing firmware verification on a wireless device |
-
2013
- 2013-05-09 MY MYPI2013001692A patent/MY163853A/en unknown
-
2014
- 2014-04-25 WO PCT/MY2014/000090 patent/WO2014182159A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040092255A1 (en) * | 2002-11-12 | 2004-05-13 | De Ji | Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade |
US20060280150A1 (en) * | 2005-06-13 | 2006-12-14 | Qualcomm Incorporated | Apparatus and methods for managing firmware verification on a wireless device |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677427A (en) * | 2016-01-12 | 2016-06-15 | 浪潮通用软件有限公司 | Module upgrading method and device |
CN107463471A (en) * | 2017-07-21 | 2017-12-12 | 北京小米移动软件有限公司 | The method and device of diagnosis terminal screen |
CN107580040A (en) * | 2017-08-29 | 2018-01-12 | 聚好看科技股份有限公司 | The method and apparatus that a kind of communication module in intelligent household terminal upgrades |
CN107580040B (en) * | 2017-08-29 | 2020-11-03 | 聚好看科技股份有限公司 | Method and device for upgrading communication module in intelligent household terminal |
US20200364135A1 (en) * | 2019-05-14 | 2020-11-19 | University Of Florida Research Foundation, Inc. | Automated security analysis of baseband firmware |
US11663338B2 (en) * | 2019-05-14 | 2023-05-30 | University Of Florida Research Foundation, Incorporated | Automated security analysis of baseband firmware |
WO2023249638A1 (en) * | 2022-06-24 | 2023-12-28 | Hewlett-Packard Development Company, L.P. | Restoring wireless network connectivity |
EP4428678A1 (en) * | 2023-03-08 | 2024-09-11 | Juniper Networks, Inc. | Confirming installation of new network device software for a network device |
Also Published As
Publication number | Publication date |
---|---|
MY163853A (en) | 2017-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014182159A1 (en) | Providing a maintenance interface on wireless device in the event of firmware upgrade failure | |
EP2456257B1 (en) | Method and system for upgrading wireless data card | |
TWI627527B (en) | Method for recovering a baseboard management controller and baseboard management controller | |
WO2019105221A1 (en) | Energy storage system startup method and energy storage device | |
TWI386847B (en) | Method of safe and recoverable firmware update and device using the same | |
CN110928743B (en) | Computing system, automatic diagnosis method and medium storing instructions thereof | |
JP4680896B2 (en) | Network device and method for monitoring startup of such devices | |
TWI533216B (en) | Operating system updating method | |
US9471300B2 (en) | Wireless firmware upgrades to an alarm security panel | |
US20110099544A1 (en) | Information processing apparatus and system setting method | |
US20210294593A1 (en) | Method, apparatus, device, and storage medium for upgrading vehicle-mounted tbox | |
CN109101247B (en) | Method and device for installing driver and server | |
CN102447732A (en) | Method for intelligent configuration of host computer embedded environment during BMC (Baseboard Management Controller) development | |
TW201301133A (en) | Firmware repairable customer premises equipment and firmware repairing method thereof | |
CN113238864A (en) | Python-based MongoDB cluster deployment method and system | |
CN114138587A (en) | Reliability verification method, device and equipment for upgrading server power firmware | |
CN106775590B (en) | Method for updating BIOS (basic input/output system) firmware of mainboard by BMC (baseboard management controller) | |
TWI801730B (en) | Server with system setting data synchronization function | |
CN103731301A (en) | Dual backup achieving method of remote network system | |
CN112463466B (en) | Computer testing method | |
US20110173428A1 (en) | Computer system, method for booting a computer system, and method for replacing a component | |
CN114124684B (en) | Method for realizing zero-contact full-automatic deployment of network elements by using USB flash disk | |
CN110622132B (en) | Firmware over-the-air (FOTA) update for building services | |
CN111078452A (en) | BMC firmware image recovery method and device | |
WO2016000355A1 (en) | Terminal upgrade method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14744966 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14744966 Country of ref document: EP Kind code of ref document: A1 |