Power Manager

Stagenow - 2.3

Overview

The Power Manager (PowerMgr) allows an app to perform certain OS- and power-related actions on the device, such as resetting to a factory-fresh state, putting the device into Sleep mode, rebooting or performing an OS update. On some devices, such as the VC80x vehicle-mounted computer and similarly equipped Zebra devices-mounted computer and similarly equipped Zebra devices, it also can control device heaters and perform actions based on vehicle-mounted computer and similarly equipped Zebra devices ignition status. PowerMgr performs only actions; it currently supports no queries other than to determine the version of the CSP that implements PowerMgr itself.

It's important to note that PowerMgr actions such as Reboot and Reset, once executed, will prevent the execution of subsequent actions submitted by the Request XML document, including the submission of a Result XML to the application sending the original Request. Zebra therefore recommends using Condition Manager in conjunction with PowerMgr to ensure that appropriate conditions exist on a device before attempting to perform "risky" operations such as OS updates, the failure of which can render a device unusable, severely limited or otherwise in need of service.

Main Functionality

  • Reboot a device
  • Put a device into Sleep Mode
  • Perform an Enterprise Reset on a device
  • Bypass the setup wizard (GMS Welcome Screen)
  • Perform a Factory Reset on a device
  • Wipe a device (erase all storage)
  • Update the OS on a device
  • Perform multiple updates in a single step
  • On the VC80x vehicle-mounted computer and similarly equipped Zebra devices-mounted computer and similarly equipped Zebra devices:
    • Turn power to specific serial and USB ports on and off
    • Control heaters for touch panel and battery, and on serial and USB ports
    • Set temperature thresholds (in degrees Celsius) for turning heaters on and off
    • Set the device to automatically turn on and/or off with the vehicle-mounted computer and similarly equipped Zebra devices ignition switch
    • Set a delay (in minutes) for automatic device turn-off

Sleep Mode

On Android devices, Sleep mode turns off the device display screen and places some subsystems into low-power states. Depending on device configuration settings, certain apps and/or subsystems such as Wi-Fi and Cellular might remain active.

Reboot

Rebooting an Android device generally causes only volatile information such as application state and transient data to be lost. Non-volatile data such as device settings and stored apps and data are preserved. A Reboot is sometimes referred to as a "Reset" or "Normal Reset," but is not to be confused with an Enterprise Reset or Factory Reset (explained below).

Note: The Reboot Action causes the device to immediately restart, preventing any subsequent Actions from executing, including the submission of a Result XML to the application sending the original request.

Enterprise Reset

Enterprise Reset is intended to return the device to an enterprise-defined default state, generally as determined by the contents of the /enterprise partition. On Zebra Android devices, an Enterprise Reset is the same as a Factory Reset except that the /enterprise partition is preserved. This action is supported only on Zebra devices running Android 4.4 KitKat and higher. On Zebra Android devices running Android Jelly Bean lower, the same action could be performed using the "OS Update" action if a suitable OS Update ZIP file was used.

Note: This Action causes the device to Reboot (into Recovery Mode), preventing any subsequent Actions from executing, including the submission of a Result XML to the application sending the original request.

Factory Reset

The Factory Reset is intended to return the device to its factory-fresh condition with the exception of certain conditions related to its internal storage card(s) (see below). On Zebra Android devices, a Factory Reset erases all key partitions and storage cards containing /data, /cache, and /enterprise partitions. This action is supported only on Zebra devices running Android 4.4 KitKat and higher. On Zebra Android devices running Android Jelly Bean lower, the same action could be performed using the "OS Update" Action if a suitable OS Update ZIP file was used.

Note: This Action causes the device to Reboot (into Recovery Mode), preventing any subsequent Actions from executing, including the submission of a Result XML to the application sending the original request.

Resetting Storage Cards

A Factory Reset will erase a storage card if:

  • The card was implemented within the /data or /enterprise partitions

A Factory Reset will NOT erase a storage card if:

  • The card was implemented with its own dedicated partition
  • The card is physically removable

Full Device Wipe

