Menu

Force a firmware update (Version 2)

After registering for the Knox E-FOTA service and seeing what firmware versions are available, you are ready to update device firmware. You can either:

  • Force a firmware update within a specific time period, as described here.
  • Let devices update their firmware during their regular firmware update checks, as described in Set the allowed firmware version.

This section uses sample XML code to demonstrate how to force a firmware update using Knox E-FOTA.

Request

To force a firmware update, send an HTTP POST request to this URL:

https://eu-api.samsungknox.com/b2bfota/v2/forceUpdate

Body

In the body of the HTTP request, provide the following information:

  • mdmId—This identifies your company among other partners in our KPP program.
  • customerId—This identifies one of your enterprise customers that will use the Knox E-FOTA service.
  • license—This tracks customer usage of the Knox E-FOTA service for billing purposes.
    NOTE—While trying Knox E-FOTA, the development key is sent to you by email in the following format: "EFOTA1-fff555-ggg666-hh77". During commercial deployment, this license is purchased.
  • deviceModelName—The model number of the device you want to get the firmware info for.
  • salesCode—The consumer software customization code for the device carrier. This was previously called carrierCodeon Knox E-FOTA v1. The sales code is information obtained from the device.
  • targetFirmwareVersion—The target firmware version to update on to the device.
    NOTE—To force update to the latest version available, set to Latest.
  • networkType—he IT admin can set the network type for when the device will accept the push update.
    NOTE—If set to "WIFIONLY" and the device is on a cellular network, the device will ignore the push force update until device connects to Wi-Fi
  • deviceList—Device list of up to 100 devices for each API call. Contains serialNumber.
  • serialNumber—An 11 digit Samsung device serial number. The serial number is information obtained from the device.

You encode this info into REST API calls to the Knox E-FOTA server, and also in the Android API call used to set the allowed firmware version on a device.

For details about each of these elements, see the API reference for Knox E-FOTA v2's forceUpdate.

Example

Below is a sample request that pushes a force update to a device list of 3 devices, to be pushed while the device is connected to any network.

We've set the target firmware version to the following:

  • ap_version (PDA version)—G739FXXU0APE3
  • csc_version (Phone/Modem version)—G739FOXA0NPE3
  • cp_version (CP version)—G930FXXU1DQB1

{{ "B2bForceUpdateVO": { "mdmId": "d1e2f3g4h5", "customerId": "EEEE4444-FF55-AA66-BB77-CCCCCC888888", "license": "EFOTA1-fff555-ggg666-hh77", "deviceModelName": "GT-S8500AA", "salesCode": "QA4", "targetFirmwareVersion": "G739FXXU0APE3/G739FOXA0NPE3/G930FXXU1DQB1", "networkType": "ANY", "deviceList": { "serialNumber": [ "C08900518981610", "C78987898789878", "C11111111111111" ] } } }

<B2bForceUpdateVO> <mdmId>d1e2f3g4h5</mdmId> <customerId>EEEE4444-FF55-AA66-BB77-CCCCCC888888</customerId> <license>EFOTA1-fff555-ggg666-hh77</license> <deviceModelName>GT-S8500AA</deviceModelName> <salesCode>QA4</salesCode> <targetFirmwareVersion>G739FXXU0APE3/G739FOXA0NPE3/G739FXXU0APE3</targetFirmwareVersion> <networkType>ANY</networkType> <deviceList> <serialNumber>C08900518981610</serialNumber> <serialNumber>C78987898789878</serialNumber> <serialNumber>C11111111111111</serialNumber> </deviceList> </B2bForceUpdateVO>

Response

If the API call is successful, the Knox E-FOTA server returns HTTP/1.1 200 OK with these XML elements in the body:

<B2bForceUpdateVO> <forceUpdateId>12310180309-JEA12345678</forceUpdateId> </B2bForceUpdateVO>

The forceUpdateId is valid for 3 months and can be used with the API calls: forceUpdateDetail and forceUpdateSummary to obtain additional force update details.

For details about each of these elements, see the API reference for Knox E-FOTA v2's forceUpdate.

Tutorial Progress

You've completed 6/6 steps! See the next tutorial.