Build yocto/legato 17.08.1

Hi,

I want to build Legato 17.08.1 (With Linux Kernel version 3.18.44) for armv7l. I want to enable “USB FTDI Serial Converter Support” in this build. Can anyone please help me to find the Legato 17.08.1 source along with build instructions?

Thanks in advance,
Yogesh

Hi,

do you mean this one?

Hi @jyijyi,

This looks Legato-Application Framework. I need Legato-Linux source.

Thanks,
Yogesh

which module are you using?

I am using MangoH Green 1401063 - REV 8

Thanks,
Yogesh

Hi,

I mean which module are you using? WP8? WP75? WP76? WP77?

I can suggest to enable the driver support in the linux menuconfig. where you can search with FTDI in menuconfig.
where you can enable the symbol “USB_SERIAL_FTDI_SIO [=n]” and you can build.
that will give the support for sub-serial.

Hi Yogesh,
You can get the linux source distribution for 17.08 from the below link i shared.
https://source.sierrawireless.com/resources/airprime/software/wp76xx/wp76xx-firmware-release-6-components/
You can check under
“Rebuild Linux Distribution or/and Legato from source”

                    And also please share which module you are using.

Best Regards,
Bharath Kumar V

Hi @jyijyi

I am using WP76.

Hi @bharath_08 @Manukumar,

I have also downloaded the Legato/Linux source from here:
https://source.sierrawireless.com/resources/airprime/software/wp76xx/wp76xx-firmware-release-6-components/

But I am not really sure how to move further. I ran “make menuconfig” on downloaded kernel source and I can see that USB Serial Converter/FTDI is enabled there and is being build as a module. Surprisingly, My MangoH board, which also has legato version 17.08.01, kernel version 3.18.44 doesn’t have ftdi_sio.ko module present.

Should I only build USB Serial and FDTI_SIO modules and copy them to my board or should I build the complete image and flash it to my board?

I am looking for instructions both to “Cross-Compile (for ARM)” individual Linux Kernel modules as well as whole yocto Legato/Kernel image.

Thanks,
Yogesh

I think its better to build complete image and flash the board.
I Followed below steps:
source poky/oe-init-build-env build_bin
bitbake linux-quic -c menuconfig
bitbake linux-quic -c compile
make

I am getting this error:

bitbake linux-quic -c menuconfig
Parsing recipes: 100% |#############################################################################################################################| Time: 00:02:38
Parsing of 891 .bb files complete (0 cached, 891 parsed). 1287 targets, 40 skipped, 0 masked, 0 errors.
ERROR: Nothing PROVIDES ‘linux-quic’

Summary: There was 1 ERROR message shown, returning a non-zero exit code.

then i think there is no “linux-quic” recipes in which you have downloaded.

I am able to built yocto linux distribution but can’t figure out which image should I flash to the board?
Following are the image in ~/yocto/build_bin/tmp/deploy/images/swi-mdm9x28 directory:

