Using the 2.10.4 version of mm-iot-sdk I was able to get the RW610 processor running Zephyr to work with the Arm Cortex-M33. The biggest initial challenge was dealing with changes to mbedtls.
Now the system runs HaLow in isolation just fine. I can connect to a MQTT broker and publish once a second for hours. However when the RW610 processor gets busier. The HaLow fails within a minute or two. We have enabled some tracing functionality you have embedded in the source. Following are some logs. These are all from the same run. There are two cases where the HaLow reports an error but continues working. The fail error report leads to failure.
Any help resolving this would be greatly appreciated:
A few seconds after launch up to first reported error:
[00:30:32.853,031] alpha_testing_NETWORKING: Subscribed to topic
[transport_fsm] claim
[transport_fsm] read_word
[transport_fsm] write_word
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] read_word
[transport_fsm] read_multi_byte
[transport_fsm] read_word
[transport_fsm] write_word
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] read_word
[transport_fsm] write_word
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] read_word
[transport_fsm] read_word
[transport_fsm] read_word
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] read_word
[transport_fsm] read_word
[transport_fsm] write_word
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] read_multi_byte
[transport_fsm] read_word
[transport_fsm] write_word
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] irq_disabled
[transport_fsm] release
E 30411 dr morse_pageset_write[474] Failed to write page: -32768
E 30411 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=16
[transport_fsm] claim
[transport_fsm] irq_enabled
[transport_fsm] read_word
[transport_fsm] read_word
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] write_multi_byte
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] irq_disabled
The messages surrounding the second reported error:
[transport_fsm] claim
[transport_fsm] read_word
[transport_fsm] read_word
[transport_fsm] release
[00:30:49.109,541] bdg_ble: majorminor: 10000006 , count: 1 , sum: -62
[00:30:49.109,623] bdg_ble: majorminor: 10000101 , count: 2 , sum: -130
[transport_fsm] claim
[transport_fsm] read_word
[transport_fsm] write_word
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] read_word
[transport_fsm] read_word
[transport_fsm] read_word
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] read_word
[transport_fsm] read_word
[transport_fsm] write_word
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] read_multi_byte
[transport_fsm] read_word
[transport_fsm] write_word
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] irq_disabled
[transport_fsm] release
E 46558 dr morse_pageset_write[474] Failed to write page: -32768
E 46558 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=16
[transport_fsm] claim
[transport_fsm] irq_enabled
[transport_fsm] read_word
[transport_fsm] read_word
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] write_multi_byte
[transport_fsm] release
Here are the fail message up to failure:
[transport_fsm] read_multi_byte
[transport_fsm] read_word
[transport_fsm] write_word
[transport_fsm] release
[00:31:00.646,503] bdg_ble: majorminor: 10000101 , count: 1 , sum: -63
[00:31:00.646,538] bdg_ble: majorminor: 10002004 , count: 1 , sum: -84
[transport_fsm] claim
[transport_fsm] irq_disabled
[transport_fsm] release
E 57654 dr morse_pageset_write[474] Failed to write page: -32768
E 57655 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=16
[transport_fsm] claim
[transport_fsm] irq_enabled
[transport_fsm] read_word
[transport_fsm] read_word
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] write_multi_byte
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] read_word
[transport_fsm] read_word
[transport_fsm] release
E 57898 dr morse_pageset_write[474] Failed to write page: -32768
E 57898 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=16
[transport_fsm] claim
[transport_fsm] write_multi_byte
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] write_multi_byte
E 58257 dr morse_pageset_write[474] Failed to write page: -32768
E 58257 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=16
E 58795 dr morse_pageset_write[474] Failed to write page: -32768
E 58795 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=16
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] write_multi_byte
[transport_fsm] release
E 59600 dr morse_pageset_write[474] Failed to write page: -32768
E 59600 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=16
[transport_fsm] claim
[transport_fsm] write_multi_byte
[transport_fsm] release
[00:31:03.407,632] bdg_ble: majorminor: 10000007 , count: 1 , sum: -69
[00:31:03.407,674] bdg_ble: majorminor: 10000101 , count: 2 , sum: -133
E 60808 dr morse_pageset_write[474] Failed to write page: -32768
E 60809 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=16
[transport_fsm] claim
[transport_fsm] write_multi_byte
[transport_fsm] release
[transport_fsm] claimE 60828 dr morse_pageset_write[474] Failed to write page: -32768
E 60828 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=1
[transport_fsm] write_multi_byte
[transport_fsm] release
E 61829 dr morse_pageset_write[474] Failed to write page: -32768
E 61829 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=1
[transport_fsm] claim
[transport_fsm] write_multi_byte
E 62620 dr morse_pageset_write[474] Failed to write page: -32768
E 62620 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=16
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] write_multi_byte
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] read_word
[transport_fsm] read_word
[transport_fsm] release
[00:31:06.179,766] bdg_ble: majorminor: 10000101 , count: 2 , sum: -141
E 62840 dr morse_pageset_write[474] Failed to write page: -32768
E 62840 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=1
[transport_fsm] claim
[transport_fsm] write_multi_byte
E 63833 he morse_cmd_tx[230] Command 19:342 timed out
[transport_fsm] E 63840 dr morse_pageset_write[474] Failed to write page: -32768
E 63840 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=1
release
[transport_fsm] claim
[transport_fsm] write_multi_byte
[transport_fsm] release
E 64842 dr morse_pageset_write[474] Failed to write page: -32768
E 64843 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=1
[transport_fsm] claim
[transport_fsm] write_multi_byte
[transport_fsm] release
[transport_fsm] claim
E 65335 dr morse_pageset_write[474] Failed to write page: -32768
E 65335 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=16
[transport_fsm] write_multi_byte
[transport_fsm] release
[00:31:08.975,838] bdg_ble: majorminor: 10000101 , count: 3 , sum: -213
[00:31:08.975,886] bdg_ble: majorminor: 10000006 , count: 1 , sum: -63
E 65843 dr morse_pageset_write[474] Failed to write page: -32768
E 65843 dr morse_pageset_tx[809] morse_pageset_tx could not write 1 pkts - rc=-32768 items=1 pages=1
[00:31:08.975,889] bdg_ble: majorminor: 380038 , count: 1 , sum: -87
[00:31:08.975,893] bdg_ble: majorminor: 10002001 , count: 1 , sum: -84
[transport_fsm] claim
[transport_fsm] write_multi_byte
[transport_fsm] release
E 66841 he morse_cmd_tx[230] Command 19:352 timed out
E 66841 he driver_health_task_main[134] Health check failed (errno=-116)
[transport_fsm] claim
[transport_fsm] irq_disabled
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] read_word
[transport_fsm] write_word
[transport_fsm] write_word
[transport_fsm] release
[transport_fsm] claim— 60 messages dropped —
release
[transport_fsm] claim
[transport_fsm] read_word
[transport_fsm] write_word
[transport_fsm] write_word
[transport_fsm]
[transport_fsm] claim
[transport_fsm] irq_disabled
[transport_fsm] release
[transport_fsm] claim
[transport_fsm] release
[transport_fsm] reset
[transport_fsm] claim
[00:31:11.741,599] bdg_ble: majorminor: 10000006 , count: 1 , sum: -79
[00:31:11.741,641] bdg_ble: majorminor: 10000005 , count: 1 , sum: -82
[00:31:11.741,644] bdg_ble: majorminor: 10002004 , count: 1 , sum: -85
[00:31:11.741,648] bdg_ble: majorminor: 10002003 , count: 1 , sum: -83
[00:31:13.803,640] wifi_morse: Failed to send packet - 6
[00:31:13.803,764] net_if: iface 1 pkt 0x100b2cf0 send failure status -116
[00:31:14.503,287] bdg_ble: majorminor: 10000002 , count: 1 , sum: -87
[00:31:14.503,320] bdg_ble: majorminor: 10000101 , count: 1 , sum: -74
[00:31:14.503,323] bdg_ble: majorminor: 10002002 , count: 1 , sum: -91
[00:31:17.328,326] bdg_ble: majorminor: 10000101 , count: 1 , sum: -65
[00:31:20.104,909] bdg_ble: majorminor: 10000007 , count: 1 , sum: -70
[00:31:20.104,978] bdg_ble: majorminor: 10000102 , count: 1 , sum: -83
[00:31:20.912,842] wifi_morse: Failed to send packet - 6
[00:31:20.912,961] net_if: iface 1 pkt 0x100b2cf0 send failure status -116
[00:31:21.164,468] net_mqtt_rx: [CID 0x100566b8]: Transport read error: -116
[00:31:21.164,534] net_mqtt_sock_tcp: Closing socket 0
[00:31:21.164,857] alpha_testing_NETWORKING: MQTT disconnected (-116)
[00:31:21.164,879] network_task: mqtt_input error: -116
[00:31:22.893,688] bdg_ble: majorminor: 10000101 , count: 2 , sum: -145
[00:31:22.893,757] bdg_ble: majorminor: 10000 , count: 1 , sum: -87
[00:31:22.893,763] bdg_ble: majorminor: 10000002 , count: 1 , sum: -86
[00:31:22.893,767] bdg_ble: majorminor: 10002005 , count: 1 , sum: -75
[00:31:25.741,126] bdg_ble: majorminor: 10000101 , count: 2 , sum: -134
[00:31:25.741,170] bdg_ble: majorminor: 10000007 , count: 1 , sum: -78
[00:31:25.741,173] bdg_ble: majorminor: 10000005 , count: 1 , sum: -76
[00:31:31.268,216] bdg_ble: majorminor: a0040 , count: 1 , sum: -84