The Full Device Wipe is intended to return the device to its condition as it would have shipped from the factory with its current OS plus any subsequent OS update(s). On Zebra Android devices, a Full Device Wipe is the same as a Factory Reset plus the unconditional erasure of all storage cards. This action is supported only on Zebra devices running Android 4.4 KitKat and higher. On Zebra Android devices running Android Jelly Bean lower, the same action could be performed using the "OS Update" Action if a suitable OS Update ZIP file was used.

Note: This Action causes the device to Reboot (into Recovery Mode), preventing any subsequent Actions from executing, including the submission of a Result XML to the application sending the original request.

OS Update

The OS Update allows the device operating system to be replaced or patched using a specified OS Update Zip File or a text file containing a list of OS updates and/or patches. Depending on the contents of the file(s), this process also can be used to perform an Enterprise Reset, Factory Reset or Full Device Wipe to facilitate the installation of the update or patch contained in the file(s).

Note: This Action causes the device to Reboot (into Recovery Mode), preventing any subsequent Actions from executing, including the submission of a Result XML to the application sending the original request.

Reset Action

Used to invoke an OS- or power-related action on the device. Read Overview section carefully for important information about Reset Actions.

Parm Name: ResetAction

Option Name Description Device Group Requires
0 Do nothing This value (or the absence of this parm from the XML) will cause no action to be performed on the device; any previously selected setting will be retained. All

MX: 4.2+

1 Sleep Mode Puts the device into Sleep mode, reducing power usage and some app functions. See Overview for more information. All

MX: 4.1+

4 Reboot Reboots the operating system on the device, resetting volatile memory and terminating execution of any subsequent PowerMgr actions (non-volatile settings and storage are preserved). All

MX: 4.2+

Android API Level: 16+

5 Enterprise Reset Performs an Enterprise Reset, returning the device to an enterprise-defined default state as generally determined by the contents of the /enterprise partition. See Overview for more information. All

OSX: 4.2+

MX: 4.2+

Android API Level: 19+

6 Factory Reset Performs a Factory Reset, erasing all data partitions, including /data, /cache and /enterprise, and some storage cards. See Overview for more information. All

OSX: 4.2+

MX: 4.2+

Android API Level: 19+

7 Full Device Wipe Erases all data on the device and storage cards, if any. See Overview for more information. A

OSX: 4.2+

MX: 4.2+

Android API Level: 19+

8 OS Update Launches an OS Update on the device using the specified OS Update Zip file. See Overview for more information. All

MX: 4.1+

Android API Level: 16+

OS Update File

Used to specify the path and filename of the file to be consumed when updating the device using the OS Update Reset Action. The OS Update file must either be the specific .zip file being applied, or a text file (with .upl extension) containing a list of patches (multiple .zip files) to be applied in the desired order from top to bottom.

For example, if the .zip files M99N0KXXVPUCP14500.zip and CFE-M99-L-N0-010101_G_00_02.zip are to be applied in that order, the OS Update text file should be created as follows:


//Contents of the "osupdate.upl" text file:

package:M99N0KXXVPUCP14500.zip
package:CFE-M99-L-N0-010101_G_00_02.zip

// Note the package files are preceded by the notation "package:" 

Update File Rules

  • Required file(s) must be on the device before the Reset Action is initiated.
  • The .upl file and all referenced .zip files must be in the same device folder.
  • The folder used for storing file(s) must be a supported location according to the Android Location Rules and Device Location Rules below.
  • Location rules and characteristics vary by device.
  • These devices do not support .upl files:
    • TC70 KitKat
    • TC70 Lollipop
    • TC75 KitKat
    • TC75 Lollipop

Android Location Rules

  • Update file location must not be blocked by SdCardMgr or any other means.

  • Removable media must be physically present. Storage partitions implemented on a removable medium such as a Micro SD Card must be inserted in the device when the Reset Action is initiated.

  • The location must not be encrypted. A location that is encrypted cannot be used for OS Updates. For example, if Full Storage Card Encryption is enabled for a particular Storage Card, that card contains no suitable locations for OS Updates. Similarly, if an Encrypted File System was mounted on a Storage Card, that card also would be unsuitable for OS Updates.

  • The update entity must have write permissions in the update file location.

  • Emulated Storage Cards are not supported on Jelly Bean. Devices running KitKat and higher are not effected by this limitation.

  • Adoptable Storage is not supported. Zebra devices by default do not implement the Android Adoptable Storage spec, which formats the SD Card for use with a single device. An Adoptable SD Card cannot be used to store update files.

