FOTA for FX30S how to

@cchenry if you want to confirm this one as well, but I can`t send it in the forum as there is a limit of size and the file is 4.6MB.

where this is the defaultSystem.sdef used (only including the default system):
defaultSystem.zip (251 Bytes)

I dont get why this is not working, the only thing I can think of is my pc to connect to a mirror server instead of the master and to download/sync to an older version of the leaf legato? If we could get this to work with the normal mk*** commands so dont need to build from source, this would speed things up our side where we are running late for the first field test we had planned.

Perhaps in the meantime, could you install the full R11.0.0.007 bundle and then manually install your application? If you scp the wp77xx.update file onto the device and use the ā€œupdateā€ tool.

if I scp the file into the target and install it manuall:
update defaultSystem.wp77xx.update I have the same result, the AT commands to connect to AV will not work.

What I mean is try this:

  1. Install the full R11.0.0.007 bundle
  2. Install your industrial Legato application only:
    scp myindustrialapp.wp77xx.update root@192.168.2.2:~/
    update myindustrialapp.wp77xx.update

Could you try this? I would expect the AT+WDSx commands to work, and your application will run on top.

Thanks,
Chris

@cchenry yes, that does work I did test it already, AT commands and also from the my app which is starting the AV connection.
I will need to restore to the original legato (rm -rf /legato/*) and then to install my apps.
Minor problem is that I will need to download each app manually (we have 4 at the moment and will need to implement more), Major problem is that I need to download the kernel modules for setting up the CAN net interface for the Talon CAN IoT board, and I don`t know how to do it without building the system.

What is the problem with the leaf (I assume all this is because the leaf sync doesn`t work properly) and how long before we can get this sorted (rough estimation at least).
As I mentioned the whole test project spins around the idea of having the ability to download updates/upgrades from remote and for this we need to have AV working.

Hi @claudio.baldini,
I suspect there may be an issue with the leaf packages. The leaf team is investigating.

Regarding your CAN driver, I think itā€™s possible to install it using a legato application as well. Take a look at the Legato forum, someone may have created a kernel driver application.
I know some people have modified the startlegato.sh initscript to run their own startup script. Perhaps you could do this as a workaround to install your apps?
I realize itā€™s not ideal but I donā€™t have an estimate for a resolution to the leaf packages at this time.
BR,
Chris

@cchenry, thank you for your reply, would you have a reference to any post explaining how to implement this?
To be entirely honest this will create some serious problems, as we will need to jump back on developing something which was finalized already (and which took a fair bit of our own troubleshooting as we didn`t get much support from the forum) this is the CAN bus interface to enable the CAN IoT module from Talon.
Of course we will look into this if this is the only doable option.
What are we looking at for this to be assessed and fixed. I fully understand you have set other priorities internally but our resources at the moment are also very limited and there is still lots we need to develop for this new IoT platform we are building.

Hi @claudio.baldini,

Maybe this will help:
https://docs.legato.io/latest/howToKMod.html

I agree with you, I hope the Leaf packaging will be fixed soon.

BR,
Chris

Many thanks for the help so for @cchenry will be waiting for an update about the leaf packaging while looking into building the kernel modules from a drive app.

@cchenry do we have any idea about when this problem will be solved?

Hi @claudio.baldini ,
The team is still investigating and hope to have a resolution by the end of the week.
BR,
Chris

@cchenry, is there any progress done with this?
Would need to compile from source to get the Wifi working as well.

Hi @claudio.baldini,
Sorry for the delay.

The tools team is still working on the yocto issue, but the WDSx NOT implemented issue has been identified.

Could you please try the following:

  1. Ensure that legato source mode is disabled
    leaf getsrc swi-legato --disable

  2. Copy the binaries for proprietary apps into the legato directory pulled from legato-src

cp -r ./leaf-data/current/fx30-catm-legato/apps/proprietary ./legato-src/legato/apps/

  1. Build the legato framework
    cd ./legato-src/legato
    make wp77xx

Iā€™ll update you once there is an update regarding the yocto image.

BR,
Chris

@cchenry so if I understand correctly, the swi-legato should work now but the swi-linux is still to investigate.
I have followed your steps, created a new workspace and pulled the legato source, had to replace the external file you sent before as it could find the source.
Then followed your three steps and ran the make, I get this error which I assume is with one or more flags for the gcc compiler not been initialized properly?

[10/52] Compiling liblegato source file
FAILED: legatoSource/legato-src/legato/build/wp77xx/framework/obj/clock.c.o
/gcc -MMD -MF legatoSource/legato-src/legato/build/wp77xx/framework/obj/clock.c.o.d -c legatoSource/legato-src/legato/framework/liblegato/linux/clock.c -o legatoSource/legato-src/legato/build/wp77xx/framework/obj/clock.c.o -Wall -Werror -DLEGATO_EMBEDDED -fPIC -IlegatoSource/legato-src/legato/framework/daemons/linux -g -O2 -fno-omit-frame-pointer -IlegatoSource/legato-src/legato/framework/liblegato/linux -DLE_COMPONENT_NAME=framework -IlegatoSource/legato-src/legato/framework/include -IlegatoSource/legato-src/legato/framework/liblegato -DDISABLE_SMACK=0 -DLE_SVCDIR_SERVER_SOCKET_NAME=""/tmp/legato/serviceDirectoryServer"" -DLE_SVCDIR_CLIENT_SOCKET_NAME=""/tmp/legato/serviceDirectoryClient""
/bin/sh: /gcc: No such file or directory

can`t run the make still.

Hi @claudio.baldini,

Did you type ā€œmake wp77xxā€?

I donā€™t see the gcc cross compiler being invoked.

To clarify, yes, you should be able to build the swi-legato framework using this procedure. To summarize:

  1. Pull legato framework using getsrc swi-legato
  2. Disable swi-legato to swap back to binary mode
  3. Copy the proprietary binaries into the legato-src folder that was pulled via swi-legato (you donā€™t need to switch back to source mode because you already pulled it)
  4. Build the framework for the wp77xx target

The swi-linux issue is still under investigation.

BR,
Chris

@cchenry I have done that, this is the full log for all the commands I am calling from shell.
compile_log.txt (17.9 KB)

Hi @claudio.baldini,
When you build the legato framework, you just type ā€œmake wp77xxā€

For the swi-linux build, could you copy try proprietary binaries within the legato-src-fx30-catm/legato/apps folder and then try to make?

BR,
Chris

@cchenry this is what I typed when building the legato framework, is it correct?
~/legatoSource/legato-src/legato$ make wp77xx

@cchenry just to make sure what you have asked about the swi-linux build.
copying from leaf-data:
~/legatoSource$ cp -r ./leaf-data/current/fx30-catm-legato/apps/proprietary/ ./swi-linux-src/legato/apps/

then run the make in the swi-linux-src/legato folder:
~/legatoSource/swi-linux-src/legato$ make wp77xx

I still get the error about the gcc not found:
/bin/sh: /home/claudio/legatoSource/swi-linux-src/build_bin/tmp/sysroots/x86_64-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc: No such file or directory

I don`t understand if I am doing something wrong or the setup just is not working.

@cchenry the problem is that we canā€™t move forward as is, I can actually build apps using the pre-built image and not the source, but we know there are issues with that at the moment.
We are looking at using the source for getting the wifi running, but I havenā€™t completely got if this should work out-of-the box once the source is downloaded and the make is ran, or I am doing something wrong.