Issue releasing OTA firmware

Hello Team Golioth,

I am trying to execute and release OTA following the Golioth docs

but getting blocked by an error on the Golioth cloud “Package main is not included in the active deployment

Here are the screenshots of the steps:

Tried uploading binaries generated both ways:

  1. _update.bin (without sysbuild)
  2. zephyr.signed.bin (with sysbuild)

yet the dashboard keeps showing the same error.

So what am I missing?

Thanks

@rajeev thanks for posting! The error you are seeing is because your device is reporting that it is running version 1.0.0 of package main, but you are deploying version 1.0.1 of package vibetrack-001. The Golioth Firmware SDK firmware update functionality uses package main by default (i.e. it looks for main in the manifest for a deployment and uses that as the firmware image artifact). If you want to use vibetrack-001 instead, you can set CONFIG_GOLIOTH_FW_UPDATE_PACKAGE_NAME=vibetrack-001.

1 Like

@hasheddan

Dan that fixed the issue. Thanks.

However, this is what confused me:
On this page:

the package name for example shows “sensor-firmware” while on this page;

there is a note
In the Golioth Console, go to **Firmware Updates→Packages** on the left sidebar and click the Create button. Set the name of the package to main , and optionally add a short description.

setting the package name to “main” instead of anything else seems to have done the trick.

@rajeev thanks for that feedback! We should definitely improve the documentation here.

1 Like

@hasheddan,

How can I disable sending of golioth_fw_update logs to the console.

In my prj.conf I have
CONFIG_LOG_BACKEND_GOLIOTH=n
which disables sending of other app layer logs, but during OTA, I still see the logs being streamed to the console from the Golioth ota module.

Just trying to reduce the cellular data consumption here as ota binary itself consumes multiple 100’s kbs for instance main image being 443 kB. :frowning:

@rajeev if you want to disable log streaming to Golioth entirely you can set CONFIG_GOLIOTH_AUTO_LOG_TO_CLOUD=n. However, you can also change the log level if you just want to eliminate these verbose INFO logs.

Thank you, Dan.

CONFIG_GOLIOTH_DEBUG_DEFAULT_LOG_LEVEL=3

Is this the correct config for the verbose logging?

@rajeev when using Zephyr, the log level is actually configured with CONFIG_GOLIOTH_LOG_LEVEL_* and integrates with the Zephyr logging subsystem.