This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Packet "Provisioning Start", field "Authentication Size" shall be set to 0x00 for Static OOB method

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

Parents Reply Children
No Data
Related