I’ve been trying to update my target using AirVantage. I’ve managed to get my bundle uploaded, released, and published. Unfortunately every time I try to install it on a device, we receive Read operation failure [legato.1.0.3: BAD_REQUEST,legato.1.0.5: BAD_REQUEST] in return (shown below).
No I can update easily my target. For the moment only the apps (not try with a bundle).
Do you have a avcController in charge of the update ? If you use the WP85 with légato 17 or higher you must modify the app attached per default to the wp85. I will share you the file tomorrow.
I have completed this step as per our previous discussion on a forum post. My guess would be this is failing when it reaches the target. I tried this with individual apps instead of a bundle and I got this error: Upgrade failure [Invalid Update State value: 0].
What version of legato are you using? If you are using legato > 16.10 which is AVC2 (AirVantage 1.0 to 2.0 Migration - Legato Docs), the LWM2M_LEGATO_SYSTEM_UDPATE feature is no longer supported (OTA update using the *.update).
However you can still update your system through FOTA (Bundling mechanism). Instead of using the *.update file, you’ll be using the legatoz.cwe file in your build directory.
Here is an example of a FOTA package used to update a legato system (assuming the version is 18.04.0_612aee16f4e1ar736d…).
Note: The type field must match your “Firmware” linked to your device. You can check what is it by going to Inventory->Systems->(Your device) and under “Firmware” click on the highighted package.
To perform a bundle update on the server, go to Monitor->Systems->(Your device) and under More->Install Bundle.
Can you check that the firmware model linked to your device is for AVC2 (Inventory->Systems->(Your device) and under “Firmware” click on the highlighted package.
The firmware model xml should contain the following lines under the communication tags
I’m still looking for a way to push system updates in some way. I tried your suggestion but it’s been a bit of a versioning nightmare. The target always reports the the Legato version as the 3 digit version (18.04.0 in my case), so this is the version that must be specified in manifest.app for this to work. I tried simply specifying 18.0.4 in my manifest file, but in this case the target assumes it’s already up to date and does not install the update. I then tried tagging my own versions of Legato (confirmed this worked by running legato version on the target after applying over micro USB), but this seemed to confuse the avcService and caused it to lock up.
Generally speaking, app updates work well, but this does not really cover cases where some major changes have been made (e.g when renaming or deleting a service). Also note that the service I need to delete was not installed through AirVantage so it does not list show it in the web interface (see below).
Hi @nvd, you have to sync the server and device to reflect apps installed on the devices etc., (system applications). Click sync button on server to know what apps are installed. I guess you need to change the legato version in /mnt
Thanks @prushp. I’m assuming I need to upload these apps to AirVantage (at the correct version) in order for this to work and for these messages to disappear?
I’ve since upgraded to Legato 18.10.02 on release 16.1 of the WP85 firmware.
I’ve created a custom firmware bundle (.spk) using the modem firmware, MCU firmware, and Linux Distro bundled with release 16.1 for the WP85. The Legato system is custom and was concatenated using systocwe and swicwe.
I don’t really work on Legato anymore or use AirVantage so I’m not super helpful here.
Almost all of my issues related to updates stemmed from version mismatches. It was such a pain that I did some questionable bash scripting to generate bundles for AirVantage.
@dbeckwith inherited this code from me so he may be able to help.