Note: The path specified using this parameter would normally be the same as the path to which the file was written when it was transferred to the device. However, path names can sometimes appear to be different while ending at the same destination, and it's possible that some such paths will fail to initiate an OS Update when specified using this parameter. Therefore, Zebra recommends using paths in the following table when specifying the OS Update file to the PowerMgr.

Device Location Rules

Device Model Android Version(s) Supported Paths Comment
ET1N0 JB 4.1-4.3.1 /sdcard

/data/tmp

Removable Micro SD Card (must be physically present)

Internal Data Partition (folder exists and is world-writable)

ET1N2 JB 4.1-4.3.1 /sdcard

/data/tmp

Removable Micro SD Card (must be physically present)

Internal Data Partition (folder exists and is world-writable)

MC32 JB 4.1-4.3.1 /sdcard

/data/tmp

Removable Micro SD Card (must be physically present)

Internal Data Partition (folder exists and is world-writable)

MC40 JB 4.1-4.3.1 /sdcard

/data/tmp

Internal Storage Card

Internal Data Partition (folder exists and is world-writable)

MC40 KK 4.4 /sdcard

/storage/sdcard0

Internal Storage Card

Internal Storage Card

MC67 JB 4.1-4.3.1 /sdcard

/data/tmp

Removable Micro SD Card (must be physically present)

Internal Data Partition (folder exists and is world-writable)

TC55 KK w/GMS 4.4 /sdcard

/storage/sdcard0

/storage/sdcard1

Internal Storage Card

Internal Storage Card

Removable Micro SD Card (must be physically present)

TC55 KK 4.4 /sdcard

/storage/sdcard0

/storage/sdcard1

Internal Storage Card

Internal Storage Card

Removable Micro SD Card (must be physically present)

TC70 GA1 KK 4.4 /sdcard

/storage/sdcard0

/storage/sdcard1

/data/tmp

Removable Micro SD Card (must be physically present)

Removable Micro SD Card (must be physically present)

Internal Storage Card

Internal Data Partition (folder exists and is world-writable)

TC75 KK 4.4 /sdcard

/storage/sdcard0

/data/tmp

Internal Storage Card

Internal Storage Card

Internal Data Partition (folder exists and is world-writable)

(multiple)

Lollipop and higher

/data/tmp/public Zebra recommends using this path; it will be supported on all devices running Android 5.0 Lollipop and higher. See note below.


Note: Zebra devices running Android Lollipop and Marshmallow might support update-file locations other than the location recommended in the table above. Other supported locations might include:

  • /storage/sdcard0 (internal)
  • /storage/sdcard1 (external)

However, support of such locations is subject to changes that are beyond Zebra's control. Zebra recommends testing any update procedure on a working device before the process is considered for mass deployment.

Parm value input rules:

  • String from 1-255 characters containing full path and file name of OS Update .zip or .upl file

Shown if: The Reset Action is "OS Update"

Parm Name: ZipFile

Requires:

  • MX: 4.1+
  • Android API Level: 16+

Setup Wizard Bypass

Controls whether to bypass the device setup wizard (also known as the "Welcome Screen") on devices with Google Mobile Services (GMS) following an Enterprise reset. See the Overview section for more information. Applies only to GMS devices.

Parm Name: SUWByPass

Option Name Description Device Group Requires
0 Do Nothing This value (or the absence of this parm from the XML) will cause no action to be performed on the device; any previously selected setting will be retained. A

MX: 7.1+

1 true Causes the setup wizard to be skipped A

MX: 7.1+

2 false Disables the selected heater. A

MX: 7.1+

Port Action

Used to specify an action to perform on the selected port. Turning off power when not needed for a port can help reduce pin corrosion. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Parm Name: PortAction

