OTA: Unable to initiate update Please make sure the selected package is compatible with the selected device

After writing and successfully testing a docker compose file (.yml) locally on a Colibri iMX6DL with an evaluation board, I tried updating the device with the same compose file via the Torizon Platform (OTA) interface.

The device has connected successfully and the package seemed to upload successfully also, however when I try to update the device I receive this error message: “Unable to initiate update, Please make sure the selected package is compatible with the selected device”

Is anybody able to offer advice on how I should go about making my package (docker-compose file?) compatible with my selected device? (I thought the fact it worked locally meant it was compatible but clearly I was wrong.)

Or possibly provide a good tutorial for creating these packages (I have found the Toradex tutorials on the matter to be a bit lacking in information)

Thanks in advance,
Neil

Greetings @Neil_M,

Hmm this is interesting, in general Docker-Compose packages should be compatible with any Torizon device. There’s really not much more to creating these packages then taking the docker-compose and uploading it via the web UI.

Please answer the following questions so I can gather more information:

  • Could you share the docker-compose you’ve uploaded for OTA?
  • Also what version of TorizonCore are you running on your Colibri iMX6DL device?
  • On the Web UI does your docker-compose package show “docker-compose” as the supported hardware type?

Finally just to make sure this isn’t possibly an issue on the device side let’s try the following. Run journalctl -f -u aktualizr* on the device. This will monitor the update client’s logs. Then try initiating an update from the web UI. Monitor the logs on the device as this happens, it may take some time before the device sees the update since the default poll-rate is 5mins. If the device never sees the update then we know the issue is on the server side and will help us narrow down the problem.

Best Regards,
Jeremias

Hi @jeremias.tx, thanks for the quick response!

  • The docker-compose file is as follows. The docker hub repo is public.

version: "3"

services:

test:

container_name: "test_cont"

image: neilmurphycee/repotest:0.1

ports:

- "8080:80"

volumes:

- "/var/run/dbus:/var/run/dbus"

- "/sys/devices/virtual/thermal/thermal_zone0/:/home/torizon/site/temperature"

devices:

- "/dev/ttyUSB0"

- "/dev/ttymxc0"

- "/dev/ttymxc1"

restart: "no"

privileged: "true"

  • TorizonCore version is as follows

ID=torizon

NAME="TorizonCore"

VERSION="5.0.0-devel-202009+build.2 (dunfell)"

VERSION_ID=5.0.0-devel-202009-build.2

PRETTY_NAME="TorizonCore 5.0.0-devel-202009+build.2 (dunfell)"

BUILD_ID="2"

ANSI_COLOR="1;34"

  • On the Web UI my package does show “docker-compose” as the supported hardware type yes.

  • I ran journalctl -f -u aktualizr* for 15/20 minutes and the only output was the following (in this period I also tried to update the device again with no success)

Jul 19 00:17:23 colibri-imx6-10716425 aktualizr[706]: Current versions in storage and reported by OSTree do not match

Jul 19 00:17:40 colibri-imx6-10716425 aktualizr[706]: Current versions in storage and reported by OSTree do not match

Jul 19 00:17:57 colibri-imx6-10716425 aktualizr[706]: Current versions in storage and reported by OSTree do not match

Jul 19 00:18:14 colibri-imx6-10716425 aktualizr[706]: Current versions in storage and reported by OSTree do not match

Jul 19 00:18:31 colibri-imx6-10716425 aktualizr[706]: Current versions in storage and reported by OSTree do not match

Regards,
Neil

Note: Sorry if the code isn’t formatted correctly, I had a little trouble with the auto formatter

This looks to me like the device is not properly provisioned into the OTA update system. Does the web portal show you a recent connection time? Is it feasible for you to remove the old device entry in the system and just provision it new?

Drew

Thanks @drew.tx.

Sorry about my slow response, I’m currently out of the office due to a COVID lockdown and so don’t have access to all the hardware I was using for this.

I do recall that the web portal did show a recent connection time though, the bottom left corner of the device card had a green spot that when hovered over showed something along the lines of “device last connected just now”

Once I have access to the hardware again, I will try to remove and provision the device again and let you know how I go.

Thanks
Neil

Hi @drew.tx,

I have removed the old device from Torizon Platform and provisioned it once again. The device card shows a green signal in the bottom left corner and says “Last seen: less than a minute ago”, however the same issue is still occurring when I try to initiate an update.

I have included the log from sudo journalctl -f -u aktualizr* below.

Jul 29 23:10:59 colibri-imx6-10716425 aktualizr[4839]: Reading config: "/usr/lib/sota/conf.d/40-hardware-id.toml"
Jul 29 23:10:59 colibri-imx6-10716425 aktualizr[4839]: Use existing SQL storage: "/var/sota/sql.db"
Jul 29 23:10:59 colibri-imx6-10716425 aktualizr[4839]: Primary ECU serial: 6303c722f04e402d6e48e85894082becf8b6928270f15747e28d962074fbfe98 with hardware ID: colibri-imx6
Jul 29 23:10:59 colibri-imx6-10716425 aktualizr[4839]: Device ID: 8ab1e641-f117-4a1f-8ec4-14cb300ebc39
Jul 29 23:10:59 colibri-imx6-10716425 aktualizr[4839]: Device Gateway URL: https://ota-ce.torizon.io
Jul 29 23:10:59 colibri-imx6-10716425 aktualizr[4839]: Certificate subject: CN=8ab1e641-f117-4a1f-8ec4-14cb300ebc39
Jul 29 23:10:59 colibri-imx6-10716425 aktualizr[4839]: Certificate issuer: CN=ota-devices-CA
Jul 29 23:10:59 colibri-imx6-10716425 aktualizr[4839]: Certificate valid from: Jul 29 23:10:04 2021 GMT until: Jul  5 23:10:04 2120 GMT
Jul 29 23:11:03 colibri-imx6-10716425 aktualizr[4839]: got SendDeviceDataComplete event
Jul 29 23:11:04 colibri-imx6-10716425 aktualizr[4839]: Current versions in storage and reported by OSTree do not match
Jul 29 23:11:22 colibri-imx6-10716425 aktualizr[4839]: Current versions in storage and reported by OSTree do not match

If you have any other suggestions I would be happy to try them out.

Regards,
Neil

Hi @Neil_M,

Going by the logs it looks like the device is properly provisioned now. However despite this you’re saying that when you try to initiate an update from the web UI you still get a Unable to initiate update error?

Also going off your logs it appears that the update never reached the device as the logs don’t indicate having seen any update.

Actually looking over the information you gave us previously I’m just noticing now you’re using version 5.0.0 of TorizonCore. Are you still using this version on the device? This is a relatively old version and we’ve made several non-compatible changes to the OTA system both in the OS and on our servers since this version. Could you try this again wtih a more recent version of TorzionCore, like 5.3.0 for example.

Best Regards,
Jeremias

Hi @jeremias.tx and @drew.tx,

I just wanted to follow up on this and let you know I have finally had the opportunity to access all the required equipment.

I have updated the TorizonCore version to 5.3.0 and everything is working as expected, so it would appear as though this was the cause of the error.

Thank you very much for your guidance, it is much appreciated.

Regards,
Neil

That’s great news. Thanks for reporting back.

Drew