Firmware Update
Overview
Update the devices to the target firmware before applying the Configuration. An update can be installed from a local OTA package pushed to the device by your MDM, as described on this page, or downloaded automatically by Arrow FOTA.
Espresso, the Datalogic package of device-specific drivers and APIs that runs on top of the Android firmware, is distributed and installed the same way as firmware. Every step on this page applies to both firmware and Espresso OTA packages.
Datalogic Arrow FOTA automatically downloads and installs firmware and Espresso updates on the device, with no OTA package to host or push. It requires a Shield license and can be configured from any MDM through the Firmware Update settings of OEMConfig, including the target firmware version, polling windows, and release date delay.
Firmware packages
Firmware and Espresso OTA packages are only available from the Datalogic Shield Firmware Website. Sign in, select your device model, and download the package for the target build. Downloading firmware requires an active Datalogic Shield contract.
Datalogic releases firmware with the latest Android security patches every month. Unless the devices are updated by Arrow FOTA, plan to download each new release and deploy it through your MDM once a month. To be notified when new firmware is released, subscribe in the Notifications section of your Datalogic developer account.
Each firmware release is available as two types of OTA package:
- Full: Contains the complete firmware. It can be installed over any earlier build for the same model.
- Incremental (INCR): Contains only the changes from one specific build to the next. It is much smaller than a full package, but it must match the device model and the build currently installed on the device.
Before you begin
- Check the model and build currently installed on the devices in your MDM's device inventory, and download the matching package. Packages are specific to the device variant, such as WLAN (Wi-Fi) vs. WWAN (cellular) and ROW (rest of world) vs. US.
- Charge the devices or place them on a charger. Updates can be blocked when the battery is low.
- Make sure the devices have enough free storage for the OTA package, plus room to install it.
- Test the update on a small pilot group of devices before rolling it out to all devices.
Reset type
The firmware update can optionally reset the device after the update completes:
| Reset type | Result |
|---|---|
| None | The device keeps all its data, apps, and settings. This is the recommended option. |
| Enterprise | Erases all user data and apps, but keeps the enterprise partition. |
| Factory | Erases all data on the device, including the enterprise partition. |
Both the Enterprise and Factory reset types remove the device's MDM enrollment. Devices registered for zero-touch enrollment re-enroll automatically once connected to the internet after the reset; all other devices must be enrolled again manually.
Procedure
- SOTI MobiControl
- Microsoft Intune
- SureMDM
- Workspace ONEWorkspace ONE (formerly AirWatch)
These steps are based on SOTI's Creating a Package guide and its Datalogic firmware upgrade guide. A SOTI package copies the firmware OTA package to the device, then runs a post-install script that starts the update.
Most full firmware packages are larger than 2 GB, so a SOTI package is the recommended method. If your OTA package is under 2 GB, such as an incremental (INCR) package, you can use a File Sync policy instead.
Create the package
- Sign in to the SOTI MobiControl web console.
- Open the main menu and select Packages.
- Select New Package.
- Select Create.
- Select Android as the platform.
- Enter a name for the package, such as
Datalogic Firmware Update, and a version, such as the firmware build number. - Select Next.
- On the Files tab, select Add.
- Browse to, or drag in, the firmware OTA ZIP file.
- Set File Destination to
/sdcard/Download/. - Select Save.
Add the update script
-
On the Scripts tab, select Add.
-
Select Post-Install Script.
-
Enter the following command, replacing
ota.zipwith the actual firmware filename:sendintent -s "intent:#Intent;component=com.datalogic.systemupdate/com.datalogic.systemupdate.SystemUpgradeService;i.action=2;S.path=/sdcard/Download/ota.zip;i.reset=0;i.reboot=1;i.force_update=1;end" -
Select Save.
-
Select Next.
-
Select Publish.
The script's parameters, from the Datalogic Android SDK:
| Parameter | Values |
|---|---|
action | 2: Request the firmware update. Required. |
path | Full path to the OTA package on the device. Must match where the file was copied. |
reset | 0: None (recommended), 1: Factory, 2: Enterprise. See Reset type. |
reboot | 1: Reboot after the update, 0: Don't reboot. |
force_update | 1: Install even if the same or an older build is installed, 0: Install only a newer build. |
wipe_esim_profiles | Optional, SDK 1.46 and later. 1: Delete all eSIM profiles after the update, 0: Keep them. |
Assign the package with a profile
These steps are based on SOTI's Creating a Profile guide.
- Navigate to Policies > Profiles.
- Select New Profile.
- Select Android Enterprise as the platform.
- Enter a name for the profile, such as
Datalogic Firmware Update. - Open the Packages tab.
- Select Add.
- Select the
Datalogic Firmware Updatepackage. - Select Add to Profile.
- Select Save and Assign.
- Select the target devices or device groups.
- Select Assign.
- Verify that the device completes the update and reports the expected build number.
Alternative: File Sync policy (packages under 2 GB)
These steps are based on SOTI's Using File Sync Policies guide. SOTI File Sync doesn't support files larger than 2 GB.
- Navigate to Policies > File Sync.
- Select New File Sync Policy.
- Select Android as the device family.
- Enter a name for the policy, such as
Datalogic Firmware Update, and select Next. - On the Configure tab, select Download from Server.
- In Server File/Folder Name, select File Manager and upload the firmware OTA ZIP file.
- In Device File/Folder Name, enter
/sdcard/Download/ota.zip, using the actual firmware filename if different. - Select Next.
- On the Scripts tab, turn on Enable Post-Sync Script.
- Set Script Type to Custom and enter the same
sendintentcommand as the package above. - Turn on Execute Script Only if Files Transmitted so the update command runs only when files are transferred.
- Select Next.
- On the Schedule tab, configure the synchronization schedule.
- Select Save and Assign.
- On the Devices tab, select the target devices or device groups.
- Select Assign.
- Verify that the firmware file is transferred and the device completes the update.
These steps are based on Datalogic's OEMConfig Firmware Update settings and Microsoft's Azure Blob Storage documentation. OEMConfig downloads the OTA package from a URL, so the package must be hosted where the devices can download it without authentication.
Intune supports only one OEMConfig profile per device on Datalogic devices. Once the update is complete on all devices, unassign or delete the firmware update profile before assigning the profile from OEMConfig.
Create an Azure Storage Account
- Sign in to the Azure portal.
- Search for Storage accounts.
- Select Create.
- Select the subscription and resource group to use, or create a new resource group.
- Enter a unique storage account name.
- Select the appropriate region and leave the remaining settings at their defaults unless your organization's requirements dictate otherwise.
- Select Review.
- Select Create.
- Once deployment completes, select Go to resource.
Create a public blob container
- In the Storage Account, navigate to Settings > Configuration.
- Set Allow Blob anonymous access to Enabled and select Save.
- Navigate to Data storage > Containers.
- Select + Container.
- Enter a name, such as
firmware. - Set the Anonymous access level to Blob (anonymous read access for blobs only).
- Select Create.
Upload the firmware package
- Open the
firmwarecontainer. - Select Upload.
- Select Browse for files and choose the downloaded firmware OTA ZIP.
- Select Upload.
- Select the uploaded blob and copy its URL. It should follow this format:
https://<storage-account>.blob.core.windows.net/firmware/<firmware-filename>.zip. - Open the URL in a private browser window to verify that the file is publicly downloadable without authentication.
Create the OEMConfig firmware update profile
- Sign in to the Microsoft Intune admin center.
- Navigate to Devices > Manage devices > Configuration.
- Select Create > New policy.
- Select Android Enterprise as the platform.
- Select OEMConfig as the profile type.
- Enter a name, such as
Datalogic Firmware Update. - Select Next.
- Under Configuration settings, open Firmware Update.
- Set OTA update file to the complete Azure Blob URL copied earlier.
- Set Reset type to None, unless your deployment requires another reset type.
- Select Next.
Assign the profile
- Assign the profile to the device group containing the target Datalogic devices.
- Select Next through the remaining configuration pages.
- Select Create.
These steps are based on SureMDM's Firmware Upgrade guide.
Create the firmware File Transfer job
- Rename the downloaded firmware OTA package to
firmware.zip. - Sign in to the SureMDM console.
- Navigate to Jobs.
- Select New Job.
- Select Android.
- Select File Transfer.
- Select Add, then select the upload icon.
- Upload
firmware.zip, set the device path to/sdcard/, and select OK. - Enter a job name, such as
Datalogic_Firmware. - Save the job.
Create the Run Script job to start the firmware update
-
Navigate to Jobs > New Job.
-
Select Android.
-
Select Run Script.
-
Enter a job name, such as
Upgrade Datalogic firmware. -
Enter the following script:
am startservice -n com.datalogic.systemupdate/com.datalogic.systemupdate.SystemUpgradeService --ei action 2 -e path /sdcard/firmware.zip --ei reset 0 --ei reboot 1 --ei force_update 1 -
Save the job.
The script's parameters, from the Datalogic Android SDK:
| Parameter | Values |
|---|---|
action | 2: Request the firmware update. Required. |
path | Full path to the OTA package on the device. Must match where the file was copied. |
reset | 0: None (recommended), 1: Factory, 2: Enterprise. See Reset type. |
reboot | 1: Reboot after the update, 0: Don't reboot. |
force_update | 1: Install even if the same or an older build is installed, 0: Install only a newer build. |
wipe_esim_profiles | Optional, SDK 1.46 and later. 1: Delete all eSIM profiles after the update, 0: Keep them. |
Create and apply a Composite Job
- Navigate to Jobs > New Job.
- Select Android.
- Select Composite Job and select Add.
- Add the two jobs in this order:
Datalogic_Firmware(File Transfer).Upgrade Datalogic firmware(Run Script).
- Save the Composite Job.
- Return to the SureMDM Home page and select the enrolled device or target devices.
- Select Apply.
- Select the Composite Job and apply it.
- Verify that the firmware update completes successfully.
These steps are based on Omnissa's Managing Android OS Upgrades with Workspace ONE UEM guide.
Create the OS Upgrade File/Actions component
- Sign in to the Workspace ONE UEM console.
- Navigate to Devices > Provisioning > Components > Files/Actions.
- Select Add Files/Actions.
- Select Android.
- Enter a name, such as
Datalogic Firmware Update. - Select the Files tab.
- Select Add Files.
- Select Choose Files and upload the firmware OTA ZIP.
- Set the Download Path to
$osupdate$/ota.zip, replacingota.zipwith the actual firmware filename. - Select Save.
- Select the Manifest tab.
- Under Install Manifest, select Add Action.
- Select OS Upgrade.
- Select the uploaded firmware ZIP file.
- Select Save to save the Files/Actions component.
Create and assign the product
- Navigate to Devices > Provisioning > Product List View.
- Select Add Product.
- Select Android.
- On the General tab, enter a Name, such as
Datalogic Firmware Update. - In Assigned Groups, select the Smart Groups that should receive the update.
- Select the Manifest tab.
- Select Add.
- Select File/Action - Install from the Action(s) To Perform list.
- In Files/Actions, select the Files/Actions component created earlier.
- Select Save.
- Select Activate to preview the devices that will receive the update.
- Select Activate again to start the deployment.
- Monitor the product deployment status in Workspace ONE UEM.
- Verify that the device installs the update, reboots if required, and reports the expected build number.
If the update fails
If a device doesn't report the new build in your MDM's device inventory after the update:
- Check that the package matches the device model. For incremental packages, also check that it matches the build installed on the device.
- Check that the OTA package reached the device, at the expected path, and is not truncated.
- Check the battery level and free storage on the device.
- Download the package again from the Shield Firmware Website and retry the update, or use the full package instead of an incremental one.
- If the update still fails, contact Datalogic support with the device model, serial number, current build, and the package filename.