LwM2M SMP FOTA with CONFIG_ZCBOR_CANONICAL doesn't work

Hello,

I am working on a project for nRF9160 that is supposed to provide FOTA/DFU functionality for main application, modem and nRF52832 co-processor acting as SPI HCI slave. For sake of MCUMGR interface I am using 2 pin UART interface (RX/TX) and SMP server running on nRF52832. So far I have confirmed that SMP server is running correctly on nRF52 and I am able to update it using CLI MCUMGR from my linux development machine.

However, MCUMGR client on nRF91 side doesn't seem to work if I set CONFIG_ZCBOR_CANONICAL (which is required by CONFIG_LWM2M_RW_SENML_CBOR_SUPPORT).

By enabling CONFIG_ZCBOR_VERBOSE I am able to catch following output when running mcumgr read command:

rtt:~$ mcumgr read
New backup (level 0)
rem: 506, cur: 0xa1, ec: 0x0, err: 0, value_encode_len
Process backup (level 0, flags 0x3)
list_count: 0
rem: 506, cur: 0xa0, ec: 0x0, err: 0, value_encode_len
zcbor_map_start_decode rem: 244, cur: 0xbf, ec: 0x1, err: 0, value_extract
ZCBOR_ERR_IF(additional > ZCBOR_VALUE_IS_8_BYTES, 7) ZCBOR_ERR(7) ZCBOR_FAIL rem: 244, cur: 0xbf, ec: 0x1, err: 7, WEST_TOPDIR/modules/lib/zcbor/src/zcbor_decode.c:139
ZCBOR_FAIL rem: 244, cur: 0xbf, ec: 0x1, err: 7, WEST_TOPDIR/modules/lib/zcbor/src/zcbor_decode.c:662



If I switch to CONFIG_LWM2M_RW_SENML_JSON_SUPPORT (which is not desired) I can issue commands but still get some CBOR errors, i.e:

