Device Diagnostic Tool 2.8


This section discusses configuring settings, tests and reporting options for Device Diagnostic Tool.


The Settings screen provides the file path to import/export the configuration file and allows for configuration of the history and status log files. Access settings by tapping on the options menu at the top right of the main screen, then select Settings:

Application settings

  • File path:
    • Configuration import path - specifies the file path for the configuration file:
      • For Android 11 or higher: /storage/emulated/0/Android/data/com.zebra.mdna.selfdiagnostics/configuration.xml
      • For Android 10 or lower: /enterprise/usr/deviceselftest/configuration.xml
    • Log output and configuration export path - specifies the folder path for the log files and exported configuration file: /storage/emulated/0/Android/data/com.zebra.mdna.selfdiagnostics/files
  • Server Details:
    • Protocol - specifies the server protocol
    • IP Address - specifies the IP address of the server
    • UserName - specifies the user name to login to the server
  • Status log - editable text field for the file name of the status log. Contains information about the tests conducted with any associated parameters and configuration changes from the Configure Tests screen. Located in /storage/emulated/0/Android/data/com.zebra.mdna.selfdiagnostics/files.
  • History log - editable text field for the history log, containing information about the test results. Generated when performing a full test from the main screen. Located in /storage/emulated/0/Android/data/com.zebra.mdna.selfdiagnostics/files.
  • Log File Max Size (MB) - editable text field to specify the maximum file size for the log files.
  • Import - imports a configuration file located in the configuration import path:
    • For Android 11 or higher: /storage/emulated/0/Android/data/com.zebra.mdna.selfdiagnostics/
    • For Android 10 or lower: /enterprise/usr/deviceselftest/configuration.xml
  • Export - exports configuration.xml from configurations set in the Configure Tests screen to folder location /storage/emulated/0/Android/data/com.zebra.mdna.selfdiagnostics/files. Once exported, deploy the configuration to other devices by copying the .xml file to the import path /enterprise/usr/deviceselftest then tap the Import button in the Settings screen. Copy the file by using Android Debug Bridge (adb) or StageNow with File Manager.

Configuration File

To configure Device Diagnostic Tool via a configuration file, which can be deployed to multiple devices, modify configuration.xml manually using any text editor. The existing tag format must be maintained. Alternatively, options are configurable through Settings or Configure Tests in the user interface, except for the options specified below that are only configurable in configuration.xml:

  • admin_mode – If set to true, sets the app to admin mode allowing access to the app settings and test configurations. Default value = true.
  • allow_individual_test_for_user - If set to true, the non-admin user can run the tests individually instead of running all tests at once.
  • allow_individual_log_for_user - If set to true, the non-admin user can generate an individual result log file for each test instead of a single log file containing all test results.
  • continue_testing_on_failure - If set to true, the test automatically proceeds to the next section test until all tests are completed, even if the previous section test fails. Default value = false.
  • upload_only_on_failure - If set to true, result test logs are uploaded to the server only after a test failure. If false, uploads logs based on the specified test schedule.
  • show_extra_data - If set to true, informational data is displayed in the test results page. Refer to Test Criteria section to see the affected informational data. Default value = true.
  • debug – If set to true, application logging is displayed in logcat for debugging purposes. Default value = true.
  • close_on_result_acknowledge - If set to true, the application closes when all tests have passed. If any test fails, the app does not close. Default value = false.

Sample settings content in configuration.xml:


See XML File for test configuration and import/export steps.

Secure Deployment

In compliance with Android security mandates starting with Android 11, Zebra implemented Secure Storage Manager (SSM), a mechanism for securely sharing files and/or data from an originating app to a target app. Due to this new security, direct file access is no longer permitted, and minor changes are required to ANY app intended to receive data shared through SSM.

For security purposes, starting from Android 11 Zebra recommends to deploy the configuration file to DDT via SSM using the following path: /sdcard/Android/data/com.zebra.mdna.selfdiagnostics Although DDT still supports deployment of the configuration file to the following enterprise path, this will be deprecated in a future version of DDT: /enterprise/usr/deviceselftest/

Methods to securely deploy the configuration file:

  • Manual deployment - copy the file using a desktop file explorer to the following location on the device: /sdcard/Android/data/com.zebra.mdna.selfdiagnostics
  • Mass deployment - deploy the configuration file to /sdcard/Android/data/com.zebra.mdna.selfdiagnostics using the “Deploy file” feature of File Manager from StageNow. The administrator must use TargetApplicationAndFileName param value as com.zebra.mdna.selfdiagnostics/configuration.xml when creating the StageNow profile. See File Action.

