This feature is applicable only for COPE devices where the organization has devices that are manufactured specifically for them (OEM scenarios).
Many organizations manufacture devices to suite their business requirement and to improve the efficiency and effectiveness of work carried out by their employees. For example, if it's an organization related to media, they require mobile devices that have a good voice and video recording capabilities so that employees can use it in their day to day work. These devices may include a firmware and you are able to upgrade the firmware to a newer version over-the-air (OTA) with WSO2 EMM. For more information on OTA firmware upgrading, see OTA updates.
Configuring WSO2 EMM to handle firmware upgrades
Enable the Android system service application. For more information, see Integrating WSO2 EMM and the system service application.
Follow the configuration steps given below to upgrade the firmware of your device.
Configure the
build.prop
file (click here for a sample build.prop file) by updating the release version. The version you provide has to be greater than the previous version of the firmware, for the upgrade to take place.ro.build.version.release=<VERSION>
- Host the files mentioned below in your OTA server, under the sub directory with your device name.
build.prop
file.<DEVICE_NAME>.ota.zip
file, which is the firmware upgrade package file.The value defined for the
android.os.Build.PRODUCT
parameter needs to given as the<DEVICE_NAME>
. This information is available on most Android devices or you can get it by running a sample application that will print theandroid.os.Build.PRODUCT
parameter value in the log.
c1ktt
, the hosted file URLs will be of the following format:
Example:http://<HOST>:<PORT>/<SUB_DIRECTORY>/build.prop
http://10.10.10.227:8000/c1ktt/build.prop
http://<HOST>:<PORT>/<SUB_DIRECTORY>/<DEVICE_NAME>.ota.zip
Example:http://10.10.10.227:8000/c1ktt/c1ktt.ota.zip
Configure the following fields in the
org.wso2.emm.system.service.utils.Constants
class.public static final String DEFAULT_OTA_SERVER_ADDRESS = "<OTA_SERVER_ADDRESS>"; public static final String DEFAULT_OTA_SERVER_PROTOCOL = "http"; public static final int DEFAULT_OTA_SERVER_PORT = <PORT>; public static final String DEFAULT_OTA_SERVER_SUB_DIRECTORY = "<SUB_DIRECTORY>"; public static final int REQUIRED_BATTERY_LEVEL_TO_FIRMWARE_UPGRADE = <REQUIRED_BATTERY_LEVEL>;
Recommended device battery level should be 50% to safely complete an upgrade. If it's below the level you mention under above configuration, upgrade will not continue until the device battery is charged up to that level.
Example:
public static final String DEFAULT_OTA_SERVER_ADDRESS = "10.10.10.227"; public static final String DEFAULT_OTA_SERVER_PROTOCOL = "http"; public static final int DEFAULT_OTA_SERVER_PORT = 8000; public static final String DEFAULT_OTA_SERVER_SUB_DIRECTORY = "c1kt"; public static final int REQUIRED_BATTERY_LEVEL_TO_FIRMWARE_UPGRADE = 50;
Scheduling firmware upgrades
Android firmware upgrades can be scheduled via the WSO2 EMM console or using the REST API.