rtt:~$ mcumgr read
zcbor_map_start_decode New backup (level 0)
zcbor_tstr_decode rem: 243, cur: 0x66, ec: 0xfffffff0, err: 0, value_extract
zcbor_list_start_decode New backup (level 1)
zcbor_map_start_decode New backup (level 2)
zcbor_tstr_decode rem: 234, cur: 0x64, ec: 0xfffffff0, err: 0, value_extract
zcbor_uint32_decode zcbor_uint_decode rem: 229, cur: 0x0, ec: 0xffffffef, err: 0, value_extract
zcbor_tstr_decode rem: 228, cur: 0x67, ec: 0xffffffee, err: 0, value_extract
zcbor_tstr_decode rem: 220, cur: 0x65, ec: 0xffffffed, err: 0, value_extract
zcbor_tstr_decode rem: 214, cur: 0x64, ec: 0xffffffec, err: 0, value_extract
zcbor_bstr_decode rem: 209, cur: 0x58, ec: 0xffffffeb, err: 0, value_extract
zcbor_tstr_decode rem: 175, cur: 0x68, ec: 0xffffffea, err: 0, value_extract
zcbor_bool_decode zcbor_simple_decode zcbor_simple_decode rem: 166, cur: 0xf5, ec: 0xffffffe9, err: 0, value_extract
boolval: 1
zcbor_tstr_decode rem: 165, cur: 0x67, ec: 0xffffffe8, err: 0, value_extract
zcbor_bool_decode zcbor_simple_decode zcbor_simple_decode rem: 157, cur: 0xf4, ec: 0xffffffe7, err: 0, value_extract
boolval: 0
zcbor_tstr_decode rem: 156, cur: 0x69, ec: 0xffffffe6, err: 0, value_extract
zcbor_bool_decode zcbor_simple_decode zcbor_simple_decode rem: 146, cur: 0xf5, ec: 0xffffffe5, err: 0, value_extract
boolval: 1
zcbor_tstr_decode rem: 145, cur: 0x66, ec: 0xffffffe4, err: 0, value_extract
zcbor_bool_decode zcbor_simple_decode zcbor_simple_decode rem: 138, cur: 0xf5, ec: 0xffffffe3, err: 0, value_extract
boolval: 1
zcbor_tstr_decode rem: 137, cur: 0x69, ec: 0xffffffe2, err: 0, value_extract
zcbor_bool_decode zcbor_simple_decode zcbor_simple_decode rem: 127, cur: 0xf4, ec: 0xffffffe1, err: 0, value_extract
boolval: 0
zcbor_tstr_decode ZCBOR_ERR(10) ZCBOR_FAIL rem: 126, cur: 0xff, ec: 0xffffffe0, err: 10, WEST_TOPDIR/modules/lib/zcbor/src/zcbor_decode.c:51
ZCBOR_FAIL rem: 126, cur: 0xff, ec: 0xffffffe0, err: 10, WEST_TOPDIR/modules/lib/zcbor/src/zcbor_decode.c:386
ZCBOR_FAIL rem: 126, cur: 0xff, ec: 0xffffffe0, err: 10, WEST_TOPDIR/modules/lib/zcbor/src/zcbor_decode.c:402
ZCBOR_FAIL rem: 126, cur: 0xff, ec: 0xffffffe0, err: 10, WEST_TOPDIR/modules/lib/zcbor/src/zcbor_decode.c:533
zcbor_map_end_decode Process backup (level 2, flags 0x7)
zcbor_map_start_decode New backup (level 2)
zcbor_tstr_decode rem: 124, cur: 0x64, ec: 0xfffffff0, err: 10, value_extract
zcbor_uint32_decode zcbor_uint_decode rem: 119, cur: 0x1, ec: 0xffffffef, err: 10, value_extract
zcbor_tstr_decode rem: 118, cur: 0x67, ec: 0xffffffee, err: 10, value_extract
zcbor_tstr_decode rem: 110, cur: 0x65, ec: 0xffffffed, err: 10, value_extract
zcbor_tstr_decode rem: 104, cur: 0x64, ec: 0xffffffec, err: 10, value_extract
zcbor_bstr_decode rem: 99, cur: 0x58, ec: 0xffffffeb, err: 10, value_extract
zcbor_tstr_decode rem: 65, cur: 0x68, ec: 0xffffffea, err: 10, value_extract
zcbor_bool_decode zcbor_simple_decode zcbor_simple_decode rem: 56, cur: 0xf5, ec: 0xffffffe9, err: 10, value_extract
boolval: 1
zcbor_tstr_decode rem: 55, cur: 0x67, ec: 0xffffffe8, err: 10, value_extract
zcbor_bool_decode zcbor_simple_decode zcbor_simple_decode rem: 47, cur: 0xf4, ec: 0xffffffe7, err: 10, value_extract
boolval: 0
zcbor_tstr_decode rem: 46, cur: 0x69, ec: 0xffffffe6, err: 10, value_extract
zcbor_bool_decode zcbor_simple_decode zcbor_simple_decode rem: 36, cur: 0xf4, ec: 0xffffffe5, err: 10, value_extract
boolval: 0
zcbor_tstr_decode rem: 35, cur: 0x66, ec: 0xffffffe4, err: 10, value_extract
zcbor_bool_decode zcbor_simple_decode zcbor_simple_decode rem: 28, cur: 0xf4, ec: 0xffffffe3, err: 10, value_extract
boolval: 0
zcbor_tstr_decode rem: 27, cur: 0x69, ec: 0xffffffe2, err: 10, value_extract
zcbor_bool_decode zcbor_simple_decode zcbor_simple_decode rem: 17, cur: 0xf4, ec: 0xffffffe1, err: 10, value_extract
boolval: 0
zcbor_tstr_decode ZCBOR_ERR(10) ZCBOR_FAIL rem: 16, cur: 0xff, ec: 0xffffffe0, err: 10, WEST_TOPDIR/modules/lib/zcbor/src/zcbor_decode.c:51
ZCBOR_FAIL rem: 16, cur: 0xff, ec: 0xffffffe0, err: 10, WEST_TOPDIR/modules/lib/zcbor/src/zcbor_decode.c:386
ZCBOR_FAIL rem: 16, cur: 0xff, ec: 0xffffffe0, err: 10, WEST_TOPDIR/modules/lib/zcbor/src/zcbor_decode.c:402
ZCBOR_FAIL rem: 16, cur: 0xff, ec: 0xffffffe0, err: 10, WEST_TOPDIR/modules/lib/zcbor/src/zcbor_decode.c:533
zcbor_map_end_decode Process backup (level 2, flags 0x7)
zcbor_map_start_decode ZCBOR_ERR(10) ZCBOR_FAIL rem: 15, cur: 0xff, ec: 0xffffffee, err: 10, WEST_TOPDIR/modules/lib/zcbor/src/zcbor_decode.c:51
ZCBOR_FAIL rem: 15, cur: 0xff, ec: 0xffffffee, err: 10, WEST_TOPDIR/modules/lib/zcbor/src/zcbor_decode.c:648
zcbor_list_end_decode Process backup (level 1, flags 0x7)
Primary Image(0) slot(0)
       Version: 1.0.0
       Bootable(1) Pending(0) Confirmed(1)
       Hash: 24bc48b453ab7af3bb242927dc7c475bde4547be806d9c75a52e3582ca8da3
Secondary Image(0) slot(1)
       Version: 1.0.0
       Bootable(1) Pending(0) Confirmed(0)
       Hash: 24bc48b453ab7af3bb242927dc7c475bde4547be806d9c75a52e3582ca8da3


I am using NCS version 2.6.1

Parents Reply Children
Related