This commit removes unused platform images to reduce the final size in the
rootfs.
https://onedigi.atlassian.net/browse/DEL-8335
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit removes the on-target post installation function for read-only rootfs,
as it will fail trying to edit files.
https://onedigi.atlassian.net/browse/DEL-8221
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
These are just a verbatim copy of the ccimx8mm ones, so the project is
buildable. This file list should be revisited and adapted for the
ccimx93.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
- 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>
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>
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>
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>
The latest ConnectCore demo updates introduced support for audio controls that
use the mpg123 library to manage audio on the device. This commit adds a
runtime dependency for that package.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The start/stop script of the service was using "killproc" and "pidofproc" functions from
"/etc/init.d/functions" to find the process PID. These functions rely on "pidof", which does
not work very well with Python scripts. Instead, use "pkill" and "pgrep" which allow to
search the executable in the full command line to retrieve the correct PID with the -f modifier.
Signed-off-by: David Escalona <david.escalona@digi.com>
The library recently added support for Python bindings. This commit
adds support to compile and install these Python bindings using a
new package: 'libdigiapix-python3'.
Signed-off-by: David Escalona <david.escalona@digi.com>
The ConnectCore Demo is launched on startup and starts the web server. Demo can be accessed
by any computer in the LAN by just typing the IP address of the device in the web browser.
Signed-off-by: David Escalona <david.escalona@digi.com>
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: David Escalona <david.escalona@digi.com>
(cherry picked from commit ccc9211d00dad7be6cb2c2d0cf179a62563e26c6)
Recent improvements in the cloudconnector core added a dependency with the
swupdate library, so this commit adds a build dependency with the
swupdate package.
https://onedigi.atlassian.net/browse/DEL-7903
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
(cherry picked from commit 654ef8686fd3916ae5ad257f72bd41ed2198d958)
This commit fixes the following build warning with the swupdate v2021.11:
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-xxxxxx.boot.ubifs)
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-xxxxxx.ubifs)
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Recent improvements in the cloudconnector core added a dependency with the
libdigiapix library, so this commit adds a build dependency with the
libdigiapix package.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The common license file GPL-2.0 is now called GPL-2.0-only in poky, so we need
to reflect this name change to avoid errors
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Since commit 11558352 ("swu-images: add "installed-directly" flag to
sw-description") the swu package images are streamed into the target without
any temporary copy to support devices with low memory available, that forces a
different order according with the swupdate documentation because scripts
should packed before the rest. This means that all the pre, post and shell
scripts will be executed after the images will be installed. This behavior
breaks the current support to mount the cryptorootfs node before install an
encrypted rootfs.
This commit moves the shell script to mount the cryptorootfs node to the
recovery initramfs and modifies the swupdate command line to call the shell
script before the images installation.
https://onedigi.atlassian.net/browse/CC8X-320
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
swupdate has the necessary logic to handle compressed images, so take advantage
of this to save space and reduce update package transfer times.
https://onedigi.atlassian.net/browse/DEL-7582
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Otherwise, swupdate will treat the update process like it's an OTA one and it
will try to store the package contents in /tmp, which won't fit.
swupdate commit 8b70ae5796e75c2ff856e8c46b3a3c09cb8fcccd states that all local
SWU packages should include this flag, since the old implementation had this
information implicitly.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Since the recovery script checks the update package before installing it, use
the package's description to indicate if the package is meant to encrypt the
rootfs or not. Also, remove the pre-install script from the ccimx6ul packages,
since the logic in the script to remove the encryption flag from the rootfs is
now in the recovery script.
https://onedigi.atlassian.net/browse/DEL-7174
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Previously, TRUSTFENCE_INITRAMFS_IMAGE was the only variable used to configure
rootfs encryption. Now that any partition can be encrypted and the rootfs
encryption still needs to be handled differently, use two variables instead.
* TRUSTFENCE_ENCRYPT_PARTITIONS to control partition encryption in general
* TRUSTFENCE_ENCRYPT_ROOTFS to control rootfs encryption
As with most trustfence functionality, enable both by default. Leave
TRUSTFENCE_INITRAMFS_IMAGE as an internal variable only.
https://onedigi.atlassian.net/browse/DEL-7174
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The partition encryption system now uses dynamically generated names for the
decrypted block devices, which are based on the partition name. Reflect this
change in places where the encrypted rootfs is referenced.
https://onedigi.atlassian.net/browse/DEL-7174
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The indexes of the MCA PWM controllers are different in Linux v5.4, so the
default value used by libdigiapix results in an error. Reflect this change and,
while at it, replace the default PWM with an IO connected to a user LED to make
the example more visual.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Commit c24d1d96 ("sysinfo: adapt script after removal of deprecated fsl_otp
driver") introduced a mistake masking the SEC_CONFIG[1] bit read from the OTP.
This commit fix the read command to force it in hex format and finally match
with the mask in the script.
https://jira.digi.com/browse/DEL-7263
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Commit c24d1d96 ("sysinfo: adapt script after removal of deprecated fsl_otp
driver") introduced support to determine if a device is closed by checking
a new boolean property on the DT for the CC8X platforms, however the CC8M
platforms use the same mechanism. This commit modifies the sysinfo script to
check also the DT for the CC8M platforms.
https://jira.digi.com/browse/DEL-7263
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Commit cbb38440 ("meta-digi-dey: sysinfo: Add chip revision sysinfo output")
introduced a new script variable to determine the SOC revision of the module.
However this entry only is available on the CC8X platforms. This commit checks
if the entry exist and then tries to read it to avoid unexpected issues with
devices without this entry.
https://jira.digi.com/browse/DEL-7263
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit updates the GPIO udev rules to change the group owner
and permission of the new gpio char driver. This will allow users
that belong to the digiapix group to access the char driver.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-7255
Add systemd auto-getty.service to run agetty on the console defined in the
kernel command line on platforms with systemd support.
This service replaces serial-getty@.service as the one responsible for
opening a tty port and prompting for a login name when
TRUSTFENCE_CONSOLE_DISABLE is configured.
https://jira.digi.com/browse/DEL-7242
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
This commit removes the v4l2 example because they are superseded
by gstreamer examples.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-7211
- OTP section
- Use just one fixed path to the OTP nvmem device descriptor (instead
of a loop).
- Use '-v' for dumping all values with hexdump.
- TrustFence section
- For cc8x, determine if the device is closed by checking a new boolean
property on the DT: digi,tf-open|closed
- For the rest, check the SEC_CONFIG[1] bit using the new nvmem
descriptor.
- Change log from 'Device status' to 'Security status'
- Report UNKNOWN if nvmem device does not exist.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-7185
(cherry picked from commit f6a8de0067)
With the change of bsp now we have several entries under
/sys/bus/nvmem/devices/ in the CC6UL platform and we should
reduce the num of folders where the otp folder can be found.
ls /sys/bus/nvmem/devices/
bootloader
environment
imx-ocotp0
linux
recovery
rootfs
safe
update
https://jira.digi.com/browse/DEL-7082
Signed-off-by: Francisco Gil Martinez <francisco.gilmartinez@digi.com>
This allows to generalize the code instead of needing to replicate
overrides for each platform that contains the MCA.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Bluetooth class to support the bluez4/bluez5 distro features,
was removed due to bluez4 was removed from meta-oe some time ago.
This commit simplifies the requeriments adding directly the bluez5,
instead of the intermediate bluetooth class.
https://jira.digi.com/browse/DEL-7013
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This package has not been supported since OpenSSL was updated to v1.1.x, and it
has been deprecated by Microchip.
https://jira.digi.com/browse/DEL-6826
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Digi Embedded Yocto 2.6-r2.2
Manually changed recipes to use the master branches instead of the fixed SHA1
from the last release.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Otherwise, users that are behind corporate firewalls might not be able to
obtain the package sources.
https://jira.digi.com/browse/DEL-6663
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
-p : Test the standard periodic interrupts (uses timers, doesn't wake from low power)
-u : Test the standard 1 Hz interrupt (uses RTC ALARM)
-v : Test MCA periodic interrupts (uses RTC PERIODIC_IRQ)
-w : Test MCA 1 Hz interrupt (uses RTC 1HZ)
https://jira.digi.com/browse/DEL-6602
Signed-off-by: Hector Bujanda <hector.bujanda@digi.com>
The watchdog and ADC devices were not being modified to belong
to 'digiapix' group, so the examples did not run properly when
ran as a user different than root.
Reported-by: Andreas Burghart <andreas.burghart@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-6581
Digi Embedded Yocto 2.6-r1.3
Manually changed recipes to use the master branches instead of the fixed SHA1
from the last release.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The exported PWM channels now report the channel name under udev
EXPORT parameter.
Add the 'change' udev action type to the udev rules and use that
parameter to change the group ownership of the PWM channels to
digiapix group, so they can be used by non-root user.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
With the re-organisation of the python3 packaging, some of the
packages have disappeared and are now part of base packages.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
For CC6/CC6Plus
- Add USER_LED0 alias (same as default USER_LED)
- Change aliases of the other LEDs to USER_LED1 and
USER_LED2 (without additional underscore and fixed
indexes, to match the board schematics)
For CC8X SBC Pro
- Add USER_LED0 alias (same as default USER_LED)
- Add USER_LED1 which was missing
- Increase indexes (due to removed MCA_IO19 on SOM v3)
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
This commit removes the following examples that were accessing
hardware interfaces:
- dey-examples-adc
- dey-examples-can
- dey-examples-gpio-sysfs
- dey-examples-spidev
- dey-examples-watchdog
The recipe 'dey-examples-digiapix' builds similar examples that make
use of Digi's APIX for accessing the hardware. Add this recipe to images
- dey-image-qt
- core-image-base
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-5169
This reduces the number of files that must be modified when changing
branches between development/release modes.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
The device-tree being used on a system is a very important piece of
information to debug issues. On a host machine, dtc can be used to
reconstruct the DTS used from the /proc/device-tree folder structure.
While on it, remove extra white lines at the beginning and end.
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
Commit 491082c56ce34f3fd644f8d4457ccd52af951087 in poky layer enables
by default some security enhancements and optimizations for the compiler,
These extra checks added by the flag -D_FORTIFY_SOURCE=2 break the
CloudConnector build. This commit disables the extra validations only
for the CloudConnector recipe.
https://jira.digi.com/browse/DEL-6412
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Digi Embedded Yocto 2.4-r2.2
Manually changed recipes to use the master branches instead of the fixed SHA1
from the last release.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The PWM and ADC values are still to be determined, since their BSP support is
currently unavailable.
https://jira.digi.com/browse/DEL-6205
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
* Check for file before using it
This just avoids the failure, on mainline access to OTP would need to be
done differently, see:
https://jira.digi.com/browse/ACL-163
* Use compatible node instead of digi,machine,name
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
On this platform, the SPI device gets registered as /dev/spidev32766.0.
https://jira.digi.com/browse/DEL-6183
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
During the merge of the maintainance branch and the manual revert of
some recipes, these were forgotten.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
On this platform, the SPI device gets registered as /dev/spidev32766.0.
https://jira.digi.com/browse/DEL-6183
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The PWM and ADC values are still to be determined, since their SOM support is
currently unavailable.
https://jira.digi.com/browse/DEL-6049
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
adc_sample:
- extend list of supported devices with MCA_CC8X
adc_cmp_sample:
- Add '-t' argument to specify the type of device.
- Added checking of threshold ranges to avoid confusion between
raw and voltage configurations.
https://jira.digi.com/browse/DEL-6001
Signed-off-by: Hector Bujanda <hector.bujanda@digi.com>
- For most examples, since they apply to all platforms, remove
COMPATIBLE_MACHINE.
- For recipes related to specific hardware, add support to the new platform
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
While on it:
- add dey-examples-rtc unconditionally (rtc is never in MACHINE_FEATURES)
- add missing recipes: digiapix, cryptochip
- re-order them alphabetically.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
With the migration from dey-2.2 to dey-2.4, now it is mandatory to include
all required applications for compilation. This fixes the next error:
| make: pkg-config: Command not found
| main.c:20:10: fatal error: cryptoauthlib.h: No such file or directory
| #include <cryptoauthlib.h>
https://jira.digi.com/browse/DEL-5710
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The MACHINE_EXTRA_RRECOMMENDS for the ccimx6ul in meta-digi-arm contains
cryptoauthlib. If we want to use meta-digi-arm as a standalone BSP layer
we need to move the cryptoauthlib recipe to meta-digi-arm, that or not make it
a machine dependency.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Bash v4.4 or higher warns when discarding NULL bytes in command substitution
output. Remove these bytes to avoid the undesired warnings.
https://jira.digi.com/browse/DEL-5588
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This fixes the following warning:
WARNING: auto-serial-console-0.1-r0 do_populate_lic:
${COREBASE}/LICENSE is not a valid license file, please use
'${COMMON_LICENSE_DIR}/MIT' for a MIT License file in LIC_FILES_CHKSUM.
This will become an error in the future.
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
These udev rules allow to use the digiapix API by a normal user that
belongs to the 'digiapix' group.
https://jira.digi.com/browse/DEL-5232
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit modifies different recipes to support the new platform
ccimx6qpsbc and adapt it to maintain the support to ccimx6sbc.
https://jira.digi.com/browse/DEL-5082
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit modifies sysinfo tool to use the kernel symlinks for
the devices instead of using the full node path and maintain
compatibility with different kernel versions.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
These examples show how to use the Digi APIX.
https://jira.digi.com/browse/DEL-5097
Signed-off-by: Francisco Gil Martinez <francisco.gilmartinez@digi.com>
This commit adds the some platform board files and removes
the symbolic link to libsoc.conf
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-5096