Viewing device events
Device Management stores a log of all the important events in a device's lifetime, such as the device's first registration date and all firmware updates.
In Device Management Portal
In the portal, the Device events page lists all events on all devices sorted by time.
To view the events log for a specific device:
- Click the ID of the device you are interested in.
- Device details pane opens straight to the Event log tab.
- The log lists all events during the lifetime of the device.
The Message type field shows one of these values:
Value | Description |
---|---|
SUCCESS | The device reached the desired state. |
FAIL | The device did not reach the desired state. |
SKIPPED | The device is already at the desired state. |
INFO | Other information on the device, such as device state or lifecycle events. |
The Message field shows a text related to the event log code.
Using the API
To query the API:
curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events \
-H "Authorization: Bearer <access_key>"
Tip: You can limit your query to a specific device, or a group of devices, using device filters. The full list of query parameters is in the Device Directory API section.
When you query the API, the return for one event looks like:
{
"date_time":"2016-11-08T10:02:07.033000Z",
"device_id":"00000000000000000000000000000000",
"device_log_id":"00000000000000000000000000000000",
"event_type":"1",
"event_type_description":"FAIL",
"event_type_category":"FAIL_SERVICE"
"state_change":true,
"description":"Device update failed",
"changes":{
},
"data":{
"campaign_id":"00000000000000000000000000000000",
}
},
The full reply to this query has more than one event (remember that each event is marked by the date_time
field):
{
"object":"list",
"data":[
{
"date_time":"2016-11-08T10:02:07.033000Z",
"device_id":"00000000000000000000000000000000",
"device_log_id":"00000000000000000000000000000000",
"event_type":"1",
"event_type_description":"FAIL",
"event_type_category":"FAIL_SERVICE"
"state_change":true,
"description":"Device update failed",
"changes":{
},
"data":{
"campaign_id":"00000000000000000000000000000000",
}
},
{
"date_time":"2016-11-08T10:02:07.033000Z",
"device_id":"00000000000000000000000000000000",
"device_log_id":"00000000000000000000000000000001",
"event_type":"1",
"event_type_description":"FAIL",
"event_type_category":"FAIL_NETWORK"
"state_change":true,
"description":"Manifest network error, nonspecific network error",
"changes":{
},
"data":{
"campaign_id":"00000000000000000000000000000000",
}
}
],
"limit":50,
"after":null,
"order":"DESC",
"has_more":true
}
References: Event log codes
General
Event log code | Portal text | Possible corrective action |
---|---|---|
UPD2_FAIL_3 | Manifest rejected, URI invalid | Check the manifest was sent to the device. |
UPD2_FAIL_4 | Manifest rejected, integrity check failed | Check the symmetric keys. |
UPD2_FAIL_6 | Manifest rejected, certificate not found | Check Update certificate exists. |
UPD2_FAIL_7 | Manifest rejected, signature verification failed | Check signature. |
UPD2_FAIL_11 | Connection lost during download | Check the device's connectivity. |
UPD2_FAIL_12 | Asset failed integrity check | Check the hashes of the firmware. |
UPD2_FAIL_13 | Unsupported asset type | Check the vendor ID, class ID and device ID. |
UPD2_FAIL_14 | Invalid asset URI | Check the URI in the manifest. |
UPD2_FAIL_15 | Timed out downloading asset | Check the device's connectivity. |
Update
Event log code | Portal text | Explanation | Possible corrective action |
---|---|---|---|
UPD4_OK_M1 | Update initial value (no event) | Initial state to avoid erroneous events being reported; ignored by service. | |
UPD4_OK_100 | Update succeeded event | Update completed successfully. | |
UPD4_FAIL_101 | Update error, nonspecific network error | Generic network error for conditions not covered by other network error codes. | Check network. |
UPD4_FAIL_102 | Update error, nonspecific payload error | Generic payload error. | Call FAE. |
UPD4_FAIL_103 | Update error, nonspecific system error | Generic system error for internal errors the client is not expected to resolve. | Call FAE. |
Manifest validation
Event log code | Portal text | Explanation | Possible corrective action |
---|---|---|---|
UPD4_FAIL_200 | Manifest validation, nonspecific error | Generic error occurred during manifest validation. | Call FAE. |
UPD4_FAIL_201 | Manifest network error, nonspecific network error | Generic network error occurred during manifest validation. | Check network. |
UPD4_FAIL_202 | Manifest network error, time out | Network timeout error occurred during manifest validation. | Check network. |
UPD4_FAIL_203 | Manifest network error, connect failed | Network connect error occurred during manifest validation. | Check network. |
UPD4_FAIL_204 | Manifest network error, DNS lookup failed | DNS lookup error that occurred during manifest validation. | Check network. |
UPD4_FAIL_205 | Manifest network error, connection loss | Network timeout error that occurred during manifest validation. | Check network. |
UPD4_FAIL_206 | Manifest rejected, manifest not found | Either the latest manifest, or a dependent manifest, was not found. | Call FAE. |
UPD4_FAIL_207 | Manifest rejected, integrity check failed (hash error) | The hash included in the outer part of the manifest (signature container) does not match the calculated hash of the inner part of the manifest. | Manifest was edited or corrupted in transit. Retry. |
UPD4_FAIL_208 | Manifest rejected, certificate not found | A matching certificate could not be loaded from storage because of a storage error, or item not found, or item doesn't match expected value. | Check that certificates were provisioned correctly. Check for storage errors. |
UPD4_FAIL_209 | Manifest rejected, invalid certificate | The certificate is not valid because it could not be parsed, was the wrong size or could not allocate working space. | Check that certificates were provisioned correctly. Check for storage errors. |
UPD4_FAIL_210 | Manifest rejected, signature invalid | The manifest could not be validated, probably because the locally calculated manifest signature does not match that on the manifest itself, but also for any other validation failure. | Check that certificates were provisioned correctly. Check for storage errors. Make sure manifest was signed using correct private key. |
UPD4_FAIL_211 | Manifest rejected, dependent manifest not found | Processing the update failed because a specified manifest dependency could not be satisfied. | Call FAE. |
UPD4_FAIL_214 | Manifest rejected, unsupported manifest version | The received manifest is in a format that is not supported by the device. | Call FAE. |
UPD4_FAIL_215 | Manifest rejected, wrong vendor ID | The vendor ID in the received manifest does not match the vendor ID stored on the device. | Check that device was provisioned correctly. Check manifest. |
UPD4_FAIL_216 | Manifest rejected, wrong class ID | The class ID in the received manifest does not match the class ID stored on the device. | Check that device was provisioned correctly. Check manifest. |
UPD4_FAIL_217 | Manifest rejected, invalid manifest size | The received manifest is too large for the internal buffers that have been allocated for processing it. | Reduce buffer size. Check client buffer configuration. Reduce amount of text in manifest description. |
UPD4_FAIL_218 | Manifest rejected, invalid manifest format (DER format) | The received manifest has an invalid format: Either it could not be processed, or some necessary elements could not be found. | Check manifest generation by running manifest-tool parse -ji input_file . Check that correct manifest was used in campaign. |
UPD4_FAIL_219 | Manifest rejected, invalid crypto mode | The received manifest uses an unsupported crypto mode, or the required crypto mode could not be read from the manifest. | Check manifest generation by running manifest-tool parse -ji input_file . Check that correct manifest was used in campaign. |
UPD4_FAIL_220 | Manifest rejected, missing field | There is an empty field in the received manifest that should not be empty. | Check manifest generation by running manifest-tool parse -ji input_file . Check that correct manifest was used in campaign. |
UPD4_FAIL_221 | Manifest rejected, rollback protection | You tried to update to an older firmware version than the one already on the device. | Check that the firmware version you are flashing is newer than the existing one. |
UPD4_FAIL_222 | Manifest rejected, missing keytable | A required key table, class GUID or vendor GUID could not be found in device storage. | Check that device was provisioned correctly. Check manifest. |
UPD4_FAIL_223 | Manifest rejected, corrupted keytable | The key table IV size is out of the allowed range, or the key table prefix does not match, or the key table could not be read. | Check manifest generation. Check that correct manifest was used in campaign. |
UPD4_FAIL_225 | Manifest processing error, insufficient storage | There is not enough space on the device to store a payload of this size. | Check device storage. |
UPD4_FAIL_226 | Manifest processing error, insufficient memory | There was insufficient space allocated for reading a device, class or vendor GUID. | Check device RAM. |
Update fetching
Event log code | Portal text | Explanation | Possible corrective action |
---|---|---|---|
UPD4_FAIL_301 | Resource network error, nonspecific network error | Generic network error. | Check network. |
UPD4_FAIL_302 | Resource network error, no route available | A route to use for fetching the resource could not be found (one or more might have been tried and failed). | Check network. |
UPD4_FAIL_303 | Resource network error, time out | Network connection timed out. | Check network. |
UPD4_FAIL_304 | Resource network error, connect failed | Network connection error that occurred during resource fetching. | Check network. |
UPD4_FAIL_305 | Resource network error, DNS lookup failed | DNS lookup error that occurred during resource fetching. | Check network. |
UPD4_FAIL_306 | Resource network error, connection loss | Network timeout error that occurred during resource fetching. | Check network. |
UPD4_FAIL_307 | Resource fetching, resource URI invalid | An invalid URI was presented as the address of a resource to be fetched. | Check URI in manifest is correct. |
UPD4_FAIL_308 | Resource fetching, request type invalid | A request was made for a resource not supported by the device, or a resource of an unknown or invalid type. | Call FAE. |
UPD4_FAIL_310-314 | User-defined errors. | ||
UPD4_FAIL_315 | Resource fetching permission denied by application | ||
UPD4_FAIL_316 | Resource fetching permission could not be provided by application |
Update processing
Event log code | Portal text | Possible corrective action |
---|---|---|
UPD4_FAIL_400 | Payload processing, nonspecific error | Call FAE. |
UPD4_FAIL_401-405 | Payload processing, user-defined error(s) | |
UPD4_FAIL_406 | Processed result does not match expected hash | |
UPD4_FAIL_407 | Payload processing parse error | |
UPD4_FAIL_408 | Manifest rejected, insufficient storage space for processing | |
UPD4_FAIL_409 | Manifest rejected, insufficient memory space for processing |
Update writing
Event log code | Portal text | Explanation | Possible corrective action |
---|---|---|---|
UPD4_FAIL_500 | Payload writing error, nonspecific error | A general error was encountered while writing (typically an internal error). | Call FAE. |
UPD4_FAIL_503 | Payload writing error, write error | Storage failed to be prepared, written to or finalized. | Check for storage error (improperly fitted SD card or driver error). Retry update. |
UPD4_FAIL_504 | Payload writing error, hash error | The locally calculated hash of the stored payload does not match the expected hash. | Check for storage error (improperly fitted SD card or driver error). Retry update. |
UPD4_FAIL_505 | Payload writing error, activate error | A payload could not be installed or activated. | Retry update. |
UPD4_FAIL_506-510 | Payload writing error, user-defined error(s) | ||
UPD4_FAIL_511 | Payload installation permission denied by device | ||
UPD4_FAIL_512 | Payload installation permission could not be provided by device |
LwM2M standard object
Event log code | Portal text | Possible corrective action |
---|---|---|
UPD1_OK_1 | Firmware successfully updated | |
UPD1_FAIL_2 | Insufficient storage | Check the flash of the device. |
UPD1_FAIL_4 | Connection lost | Check the device's connectivity. |
UPD1_FAIL_6 | Package type unsupported | Check the Update certificate and manifest. |
UPD1_FAIL_7 | Download URI invalid | Check the URI in the manifest. |
UPD1_FAIL_8 | Update failed | Check the version of the firmware. |
UPD1_FAIL_9 | Unsupported protocol | Check the hashes of the firmware. |
Service-generated items
Event log code | Portal text | Possible corrective action |
---|---|---|
SYS_100 | Service error: Device could not be reached. | |
SYS_101 | Service error: Device not registered, manifest not sent. | |
SYS_102 | Service error: Device Vendor ID does not match Manifest Vendor ID. | |
SYS_103 | Campaign was manually stopped. Device not updated. | |
SYS_104 | Campaign was manually stopped. Device may still update. | |
SYS_105 | Device deregistered. | |
SYS_106 | Device registered. | |
SYS_107 | Device bootstrapped. | |
SYS_108 | Device added to campaign. | |
SYS_109 | Device removed from campaign. | |
SYS_110 | Device already at desired state. | |
SYS_111 | Device failed to reach desired state. | |
SYS_112 | Device reached desired state. |