In the cc6ul we are not powering-off the supply of the XBee.
This is making that after a suspend/resume action the XBee
hangs due to ModemManager hasn't been stopped before the suspend.
Stopping ModemManager before going to suspend solves the issue.
https://onedigi.atlassian.net/browse/DEL-7701
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
The access point configuration files are dynamically modified on a post
install script to generate an SSID name based on the last digits of the
MAC address (physical or virtual) assigned to a wlanX interface.
On read-only file systems, this is not possible, so add some conditional
code to the do_install() to use instead the $DIGI_FAMILY name.
Caveat: if several identical SOMs with read-only-rootfs co-exist on the
same network as APs, they will identify with the same SSID.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-7708
Some packages require different scripts, configuration files or installations
depending on the wireless chip assembled on the target. In general, the way
to support both chips in one image is to have the recipes install both
versions of the aforementioned files, then leave only the strictly necessary
version once the wireless chip can be deduced.
In the case of the init-ifupdown recipe, this involves installing temporary
configuration fragments that are later erased. In the case of the standby
script, the logic can be implemented in a single file.
https://onedigi.atlassian.net/browse/DEL-7661https://onedigi.atlassian.net/browse/DEL-7666
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This allows the packages to be included in the ccimx6sbc images. While at it,
include the Qualcomm bluez patches in ccimx6 builds. These patches aren't
destructive, they simply add functionality required by the Qualcomm chip, so
they shouldn't have any secondary effects when using the Atheros chip.
https://onedigi.atlassian.net/browse/DEL-7661https://onedigi.atlassian.net/browse/DEL-7666
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This fixes the following CVEs:
* CVE-2021-3711
* CVE-2021-3712
Port the recipe and patches from the dunfell poky branch, since the hardknott
version contains additional changes aside from the revision update.
https://onedigi.atlassian.net/browse/DEL-7647
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This fixes the following CVEs:
* CVE-2021-3711
* CVE-2021-3712
Port the recipe and patches from the dunfell poky branch, since the hardknott
version contains additional changes aside from the revision update.
https://onedigi.atlassian.net/browse/DEL-7647
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Commit 28d9e025ea used += to append
a dependency to RDEPENDS but this was not working fine and was removing
previous dependencies.
Use instead _append override.
Reported-by: Francisco Gil Martinez <francisco.gilmartinez@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
The prebuilt 'athtestcmd' binary allows you to test tx/rx of the
Wi-Fi MAC, when the driver is loaded in test mode.
This is required for certifying Wi-Fi in products, so add it by
default for the ccimx6sbc.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-7444
(cherry picked from commit acb402fdcfa54d8d5519580ff7fcfb76fbed3f49)
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Simplify the structure of the recipe folder, if one version is not supported
we must use the COMPATIBLE_MACHINE overwrite
https://jira.digi.com/browse/DEL-7508
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The "dhcp" software package has become unmaintained and thus has been
functionally replaced by "dhcpcd" (client) and "kea" (server).
https://jira.digi.com/browse/DEL-7508
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The 'distro_features_check' class has had its functionality expanded, as
a result the class has now been renamed to 'features_check'
https://jira.digi.com/browse/DEL-7508
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Refresh custom patches and removed all Fast Roaming patch series due to it is
already integrated in this version.
https://jira.digi.com/browse/DEL-7508
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit adds the support for the cryptodev
engine into OpenSSL. So OpenSSL can use hardware
accelerated support through the CAAM driver.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-7439
Include by default support to Simultaneous Authentication of Equals (SAE) and
the standard IEEE 802.11w to Protected Management Frames, both required to
support the standard WPA3.
https://jira.digi.com/browse/DEL-7301
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Use the same common files for both ConnectCore 8M platforms
https://jira.digi.com/browse/DEL-7397
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Back when the ccimx6/6qp used Linux v4.9, we needed to use crda because
wireless-regdb-static wasn't supported until v4.15. Now that we use v5.4 on all
platforms, this workaround isn't needed anymore.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Starting with Linux v4.15, regulatory domains are no longer handled via CRDA,
but via the kernel and a flexible database instead. Said database is included
in the wireless-regdb-static package, which conflicts with the old
wireless-regdb package.
To accomodate for this new package, add CRDA as a dependency for ccimx6
platforms only, and incorporate wireless-regdb-static for the rest of the
platforms. Additionally, the ccimx6 kernel should inherit the
kernel_wireless_regdb .bbclass so the plaintext database is copied to the
kernel sources, but since we use the same recipe for all kernel versions and
ccimx6 platforms are not yet supported in zeus, omit this change for now.
Remove the package-base .bbappend, since only ccimx6ulstarter images include
that packagegroup and they require wireless-regdb-static, anyway.
By adding the regulatory database, we avoid delays when going to suspend,
caused by the kernel waiting for the database to appear.
https://jira.digi.com/browse/DEL-7133
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit backports the IEEE 802.11r support from the later version v1.20
and integrates it in NetworkManager v1.18 supported by Yocto 3.0 (Zeus)
https://jira.digi.com/browse/CC6UL-1110
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit integrates support for the IEEE 802.11r protocol to operate with
fast roaming networks.
https://jira.digi.com/browse/CC6UL-1110
Signed-off-by: Arturo Buzarra <arturo.buzarra@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>
Additionally:
- The handling of gpios has been swapped so 'Set low XBEE_SLEEP_RQ' is done
before 'Power cycle XBEE_RESET_N' to assure the device doesn't enter sleep mode.
- Removed ExecStop entry from systemd service since it's doing nothing.
https://jira.digi.com/browse/DEL-6424https://jira.digi.com/browse/DEL-6423
Signed-off-by: Hector Bujanda <hector.bujanda@digi.com>
XBEE_RESET_N_GPIO and XBEE_SLEEP_RQ_GPIO can now be comma-separated lists of
GPIO indexes instead of just a single index. Modify the xbee-init script to
support this change and modify the sed script in xbee.bb to allow commas
in the aforementioned variables.
https://jira.digi.com/browse/DEL-6887
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Serial support to XBee cellular devices is deprecated since
the recommended communication protocol is USB, so we remove
the udev rules that supported these devices.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
WPA and P2P configuration files are basically the same between all
platforms, so we remove all duplicated files to use a common file
and modify it in the recipe logic.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The systemd class adds by default packages named ${PN} to the
SYSTEMD_PACKAGES variable, but in our case the package name is
'${PN}-init', so it needs to be added explicitly.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
These classes needs to be inherited so the different init services
(sysv, systemd) execute the script on boot.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The previous patch was outdated, but now that we have a working PKCS11 engine
and the cryptochip supports it, update the patch with the new engine info.
https://jira.digi.com/browse/DEL-6835
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit fixes the error message when specific network scripts
are launched.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-6728
This way, we assure that the openssl binary is included in the rootfs whenever
the base openssl package is included.
https://jira.digi.com/browse/DEL-6710
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit exports several internal headers and libraries
to allow link against them in user applications.
https://jira.digi.com/browse/DEL-6649
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Since the original .bb file is already in the meta-digi layer, bitbake will
look inside of the bluez5-5.41 folder by default, so this line isn't needed.
https://jira.digi.com/browse/DEL-6448
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Modify bluetooth init script to use kernel module to power on/off
the bluetooth chip instead of managing it directly from sysfs.
https://jira.digi.com/browse/DEL-6615
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Also create the folders that contain the scripts attending each
dispatch event type.
https://jira.digi.com/browse/DEL-6575
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Instead of the 20 seconds hardcoded currently in the code, allow to
configure the response timeout in the connectivity section of the main
NetworkManager config file.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Some modems take a lot of time to initialize and ModemManager won't
see them on its first scan.
This service will force a rescan 40 seconds after boot, to give
enough time for those lazy modems.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-6366
This recipe adds a script and a related systemd service that
configures two GPIOs (user defined, or else platform-defaults) as
output and sets them to the appropriate value for initializing the
XBee socket:
- XBEE_SLEEP_RQ: is set low, for running the XBee
- XBEE_RESET_N: is set low and then high, to reset the XBee
The service triggers on the condition that the UART TTY device node
pointed to by variable XBEE_UART exists.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-6366
On the default device tree, the MCA UART that's connected to the
XBee socket is enabled. This registers as ttyMCA0.
Add a udev rule for this path so that ModemManager checks for
modems in this serial port.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-6366
Soften the dependencies between the services and start the bluetooth stack
regardless of the existence of a bluetooth chip. Also, update the standby
script to reflect that there is no longer a strong dependency between the
services.
https://jira.digi.com/browse/DEL-6452
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
When using systemd, putting the wlan1 interface up wasn't working because it
was relying on initscripts that are no longer in the filesystem.
Add a parametrized version of the upstream hostapd service to be able to use a
configuration that's different from the default one. Also, modify the
generation of the wlan1 entry in /etc/network/interfaces to be able to use
different post-up/pre-down hooks depending on the init manager that's being
used.
https://jira.digi.com/browse/DEL-6504
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This change was added to meta-openembedded layer by commit
0814df2e9179b71b5f5c99b962aca35ede1f242f.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Since the version 1.12, NetworkManager enables the colors in the
terminal output by default. This pretty output is not compatible
with several terminal emulators and makes it difficult to parse
the output of the CLI commands.
This patch uses the standard linux util called 'terminal-colors.d'
to disable the colors by default in the NetworkManager CLI interpeter.
https://jira.digi.com/browse/DEL-6473
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This is a user space tool to manage BATMAN advanced network interfaces.
https://jira.digi.com/browse/DEL-6466
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
systemd-tmpfiles throws warnings of /var/run being deprecated in favor of /run.
Even though this is corrected automatically, the warnings appear several times
during runtime, polluting the systemd journal.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The postinst script tries parsing the wireless MAC address from the sysfs, and
in case of failure, obtains a random string from /dev/urandom. This caused two
problems when booting with systemd:
* The wifi interface's sysfs entry is not available because the interface
hasn't had time to start up yet, forcing the script to always resort to the
/dev/urandom fallback.
* Even though the postinst scripts are run after populating the volatile
filesystems (as can be seen in run-postinsts.service's dependencies), trying
to read either /dev/random or /dev/urandom at this point in the system's
initialization causes it to lock up indefinitely.
To avoid either situation, add the following changes:
* Immediately exit when running on a non-wireless target, as the script isn't
necessary in this use case.
* Parse the wireless mac address from /proc/device-tree/wireless, which is
guaranteed to always be available when the script runs. By doing this, we can
remove the /dev/urandom fallback entirely.
https://jira.digi.com/browse/DEL-6415
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
These changes are needed in order to achieve a behavior similar to our
bluetooth initscripts'.
https://jira.digi.com/browse/DEL-6415
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This service acts as a systemd replacement for our bluetooth-init initscript.
All it does is call the initscript before starting the bluetooth stack.
Since initscripts dissapear from /etc/init.d when disabling sysvinit, move the
script to /etc/. Also, include bluez5-init as a packagegroup-dey-bluetooth
dependency regardles of whether systemd is enabled or not.
https://jira.digi.com/browse/DEL-6415
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Otherwise, there will be errors due to missing dependencies.
https://jira.digi.com/browse/DEL-6415
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Remove git recipe to use the official 1.8.2 release and update
udev rules file to blacklist the network interfaces that ModemManager
must not manage.
https://jira.digi.com/browse/DEL-6412
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Removed patches already integrated in the OpenSSL code and
refreshed the necessary ones.
https://jira.digi.com/browse/DEL-6412
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Wireless tools is deprecated in favor of iw because the
wireless extensions have been deprecated in favor of the
new nl80211 interface for wireless devices.
https://jira.digi.com/browse/DEL-6412
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The point of this recipe is to provide the version of Bluez5 that was
certified. Thes certification does not apply to the ConnectCore 8X, and the
recipe currently fails to build due to missing files. Hence filter out the
ConnectCore 8X from this recipe.
This clears the following warnings:
WARNING: meta-digi/meta-digi-dey/recipes-connectivity/bluez/bluez5_5.41.bb: Unable to get checksum for bluez5 SRC_URI entry bluetooth-init: file could not be found
WARNING: meta-digi/meta-digi-dey/recipes-connectivity/bluez/bluez5_5.41.bb: Unable to get checksum for bluez5 SRC_URI entry main.conf: file could not be found
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
(cherry picked from commit bf9688fd08ac9e8823a5a253bdd1acacd1c0870e)
CC8X SBC Pro's LPUART0 port is routed to the Expansion connector.
The UART located in the XBee socket, MCA UART, is not currently supported
so comment the XBee Cellular rule for the moment.
https://jira.digi.com/browse/DEL-6417
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
SOM v1 is not going to be released, so there's no need for a revision check.
Now that hw flow control is available, use it along with the highest baudrate
possible.
This reverts commit e4fbba3dde.
https://jira.digi.com/browse/DEL-6254
Our current OpenSSL libraries are only functional when applications link
against v1.0.2d or higher, making some packages containing pre-compiled
applications that link to older versions (like AWS Greengrass) fail to build
and/or run properly.
This commit includes:
* Changing SHLIB_EXT from so.1.0.2 to so.1.0.0
* Reverting the version-script to an older version with backwards
compatibility plus newer symbols
Specifically, these changes partially revert the patches added in the poky
layer's commits a59bfd05d15085a3dc5669b47fd19867246c846b and
73a43fc15e0463c39baaadecab78fb3ef51b8cd0 respectively.
Please note that this only modifies the cryptographic library's ABI, its code
remains unchanged.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Initialize Bluetooth chip in HCI_H4 mode and provide a firmware binary
with the IBS and DEEP_SLEEP mode disabled by default. Also this firmware
enables an internal clock required to maintain the system on low power modes.
https://jira.digi.com/browse/DEL-3711
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The Digi vendor kernel uses a dedicated HCI UART driver with support for
In-Band Sleep (IBS). This driver, when used with a QCA vendor ROME plugin
for hciattach, is able to upload a new firmware version to the Bluetooth
chipset, as well as set the MAC address directly on the firmware.
Mainline BSP uses the HCI H4 driver instead and the "qualcomm" hciattach
plugin which is not able to upload firmware to the QCA6564 chipset.
As such, when using mainline the chipset uses the ROM firmware and the
bluetooth init script has been adapted accordingly.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Set a lower baudrate of 115200bps for bluetooth on SOMv1 since
hardware flow control is not available.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>