Overview
This section discusses configuring settings, tests and reporting options for Device Diagnostic Tool.
Settings
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
- Configuration import path - specifies the file path for the configuration file: - For Android 11 or higher:
- 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
- For Android 11 or higher:
- 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:
<settings>
<admin_mode>true</admin_mode>
<continue_testing_on_failure>true</continue_testing_on_failure>
<upload_only_on_failure>true</upload_only_on_failure>
<show_extra_data>true</show_extra_data>
<debug>true</debug>
<close_on_result_acknowledge>false</close_on_result_acknowledge>
<status_log_name>status.log</status_log_name>
<history_log_name>history.log</history_log_name>
<log_file_max_size_mb>25</log_file_max_size_mb>
</settings>
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 ascom.zebra.mdna.selfdiagnostics/configuration.xml
when creating the StageNow profile. See File Action.
Test Configuration
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="www.google.com" />
</sub_test>
</test>
See Configuration Parameters for descriptions of each test and related options.
Export
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
.
Import
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.
- Keyboard Test - tests for functionality of the key pressed
- Test Timeout - specifies the amount of time in seconds to wait for user input
Refer to Test Criteria section for more information.
Button Configuration File
For devices running Android 11 or higher that have physical buttons (such as scan trigger, push-to-talk, volume up/down) remapped in the device system, administrators must assign the key code value to correspond with the value used by the device system in the button configuration file buttons_config.xml
for the Button Test to pass successfully.
To assign the key code of the remapped physical button in the button configuration file:
Download buttons_config.xml and open it with a text editor.
Find the corresponding XML tag for the device model, for example for ET60:
<ET60> <PTTBTN>312</PTTBTN> <SCANBTN>311</SCANBTN> <VOLUP>115</VOLUP> <VOLDWN>114</VOLDWN> </ET60>
Replace the key value of the remapped physical button with the desired value. For example, if the Push-To-Talk button on the ET60 is remapped to the scan button, replace
<PTTBTN>312</PTTBTN>
with<PTTBTN>311</PTTBTN>
.Deploy the updated file through OEMConfig or StageNow to the following directory on the device:
/com.zebra.mdna.selfdiagnostics