appsboot_ar758x.cwe
appsboot.mbn
appsboot.mbn.unsigned
appsboot_wp76xx.cwe
appsboot_wp77xx.cwe
boot_hash.2k
boot_hash.4k
boot_mbnhdr
boot-yocto-mdm9x28-20180213061253.2k.img
boot-yocto-mdm9x28-20180213061253.4k.img
boot-yocto-mdm9x28.2k.img
boot-yocto-mdm9x28.2k.unsigned.img
boot-yocto-mdm9x28.4k.img
boot-yocto-mdm9x28.4k.unsigned.img
boot-yocto-mdm9x28.img
build_package.version
kernel.version
lk.version
masterDTB.2k
masterDTB.4k
mdm9x28-image-initramfs-swi-mdm9x28-20180213061253.rootfs.cpio.gz
mdm9x28-image-initramfs-swi-mdm9x28-20180213061253.rootfs.manifest
mdm9x28-image-initramfs-swi-mdm9x28-20180213061253.rootfs.tar.bz2
mdm9x28-image-initramfs-swi-mdm9x28.cpio.gz
mdm9x28-image-initramfs-swi-mdm9x28.manifest
mdm9x28-image-initramfs-swi-mdm9x28.tar.bz2
mdm9x28-image-minimal-swi-mdm9x28-20180209131641.rootfs.2k.ubifs
mdm9x28-image-minimal-swi-mdm9x28-20180209131641.rootfs.4k.ubifs
mdm9x28-image-minimal-swi-mdm9x28-20180209131641.rootfs.manifest
mdm9x28-image-minimal-swi-mdm9x28-20180209131641.rootfs.squashfs
mdm9x28-image-minimal-swi-mdm9x28-20180209131641.rootfs.tar.bz2
mdm9x28-image-minimal-swi-mdm9x28-20180212063538.rootfs.2k.ubifs
mdm9x28-image-minimal-swi-mdm9x28-20180212063538.rootfs.4k.ubifs
mdm9x28-image-minimal-swi-mdm9x28-20180212063538.rootfs.manifest
mdm9x28-image-minimal-swi-mdm9x28-20180212063538.rootfs.squashfs
mdm9x28-image-minimal-swi-mdm9x28-20180212063538.rootfs.tar.bz2
mdm9x28-image-minimal-swi-mdm9x28-20180212081928.rootfs.2k.ubifs
mdm9x28-image-minimal-swi-mdm9x28-20180212081928.rootfs.4k.ubifs
mdm9x28-image-minimal-swi-mdm9x28-20180212081928.rootfs.manifest
mdm9x28-image-minimal-swi-mdm9x28-20180212081928.rootfs.squashfs
mdm9x28-image-minimal-swi-mdm9x28-20180212081928.rootfs.tar.bz2
mdm9x28-image-minimal-swi-mdm9x28-20180212094324.rootfs.2k.ubifs
mdm9x28-image-minimal-swi-mdm9x28-20180212094324.rootfs.4k.ubifs
mdm9x28-image-minimal-swi-mdm9x28-20180212094324.rootfs.manifest
mdm9x28-image-minimal-swi-mdm9x28-20180212094324.rootfs.squashfs
mdm9x28-image-minimal-swi-mdm9x28-20180212094324.rootfs.tar.bz2
mdm9x28-image-minimal-swi-mdm9x28-20180212095059.rootfs.2k.ubifs
mdm9x28-image-minimal-swi-mdm9x28-20180212095059.rootfs.4k.ubifs
mdm9x28-image-minimal-swi-mdm9x28-20180212095059.rootfs.manifest
mdm9x28-image-minimal-swi-mdm9x28-20180212095059.rootfs.squashfs
mdm9x28-image-minimal-swi-mdm9x28-20180212095059.rootfs.tar.bz2
mdm9x28-image-minimal-swi-mdm9x28-20180212144526.rootfs.2k.ubifs
mdm9x28-image-minimal-swi-mdm9x28-20180212144526.rootfs.4k.ubifs
mdm9x28-image-minimal-swi-mdm9x28-20180212144526.rootfs.manifest
mdm9x28-image-minimal-swi-mdm9x28-20180212144526.rootfs.squashfs
mdm9x28-image-minimal-swi-mdm9x28-20180212144526.rootfs.tar.bz2
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.2k.ubifs.ubinize.cfg
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.4k.ubifs.ubinize.cfg
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.build_package.version
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.rootfs.2k.ubifs
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.rootfs.2k.yaffs2
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.rootfs.4k.ubifs
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.rootfs.4k.yaffs2
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.rootfs.manifest
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.rootfs.squashfs
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.rootfs.squashfs.hash
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.rootfs.squashfs.hash.txt
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.rootfs.tar.bz2
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.rootfs.version
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.squashfs.2k.ubi
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.squashfs.4k.ubi
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.squashfs.ubinize.cfg
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.ubifs.2k.ubi
mdm9x28-image-minimal-swi-mdm9x28-20180213061253.ubifs.4k.ubi
mdm9x28-image-minimal-swi-mdm9x28.2k.ubi
mdm9x28-image-minimal-swi-mdm9x28.2k.ubifs
mdm9x28-image-minimal-swi-mdm9x28.2k.yaffs2
mdm9x28-image-minimal-swi-mdm9x28.4k.default
mdm9x28-image-minimal-swi-mdm9x28.4k.ubi
mdm9x28-image-minimal-swi-mdm9x28.4k.ubifs
mdm9x28-image-minimal-swi-mdm9x28.4k.yaffs2
mdm9x28-image-minimal-swi-mdm9x28.build_package.version
mdm9x28-image-minimal-swi-mdm9x28.default
mdm9x28-image-minimal-swi-mdm9x28.manifest
mdm9x28-image-minimal-swi-mdm9x28.rootfs.version
mdm9x28-image-minimal-swi-mdm9x28.squashfs
mdm9x28-image-minimal-swi-mdm9x28.squashfs.2k.ubi
mdm9x28-image-minimal-swi-mdm9x28.squashfs.4k.ubi
mdm9x28-image-minimal-swi-mdm9x28.tar.bz2
mdm9x28-image-minimal-swi-mdm9x28.ubi
mdm9x28-image-minimal-swi-mdm9x28.ubifs.2k.ubi
mdm9x28-image-minimal-swi-mdm9x28.ubifs.4k.ubi
modules–3.18.20+git2a043e38a886e83a891d5e5a8a113d6ac6d0ab9a-r1-swi-mdm9x28-20180213061253.tgz
modules-swi-mdm9x28.tgz
README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt
rootfs
rootfs.rhash
rootfs.version
vmlinux
yocto_ar758x.4k.cwe
yocto_wp76xx.2k.cwe
yocto_wp76xx.4k.cwe
yocto_wp77xx.2k.cwe
yocto_wp77xx.4k.cwe
zImage
zImage–3.18.20+git2a043e38a886e83a891d5e5a8a113d6ac6d0ab9a-r1-swi-mdm9x28-20180213061253.bin
zImage-initramfs-3.18.20+git2a043e38a886e83a891d5e5a8a113d6ac6d0ab9a-r1-swi-mdm9x28-20180213061253.bin
zImage-initramfs-swi-mdm9x28.bin
zImage-swi-mdm9x28.bin
warlord@ubuntu:~/legato_source/yocto/build_bin/tmp/deploy/images/swi-mdm9x28$ pwd
/home/warlord/legato_source/yocto/build_bin/tmp/deploy/images/swi-mdm9x28

