Update Pack Size Restrictions breaks Update

we are facing problems when we convert *.update packs to *.cwe and *.spk and then try to flash them via updateService or swiflash.

We recognized, that when the update pack is larger than 6700 bytes, the update leaves the board with a non starting legato framework.

When the size is reduced, everything works again. This is independent from the yocto package size.

What is the maximum size for the legato package?
What is the maximum size for the yocto package?
What is the maximum size overall (legato + yocto + modem firmware)?


you can see the information in “more /proc/mtd”

Thanks, now this get’s a litte bit clearer.
Can you explain which one is for legato and which one is for legato/our apps, because the sizes don’t match our expectations. Is there documentation on what the different partitions are doing?

mtd13: 01e00000 00040000 "system" -> 30 MB
mtd14: 008c0000 00040000 "lefwkro" -> 8.75 MB
mtd15: 01900000 00040000 "swirw"   -> 25 MB
mtd16: 08300000 00040000 "userapp" -> 131 MB
  • “system”: seems to be for yocto, right?
  • “lefwkro”: this is bigger that our apps, but they don’t fit. Is the spk compressed? Where can I find the real maximum size for our apps?
  • “swirw”: what is this for?
  • “userapp”: a lot of space! can we use it, or what is it for?


For more information, you can see Section “ Flash Memory” in PTS of WP76 module

“userapp” is for legato application downloaded by .update file or the space in e.g. /home/root etc

Ok, this is strange. Our applications are pretty small compared to the size of the userapp partition:

 Type	 Size(Exclude Header)	 Product	 Compress	 Version
*APPL    8126864                 Y921            0               19.11.2 ABO 2022/07/12 09:12:30
 USER    8126464                 9X28            0               19.11.2 ABO 2022/07/12 09:12:30

The thing that I can see is that /mnt/userrw would fit into the picture. It has a size of 8.1 MB:

/dev/ubi3_0             104.5M     16.9M     82.9M  17% /mnt/flash
/dev/mapper/lgt           6.4M      6.4M         0 100% /mnt/legato
/dev/ubi4_0               8.7M     48.0K      8.1M   1% /mnt/userrw
overlay                 104.5M     16.9M     82.9M  17% /etc
overlay                 104.5M     16.9M     82.9M  17% /data
overlay                 104.5M     16.9M     82.9M  17% /lib/firmware
/dev/ubi3_0             104.5M     16.9M     82.9M  17% /home
/dev/ubiblock1_0         24.9M     24.9M         0 100% /firmware
/dev/ubi3_0             104.5M     16.9M     82.9M  17% /legato

Could this break the update?

if you embed your application to .cwe file,. it would be download to “lefwkro” area, not userapp area

Ah ok, that’ll fit the picture!

So lefwkro is mounted to /mnt/userrw!