Details
Details

Network and User Initiated Firmware Update of Mobile Terminal

Abbreviations

DM - Device Management
FUMO - Firmware Update Management Object

 

What is FUMO?

FUMO is the OMA standardisation for updating the firmware of the mobile clients over the air. FUMO uses the OMA DM protocol for this purpose.  The FUMO use case is a non-application software download and the process of delivering new executable code to a device to modify its operation or performance.

Firmware update activities comprise interactions between a device, a DM server and, optionally, a download server. A user, the device, or the server may initiate it. In practice, this means that the user can initiate a firmware update, e.g. in case he knows the new firmware could potentially improve performance of his device, or that the administrator of the network (the operator) can initiate such process if this is required for his network and client terminal management.  A management tree object, defined for firmware updates is used for setting up parameters and update packages necessary for conducting a firmware update. The download of the update package can be done via OMA DM or via alternative download methods like OMA Download. The architecture supports the following activities in order to complete a firmware update:

  1. Firmware Update Initiation
  2. Device Information Exchange
  3. Update Package Download
  4. Update Package Installation
  5. Notification of Firmware Update

The precondition for a firmware update is that the client needs to be configured for accepting the firmware update package, firmware reconfiguration and that the server includes the non-application software package and download capabilities. The client or server can initiate the firmware update process using the standard protocol. This protocol includes device discovery, capability exchange, authentication, authorization and security and other software download functions.  The result is notified to the user.

The Architecture diagram for FUMO (taken from OMA Specifications) is as shown below:

 

 

The FUMO Message Flow

A FUMO makes use of 3 different message flows to achieve the firmware update in the client. These 3 methods use different nodes in the FUMO management tree. These methods are:

  • OMA DM Download of firmware package
  • Alternate Download of firmware package
  • OMA DL Download of firmware package

Below is an example showing a message flow diagram of the OMA DM Download of firmware package:

 

Testing of the FUMO using OMA specified test cases

The FUMO 1.0 specification includes also a test criteria, known as FUMO IOP test cases (OMA-ETS-FUMO-V1_0-20061215-C.pdf). setcom has developed the 16 IOP test cases defined by OMA and the test-suite supports all three different download methods. As FUMO is based on the OMA DM protocol, setcom also followed the development of FUMO after the OMA DM and has made the test software available as an add-on to the DM test software. So the DM test options are: 

  • Test case package 1 for the OMA DM 1.2 conformance testing;
  • Test case package 2 for the FUMO 1.0 IOP testing. Execution of the FUMO test cases does require the support from the manufacture/provider. The Manufacture/Provider needs to provide the correct update packages required for the client.

The OMA test specification for FUMO IOP includes different test scenarios like:

  • Checking the FUMO management tree in the client
  • Firmware update using different methods like OMA DM Protocol, Alternate Download and OMA Download
  • Firmware update using OMA DM large object
  • User initiated firmware update process
  • Negative tests including bad URL, missing packages, corrupted packages
  • Incomplete download of packages

The Operators play an important role in the FUMO functionality. They are the one providing update packages via their DM or Download servers. As the number of mobile clients in the market is growing, it will be a tedious effort to provide a new service or a bug fix to the particular firmware. So the operator needs an easy way to update the firmware in the client over the air. They use FUMO for this process, therefore this will be the future for firmware updates. By execution of the FUMO test cases, the provider verifies the client’s capability to work with their servers, checks the firmware version in the client and then updates the client using FUMO.

Manufactures also need to verify their FUMO client functionality and it’s capability to work with different FUMO servers.

The setcom FUMO Test Campaign picture: