FOTA for FX30S how to

normally i used β€œmake wp77xx” to build the legato CWE.

@cchenry how do you think we can solve this problem?

@claudio.baldini,
I’m not sure at this point, but let’s take this step by step.

  1. Please provide the steps you took to pull the source code
  2. What changes have you made to the sdef?

Could you please try the following:

  1. Start a fresh Leaf workspace
  2. Pull Legato source code: leaf getsrc swi-legato
  3. make wp77xx
  4. Install the legato CWE image onto your device and confirm this image is functional
  5. Add your changes, rebuild and test your image

I have gone through the steps from the legato docs about how to setup the workspace:
wget https://downloads.sierrawireless.com/tools/leaf/leaf_latest.deb -O /tmp/leaf_latest.deb && sudo apt install /tmp/leaf_latest.deb
leaf is already the newest version (2.4.0).
0 to upgrade, 0 to newly install, 0 to remove and 41 not to upgrade.

Then I have created a new workspace, new profile and run the command
leaf getsrc swi-legato
the shell just returned so I assume this should be up and running with the latest updates.
Problem is when I run the make wp77xx which returns
make: *** No rule to make target β€˜wp77xx’. Stop.

but this is not a leaf command, which is what we are using at the moment and would need to understand why the leaf is not working, our team took this direction for the development and it would be a bit cumbersome to steer from it.

if I check the HOME/.leaf I see the packages: xxxx@xxxx-VirtualBox:~/.leaf ls
fx30-3g-legato_18.06.5 swi-license_1.1 wp77-linux-image_SWI9X06Y_02.32.02.00
fx30-catm-image_1.0.0 swi-license_1.2 wp77-linux-image_SWI9X06Y_02.35.02.00
fx30-catm-image_2.0.0 swi-verify-aptdeps_1.6.191122 wp77-modem-image_11
fx30-catm-legato_18.06.1 swi-verify-license_1.4.190813 wp77-modem-image_12
fx30-catm-legato_18.09.4 swi-vscode-support_200624 wp77-modem-image_13
fx30-catm-legato-image_18.06.1 swi-wp77_3.0.0 wp77-modem-image_9.1
fx30-catm-legato-image_18.09.4 swi-wp77_3.4.0 wp77-toolchain_SWI9X06Y_02.18.05.00-linux64
fx30-catm-linux-image_9.1.1.013 swi-wp77_4.2.0 wp77-toolchain_SWI9X06Y_02.22.12.00-linux64
fx30-catm-linux-image_R11.0.0.007 swi-wp85_3.14.0 wp77-toolchain_SWI9X06Y_02.32.02.00-linux64
fx30-catm-linux-src_9.1.1.013 wp77-image_3.0.0 wp77-toolchain_SWI9X06Y_02.35.02.00-linux64
swi-aptdeps-image_1.0 wp77-image_3.4.0 wp85-image_3.14.0
swi-aptdeps-legato_1.0 wp77-image_4.2.0 wp85-legato_20.04.0-202004151902
swi-aptdeps-linux-src_1.0 wp77-legato_19.07.0-201909032009 wp85-legato-image_20.04.0-202004151902
swi-cloneutils_4.2.200401 wp77-legato_20.04.0-202004151904 wp85-linux-image_SWI9X15Y_07.14.01.00
swi-fx30-catm_1.0.0 wp77-legato_20.08.0-202011160350 wp85-modem-image_17
swi-fx30-catm_2.0.0 wp77-legato-image_19.07.0-201909040346 wp85-toolchain_SWI9X15Y_07.14.01.00-linux64
swi-legato_1.4.191225 wp77-legato-image_20.04.0-202004151904
swi-license_1.0 wp77-legato-image_20.08.0-202011160350

which lists the fx30-catm-image_2.0.0 which I am trying to use.
However if I run the leaf search it will not list the fx30-catm-image_2.0.0 but only the wpXX packages.

This is unless the leaf framework is not supported any longer, I can`t see any comment about this from the legato docs.

@cchenry is there anyone within the swi team who can help us to troubleshoot why the leaf workspace is not building the system correctly?
Cheers

I just pulled the swi-legato. There’s another sub-folder:

cd legato-src/legato
make wp77xx

Install the image:
legato-src/legato/build/wp77xx/legato-squashfs.ubi.cwe

if I initialize a new workspace and create a new profile and also setup to the fx30 package:
~/Qsync/legatoworkspace_new$ leaf init
Workspace initialized /home/claudio/Qsync/legatoworkspace_new
~/Qsync/legatoworkspace_new$ leaf setup -p fx30-catm-image_2.0.0
No profile name given, the new profile will be automatically named FX30-CATM-IMAGE
β†’ Execute: leaf profile create FX30-CATM-IMAGE
Current profile is now FX30-CATM-IMAGE
Profile FX30-CATM-IMAGE created
β†’ Execute: leaf profile config FX30-CATM-IMAGE -p fx30-catm-image_2.0.0
β†’ Execute: leaf profile sync FX30-CATM-IMAGE

then run the command:
~/Qsync/legatoworkspace_new$ leaf getsrc swi-legato

shell will return without doing anything.
I have checked inside the folder and there is no additional folders then the leaf-data and leaf-workspace.json which are initialized when the profile is created.

I’m not sure what you’re doing wrong, but I’ve just tried again, and it works for me.
Could you please try again with a completely new folder?

@cchenry I don`t know either, it looks to me that this is working all right, beside the getsrc command.

~/Qsync$ mkdir new_new_folder
~/Qsync$ cd new_new_folder/
~/Qsync/new_new_folder$ ls
~/Qsync/new_new_folder$ leaf init
Workspace initialized /home/claudio/Qsync/new_new_folder
~/Qsync/new_new_folder$ leaf setup -p fx30-catm-image_2.0.0
No profile name given, the new profile will be automatically named FX30-CATM-IMAGE
β†’ Execute: leaf profile create FX30-CATM-IMAGE
Current profile is now FX30-CATM-IMAGE
Profile FX30-CATM-IMAGE created
β†’ Execute: leaf profile config FX30-CATM-IMAGE -p fx30-catm-image_2.0.0
β†’ Execute: leaf profile sync FX30-CATM-IMAGE
claudio@claudio-VirtualBox:~/Qsync/new_new_folder$ leaf
claudio@claudio-VirtualBox:~/Qsync/new_new_folder$ leaf profile
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Workspace: /home/xxxxxxx/Qsync/new_new_folder β”‚
β•žβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•‘
β”‚ Profile: FX30-CATM-IMAGE [current] (sync) β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Packages β”‚ Identifier β”‚ Description β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Included β”‚ fx30-catm-image_2.0.0 β”‚ Device Image for FX30-CATM (Release R11.0.0.007 + Legato 18.09.4) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

~/Qsync/new_new_folder$ leaf profile sync
~/Qsync/new_new_folder$ leaf profile
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Workspace: /home/claudio/Qsync/new_new_folder β”‚
β•žβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•‘
β”‚ Profile: FX30-CATM-IMAGE [current] (sync) β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Packages β”‚ Identifier β”‚ Description β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Included β”‚ fx30-catm-image_2.0.0 β”‚ Device Image for FX30-CATM (Release R11.0.0.007 + Legato 18.09.4) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
~/Qsync/new_new_folder$ leaf getsrc swi-legato
No extra folders are created.

@cchenry I am using a different machine and now it seems the leaf getsrc command is working.
There are some obsolete packages dependencies (i.e. python-git is replaced by python-git-doc and the repo is not really a package and needs to be manually installed),
After some attempts, I also had to call the leaf getsrc swi-legato a couple of times because it didn`t patch properly on the first instance, I got this setup properly.
repo has been initialized in /home/claudio/TestLegato/legato-src

Fetching: 100% (35/35), done in 5.906s
Checking out: 100% (35/35), done in 0.844s
repo sync has finished successfully.
Sync done
Skipping FX30 update: already applied

however the make wp77xx will fail with 2 errors which seems related to patches:
make[2]: *** [Makefile:25: mkPatch] Error 1
make[2]: Leaving directory β€˜/home/claudio/TestLegato/legato-src/legato/framework/tools/patchTool/mkPatch’
make[1]: *** [Makefile.hostTools:91: mkPatch] Error 2
make[1]: Leaving directory β€˜/home/claudio/TestLegato/legato-src/legato’
make: *** [Makefile:358: tools] Error 2

This is also confusing me a bit as I thought the leaf profile sync was really looking after the synching with the latest patches and changes, I dont completely understand why there is this need to download the source... Also I have no clue why the leaf getsrc swi-legato wasnt working on the first machine and how I can fix/troubleshoot that.

Anyhow, how do I solve this problem with the make command?

@cchenry something else with the legato, it seems that when I download the source
leaf getsrc swi-legato
this will break the environment as the leaf command mkapp and mksys cannot be executed anymore.

Going through the steps of creating a new workspace and profile:
~ mkdir newLegatoWorkspace ~ cd newLegatoWorkspace/
~/newLegatoWorkspace$ leaf init
Workspace initialized /home/claudio/newLegatoWorkspace
~/newLegatoWorkspace$ leaf profile create TESTING
Current profile is now TESTING
Profile TESTING created
~/newLegatoWorkspace$ leaf profile config -p swi-fx30-catm_2.0.0
~/newLegatoWorkspace$ leaf profile sync
~/newLegatoWorkspace$ leaf profile
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Workspace: /home/claudio/newLegatoWorkspace β”‚
β•žβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•‘
β”‚ Profile: TESTING [current] (sync) β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Packages β”‚ Identifier β”‚ Description β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Included β”‚ swi-fx30-catm_2.0.0 β”‚ SDK for FX30-CATM (Release R11.0.0.007 + Legato 18.09.4) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
~/newLegatoWorkspace$ leaf shell
Leaf Shell /usr/bin/bash, (instead of /bin/bash,) started.

(lsh:TESTING) ~/newLegatoWorkspace$ mkapp
** ERROR:
An application definition must be supplied.

which is what I would expect.

Then if I exit the leaf shell to run the getsrc command:

~/newLegatoWorkspace$ leaf getsrc swi-legato
Run sync steps for fx30-catm-legato-src_18.09.4
LEGATO_CLONE variable (clone root path) is not set.
Set it now (in current workspace) to β€œ${LEAF_WORKSPACE}/legato-src”? (Y/n)
y

Ready to sync in /home/claudio/newLegatoWorkspace/legato-src directory:
repo init -u ssh://git@github.com/legatoproject/manifest -m legato/releases/18.09.4/legato.xml -g default,proprietary ; repo sync

Proceed? (Y/n)
y
Checking credentials…
Downloading Repo source from git-repo - Git at Google
remote: Counting objects: 3, done
remote: Finding sources: 100% (136/136)
remote: Total 136 (delta 91), reused 136 (delta 91)
Receiving objects: 100% (136/136), 79.12 KiB | 175.00 KiB/s, done.
Resolving deltas: 100% (91/91), completed with 30 local objects.
Downloading manifest from ssh://git@github.com/legatoproject/manifest
remote: Enumerating objects: 3570, done.
remote: Counting objects: 100% (2342/2342), done.
remote: Compressing objects: 100% (812/812), done.
remote: Total 3570 (delta 1409), reused 2266 (delta 1336), pack-reused 1228

Your identity is: XXXXXX
If you want to change this, please re-run β€˜repo init’ with --config-name

repo has been initialized in /home/claudio/newLegatoWorkspace/legato-src
Fetching: 100% (35/35), done in 1m4.349s
Checking out: 100% (35/35), done in 3.515s
repo sync has finished successfully.
Sync done
Patching Legato source code…
patching file apps/tools/fwupdate/fwupdate.c
patching file components/fwupdate/fwupdateDaemon/fwupdateServer.c
Hunk #1 succeeded at 252 with fuzz 2.
patching file interfaces/le_fwupdate.api
Hunk #1 succeeded at 231 with fuzz 1.
patching file apps/platformServices/airVantageConnector/avcAppUpdate/avcAppUpdate.c
patching file apps/tools/scripts/cm
patching file components/modemServices/modemDaemon/le_mdc.c
patching file apps/platformServices/airVantageConnector/models/model.app
patching file components/sysfsGpio/gpioSysfsUtils.c
patching file apps/platformServices/airVantageConnector/avcClient/avcClient.c
patching file apps/platformServices/airVantageConnector/avcClient/osPortDevice.c
patching file apps/platformServices/airVantageConnector/avcDaemon/avcServer.c
patching file apps/platformServices/airVantageConnector/avcDaemon/avcServer.h
patching file apps/platformServices/airVantageConnector/packageDownloader/packageDownloader.c
patching file apps/platformServices/airVantageConnector/packageDownloader/packageDownloader.h
Done.
~/newLegatoWorkspace$ leaf profile
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Workspace: /home/claudio/newLegatoWorkspace β”‚
β•žβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•‘
β”‚ Profile: TESTING [current] (sync) β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Packages β”‚ Identifier β”‚ Description β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Included β”‚ swi-fx30-catm_2.0.0 β”‚ SDK for FX30-CATM (Release R11.0.0.007 + Legato 18.09.4) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
~/newLegatoWorkspace$ leaf shell
Leaf Shell /usr/bin/bash, (instead of /bin/bash,) started.

(lsh:TESTING) ~/newLegatoWorkspace$ mkapp
mkapp: command not found

so the leaf is not able to solve the mkapp or mksys commands anymore.

What is the problem with this and how we can solve it?
We are really getting out of time on this project with a few customers waiting for field testing the units which we cant do as we cant guarantee the software download from remote will work.

Hi @claudio.baldini,

Leaf has 2 β€œmodes”. A binary mode and non-binary mode. After you execute β€˜getsrc’ in goes into the non-binary mode.
To execute the mkapp command, do this:
leaf getsrc swi-legato --disable

BR,
Chris

@cchenry ok, what about the build errors when I run the make wp77xx after I got the source for the swi-legato?
Should I try to rebuild my system with the current leaf profile or still going through the initial test of using a cwe built from source?

@cchenry with the machine which is able to sync the profile, I have re-built the system again with the same result, when I run the AT+WDSS=1,1 command, it will fail with bootstrap server error.

This is basically where we are now, can`t move any step forward until we get the connection to airVantage to work.

