Commit Graph

1795 Commits

Author SHA1 Message Date
Javier Viguera 2e9528df40 meta-digi: remove outdated overlayed recipes
A new set of meta-freescale updates made these recipes outdated.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-30 15:07:52 +01:00
Javier Viguera 83a3aa22e4 Merge tag 'dey-4.0-r1.2' into dey-4.0/master
Digi Embedded Yocto 4.0-r1.2

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-30 15:01:06 +01:00
Arturo Buzarra 2ca5dfe31e meta-digi: update revisions for dey-4.0-r1.2
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-29 16:34:56 +01:00
Javier Viguera 7acf3a58e0 meta-digi: remove some more overlayed recipes
There are new versions of these recipes in meta-freescale.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-28 10:40:06 +01:00
Javier Viguera 99a61e12a1 meta-digi: delete outdated opencv bbappend
A new set of meta-freescale updates broke our layer, because they
updated opencv package and our bbappend does not apply anymore.

The build fails at parsing:

ERROR: No recipes in default available for:
  meta-digi/meta-digi-dey/dynamic-layers/freescale-layer/recipes-support/opencv/opencv_4.5.2.imx.bbappend

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-28 10:32:53 +01:00
Tatiana Leon f4ded09351 meta-digi-dey: python3-xbee: add required asyncio python package
This package includes the concurrent module required by the XBee library
(to use ThreadPoolExecutor)

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2022-11-25 16:59:45 +01:00
Tatiana Leon 0792b45a80 recovery: add support to update a specific image set
Add a new parameter '-i' to update-firmware to let the user
select a specific image_set of the sw-description file to
use during the swu update.

This allows adding different image_sets on the sw-description
and reduce the number of images to build. It also adds more
future-proof flexibility.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-8199
2022-11-23 17:19:05 +01:00
Javier Viguera deed93cfb3 recovery-initramfs-init: delete mdev's cold scan
In previous line we are launching the mdev in daemon mode. One of the
first tasks the daemon mode performs is a cold scan, so there is no need
to repeat it afterwards.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-23 10:26:00 +01:00
Javier Viguera 8df1b0c246 swupdate: do not run swupdate daemon on non-dualboot devices
On recovery based devices, the swupdate process is executed in the
recovery, so there is no need to have the swupdate daemon running on the
rootfs.

Add a on-target post installation script to disable the swupdate
bootscript on the normal rootfs. This has the side effect of failing in
the recovery initramfs because the initramfs does not have a complete
SysV init system. For that case add a rootfs postprocess function to
delete the postinst script.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-23 10:23:25 +01:00
Francisco Gil f308ccfa66 update-firmware: rename the firmware-update from recovery-utils
There is a problem when building the SDK because two binaries
have the same name (update-firmware) and makes the compilation
to fail.

Change the name to update-firmware.recovery and create a wrapper
over the update-firmware to check if the system is not dual boot
to call it.

Rework the code to make it more reliable.

Remove the umount of the alternative linux partition, now it is
not needed because only the active linux partition is mounted now.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-11-22 11:42:39 +01:00
Francisco Gil cae4c1f1dc recovery: change the name of the file descriptor to check
Now in the file descriptor we have three different names:
platform, primary and secondary.
Also a link from 'platform' to 'single' to keep backward
compatibility.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-11-22 11:42:39 +01:00
Francisco Gil 0328295ea8 dualboot: run the script only in dualboot systems
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-11-22 11:42:39 +01:00
Francisco Gil 6ffbbb390a dualboot: get rid of DUALBOOT_ENABLED configuration
All the dualboot logic will be checked in run time.
To do this:
* Include the altboot.src by default in all the images
* Create a post installation script to change the
firmware_download_path in the cloud connector
* Unify the swupdate file descriptor for dual and single boot

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-11-22 11:42:39 +01:00
Arturo Buzarra 0efbb07107 meta-digi: branch to dey-4.0/maint
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-21 17:44:48 +01:00
Tatiana Leon 063a946e7c cc6ul: cloudconnector: use 'remotemanager.digi.com' not to use certificates
This commit modifies the cloud connector configuration to use
'remotemanager.digi.com' URL since it does not use certificates for the
connection.
'edp12.devicecloud.com' only allows connections with certificates.
The certificate is downloaded during the first device connection to DRM and
stored in '/etc/ssl/certs' directory inside the 'rootfs' partition.
Following connections must use this certificate.

