Skip to content

Latest commit

 

History

History
82 lines (53 loc) · 2.75 KB

File metadata and controls

82 lines (53 loc) · 2.75 KB

Troubleshooting Guide

Please check the Troubleshooting documentation first at Device Update for IoT Hub all issues. This document provides additional articles to help investigate Device update for IoT Hub Agent related issues.

Device Update for IoT Hub Agent

If you run into issues with the Device Update Agent, you have a couple options to help troubleshoot. Start by collecting the Device Update logs as shown below

Collect Logs

  • On the Raspberry Pi Device there are two sets of logs found here:

    /adu/logs
    /var/cache/deliveryoptimization-agent/log
  • For the packaged client the logs are found here:

    /var/log/adu
    /var/cache/deliveryoptimization-agent/log
  • For the Simulator (Device Update Agent version 0.7.0 and older) the logs are found here:

    /tmp/aduc-logs

ResultCode and ExtendedResultCode

The 'ADUCoreInterface' interface reports ResultCode and ExtendedResultCode which can be used to diagnose failures. Learn More in Device Update Plug and Play about the 'ADUCoreInterface' interface.

ResultCode

ResultCode is a general status code and follows http status code convention. Learn More about http status codes.

ExtendedResultCode

ExtendedResultCode is an integer with encoded error information.

You will most likely see the ExtendedResultCode as a signed integer in the PnP interface. To decode the ExtendedResultCode, convert the signed integer to unsigned hex. Only the first 4 bytes of the ExtendedResultCode are used and are of the form F FFFFFFF where the first nibble is the Facility Code and the rest of the bits are the Error Code.

Error Codes explained

Facility Codes explained

Facility Code Description
D Error raised from the DO SDK
E Error code is an errno

For example:

ExtendedResultCode is -536870781

The unsigned hex representation of -536870781 is FFFFFFFF E0000083.

Ignore Facility Code Error Code
FFFFFFFF E 0000083

0x83 in hex is 131 in decimal which is the errno value for ENOTRECOVERABLE.