Configure Tests

Tests are configured either through the user interface or the configuration.xml file.

XML File

The configuration.xml file contains all tests within the <tests> tag. Each individual test is enclosed in the <test> tag along with its related options. Configure each test and related test option(s) as needed by editing the XMl file. Sample WiFi test parameters:

    <test name="WIFITEST" enabled="true">
        <sub_test name="MAC_ADDRESS" enabled="true" />
        <sub_test name="NETWORK_TEST" enabled="true">
            <parameter name="PING_ADDRESS" value="" />

See Configuration Parameters for descriptions of each test and related options.


To export the configuration file, in the Settings screen tap Export. The configuration is exported to configuration.xml located in /storage/emulated/0/Android/data/com.zebra.mdna.selfdiagnostics/files.


To import the configuration file, copy configuration.xml to the import folder /enterprise/usr/deviceselftest/. The changes are reflected in the Configure Tests user interface.

User Interface

Through the user interface, select the tests to be conducted and configure the test parameters. Access Configure Tests by tapping on the options menu at the top right of the main screen, then select Configure Tests:


Configure Tests

Timeout values can be specified for tests that require user intervention. Once the specified time elapses (in seconds), execution moves to the next test selected if configured in the configuration.xml file.

Configuration parameters:

  • Scanner Test – checks whether the scanner is functioning
    • Test Timeout – specifies the time in seconds to wait for user input
  • Button Test – checks for the operation of push-to-talk, left or right scan trigger, volume up and volume down hard buttons on the device.
    • Test Timeout – specifies the time in seconds to wait for user input
  • Touch Screen Test – checks for operation of the device display screen
    • Test Timeout – specifies the time in seconds to wait for user input
  • Bluetooth Tests – tests the Bluetooth radio and returns Bluetooth related information
    • Name – returns the Bluetooth name
    • Radio Power Cycle – checks for operability when turning the Bluetooth radio on/off
    • Functional/Non-functional – determines whether the Bluetooth radio can be enabled/disabled within a specified period of time. Returns functional if the Bluetooth radio is functional.
    • Discoverable/Connectable – checks if connectable or discoverable
  • WiFi Test – tests operation of the WiFi radio and returns WiFi related information
    • MAC address – checks whether the MAC address is valid based on its format
    • Ping Address – specifies the domain name to perform the ping test
    • Network Test – pings the web address specified in the Ping Address field via WiFi and returns the amount of time it takes to receive a response
  • Battery Test – checks the battery status and returns battery related information
    • Part Number – returns the battery part number
    • Serial Number – returns the battery serial number
    • Manufacture Date – returns the battery date of manufacture
    • Battery Health – returns the health of the battery, whether it needs to be decommissioned
    • Battery Threshold Value - sets the maximum charge cycle count of the battery to change the Battery Health. If this value is less than the actual charge cycle count of the battery, Battery Health is changed to "Need to replace battery." This applies only to PowerPrecision batteries. The default value is 400.
  • WWAN Test – tests operation of the WWAN radio and returns related WWAN information
    • Sim State – checks whether the sim card is present
    • Voice State – checks the voice state of the sim card
    • Data State – checks the data state of the sim card
  • Audio Test – tests operation of the device microphone and speaker
    • Test Timeout – specifies the time in seconds to wait for user input
  • SD Card Test - tests for presence/absence of external SD card and ability to read/write. The SD card must be mounted as portable storage in order to be detected.
    • SD Card - checks for presence/absence of external SD card
    • Read - checks if SD card can be read
    • Write - checks if SD card can be written
  • USB Test - checks whether the device USB port is connected to a host with a cable
    • USB Host Connected - checks whether device USB port is connected to a host with a cable
    • USB Accessory - checks whether device USB port is connected to an accessory (e.g. headset, SD card reader, etc.)
    • USB Modes - checks for the current selected modes
  • Network Test - tests whether the device can connect to a network (WLAN or WAN)
    • URL - specifies the URL to perform the General Connectivity test
    • General Connectivity - makes an http request to the url specified in the URL field
      When text values are modified, such as Test Timeout or Ping Address, these values take effect as long as the app is running. When the app is closed and relaunched, the values retrieved from the configuration file take into effect.

Refer to Test Criteria section for more information.

See Also