After a firmware update 'rootfs' partition is re-programmed (standard boot)
or changed to use the corresponding partition of the other block (dual boot). In
any case the certificate downloaded is not available anymore, so the device is
not able to reconnect.

Currently there is no a 'immutable' partition to store the certificate, that is,
a place where the certificate is not removed during a firmware update and can
be used by the cloud connector (similar to the 'data' partition on a ccmp1)

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2022-11-21 12:39:05 +01:00
Tatiana Leon fd94f10c0b ccmp1: cloudconnector: use '/mnt/data' as the place to store the certificate
The directory '/etc/ssl/certs' is in the 'rootfs_x' partition for dual boot or
'rootfs' for standard boot. In any case this certificate cannot be used after
updating because it is stored in the other block partition (for dual boot) or
because the whole partition has be re-programmed (for standard boot).
So, after a firmware update the device will not be able to reconnect to DRM
unless the user revokes the certificate.

This commit changes the certificate directory to be '/mnt/data' where 'data'
partition is mounted. This is not erased during a firmware update, so cloud
connector can use the already downloaded certificate and the device is able to
reconnect to DRM.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2022-11-21 12:38:59 +01:00
Javier Viguera bbd58825c4 recovery-utils: relax command mode check
As a result of the dualboot support we may end up with two
'update-firmware' commands in the rootfs. To prevent file name clashing,
we may need to install the recovery-utils update-firmware as
update-firmware.recovery, and then the current command mode check would
fail.

Relax the check, by just looking at the first character.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-17 16:24:52 +01:00
Tatiana Leon 8f92f634c3 meta-digi-dey: crank: crank-demos: add variables to set the tarballs SHA256
As we are going to document how to build Crank images using our own recipes, we
need a way for customers to provide the sha256 of the engine and demos tarballs:

  * Storyboard Engines are not available as a compressed file, it is a directory
    available after the installation of the whole Storyboard software, next to
    Storyboard Designer, samples, and other resources. The installer is only
    available after filling a form and receiving an email with the link and a
    license key valid for 1 month.

    To use our 'crank-sbengine_7.2.bb' recipe, users must create the tarball
    from this directory and provide its path in the 'CRANK_ENGINE_TARBALL_PATH'
    and its sha256 in 'CRANK_ENGINE_TARBALL_SHA256'.

  * Regarding Storyboard applications, the included demo in the prebuilt image
    is not publicly available, but customers can use the same recipe to install
    their own applications.

    To use our 'crank-demos_7.2.bb' recipe, users must create a tarball with
    the exported application from Storyboard Designer and provide its path in
    the 'CRANK_DEMOS_TARBALL_PATH' and its sha256 in
    'CRANK_DEMOS_TARBALL_SHA256'.
    There are also other configurable parameters such as 'CRANK_DEMO_PATH' or
    'CRANK_DEMO_OPTIONS'.

The process of adding support to Crank Storyboard applications will be fully
documented as new topics.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2022-11-17 10:09:02 +01:00
Mike Engel 501a0dbd21 swupdate: add CONFIG_MTD only when platform supports NAND device
https://onedigi.atlassian.net/browse/DEL-7280

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2022-11-16 13:46:35 +01:00
Arturo Buzarra 7d9f278c41 swupdate: add config fragment to fix systemd initialization
Since commit 554b97a ("swupdate: Set service type to notify") in meta-swupdate
layer, the swupdate service fails on boot due to the following timeout error:

    swupdate.sh[2708]: [TRACE] : SWUPDATE running :  [listener_create] : creating socket at /tmp/swupdateprog
    swupdate.sh[2708]: [TRACE] : SWUPDATE running :  [listener_create] : creating socket at /tmp/sockinstctrl
    systemd[1]: swupdate.service: start operation timed out. Terminating.
    systemd[1]: swupdate.service: Failed with result 'timeout'.
    systemd[1]: Failed to start SWUpdate daemon.

This commit adds a config fragment to enable systemd support to swupdate daemon.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-15 13:34:48 +01:00
Francisco Gil 7c07b15370 update-firmware: change the way to determine nand device
The partition "environment" is not available in the ccmp15.

The solution suggested is read the "/proc/mounts" and check if
the "rootfs" is "ubifs" mounted.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-11-15 07:54:26 +01:00
Francisco Gil 116cb2ac26 swu-images: fix sha256 entry from sw-description file in dualboot
This commit fixes the following build warning with the swupdate v2022.05:

WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.boot.ubifs)
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.ubifs)
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.boot.ubifs)
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.ubifs)
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.boot.ubifs)
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.ubifs)
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.boot.ubifs)
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.ubifs)


Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-11-15 07:51:05 +01:00
Francisco Gil b52339d591 dualboot: move the things to the corresponding class
we can get rid of dualboot.bbclass moving things to different
layers.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-11-15 07:49:17 +01:00
Javier Viguera 272edd8af7 meta-digi: remove obsolete overlayed recipes
Code clean up, remove recipes that have been updated in meta-freescale.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-14 11:09:43 +01:00
Arturo Buzarra 9936c192d2 dualboot: fix initialization systemd service
According to the Yocto reference manual, we need to specify the package name
override to indicate the package to which the value applies.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-14 10:20:02 +01:00
Tatiana Leon 13f2924399 ccmp15: crank: remove some features from crank image to reduce its size
Generated Crank rootfs image for the ConnectCore MP15 is too big to fit in a
dual boot system. This commit removes gstreamer and package-management features.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2022-11-11 10:08:34 +01:00
Tatiana Leon e951c89073 meta-digi-dey: crank: update to Crank engine 7.2 and demo
This commit updates:

   * Crank engine version to the latest one (7.2)
   * Crank demo to the provided one instead of the Thermostat example.
     New demo is a launcher that includes 3 applications:
        * Electrical vehicle charger demo
        * Robot arm demo
        * Medical demo

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2022-11-11 10:05:43 +01:00
Arturo Buzarra 49dbae051e dey-image-installer: fix recipe to add USB driver installation script
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-10 10:57:16 +01:00
Arturo Buzarra feab76d675 dey-image-installer: fix ZIP installer generation for ccmp1 platforms
The ccmp1 build generates ubifs images for the NAND on the device and vfat and
ext4 images for the SD card. This commit reuses the already implemented
mechanism to match only ubifs images for the ccmp1 platforms.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-10 10:57:16 +01:00
Francisco Gil 19bf22059f ccmp15: dey-examples: update the configuration file for ccmp15
https://onedigi.atlassian.net/browse/DEL-8151

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-11-09 08:13:51 +01:00
Javier Viguera df572d0ef3 meta-digi: delete linux 5.4 recipe
No supported platform is using kernel version 5.4.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-08 14:20:51 +01:00
Tatiana Leon 9b1008c7fd libdigiapix: ccimx6ulsbc: update user button GPIO
Cloud Connector opens USER_BUTTON GPIO as an interrupt to listen for rising and
falling edge events and upload them to Remote Manager as data point values.
Having MCA_IO1 as user button and opened by the Cloud Connector (or any other
software) prevents the device to go to sleep when it is not connected (all
MCA GPIOs are wake-up sources when configured as interrupt)

https://onedigi.atlassian.net/browse/DEL-8155

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2022-11-07 18:43:44 +01:00
Isaac Hermida c7f2960b4e meta-digi: revert revisions to AUTOREV
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2022-11-04 12:38:21 +01:00
Isaac Hermida dad34f1006 meta-digi: update revisions for dey-4.0-r1.1
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2022-11-03 18:21:46 +01:00
Arturo Buzarra 0001e6608d modemmanager: fix blacklist rules for Ethernet interfaces on ccmp13 platform
This commit fixes the Ethernet entries to prevent ModemManager from trying to
manage it:
    ModemManager[177]: <info>  [base-manager] couldn't check support for device
     '/sys/devices/platform/soc/5800a000.eth1': not supported by any plugin

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-10-31 07:52:09 +01:00
Arturo Buzarra 0eb0f15e7b pulseaudio: add support to pulseaudio-server initscript for sysvinit system
This commit fixes the pulseaudio recipe to launch the pulseaudio-server
service at boot time for sysvinit systems.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-10-31 07:51:22 +01:00
Arturo Buzarra 3b99bf3821 pulseaudio: define runtime user-specific directory XDG_RUNTIME_DIR
This commit exports the environment variable XDG_RUNTIME_DIR if does not exists
for services that require sharing a pulseaudio instance.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-10-31 07:50:33 +01:00
Francisco Gil 9cd5ae591d usb_driver: add a script to install Cypress usb driver
The new DVKs of the cc8mn, cc8mm and ccmp1 have a new ftdi
usb to serial chip that is recognized as a thermal device by default.

With the install_usb_driver.sh script this driver is replaced
to a USB to serial driver.

This script is included for the needed platforms in the zip
installer provided in the getting started.

