How to replace the module in FW image(R16)

How to replace the module in FW image(R16)
Becausewe have some modification in mangoh_yellow_dev.ko
so we will run
rmmod /mnt/legato/system/modules/mangoh_yellow_dev.ko
and insert our modified module after remove module
insmod /home/root/mangoh_yellow_dev.ko

Can we replace this module during the build process? ( I can’t find the this module in yocto source code)

have you checked the legato source?

yes , I also search “mangoh_yellow_dev” in yocto folder , but no related files were found

It should be in the legato layer, not yocto

1 Like

Thanks your information.
I modified it under the source code folder of Legato and recompiled it, and installed it to the WP7605 target board (update yellow.wp76xx.update

But checking the version of “/mnt/legato/system/modules/mangoh_yellow_dev.ko” is still not updated.

Did I miss something?

how about compile it together to the legato.cwe image?
(i.e. not using xxx.update file)

I don’t understand about your suggestion.
Only update file after compile “mangOH” .

And “R16” (Legato-Dist-Source-mdm9x28-SWI9X07Y_02.37.07.00.tar.bz2) can not find the relevant documents of mangoh_yellow_dev

so I don’t know how to compile it together…

Here has an example to include a new application to legato.cwe

Probably you need to do the same according to yellow.sdef to include your kernel driver:

1 Like

Hi jyijyi,
I have downloaded the tarball (legato-19.11.5.tar.bz2)
And try to modify localhost.sdef, then compile it (make wp76xx)
But I didn’t see my newly added module on the target board after firmware updated

(I hope wifi and the modified mangoh_yellow_dev.ko driver can be added)
Is there any error in my modification?

below is modified ‘localhost.sdef’

// Sample system definition that includes essential modem and positioning services.
// Copyright (C) Sierra Wireless Inc.

#include "$LEGATO_ROOT/legatoTargetConfig.sinc"

#include "$LEGATO_ROOT/apps/platformServices/defaultAirVantage.sinc"

    MANGOH_BOARD = yellow

    LEGATO_WIFI_PA = ${CURDIR}/linux_kernel_modules/cypwifi/scripts/

#if ${MANGOH_WP_CHIPSET_9X07} = 1
    MANGOH_BME680_I2C_BUS = 6
#elif ${MANGOH_WP_CHIPSET_9X15} = 1
    MANGOH_BME680_I2C_BUS = 2

    // Exclude a few big libraries from the Legato apps to save space in the legato.cwe.
    // These libraries are available in the root file system, but by default they also
    // get added to some apps to prevent potential version mismatches when running on older
    // root file systems.

#if ${OCTAVE} = 1
#include "sinc/octave_full.sinc"

    // Platform services.
    // Command-line tools.

    cm = tools:/scripts/cm
    fwupdate = tools:/bin/fwupdate
    secstore = tools:/bin/secstore
    pmtool = tools:/bin/pmtool
    gnss = tools:/bin/gnss
    uartMode = tools:/bin/uartMode

    <root>.le_fwupdate -> fwupdateService.le_fwupdate



How about modifying ./modules/WiFi/wifi.sdef

1 Like