Option Name Description Device Group Requires
0 Do Nothing This value (or the absence of this parm from the XML) will cause no action to be performed on the device; any previously selected setting will be retained. A

MX: 7.1+

1 Turn Output Power On Applies power to the selected port. A

MX: 7.1+

2 Turn Output Power Off Removes power from the selected port. A

MX: 7.1+

Port Selection

Used to select a port upon which to perform an action using the Port Action parameter, such as turning power on or off. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Shown if: The Port Action is not "Do Nothing"

Parm Name: PortSelect

Option Name Description Device Group Requires
1 Serial Port 1 Selects Serial Port 1 for the specified Action. A

MX: 7.1+

2 Serial Port 2 Selects Serial Port 2 for the specified Action. A

MX: 7.1+

3 USB Port 2 Selects USB Port 2 for the specified Action. A

MX: 7.1+

Heater Action

This is the On/Off switch for performing actions on the device heater(s), including the ability to set temperature thresholds using the relevant Threshold parameters. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Parm Name: HeaterAction

Option Name Description Device Group Requires
0 Do Nothing This value (or the absence of this parm from the XML) will cause no action to be performed on the device; any previously selected setting will be retained. A

MX: 7.1+

1 Enable Enables the selected heater. A

MX: 7.1+

2 Disable Disables the selected heater. A

MX: 7.1+

3 Set ON/OFF Thresholds Enables temperature thresholds to be set for the selected heater. A

MX: 7.1+

Heater Selection

Used to specify the device heater upon which to perform an action using the Heater Action parameter. Device heaters are used to compensate for external temperatures and humidity levels, to help maintain proper device operation, prevent screen and/or internal frost or condensation, and to keep the device battery at optimal temperature. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Parm Name: HeaterSelect

Option Name Description Device Group Requires
1 Serial IO Selects the heater connected to a serial port. A

MX: 7.1+

2 USB IO Selects the heater connected to the USB port. A

MX: 7.1+

3 Battery Selects the battery heater. A

MX: 7.1+

4 Touch Panel Selects the touch-panel heater. A

MX: 7.1+

Heater-On Threshold

Used to specify the temperature (in degrees Celsius) at which the device heater should turn on. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Parm value input rules:

  • Integer value from -30 to 50

Shown if: The Heater Action is "Set ON/OFF Thresholds"

Parm Name: OnThreshold

Requires:

  • MX: 7.1+

Heater-Off Threshold

Used to specify the temperature (in degrees Celsius) at which the device heater should turn off. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Parm value input rules:

  • Integer value from -30 to 50

Shown if: The Heater Action is "Set ON/OFF Thresholds"

Parm Name: OffThreshold

Requires:

  • MX: 7.1+

Auto Power Control (checkbox)

Indicates whether automatic power controls will be configured. When enabled (value=1), settings configured in Auto-power parameters will be used. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Parm value input rules:

  • Integer value

Parm Name: AutoPowerControl

Requires:

  • MX: 7.1+

Auto Power-on

Used to control whether the device will power up when vehicle-mounted computer and similarly equipped Zebra devices ignition is turned on. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Shown if: The Auto-Power Control is "Checked"

Parm Name: AutoPowerOn

Option Name Description Device Group Requires
0 Never Does not power up device when vehicle-mounted computer and similarly equipped Zebra devices ignition is turned on. A

MX: 7.1+

1 When Ignition Turned On Powers up device when vehicle-mounted computer and similarly equipped Zebra devices ignition is turned on. A

MX: 7.1+

Auto Power-off

Used to control whether the device will power down when vehicle-mounted computer and similarly equipped Zebra devices ignition is turned off. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Shown if: The Auto-Power Control is "Checked"

Parm Name: AutoPowerOff

Option Name Description Device Group Requires
0 Never Does not power down device when vehicle-mounted computer and similarly equipped Zebra devices ignition is turned off. A

MX: 7.1+

1 When Ignition Turned Off Powers down device when vehicle-mounted computer and similarly equipped Zebra devices ignition is turned off. A

MX: 7.1+

Auto Power-off Timeout