https://onedigi.atlassian.net/browse/DEL-8126

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-10-26 11:30:46 +02:00
Francisco Gil 8c1b0f8f9e dualboot: get rid of configuration file for dualboot
Now the cloud connector has all the logic to detect if its
running in a dual_boot system, so it is not needed this anymore.

We need to modify on the fly the path to save the image in a
dualboot system.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-10-26 11:29:23 +02:00
Francisco Gil 378135b9c6 dualboot: rename firmware-update-dual.sh to update-firmware
Use the same name for both firmware update mechanism.

Add a dependency to only add recovery-utils used by the
non dual-boot firmware update system.

Adding this only one binary/script called update-firmware will
be added.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-10-26 11:29:23 +02:00
Hector Palacios 1105a8fecd dualboot: move contents of meta-digi-dualboot layer into meta-digi as a class
- create dualboot.bbclass that
  - sets DUALBOOT_ENABLED variable
  - defines partition names and function for changing the sw-description
    for swupdate
- move files from layer into meta-digi

https://onedigi.atlassian.net/browse/DEL-7962

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-10-26 11:29:23 +02:00
David Escalona 1ec5cc172c meta-digi-dey: crank-demos: fix crank demo for CCMP15
Crank demo was not working on CCMP15 devices due to several changes on weston
service and the user launching it. This commit makes several fixes to make
the demo to work again:

- Add 'DEMO_USER' parameter to determine which user will launch the demo. Update
  recipe and start script accordingly.
- Add 'DEMO_DISPLAY' parameter to determine the display that will be used to
  launch the demo. Update recipe and start script accordingly.
- Parameterize the name of the Weston service after which the demo must be started.
  Update recipe and service file accordingly.
- Give Crank engine read and execution permissions so the engine can be started
  by any user.
- Add new method to the demo start script to wait until Wayland is fully setup
  before actually starting the demo.

Signed-off-by: David Escalona <david.escalona@digi.com>
2022-10-25 18:09:27 +02:00
David Escalona 64cea0e066 meta-digi-dey: dey-examples: add required packages to 'connectcore-demo'
The new ConnectCore demo functionality makes use of some new Python libraries. Add these libraries
as a dependency in the demo recipe.

Signed-off-by: David Escalona <david.escalona@digi.com>
2022-10-25 18:09:27 +02:00
Arturo Buzarra 30022f556b run-postinsts: Set dependency for ldconfig to avoid boot issues
If a package with a postsints script requires ldconfig, the package class adds
a ldconfig postinst fragment to initialize it before. Systemd has its own
ldconfig.service to initialize it and sometimes if both services are running
at the same time in the first boot, the first one will work, but the second
one will fail with the following error:

    ldconfig[141]: /sbin/ldconfig: Renaming of /etc/ld.so.cache~ to /etc/ld.so.cache failed: No such file or directory

This commit adds an ordering dependency between them to make sure that only one
service is running at the same time

https://onedigi.atlassian.net/browse/DEL-8133

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-10-21 17:48:20 +02:00
Arturo Buzarra 3e0d713837 sysinfo: improve script to avoid errors on platforms without some variables
This commit improves the sysinfo script to skip error on platforms that don't
provide some variables.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-10-20 09:32:35 +02:00
Javier Viguera cd9e12da32 meta-digi-dey: on CC6UL add connectcore demo only for core-image-base
If we add the demo to the graphical images (dey-image-qt) the resulting
image does not fit on the rootfs partition for the smallest variant.

https://onedigi.atlassian.net/browse/DEL-8004

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-10-18 11:30:26 +02:00
Tatiana Leon 23fe285d62 meta-digi-dey: libdigiapix: add 'bluez5' dependency required by new features
https://onedigi.atlassian.net/browse/DEL-8065
https://onedigi.atlassian.net/browse/DEL-7964

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2022-10-13 15:07:35 +02:00
Arturo Buzarra 269b148c60 libdigiapix: ccmp15: fix user LED for DVK v2
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-10-10 14:40:39 +02:00
David Escalona b0db58fe53 meta-digi-dey: cloudconnector: add 'json-c' dependency required by new features
Signed-off-by: David Escalona <david.escalona@digi.com>
2022-10-07 16:49:12 +02:00
David Escalona 44a3c1a123 meta-digi-dey: dey-examples: start pulseaudio with 'connectcore-demo' example
The demo now has a "Play music" feature, which requires pulseaudio to be running in the device.
This commit checks if pulseaudio is running before starting the demo, and starts the service in
the case it is not.

Signed-off-by: David Escalona <david.escalona@digi.com>
2022-10-07 16:49:12 +02:00