The experimental flag is needed to run the GATT server application.
https://jira.digi.com/browse/DEL-5023
Signed-off-by: Isaac Hermida <isaac.hermida@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
This commit enables the IPV6 support that is necessary for the
XBee Cellular LTE Cat1 modem.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-4839
(cherry picked from commit a5cfaa921d)
wlan1 is the interface used for SoftAP, so use that one instead. This also
matches with the 'Network bridging' chapter of the documentation.
https://jira.digi.com/browse/DEL-4823
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
(cherry picked from commit e6beba4cb0)
The bridge example uses the wireless interface and it assumes that it is
initialized, so it must be placed after it.
https://jira.digi.com/browse/DEL-4823
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
(cherry picked from commit d7c8fa4b9a)
This only affects the CC6UL, where by default now 'qtsmarthome' is
installed instead of 'qtbase-examples'.
This serves two purposes:
* Remove the 'qtbase-examples' package from the CC6UL to save space.
* Use 'qtsmarthome' as a demo of a QML application running on the CC6UL
using Qt Quick 2D Renderer.
https://jira.digi.com/browse/DEL-3912
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit 4c5a7fd3f8)
Instead of having a recipe to add launchers for a bunch of applications
(most of them are not available anymore) move the qtsmarthome launcher
to the recipe that installs the package.
https://jira.digi.com/browse/DEL-3912
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit 64010754d0)
The demo application uses 'svg' images, so at runtime it depends on
'qtsvg-plugins' package.
Also add a patch to fix a runtime warning:
Both point size and pixel size set. Using pixel size
https://jira.digi.com/browse/DEL-3912
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit 48ff14dc78)
This is an alternative software based renderer for QtQuick2
applications for hardware that doesn't have a GPU.
This is the case of the CC6UL. It does not have a GPU, so the only way
to run QML applications is using this software renderer.
https://jira.digi.com/browse/DEL-3912
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit e623c365ff)
The supplicant support for a bridge was not being managed,
then the bridge was failing when the softap was configured
with an encryption. With this change we launch a supplicant
instance with the bridge support after checking that the
/etc/network/interfaces contains the required parameters.
https://jira.digi.com/browse/DEL-4454
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
(cherry picked from commit 9c5774ed62)
In the past QT package did include some fonts, but not anymore. New
versions of QT do rely on an external font package being installed in
the rootfs.
Without fonts the QT applications just show up in the screen but
obviously with no text at all.
https://jira.digi.com/browse/DEL-4724
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit 02547c6530)
This patch makes smaller libQt libraries saving some space in the CC6UL
rootfs.
Libraries size before the patch:
root@ccimx6ulsbc:~# ls -l /usr/lib/libQt*5.7.1
22448 Aug /usr/lib/libQt5Concurrent.so.5.7.1
5347036 Aug /usr/lib/libQt5Core.so.5.7.1
508464 Aug /usr/lib/libQt5DBus.so.5.7.1
4419712 Aug /usr/lib/libQt5Gui.so.5.7.1
1367776 Aug /usr/lib/libQt5Network.so.5.7.1
275900 Aug /usr/lib/libQt5OpenGL.so.5.7.1
341688 Aug /usr/lib/libQt5PrintSupport.so.5.7.1
88628 Aug /usr/lib/libQt5SerialPort.so.5.7.1
290960 Aug /usr/lib/libQt5Sql.so.5.7.1
212432 Aug /usr/lib/libQt5Test.so.5.7.1
5306588 Aug /usr/lib/libQt5Widgets.so.5.7.1
894928 Aug /usr/lib/libQt5XcbQpa.so.5.7.1
191404 Aug /usr/lib/libQt5Xml.so.5.7.1
Libraries size after the patch:
root@ccimx6ulsbc:~# ls -l /usr/lib/libQt*5.7.1
18352 Aug /usr/lib/libQt5Concurrent.so.5.7.1
4032380 Aug /usr/lib/libQt5Core.so.5.7.1
303684 Aug /usr/lib/libQt5DBus.so.5.7.1
2867436 Aug /usr/lib/libQt5Gui.so.5.7.1
839428 Aug /usr/lib/libQt5Network.so.5.7.1
239044 Aug /usr/lib/libQt5OpenGL.so.5.7.1
267976 Aug /usr/lib/libQt5PrintSupport.so.5.7.1
59960 Aug /usr/lib/libQt5SerialPort.so.5.7.1
172192 Aug /usr/lib/libQt5Sql.so.5.7.1
171500 Aug /usr/lib/libQt5Test.so.5.7.1
4282740 Aug /usr/lib/libQt5Widgets.so.5.7.1
616420 Aug /usr/lib/libQt5XcbQpa.so.5.7.1
154556 Aug /usr/lib/libQt5Xml.so.5.7.1
https://jira.digi.com/browse/DEL-4644
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit c62d5e1e42)
This commit enables the IPV6 support that is necessary for the
XBee Cellular LTE Cat1 modem.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-4839
This commit creates a new file called 'dey-version-${REAL_MULTIMACH_TARGET_SYS}'
(for example, 'dey-version-cortexa7hf-neon-dey-linux-gnueabi') at the same level
as 'version-${REAL_MULTIMACH_TARGET_SYS}',
'site-config-${REAL_MULTIMACH_TARGET_SYS}', and
'environment-setup-${REAL_MULTIMACH_TARGET_SYS}' files.
The file contains the following parameters:
* Machine. The name of the platform the toolchain was built for (ccimx6sbc,
ccimx6ulsbc, ccimx6ulstarter).
* Version: A versioning system for the generated toolchains. Currently is the
distro version followed by the timestamp on which the current build started.
* Image: The name of the image that triggered the population of the SDK
(core-image-base, dey-image-aws, dey-image-qt-${GRAPHICAL_BACKEND})
The purpose of the 'dey-version-*' file is to be parsed by Eclipse so toolchains
can be autodetected.
This file is packaged with the rest of SDK/toolchain resources ('version-*',
'site-config-*', and 'environment-setup-*' files, and 'sysroots' directory)
when creating the SDK tarball and later the installation script.
The 'dey-version-*' file could also be created in a 'meta-environment.bbappend'
appending to the 'create_sdk_files()'. But from this recipe there is no access
to the name of the image that triggers the creation of the SDK (core-image-base,
dey-image-aws, dey-image-qt, etc.).
Currently, we are redefining 'SDK_POSTPROCESS_COMMAND' (from
'poky/meta/classes/populate_sdk_base.bbclass') to insert the generation of the
'dey-version-*' file just before creating the SDK tarball.
https://jira.digi.com/browse/DEL-5074
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
NM launches 'dnsmasq' using DBus, so enable DBus support at compile
time. Also remove the symlinks in the different runlevels, so it's not
launched by the included bootscript.
https://jira.digi.com/browse/DEL-4787
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is needed in the context of network failover, so when one physical
interface is lost, you can still resolve the connectivity-check URL
using the local DNS cache.
https://jira.digi.com/browse/DEL-4787
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The implemented patch fails when NetworkManager uses a local DNS cache
underneath (like 'dnsmasq'). To access the local DNS cache it needs to
use the loopback interface and hardcoding the physical interfaces make
the connectivity check fail.
This reverts commit c9b02d6288.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Use the same interface that it's being checked for the DNS resolution.
This makes connectivity check work in an scenario where the primary
interface has lost connectivity (for example ethernet) but you still
have connectivity through a secondary interface (e.g. wireless).
What happens in that case is that even though you have correct
connectivity in the secondary interface the check fails because it does
not use that secondary interface to resolve the name of the test URL.
The result is that the connectivity check assumes that this secondary
interface is also failing and it penalizes the metrics in the routing
table.
This commit uses libcurl's CURLOPT_DNS_INTERFACE to set the DNS
interface. Notice that this requires 'libcurl' to be compiled with
'--enable-ares'.
https://jira.digi.com/browse/DEL-4787
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is required to use '--dns-interface' runtime parameter to instruct
'curl' to use a specific interface for DNS resolution.
We need this in the context of the network failover support, where
NetworkManager does the connectivity check, by trying to connect to a
configured URL through the different interfaces available, and for this
check it uses 'libcurl' underneath.
If you try to use this functionality without this build time option
enabled, you get:
curl: (4) A requested feature, protocol or option was not found built-in
in this libcurl due to a build-time decision.
https://jira.digi.com/browse/DEL-4787
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This library will provide a common API to access Digi hardware interfaces and/or
other features.
https://jira.digi.com/browse/DEL-4979
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
If two or more targets are in the same environment, all of them will
broadcast the same SSID, which may be a problem when a client wants
to connect to a specific device.
Use the last bytes of the non-virtual wireless MAC for the name of the
SSID, a random value with no hexadecimal characters is used if the MAC
is not available.
Also drop 'wpa2aes' from the SSID.
https://jira.digi.com/browse/DEL-4129
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
Turns out that the busybox' fdisk applet is also able to parse the GPT
partition tables. This saves around 0.5 MiB of space.
https://jira.digi.com/browse/DEL-4565
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
wlan1 is the interface used for SoftAP, so use that one instead. This also
matches with the 'Network bridging' chapter of the documentation.
https://jira.digi.com/browse/DEL-4823
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
The bridge example uses the wireless interface and it assumes that it is
initialized, so it must be placed after it.
https://jira.digi.com/browse/DEL-4823
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
This only affects the CC6UL, where by default now 'qtsmarthome' is
installed instead of 'qtbase-examples'.
This serves two purposes:
* Remove the 'qtbase-examples' package from the CC6UL to save space.
* Use 'qtsmarthome' as a demo of a QML application running on the CC6UL
using Qt Quick 2D Renderer.
https://jira.digi.com/browse/DEL-3912
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Instead of having a recipe to add launchers for a bunch of applications
(most of them are not available anymore) move the qtsmarthome launcher
to the recipe that installs the package.
https://jira.digi.com/browse/DEL-3912
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The demo application uses 'svg' images, so at runtime it depends on
'qtsvg-plugins' package.
Also add a patch to fix a runtime warning:
Both point size and pixel size set. Using pixel size
https://jira.digi.com/browse/DEL-3912
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is an alternative software based renderer for QtQuick2
applications for hardware that doesn't have a GPU.
This is the case of the CC6UL. It does not have a GPU, so the only way
to run QML applications is using this software renderer.
https://jira.digi.com/browse/DEL-3912
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The supplicant support for a bridge was not being managed,
then the bridge was failing when the softap was configured
with an encryption. With this change we launch a supplicant
instance with the bridge support after checking that the
/etc/network/interfaces contains the required parameters.
https://jira.digi.com/browse/DEL-4454
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
In the past QT package did include some fonts, but not anymore. New
versions of QT do rely on an external font package being installed in
the rootfs.
Without fonts the QT applications just show up in the screen but
obviously with no text at all.
https://jira.digi.com/browse/DEL-4724
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This patch makes smaller libQt libraries saving some space in the CC6UL
rootfs.
Libraries size before the patch:
root@ccimx6ulsbc:~# ls -l /usr/lib/libQt*5.7.1
22448 Aug /usr/lib/libQt5Concurrent.so.5.7.1
5347036 Aug /usr/lib/libQt5Core.so.5.7.1
508464 Aug /usr/lib/libQt5DBus.so.5.7.1
4419712 Aug /usr/lib/libQt5Gui.so.5.7.1
1367776 Aug /usr/lib/libQt5Network.so.5.7.1
275900 Aug /usr/lib/libQt5OpenGL.so.5.7.1
341688 Aug /usr/lib/libQt5PrintSupport.so.5.7.1
88628 Aug /usr/lib/libQt5SerialPort.so.5.7.1
290960 Aug /usr/lib/libQt5Sql.so.5.7.1
212432 Aug /usr/lib/libQt5Test.so.5.7.1
5306588 Aug /usr/lib/libQt5Widgets.so.5.7.1
894928 Aug /usr/lib/libQt5XcbQpa.so.5.7.1
191404 Aug /usr/lib/libQt5Xml.so.5.7.1
Libraries size after the patch:
root@ccimx6ulsbc:~# ls -l /usr/lib/libQt*5.7.1
18352 Aug /usr/lib/libQt5Concurrent.so.5.7.1
4032380 Aug /usr/lib/libQt5Core.so.5.7.1
303684 Aug /usr/lib/libQt5DBus.so.5.7.1
2867436 Aug /usr/lib/libQt5Gui.so.5.7.1
839428 Aug /usr/lib/libQt5Network.so.5.7.1
239044 Aug /usr/lib/libQt5OpenGL.so.5.7.1
267976 Aug /usr/lib/libQt5PrintSupport.so.5.7.1
59960 Aug /usr/lib/libQt5SerialPort.so.5.7.1
172192 Aug /usr/lib/libQt5Sql.so.5.7.1
171500 Aug /usr/lib/libQt5Test.so.5.7.1
4282740 Aug /usr/lib/libQt5Widgets.so.5.7.1
616420 Aug /usr/lib/libQt5XcbQpa.so.5.7.1
154556 Aug /usr/lib/libQt5Xml.so.5.7.1
https://jira.digi.com/browse/DEL-4644
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Tweaked to maintain some recipes' revisions to AUTOREV instead of the
fixed SHA1s from the tag.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
We need to pass different log levels depending on the message, so they
appear in the console, so generalize the 'log' function.
https://jira.digi.com/browse/DEL-4682
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Busybox's init enabled at build time collide with 'sysvinit' package.
This does not seem a problem when using RPM package manager, but using
IPK instead, the build is broken at image creation time:
Collected errors:
* check_data_file_clashes: Package sysvinit wants to install file <...>/rcS
But that file is already provided by package * busybox
https://jira.digi.com/browse/DEL-4573
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
No applet has been enabled or disabled, just the defconfig file has been
refreshed for the current busybox version 1.24.x
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
NetworkManager manages the 'resolv.conf' file globally, so there is no
need for pppd specific scripts for DNS.
These scripts race with NM to set DNS, leading sometimes to a scenario
where you have ethernet as the default gateway, but with DNS only
reachable via cellular.
While on it, also remove not used 'mm_cellular' configuration file.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Some modems (e.g. the XBee Cellular LTE Cat 1) have a long initilization
process and are not available when ModemManager tries to detect them
on boot.
For those modems schedule a rescan a bit later after NetworkManager has
been launched, so they are detected properly.
https://jira.digi.com/browse/DEL-4661
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
These values configure the PPP daemon to check that the connection is
still alive (using an echo) and kill itself otherwise. On that event,
NetworkManager takes over and tries to restore the connection.
This is specially useful for modems with only one serial port, because
they are not able to signal the connectivity loss to the host (the only
data channel is used for the network data itself).
https://jira.digi.com/browse/DEL-4653https://jira.digi.com/browse/DEL-4650
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
Use the 1.8.x stable series, as it has some desired functionality (e.g.
connectivity check) and bug fixes over the default version included in
Yocto.
https://jira.digi.com/browse/DEL-4628
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The name of the repository in Github is fixed, because it is a fork from
the original repository.
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
This commit includes the Python3-Json package that is required now
by QT creator python scripts when debugging an application with GDB
on the target.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
For P2P interfaces, some drivers (CC6UL) create auxiliar interfaces based
on the parent one, like p2p-p2p0-0.
This commit adds a p2p* pattern to the list of unmanaged devices so that
NetworkManager doesn't try to manage P2P devices.
https://jira.digi.com/browse/DEL-4649
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The removed distro features are mostly corner cases, not widely used,
and sometimes conflict with other packages serving the same purposes.
For example:
* '3g' only adds ofono for cellular support, while we are
using ModemManager.
* 'nfc' adds 'neard' the NFC daemon (which at the moment we don't
support)
* 'zeroconf' adds 'avahi' package, but we are using NetworkManager
instead to manage the network interfaces.
* 'nfs' adds 'rpcbind' server, which is not needed at all to have
an NFS mounted rootfs.
Needless to say that all those packages can be added to any image
without having the distro features enabled, or if preferred, you can add
the distro features back in the project's local.conf.
https://jira.digi.com/browse/DEL-3780
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
As we are using kernel's DEVTMPFS, using udev-cache on top of it does
not add much advantage. Disabling it has the extra advantage of avoiding
writing the udev-cache tarball under '/etc' (which probably won't work
on a read-only system).
https://jira.digi.com/browse/DEL-3780
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
When bringing down the wireless interface used for hostapd, the messages
overlap:
# ifdown wlan1
Stopping HOSTAP Daemon: stopped /usr/sbin/hostapd (pid 569)
hostapd.
Adding the 'quiet' option to start-stop-daemon command fixes the
cosmetic issue.
# ifdown wlan1
Stopping HOSTAP Daemon: hostapd.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
"glibc-gconv" packages are GLIBC library specific, so add the proper
override to fix the build of the package using other C libraries (e.g.
MUSL).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
If the IOExpander is not programmed but the kernel is running its driver,
the following messages will appear when running sysinfo:
cat: can't open '/sys/devices/platform/soc/2100000.aips-bus/21a0000.i2c/i2c-0/0-006e/hw_version': No such file or directory
cat: can't open '/sys/devices/platform/soc/2100000.aips-bus/21a0000.i2c/i2c-0/0-006e/fw_version': No such file or directory
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
Now the suspend script brings down all the wireless interfaces that are
managed by ifupdown command (in the '/etc/network/interfaces' file) and
then unloads the wireless driver.
On resume the script triggers an event so udev reloads the wireless
driver and then brings up the interfaces that were brought down on
suspend.
https://jira.digi.com/browse/DEL-4288
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The cellular interface is now managed by NetworkManager, so there is no
need for this custom script.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit removes the interfaces that are managed by Networkmanager
from the /etc/network/interfaces entry.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
So the package can be compiled in a non-X11 graphical system.
https://jira.digi.com/browse/DEL-4289
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
* Disabled: dnsmasq and netconfig
* Enabled: cellular related options and connectivity check
https://jira.digi.com/browse/DEL-4289
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
If values are provided in the local.conf, the package will have the
'config.json' file preconfigured.
https://jira.digi.com/browse/DEL-4274
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Rename the class so it's not specific to the C version of the AWS IoT
Device SDK, and can be used for anything related with AWS IOT (for
example Greengrass).
https://jira.digi.com/browse/DEL-4274
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This avoids the following errors:
ERROR: dey-examples-opengles-1.0-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary
and when cleaning:
ERROR: dey-examples-opengles-1.0-r0 do_configure: oe_runmake failed
| make: *** No rule to make target 'clean'. Stop.
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
This recipe allows to generate the swu update package to be used with SWUpdate.
The package can be generated using:
bitbake dey-image-aws-swu
https://jira.digi.com/browse/DEL-4304
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
In the recovery images we are using a custom init so we are not executing
any post-installation that is required for a correct rootfs setup, so call
all the post installation scripts from our custom init.
The package installation could be ipk, rpm or deb, so call to the
*postint folder.
Given that the recovery rootfs is a ramdisk, there is no need to remove the
post installation scripts.
https://jira.digi.com/browse/DEL-4430
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The fix in 0ae172613a wrongly printed
a new line after each value, wich resulted in the following output for a
command like this, that reads two 32-bit words:
root@ccimx6ulsbc:~# memwatch -r -l 8 -w -a 0x2008008
0x02008008: 0x0070e501
0x00000100
Instead, it should print a line feed after every 16 bytes.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
This commit updates the spidev_test application from Linux kernel upstream
at /tools/spi/spidev_test.c adding support to new features
commit: 9006a7b3220e7293ef8bc1ac9bba6c54411051c1
https://jira.digi.com/browse/DEL-4358
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
* Create the certificates directory before copying files into it.
* Give the downloaded tarball a meaningful name (otherwise tarballs
downloaded from GitHub don't have a proper name (only the version) and
may collide with other packages with the same version.
* Allow to create certs package if certs are available at build time.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
If the event is already signaled, read the timestamp, log and ack the event,
perform actions and exit. If it is already acknowledged, then do nothing.
Signed-off-by: Sebastian Pastor <sebastian.pastor@digi.com>
Only copy the certificates to the image if they are provided and exists.
https://jira.digi.com/browse/DEL-4339
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
This commit moves awsiotsdk-c recipe into 'recipes-aws' and awsiotsdk-demo into
'recipes-digi/dey-examples'.
https://jira.digi.com/browse/DEL-4339
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
This argument now is only valid for the behavior of the comparator in
sleep mode, so it no longer makes sense in this application.
Signed-off-by: Sebastian Pastor <sebastian.pastor@digi.com>
GG daemon may die due to misconfigurations, but this takes a bit of
time, so wait a bit to check whether the daemon is still alive.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
That's the default assumed by the GG daemon:
$ daemon --help
-gg-home string
home directory of greengrass (default "/greengrass")
As of this version GG daemon may not work properly otherwise.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This library adds support to use the Atmel CryptoAuth device available
in the ConnectCore 6UL.
https://jira.digi.com/browse/DEL-4284
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
The readlink command on a real file was expanding to nothing and then
the '/etc/resolv.conf' file was not being updated with the nameservers.
With this change we only run the 'readlink' link command after checking
that the file is actually a symbolic link.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
When not enough arguments are given (this includes using only the '-h'
argument for help), show the complete help.
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
Avoid splitting the boot script message in two different lines:
Starting bluetooth hardware: [OK]
done.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The new line should be printed after the result, instead of before.
Example:
root@ccimx6sbc:~# memwatch -r -w -a 0x2190034
0x02190034: 0x00000000 root@ccimx6sbc:~#
After this patch:
root@ccimx6sbc:~# memwatch -r -w -a 0x2190034
0x02190034: 0x00000000
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
This application tests the MCA comparator feature by configuring
the thresholds, sample rate and other parameters.
Signed-off-by: Sebastian Pastor <sebastian.pastor@digi.com>
https://jira.digi.com/browse/CC6UL-600
After 0e7f5d3a47 both platforms probe both ports,
which is problematic (for example, ttymxc4 is the console in the 6UL based
platforms).
Use more concrete rules to avoid that problem.
https://jira.digi.com/browse/DEL-4199
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
After the kernel update (v3.14 to v4.1) the sysfs path changed from:
/devices/soc0/soc.0/2100000.aips-bus/21f4000.serial/tty/ttymxc4
to:
/devices/soc0/soc/2100000.aips-bus/21f4000.serial/tty/ttymxc4
which caused the XBee Cellular not to be detected on the new kernel. These more
general rules are compatible with both kernels.
https://jira.digi.com/browse/DEL-4199
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
This patch modifies the code of some of the provided samples to be able to run
them in our platforms. By default, these applications cannot find the
certificates in the device, and the command line options are not working.
Patched samples:
* shadow_sample
* shadow_sample_console_echo
* subscribe_publish_sample
See https://github.com/aws/aws-iot-device-sdk-embedded-C.
https://jira.digi.com/browse/DEL-4101
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
Variable 'AWS_IOT_LOGGING_LEVEL' can be used from the project 'local.conf' to
establish the logging level of the AWS IoT Device SDK.
There are 6 incremental levels: none, error, warn, info, debug, and trace.
Default is 'debug'.
https://jira.digi.com/browse/DEL-4101
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
The AWS IoT device SDK for embedded C is a collection of C source files that
can be used in embedded applications to securely connect to the AWS IoT
platform.
The SDK code is available in GitHub and includes the library code and several
sample applications.
A user must provide from its 'local.conf':
* AWS_IOT_CERTS_DIR: Absolute path to the directories where the required
certifies are stored:
* Root CA.
* Device signed certificate.
* Device private key.
And optionally, values for the rest of variables defined in the 'awsiotsdk-c'
bbclass.
This recipe is building the library code and the binaries for the samples:
* shadow_sample
* shadow_sample_console_echo
* subscribe_publish_sample
See https://github.com/aws/aws-iot-device-sdk-embedded-C.
https://jira.digi.com/browse/DEL-4101
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
mbedTLS is an open source, portable, easy to use, readable and flexible SSL
library.
https://jira.digi.com/browse/DEL-4101
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
QMI modems didn't work with the version of
modemmanager that the dey-2.2-r1 release was
using.
We were using two patches for uBlox plugin to use XBee Cellular 3G
that are now merged in modemmanager master.
This updates modemmanager to use the commit where QMI
problem was fixed and also include uBlox patches.
https://jira.digi.com/browse/DEL-4192
Signed-off-by: Salvador Penalva <salvador.penalva@digi.com>
Add patch to MM, so it detects the U-Blox modem connected to the XBee
socket.
https://jira.digi.com/browse/DEL-4084
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Tweaked to maintain some recipes' revisions to AUTOREV instead of the
fixed SHA1s from the tag.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The XBee Cellular needs more time to settle down before MM is able to
detect it on boot. As this is connected to one of the 'ttymxc' serial
ports, use that port to conditionally delay the launch of MM.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Adding more retries to the port AT probing has an impact in modems not
using serial drivers (for example using qmi, mbim). It takes longer for
MM to detect those modems and then user space gives up waiting for the
modems to be available.
This reverts commit 682d77e414.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Pulseaudio 9.0 relies on the syscall memfd_create, which was introduced
in kernel 3.17, but the version currently supported for the CC6 SBC is
3.14.
There is a corner case where the configure script does not detect the
actual kernel version, thus enabling memfd_create. When Pulseadio tries
to call memfd_create, it shows error messages, so disable memfd
explicitly.
https://jira.digi.com/browse/DEL-3923
Signed-off-by: Alejandro Navarro <alejandro.navarro@digi.com>
Added a post-installation script to disable the wireless interfaces on
module variants without wireless support.
This fixes following messages on boot:
wlan: driver load failure
modprobe: can't load module wlan (extra/wlan.ko): No such device
...
https://jira.digi.com/browse/DEL-3781
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The following changes have been made to the bluetooth-init script:
* Remove "hciconfig hci0 up/down" and this is now deprecated and likely
to fail. We use the AutoEnable feature of bluetoothd for this now.
* Move setting the MAC address to hciattach instead of using hcitool.
* Remove resets performed by hcitool and hciconfig. The hciattach
application already performs a reset and that should suffice.
* Remove hciattach retries.
https://jira.digi.com/browse/DEL-3711https://jira.digi.com/browse/DEL-3436https://jira.digi.com/browse/DEL-3636https://jira.digi.com/browse/DEL-3955
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This commits adds patches to hciattach for the following:
* Strict flow control setting
The hciattach application has a flow | noflow command line argument that is
currently only applied on the first configuration of the uart port. The
hciattach_rome plugin ignores this setting and assumes hardware flow
control is always supported. This commits makes hciattach obey the user flow
control indication.
* Modify hciattach_rome to set MAC address. The MAC address setting
feature in the rome plugin now works with the command line specified
MAC.
* Reduce verbosity. hciattach now accepts a "-v" verbose flag. By
default verbose output it omitted.
https://jira.digi.com/browse/DEL-3711https://jira.digi.com/browse/DEL-3436https://jira.digi.com/browse/DEL-3636https://jira.digi.com/browse/DEL-3955
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This 'sed' command was used in the past, when DHCP or MANUAL was
configured in the '/etc/network/interfaces' (for cellular). This is no
longer true as we always configure the interface with a custom (manual)
script.
This was breaking the rest of interfaces when configured to use 'dhcp':
iface eth0 inet manual
umanualc_opts -S -b >/dev/null &
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Launching the MM on target's boot fails to detect the XBee cellular
because this needs more time to complete the initialization. So add some
more retries for the AT port probing to allow the XBee cellular to be
detected.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Instead of redirecting the MM logging to '/dev/null' use a file, so we
can see what's going on in case of failure.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The flow control patches have been merged to the master branch, so
update the revision to remove those patches from our layer.
This reverts commit a7c51af5b8.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Sysinfo was showing error messages if the working directory contains any file
with .log extension.
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
The recovery init checks if the configured update package exists and it is valid
before setting a new key and/or formatting the rootfs partition.
This change avoids getting non-booting devices after performing a firmware
update with a non-existing or invalid update package.
https://jira.digi.com/browse/DEL-3959
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
We have introduced new default configuration files for wireless that do
not show on sysinfo, so add them if they exist.
https://jira.digi.com/browse/DEL-3974
Signed-off-by: Alejandro Navarro <alejandro.navarro@digi.com>
The XBee cellular support is at the moment only in modemmanager's git
repository (master branch).
Also remove one Telit patch from the bbappend because it's already
included in the git repo.
https://jira.digi.com/browse/DEL-3841
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This version of libqmi is needed for newer versions of ModemManager.
Remove bbappend and patch to previous version as the patch is now
included in the new version.
https://jira.digi.com/browse/DEL-3841
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The current script cannot launch the hostapd twice (for dual HostAP mode)
because start-stop-daemon finds an already existing PID for hostapd after
running the first instance.
The solution is:
- Do not launch the hostapd in background (so that it does not fork the
process, which assigns a different PID)
- Use -b option of start-stop-daemon so that it launches the daemon in
the background.
- Let start-stop-daemon create the PID (since the hostapd will not fork
now this PID will match the hostapd process, allowing to kill it later)
This solution also hides the hostapd log messages that appeared before.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-4045
The original init script hardcodes the configuration file to use so it
cannot be re-utilized for concurrent AP/AP mode where two interfaces can
be used as SoftAP.
This commit uses the variable ${IFACE} to:
- select a specific configuration file per interface:
/etc/hostapd_${IFACE}.conf
- create a specific PID file per interface:
/var/run/hostapd.${IFACE}.pid
With this, the /etc/network/interfaces can use the script for using SoftAP
in different wireless interfaces.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
With the migration to Morty, some of the paths to the artifacts (boot
and rootfs images) need to be updated.
While on it, also remove the temporary README.txt file which is not
needed after it has been packed in the zip installer.
https://jira.digi.com/browse/DEL-4013
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
- The Bluetooth daemon was always executed before setting up the
hardware, generating several problems specifically in the CCIMX6SBC.
This was causing the Bluetooth driver to override the Bluetooth name
and alias, as well as avoiding any host function on Bluetooth profiles.
Only pairing and ping was working, as well as client profile sides.
- This change also fixes some issues in the CCIMX6UL platforms with the
Bluetooth daemon failing to perform several bluetoothctl operations.
https://jira.digi.com/browse/DEL-4000https://jira.digi.com/browse/DEL-4015
Signed-off-by: David Escalona <david.escalona@digi.com>
- Some Python modules are no longer available in DEY-2.2 since
the official supported Python version is now 3. This caused the
HDP application to fail importing some of the old modules. For this
reason the sample application has been updated to use Python3
syntax and modules.
https://jira.digi.com/browse/DEL-3996
Signed-off-by: David Escalona <david.escalona@digi.com>
Print the HW and FW versions for the I/O Expander in the CC6UL SBC platform.
https://jira.digi.com/browse/DEL-3958
Signed-off-by: Sebastian Pastor <sebastian.pastor@digi.com>
If the volume is not found, the partition cannot be wiped since it is attached.
Remove 'update' UBI device in:
* mdev automount script if volume is not found
* recovery init script before formatting 'update' partition
https://jira.digi.com/browse/DEL-3962
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
ICU support was not included in the rootfs in previous DEY versions
but it's included now through runtime dependences of 'harfbuzz' and
'libical'.
The support is not strictly needed, as ICU is a library for Unicode
support for applications:
http://site.icu-project.org/home
This commit disables ICU support directly for 'harfbuzz' and adds a
patch for 'libical' that allows to disable it. Notice that it's only
disabled for the CC6UL, as the CC6 has no rootfs space problems.
Only the 'libicudata' library is 25MB:
25M /usr/lib/libicudata.so.57.1
https://jira.digi.com/browse/DEL-3854
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The unlock retries feature from the Telit plugin does not work properly with
old versions of the Telit HE910 firmware. This has been fixed in upstream
commit: fbb607f0c25be3a4bb8692ee48445cf437345b6c
Signed-off-by: Salvador Penalva <salvador.penalva@digi.com>
https://jira.digi.com/browse/DEL-3863
This reverts commit 3123085e72.
we revert this commit because the patch was already applied on mm-1.6.4
Signed-off-by: Salvador Penalva <salvador.penalva@digi.com>
This commit adds mdev support into the recovery ramdisk to
mount/unmount storage devices for the firmware up tool.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-3692
udhcpc's '-n' option means 'Exit if lease is not obtained'.
We want to keep udhcp client alive if lease is not obtained, so when it is
possible, an IP is assigned.
https://jira.digi.com/browse/DEL-3821
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
udhcpc options added to 'network/interfaces':
* '-S' to log to syslog too.
* Redirect the output to '/dev/null' not to show messages of the tool running
in background (for example when executing 'ifup').
* '&' to send the udhcp client to background.
https://jira.digi.com/browse/DEL-3821
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
This is to avoid the following QA error:
ERROR: fbtest-1.0-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: '/usr/local/ssd/dey-2.2/workspace/ccimx6ulstarter/tmp/work/cortexa7hf-neon-dey-linux-gnueabi/fbtest/1.0-r0/packages-split/fbtest/usr/bin/fbtest' [ldflags]
ERROR: fbtest-1.0-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: fbtest-1.0-r0 do_package_qa: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /usr/local/ssd/dey-2.2/workspace/ccimx6ulstarter/tmp/work/cortexa7hf-neon-dey-linux-gnueabi/fbtest/1.0-r0/temp/log.do_package_qa.6755
ERROR: Task (/usr/local/ssd/dey-2.2/sources/meta-digi/meta-digi-dey/recipes-digi/fbtest/fbtest.bb:do_package_qa) failed with exit code '1'
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Reviewing the patches while updating the QCA firmware to a new release,
I encountered this patch. On the original PR it says:
"Do not use hcitattach to reconfigure the baudrate but set it directly in the
Bluetooth FW file; this save us from some syncronism problems if we are not
using HW flow control."
Current spins of the module already use hw flow control. Also, not allowing
hciattach to override the baudrate does not seem right to me. It would be
enough with passing a 3M baudrate to hciattach to match the firmware
default.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This commit fixes an issue with ModemManager to return the correct
error code when an invalid QMI command is send to the modem.
There are two ways to get the UIM/SIM status, one with the "DMS"
service that works on most devices from 2015 and earlier, and a
new way with the "UIM" service that works on many 2015+ devices.
Perhaps the EC21 is new enough that it requires the UIM service,
but ModemManager doesn't recognize the error code that it's returning.
There are two ways to get the UIM/SIM status, one with the "DMS"
service that works on most devices from 2015 and earlier, and a
new way with the "UIM" service that works on many 2015+ devices.
Perhaps the EC21 is new enough that it requires the UIM service,
but ModemManager doesn't recognize the error code that it's returning.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-3748
This commit fixes an issue with the Quectel EC21/EC25 due to a wrong
reported DMS version which will cause ModemManager not to read the
SIM card.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-3748
Implement:
* support to start, stop and restart interface
* states machine and retries system to recover from command failures
* overall simplification and code clean-up
https://jira.digi.com/browse/DEL-3858
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
- Trying to set the complete SWU packages signature key in the
TrustFence class was causing a build error when keys were not
yet generated. To avoid this, set only the key wildcard in the
TrustFence class and expand the variable in the SWU packages
recipes, when keys already exist.
https://jira.digi.com/browse/DEL-3913
Signed-off-by: David Escalona <david.escalona@digi.com>
- Instead of trying to generate the TrustFence keys in this recipe
when they are not present, depend on the 'virtual/kernel' to
ensure they are already generated. This solves a concurrency problem
when two recipes try to generate TrustFence keys at the same time.
https://jira.digi.com/browse/DEL-3913
Signed-off-by: David Escalona <david.escalona@digi.com>
Allowing to boot a non-encrypted rootfs when encryption is enable is a security
hole: if an attacker can somehow write (offline) to the media, he could flash a
custom unencrypted rootfs and break into the system.
If the system is configured to use encryption, only encrypted rootfs will boot.
Trying to boot a non-encrypted rootfs will fail and power off the device.
https://jira.digi.com/browse/DEL-3829
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
The recovery ramdisk already contains functionality for encrypted rootfs
installation. The goal is to centralize all this functionality in the recovery
ramdisk.
https://jira.digi.com/browse/DEL-3829
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
For CC6UL, when setting a new key, an "enc" flag must be added to the rootfs in
the "mtdparts" U-Boot variable.
After that a reboot is needed, so the recovery command must be modified to
remove the encryption key and proceed with the rest of commands in the next
boot.
When updating the firmware, a format of the rootfs partition is always
performed, independently if a new encryption key has just been configured.
In case only the encryption key is being configured, we also need to reboot to
format the rootfs properly.
https://jira.digi.com/browse/DEL-3685
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
For CC6UL, when not using rootfs encryption, the "enc" flag must be removed from
the "mtdparts" U-Boot variable.
https://jira.digi.com/browse/DEL-3685
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>