I need to use Static OOB method with PyACI and serial library
When I sent cmd.OobUse
with OOBMethod.STATIC
, I receive error message:2019-07-25 17:08:26,191 - ERROR - COM11: OobUse: ERROR_INVALID_LENGTH
My Python code in nrf5SDKforMeshv310/scripts/interactive_pyaci/mesh/provisioning.py:315
is:
self.iaci.send(cmd.OobUse(event._data["context_id"], OOBMethod.STATIC, 0, 0))
I used size=0
because of Mesh Profile (v1.0.1) requires this in chapter 5.4.1.3 Provisioning Start:
When the Authentication Method 0x01 (Authentication with Static OOB) method is used, the Authentication Size shall be set to 0x00 and the Authentication Action field shall be set to 0x00.
The error was generated by Mesh SDK code in nrf5SDKforMeshv310/mesh/prov/src/prov_provisioner.c:482
if (size > PROV_AUTH_LEN || (size == 0 && method != NRF_MESH_PROV_OOB_METHOD_NONE) || (size != 0 && method == NRF_MESH_PROV_OOB_METHOD_NONE) || (size != PROV_AUTH_LEN && method == NRF_MESH_PROV_OOB_METHOD_STATIC)) { return NRF_ERROR_INVALID_LENGTH; }
I believe, that Mesh SDK code doesn't comply that requirement mentioned above