I’m not sure what the problem is, have you installed the proper toolchain?

Could you try installing the R11 toolchain?
https://source.sierrawireless.com/resources/airprime/software/wp77xx/wp77xx-firmware-release-11-components/#sthash.KNG12jGg.dpbs

should leaf install that already? I have install leaf on three virtual machines and I still get the same result.
Can sync the profile, or to download the source, using mksys I can build my system, with make wp77xx can`t build from source.

Where can I check which toolchain leaf has installed and setup the environment to?

@cchenry these are the env vars for my leaf profile:

Leaf built-in variables

export LEAF_VERSION=β€œ2.4.0”;
export LEAF_PLATFORM_SYSTEM=β€œLinux”;
export LEAF_PLATFORM_MACHINE=β€œx86_64”;
export LEAF_PLATFORM_RELEASE=β€œ5.8.0-50-generic”;

Exported by user configuration

export LEAF_IGNORE_UNKNOWN_APT=β€œ1”;
export MYVAR=β€œ1”;

Exported by workspace

export LEAF_WORKSPACE="/home/claudio/newLegatoWorkspace";
export LEGATO_CLONE="${LEAF_WORKSPACE}/legato-src";

Exported by profile TESTING

export LEAF_PROFILE=β€œTESTING”;
export LEGATO_SRC=β€œtag”;

Exported by package swi-cloneutils_5.0.210118

export CLONE_UTILS_DIR="/home/claudio/newLegatoWorkspace/leaf-data/TESTING/swi-cloneutils";

Exported by package fx30-catm-legato-src_18.09.4

export LEGATO_ROOT="{LEGATO_CLONE}/legato"; export LEGATO_TARGET="{LEGATO_TARGET:-wp77xx}";
export WP77XX_LEGATO_IMAGES="${LEGATO_CLONE}/legato/build/wp77xx";
export PATH="/home/claudio/newLegatoWorkspace/leaf-data/TESTING/fx30-catm-legato-src/bin:$PATH";

Exported by package wp77-toolchain_SWI9X06Y_02.22.12.00-linux64

export WP77XX_TOOLCHAIN_DIR="/home/claudio/newLegatoWorkspace/leaf-data/TESTING/wp77-toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi";
export WP77XX_TOOLCHAIN_PREFIX=β€œarm-poky-linux-gnueabi-”;
export WP77XX_SYSROOT="/home/claudio/newLegatoWorkspace/leaf-data/TESTING/wp77-toolchain/sysroots/armv7a-neon-poky-linux-gnueabi";

Exported by package wp77-modem-image_11

export WP77XX_MODEM_IMAGES="/home/claudio/newLegatoWorkspace/leaf-data/TESTING/wp77-modem-image";

Exported by package fx30-catm-linux-image_R11.0.0.007

export WP77XX_LINUX_IMAGES="/home/claudio/newLegatoWorkspace/leaf-data/TESTING/fx30-catm-linux-image";

Exported by package swi-legato_1.4.191225

export LEGATO_OUTPUT_DIR="(/home/claudio/newLegatoWorkspace/leaf-data/TESTING/swi-legato/set-legato-default LEGATO_OUTPUT_DIR)"; export LEGATO_OBJECT_DIR="(/home/claudio/newLegatoWorkspace/leaf-data/TESTING/swi-legato/set-legato-default LEGATO_OBJECT_DIR)";
export LEGATO_UPDATE_FILE="(/home/claudio/newLegatoWorkspace/leaf-data/TESTING/swi-legato/set-legato-default LEGATO_UPDATE_FILE)"; export LEGATO_TOOLCHAIN_FULL_PREFIX="(/home/claudio/newLegatoWorkspace/leaf-data/TESTING/swi-legato/set-legato-default LEGATO_TOOLCHAIN_FULL_PREFIX)";
export LEGATO_SYSROOT="(/home/claudio/newLegatoWorkspace/leaf-data/TESTING/swi-legato/set-legato-default LEGATO_SYSROOT)"; export DEST_IP="(/home/claudio/newLegatoWorkspace/leaf-data/TESTING/swi-legato/set-legato-default DEST_IP)";
export LEGATO_CONFIG_SCRIPT="$(/home/claudio/newLegatoWorkspace/leaf-data/TESTING/swi-legato/set-legato-default LEGATO_CONFIG_SCRIPT)";
test -r β€œ/home/claudio/newLegatoWorkspace/leaf-data/TESTING/swi-legato/load-config.sh” && source β€œ/home/claudio/newLegatoWorkspace/leaf-data/TESTING/swi-legato/load-config.sh”;

Exported by package swi-vscode-support_200624

export LEGATO_LANGUAGE_SERVER="/home/claudio/newLegatoWorkspace/leaf-data/TESTING/swi-vscode-support/languageServer/languageServer.js";
export LEGATO_SNIPPETS="{LEGATO_SNIPPETS}:/home/claudio/newLegatoWorkspace/leaf-data/TESTING/swi-vscode-support/snippets"; export PATH="/home/claudio/newLegatoWorkspace/leaf-data/TESTING/swi-vscode-support/bin:{PATH}";

I have downloaded the toolchain from the link you have sent but I am getting a bit confused if this is for
building from source, building using the leaf profile or what else.

These are the apps after I restore to the original legato (after rm-rf /legato/*) and at this point the AV connection will work.
[running] atAirVantage
[running] atQmiLinker
[running] atService
[running] audioService
[running] avcService
[running] cellNetService
[running] columbiaAtService
[running] dataConnectionService
[running] factoryRecoveryService
[running] fwupdateService
[running] gpioService
[running] modemService
[running] portService
[running] positioningService
[running] powerMgr
[running] qmiAirVantage
[running] secStore
[stopped] smsInboxService
[stopped] spiService
[stopped] tools
[stopped] voiceCallService
[stopped] wifi
[stopped] wifiApTest
[stopped] wifiClientTest
[running] wifiService
[stopped] wifiWebAp

I am bulding a dummy system with only one line:
#include β€œ$LEGATO_ROOT/default.sdef”
after installation, I will have these apps instead, all wifi apps are gone:
[running] atAirVantage
[running] atQmiLinker
[running] atService
[running] audioService
[running] avcService
[running] cellNetService
[running] dataConnectionService
[running] fwupdateService
[running] gpioService
[running] modemService
[running] portService
[running] positioningService
[running] powerMgr
[running] qmiAirVantage
[running] secStore
[stopped] smsInboxService
[stopped] spiService
[stopped] tools
[stopped] voiceCallService

Also the AirVantage connection is the only part which doesnt work, all other apps seems working all right. If the problem was the toolchain, wouldnt this manifest in a more obvious manner?
What is the exact meaning of the bootstrap error? Authentication due to certificates or what else?

Hi @claudio.baldini ,

Yes, sorry, the toolchain is fine.

That output is helpful. I suspect your Legato is not being patched with the FX30 Legato framework patches for some reason. I’m not exactly clear what steps you’re taking, but please try this procedure to build the full yocto. It will take longer, but I know others have used it successfully:

  1. Pull the full yocto workspace:
    leaf getsrc swi-linux

  2. Replace the external.mk with the one I attached, and ensure the Makefile is pointing to the correct external.mk
    Makefile β†’ meta-columbia-x/meta-columbia-x-catm/external.mk

external.7z (3.2 KB)

  1. Build the full image:
    make

  2. Install the built Legato image located here:
    swi-linux-src/build_bin/tmp/deploy/images/swi-mdm9x28-wp/legato-image.wp77xx.cwe

  3. For reference, the full FX30 images are located here:
    swi-linux-src/build_bin/images/public

Once you’ve confirmed this is working, then you can make your code changes directly inside
swi-linux-src/legato

Re-build and test your changes

BR,
Chris

@cchenry I am going through these steps but need to confirm something first.
When getting the source (or syncing the leaf profile) I always get two errors for packages not found:

E: Package β€˜python-git’ has no installation candidate
This is because the package has been replaced with python-git-doc

E: Unable to locate package repo
this is because this is not a real package but more of a tool…?

So I have to ignore the unknown dependencies for the workspace:
~/newLegatoWorkspace$ leaf env workspace --set LEAF_IGNORE_UNKNOWN_APT=1
and to install the packages manually. (I have already done this before).

~/newLegatoWorkspace$ sudo apt-get install python-git-doc
Reading package lists… Done
Building dependency tree
Reading state information… Done
python-git-doc is already the newest version (3.0.7-1).
0 to upgrade, 0 to newly install, 0 to remove and 3 not to upgrade.

while for the repo tool a followed the setup from a forum:
mkdir ~/bin PATH=~/bin:PATH curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

This is the part where the repo gets initialized and synched:

Ready to sync in /home/claudio/newLegatoWorkspace/swi-linux-src directory:
repo init -u ssh://git@github.com/legatoproject/manifest -m mdm9x06/tags/SWI9X06Y_02.22.12.00/linux.xml -g default,-cache,proprietary ; repo sync

Proceed? (Y/n)
y
Checking credentials…
Downloading Repo source from git-repo - Git at Google
remote: Counting objects: 4, done
remote: Finding sources: 100% (140/140)
remote: Total 140 (delta 93), reused 140 (delta 93)
Receiving objects: 100% (140/140), 80.19 KiB | 181.00 KiB/s, done.
Resolving deltas: 100% (93/93), completed with 30 local objects.
Downloading manifest from ssh://git@github.com/legatoproject/manifest
remote: Enumerating objects: 3570, done.
remote: Counting objects: 100% (2342/2342), done.
remote: Compressing objects: 100% (812/812), done.
remote: Total 3570 (delta 1409), reused 2266 (delta 1336), pack-reused 1228

Your identity is: XXXXXX XXXXXX@XXXXXX.it
If you want to change this, please re-run β€˜repo init’ with --config-name

repo has been initialized in /home/claudio/newLegatoWorkspace/swi-linux-src
Fetching: 100% (7/7), done in 4m54.644s
Updating files: 100% (52925/52925), done.
Checking out: 100% (7/7), done in 16.997s
repo sync has finished successfully.
Sync done
Extracting FX30 sources
Done.

Are these steps correct or I am doing something wrong?
It seems all good to me, but I have done the same setup on 4 different virtual machines and I can`t figure out why leaf is not syncing properly every time.

@cchenry I have gone through the download of linux source by I am getting some odd responses, one in particular:

WARNING: Host distribution β€œUbuntu-18.04” has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.

Originally I did use ubuntu 20.04,then when I saw the warning did install an ubuntu 18.04 on a VM, I am still getting this error so wonder what version of ubuntu I should use instead?

but there is something else very strange here, I am not sure if this is with the distribution or the repository, when the .repo is initialized after the β€œleaf getsrc swi-linux” , it will fail if python is not greater then 3.5 (I had to switch from python 2 to python 3), but then it will warn that the use with python 3 is only experimental and advise to use python 2.

Then when I make the file, it will just not accept to run with python 3
~/legatoWorkspace/swi-linux-src$ make
it will just refuse to build with python 3 so I had to switch back to python2 as default.

should I use ubuntu 16.04 instead??

when running the make command from 18.04 will still fail with:
ERROR: Task (/home/claudio/legatoWorkspace/swi-linux-src/poky/meta/recipes-core/glib-2.0/glib-2.0_2.48.2.bb:do_compile) failed with exit code β€˜1’