Debugging
comm.protocol errors
The following codes appear as [comm.protocol] ERROR in the USB debug logs, and also as the code in device.cloud.connection.error in Device Vitals.
Dec 17 01:36:22 [comm.protocol] ERROR: Event loop error 1
Dec 17 01:36:42 [comm.protocol.handshake] ERROR: Handshake failed: 25
Dec 17 01:37:53 [comm.protocol.handshake] ERROR: Handshake failed: 25
Dec 17 01:38:16 [comm.protocol.handshake] ERROR: Handshake failed: 26
Dec 17 01:39:54 [comm.protocol] ERROR: Event loop error 1
Dec 17 01:41:37 [comm.protocol] ERROR: Handshake: could not receive HELLO response 10
The system includes a number of logging statements if it is having trouble connecting to the cloud. These errors are defined in the Device OS source in protocol_defs.h.
| Number | Constant | Description |
|---|---|---|
| 0 | NO_ERROR | |
| 1 | PING_TIMEOUT | |
| 2 | IO_ERROR | |
| 3 | INVALID_STATE | |
| 4 | INSUFFICIENT_STORAGE | |
| 5 | MALFORMED_MESSAGE | |
| 6 | DECRYPTION_ERROR | |
| 7 | ENCRYPTION_ERROR | |
| 8 | AUTHENTICATION_ERROR | |
| 9 | BANDWIDTH_EXCEEDED | |
| 10 | MESSAGE_TIMEOUT | |
| 11 | MISSING_MESSAGE_ID | |
| 12 | MESSAGE_RESET | |
| 13 | SESSION_RESUMED | |
| 14 | IO_ERROR_FORWARD_MESSAGE_CHANNEL | |
| 15 | IO_ERROR_SET_DATA_MAX_EXCEEDED | |
| 16 | IO_ERROR_PARSING_SERVER_PUBLIC_KEY | |
| 17 | IO_ERROR_GENERIC_ESTABLISH | |
| 18 | IO_ERROR_GENERIC_RECEIVE | |
| 19 | IO_ERROR_GENERIC_SEND | |
| 20 | IO_ERROR_GENERIC_MBEDTLS_SSL_WRITE | |
| 21 | IO_ERROR_DISCARD_SESSION | |
| 22 | IO_ERROR_LIGHTSSL_BLOCKING_SEND | |
| 23 | IO_ERROR_LIGHTSSL_BLOCKING_RECEIVE | |
| 24 | IO_ERROR_LIGHTSSL_RECEIVE | |
| 25 | IO_ERROR_LIGHTSSL_HANDSHAKE_NONCE | |
| 26 | IO_ERROR_LIGHTSSL_HANDSHAKE_RECV_KEY | |
| 27 | NOT_IMPLEMENTED | |
| 28 | MISSING_REQUEST_TOKEN | |
| 29 | NOT_FOUND | |
| 30 | NO_MEMORY | |
| 31 | INTERNAL | |
| 32 | OTA_UPDATE_ERROR |