Android OS Updates via WiFi Direct on Zebra Devices

Overview

  In cases where internet access is not available or bandwidth over the network is limited , it may be preferable to host OS files (either full updates or LifeGuard patches) locally on another Zebra device e.g. when performing an OS update on site. The method below explains how to prepare a device such as a TC5x / TC7x to provide a WiFi Direct hotspot and a HTTP server which can be used to either download and reflash or directly stream the OS upgrade/downgrade (using the streaming feature introduced in Mx 10). Using the streaming option can be quicker overall and removes the requirement to have sufficient free flash memory to download the OS image before reflash.

  1. The StageNow profile above should be scanned on the Zebra host device after preconfiguring an internet connection and will download and install the required utilities to allow the device to be configured as a HTTP WiFi Direct server.  
  2. Copy the OS file to the Zebra host device under the existing /sdcard/stagenow folder. Rename the OS file to FullPackageUpdate.zip
  3. On the Zebra host device , run PDANet and configure WiFi Direct as per the steps below:
  1. Check WiFi Direct Hotspot – blue panel should appear containing the network name and password to use for connecting devices

 

 

  1. On the client device to be staged, access WiFi Preferences/Wi-Fi Direct and select the host device from the list of Wi-Fi Direct devices:

 

  1. Confirm the connection on the host device and enter the PIN if displayed (not all OS versions require a PIN to connect)
  2. After connection, the MAC address of the client device(s) should be visible in the PDANet blue status panel (as shown below) and the host device should have a status of connected on the client. If this does not happen, try another method of connecting i.e. either use WPS or manually find the network and enter the password shown on the PDANet blue banner.

Note: When connected to the  host device , there will normally be a message indicating that this network does not have internet access – this can be ignored as the default action is to stay connected to the network when using Nougat or later

 

 

 

  1. On the host device, run SimpleHTTPServer and press the Off button to enable the server (button text should change to On) :

  1. On the host device, run StageNow NFC Writer and browse to the stagenow folder , then select either:

For Streaming (Mx 10 and later):

Osupdate_device_streaming.xml – to update the existing OS to a newer version

Osdowngrade_device_streaming.xml – to downgrade the existing OS to an older version

For download + reflash (any version of Mx from 8.1 onwards)

Osupdate_device_http.xml – to update the existing OS to a newer version

Osdowngrade_device_http.xml – to downgrade the existing OS to an older version

  1. Long press the file icon to popup the context menu below. Select ‘Display  barcode’ to display a single staging barcode on the display of the host device. NFC can also be used and you can bump the two devices (host and client) together in order to transfer the profile.

  1. On the client device, run StageNow and read the barcode / bump the host device in order to start the staging process.
  2. In the case of a failure, check that there is a working HTTP path to the device by entering the URL below in the browser on the client device (this should display a list of files in the /sdcard/stagenow folder)  :

http://192.168.49.1:12345/stagenow/

Performance Notes:

    • WiFi Direct supports 5 to 6 concurrent connections
    • 1.4GB OS Update Zip file takes approx. 6 mins to download to a device with one connection active
    • Will have significant impact on host device battery life when WiFi Direct server is enabled

Ian Hatton

Zebra EMEA

October 2020