Any help would be highly appreciated.

Thanks,
Yogesh

You can flash yocto_wp76xx.4k.cwe.

Thanks @Manukumar,

What is the difference between yocto_wp76xx.4k.cwe and yocto_wp76xx.2k.cwe ?

Where do I need to put “combined Image” while executing the following command:

fwupdate fullinstall <combined_image_file> 192.168.2.2

I copied the cimbined image to target board and ran fwupdate command from there.
This command never returns with following logs on the console:

"fwupdate install combined-firmware.spk 192.168.2.2
Connecting to service …
Install the firmware, the system will reboot …

I also tried installing firmware with swiflash command. Below is the command output:

swiflash -m “WP76XX” -i combined-firmware.spk
Detecting USB of the target
DONE
Communicating with the target
DONE
Switching to firmware download mode
…DONE
Downloading the firmware
…DONE
Rebooting the module
…DONE
Firmware Download SUCCESS

After this process, I am not able to ping the board though board is showing ecm0 interface:

bridge0 Link encap:Ethernet HWaddr 52:D9:D5:12:CB:CC
inet addr:192.168.225.1 Bcast:192.168.225.255 Mask:255.255.255.0
inet6 addr: fe80::50d9:d5ff:fe0f:c8c9/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:76 (76.0 B)

ecm0 Link encap:Ethernet HWaddr 7E:BF:C3:1B:07:93
inet addr:192.168.2.2 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::7cbf:c3ff:fe1b:793/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:911 errors:0 dropped:0 overruns:0 frame:0
TX packets:72 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:91037 (88.9 KiB) TX bytes:14832 (14.4 KiB)

After firmware update I can’t locate ftdi_sio.ko inside the target which means either the image I have flashed, doesn’t contain ftdi_sio module or I am somewhere missing some steps in flashing the firmware.

How can I make sure that the "combined-firmware.spk " image I created with yocto_wp76xx.4k.cwe file using swicwe utility contains “ftdi_sio.ko” module?

ftdi_sio text only matches with following images:

grep -ir ftdi_sio *

Binary file mdm9x28-image-minimal-swi-mdm9x28-20180212144526.rootfs.2k.ubifs matches
Binary file mdm9x28-image-minimal-swi-mdm9x28-20180212144526.rootfs.4k.ubifs matches
Binary file mdm9x28-image-minimal-swi-mdm9x28-20180213061253.rootfs.2k.ubifs matches
Binary file mdm9x28-image-minimal-swi-mdm9x28-20180213061253.rootfs.2k.yaffs2 matches
Binary file mdm9x28-image-minimal-swi-mdm9x28-20180213061253.rootfs.4k.ubifs matches
Binary file mdm9x28-image-minimal-swi-mdm9x28-20180213061253.rootfs.4k.yaffs2 matches
Binary file mdm9x28-image-minimal-swi-mdm9x28-20180213061253.ubifs.2k.ubi matches
Binary file mdm9x28-image-minimal-swi-mdm9x28-20180213061253.ubifs.4k.ubi matches
Binary file mdm9x28-image-minimal-swi-mdm9x28.2k.ubifs matches
Binary file mdm9x28-image-minimal-swi-mdm9x28.2k.yaffs2 matches
Binary file mdm9x28-image-minimal-swi-mdm9x28.4k.ubifs matches
Binary file mdm9x28-image-minimal-swi-mdm9x28.4k.yaffs2 matches
Binary file mdm9x28-image-minimal-swi-mdm9x28.ubifs.2k.ubi matches
Binary file mdm9x28-image-minimal-swi-mdm9x28.ubifs.4k.ubi matches

Thanks in advance.

Thanks,
Yogesh

4k and 2k is related to the flash.
I have used only 4k image. I am not sure about combined image.