Hello @ChrisGammell, I make a new Topic because the problem is different.
Updating ncs to 2.4.0 solved topic https://forum.golioth.io/t/error-in-poll-95. I think there was some issue with the socket absed on error 95 that mean operation not supported on socket.
Now while typing this reply I had this, previously nothing happens.
I’ve upload artifact and turn on rollout. I’m pretty sure that part is correct.
it connects 'cause the console says:
After adding some logging to zcbor_utils I found the issue was cause by
num_decoded < num_entries
in zcbor_utils.c. It never enter the while cycle.
What I have to do? Thanks in advance.
From the console logs you shared, it looks like the returned manifest is empty (a0 is the CBOR empty map), suggesting there is not a rollout that meets the criteria for the device. Maybe check the device tags and/or blueprints against the release configuration to see if the device is supposed to get it.
Hi @tim, I don’t understand why is empty. I followed the guide. Release tag is needed. How can I check if I uploaded a right artifact?
I tried with your sample and I’ve the same output, I think I made a mistake in the artifact settings, could you provide an exhaustive example on how blueprints, tags, artifacts and releases have to set. Is a problem if I build the binary for the artifact with the provided vscode nrf extension instead of with the west command in cli?
If you create a release that does NOT specify a blueprint and does not have any device tags, the device should get the release. I’ve taken a screenshot of creating such a release.
Try this and see if the manifest now contains a release.
I’ve tried right now your suggestion and all works fine, I think the problem was in the settings of blueprint or tag, could you provide me a working example of both? Thank you very much @tim, finally after months I can do ota dfu.
The rules for whether a device gets a release are the following:
- The release does NOT specify a blueprint nor any device tags (this is a release that is meant to be applied to all devices); OR
- The device’s blueprint matches the releases blueprint; AND
- The number of a device’s tags must be equal to the number of device tags specified in the release; AND
- The value(s) of a device’s tags must be equal to the value(s) of the device tags specified in the release.
That said, there is a known bug for the following situation:
- a device created on console without blueprint
- device connects to CoAP gateway
- device is updated on console to have a blueprint
- release is created for blueprint
- device does not get release until it reboots
If the above was your situation, then rebooting the device should serve as a workaround until we can fix this bug.
Rebooting doesn’t work for me. I’ll try changing blueprints and tags and if I figured out how to resolve I’ll say it to you.