Used to specify the time (in minutes) before the device will shut down after vehicle-mounted computer and similarly equipped Zebra devices ignition is turned off. Default value is 30 minutes. This feature applies only to the VC80x vehicle-mounted computer and similarly equipped Zebra devices.

Parm value input rules:

  • Integer value from 0-60 minutes (0=none)
  • If no value is entered, default value of 30 (minutes) will be used

Shown if: The Auto Power Control is "Checked" and Auto Power-off Action is "When Ignition Turned Off"

Parm Name: AutoPowerOffTimeout

Requires:

  • MX: 7.1+

Examples

Reboot the Device


<wap-provisioningdoc>
    <characteristic type="PowerMgr" version="4.2" >
        <parm name="ResetAction" value="4"/>
    </characteristic>
</wap-provisioningdoc>

Perform an Enterprise Reset


<wap-provisioningdoc>
    <characteristic type="PowerMgr" version="4.2" >
        <parm name="ResetAction" value="5"/>
    </characteristic>
</wap-provisioningdoc>

Perform a Factory Reset


<wap-provisioningdoc>
    <characteristic type="PowerMgr" version="4.2" >
        <parm name="ResetAction" value="6"/>
    </characteristic>
</wap-provisioningdoc>

Perform a Full Device Wipe


<wap-provisioningdoc>
    <characteristic type="PowerMgr" version="4.2" >
        <parm name="ResetAction" value="7"/>
    </characteristic>
</wap-provisioningdoc>

Perform an OS Update


<wap-provisioningdoc>
    <characteristic type="PowerMgr" version="4.2" >
        <parm name="ResetAction" value="8"/>
        <characteristic type="file-details">
            <parm name="ZipFile" value="/sdcard/osupdate.zip"/>
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

Turn On Power to Serial Port 1


<wap-provisioningdoc>
    <characteristic type=”PowerMgr”>
        <parm name=”PortAction” value=”1” />
        <characteristic type=”port-details”>
            <parm name=”PortSelect” value=”Serial Port 1” />
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

Turn Off Power to USB Port 2


<wap-provisioningdoc>
    <characteristic type=”PowerMgr”>
        <parm name=”PortAction” value=”2” />
        <characteristic type=”port-details”>
            <parm name=”PortSelect” value=”USB Port 2” />
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

Turn On and Off Vehicle-mount Computer Immediately with Vehicle Power


<wap-provisioningdoc>
    <characteristic type=”PowerMgr”>
        <parm name=”AutoPowerControl” value=”1” />
        <characteristic type=”auto-power-details”>
            <parm name=”AutoPowerOff” value=”1” />
            <parm name=”AutoPowerOffTimeout” value=”0” />
            <parm name=”AutoPowerOn” value=”1” />
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

Turn Off Vehicle-mount Computer 10 Minutes After Vehicle Turns Off; Do Not Turn On Device Automatically


<wap-provisioningdoc>
    <characteristic type=”PowerMgr”>
        <parm name=”AutoPowerControl” value=”1” />
        <characteristic type=”auto-power-details”>
            <parm name=”AutoPowerOff” value=”1” />
            <parm name=”AutoPowerOffTimeout” value=”10” />
            <parm name=”AutoPowerOn” value=”0” />
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

Enable Touch Panel Heater to Operate in the Temperature range -10°C to 5°C


<wap-provisioningdoc>
    <characteristic type=”PowerMgr”>
        <parm name=”HeaterAction” value=”3” />
        <characteristic type=”heater-details”>
            <parm name=”HeaterSelect” value=”4” />
            <parm name=”OnThreshold” value=”-10” />
            <parm name=”OffThreshold” value=”5” />
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

<wap-provisioningdoc>
    <characteristic type=”PowerMgr”>
        <parm name=”HeaterAction” value=”1” />
        <characteristic type=”heater-details”>
            <parm name=”HeaterSelect” value=”4” />
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

Disable the USB IO heater


<wap-provisioningdoc>
    <characteristic type=”PowerMgr”>
        <parm name=”HeaterAction” value=”2” />
        <characteristic type=”heater-details”>
            <parm name=”HeaterSelect” value=”2” />
        </characteristic>
    </characteristic>
</wap-provisioningdoc>