The P2P interface may have a different name, for instance, in the ccimx93 it
is wfd (wifi direct).
Generalize Digi P2P scripts to use the name from the platform config file.
https://onedigi.atlassian.net/browse/DEL-8468
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The btnxpuart driver uses internally the serial port to manage the chip, and
loads the BT FW independently of the WiFi subsystem.
While on it, add support in the bluetooth-init script to be able to power the
chip when the WiFi support is not present.
https://onedigi.atlassian.net/browse/DEL-8632
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Ensure we leave the Bluetooth interface up after attaching it. If not,
under some circumstances, it could be down.
https://onedigi.atlassian.net/browse/DEL-8608
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Certain platforms share a processor family but need to be differentiated
between them. DEY was using the variable DIGI_FAMILY as the SOM name
rather than the family. It becomes useful to have both (DIGI_SOM as the
more specific, and DIGI_FAMILY as the more generic).
This is the case, for example, of:
- ccmp1 (family)
- ccmp15 (SOM)
- ccmp13 (SOM)
- ccimx8m (family)
- ccimx8mm (SOM)
- ccimx8mn (SOM)
Both variables are used on the machine overrides.
Where DIGI_FAMILY was used, use now DIGI_SOM.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Masking the extended advertising flag makes the hcitool lescan work, but
triggers functionality problem such as bluetoothctl scanning or extended
advertisement not working.
Do not mask it, so use bluetoothctl scan instead of hcitool lescan to discover
LE devices.
This reverts commit ac1e4633fb.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The BT chip for the ccimx93 cannot be turned off, nor can it be re-uploaded.
Therefore, we need to set some conditions to assume that it is going to be
attached correctly. The changes in this script take care of that.
Upon the first attachment, the rate is set to 3M, and future uses will always
be done at this rate. If, for any reason, it was not stopped and the chip is
already attached, do nothing.
https://onedigi.atlassian.net/browse/DEL-8464
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This fix is needed for bluez-5.65 version.
We can drop it when using a newer version.
https://onedigi.atlassian.net/browse/DEL-8346
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The enabled options are mainly for AP mode, which improve the P2P
performance when the P2P node behaves as an AP, it is, as P2P GO.
https://onedigi.atlassian.net/browse/DEL-8346
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Use the specific hcitool vendor command to set the BT mac address.
It is a custom vendor command (0x3f), and the field is 0x0022.
The BT address is passed from last octet to first octet.
https://onedigi.atlassian.net/browse/DEL-8346
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Sync the defconfig to version 2.10.
Additionally, add support for new features, such as:
* ACS (auto channel selection)
* 802.11AX (Wi-Fi 6)
* SAE (WPA3 Personal)
* SUITEB192 (WPA3 Enterprise 192 bits)
https://onedigi.atlassian.net/browse/DEL-8346
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The bluetooth FW for the IW612 is loaded together with WiFi FW, so there
is not BT FW file as in our other products.
In order to use the BT, it is a requirement to load the WiFi FW, so
ensure that the service is started after the load of the system
modules.
https://onedigi.atlassian.net/browse/DEL-8346
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This commit updates the patch series for wpa-supplicant and hostapd v2.10,
based on the Murata release imx-kirkstone-fafnir_r1.0 that matches with the
Cypress Linux WiFi Driver (FMAC) release v5.15.58-2023_0222
https://onedigi.atlassian.net/browse/DEL-8407
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
ConnectCore 93 DVK only connects the XBee reset line (XBEE_RESET_N_GPIO) but not
the sleep request (XBEE_SLEEP_RQ_GPIO)
It also reworks the 'xbee-init' script to support empty reset
(XBEE_RESET_N_GPIO) or sleep request (XBEE_SLEEP_RQ_GPIO) values.
https://onedigi.atlassian.net/browse/DEL-8375
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
True is the default since long time ago, and thus not necessary. This
follows similar changes done in other layers.
Command used:
sed -e 's|\(d\.getVar \?\)( \?\([^,()]*\), \?True)|\1(\2)|g' -i $(git grep -E 'getVar ?\( ?([^,()]*), ?True\)' | cut -d':' -f1 | sort -u)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Packages bluez5-init, cloudconnector, and connectcore-demo-example-webkit
provide a launcher script that is used regardless of the init system being
systemd or sysvinit. Those launcher scripts use the '/etc/init.d/functions'
file, which is provided by the 'initscripts-functions' runtime package,
so add that runtime dependence.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The 'ifupdown' script does not allow to disconnect a network interface on
purpose. Once it is down, the script will reconnect it again.
This commit adds a configuration section inside 'NetworkManager.conf' to be able
to manage this behavior. By default, it is disabled.
https://onedigi.atlassian.net/browse/DEL-8342
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
Starting at Bluez 5.48, the battery characteristic was moved to the
DBUS org.bluez.Battery1 interface. This causes the device to try to
read information from iOS devices after establishing a connection,
triggering a reverse pairing request. This scenario causes random
disconnects in iOS devices unless a trust agent is registered in the
host to take care of the pairing. Removing the battery plugin at
startup fixes the issue.
Signed-off-by: David Escalona <david.escalona@digi.com>
All files go to xbee-init package, so by default xbee package is not
created. This leads to a failure when building the SDK:
Error:
Problem: conflicting requests
- nothing provides xbee = 1.0-r0.0 needed by xbee-dev-1.0-r0.0.ccimx8mm_dvk
Signed-off-by: Javier Viguera <javier.viguera@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>
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>
NetworkManager package moved from autotools to meson build system, so
some of the configs we added in the bbappend do not apply anymore.
Remove dead code and clean up the bbappend.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
We need to relax what ciphers are allowed with openssl-3.0 so that we do
not break Digi/RM. See DAL commit ec586a621c24f840ac7cc4f91241c55581698ba3
https://onedigi.atlassian.net/browse/DEL-7999
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
When building an SDK (with populate_sdk), all '-dev' packages are
installed. And empty 'openssh-dev' package would pull in 'openssh-sshd'
package even if our image is only depending on 'openssh-sftp'.
This causes a conflict with 'dropbear' server, which is only using
openssh-sftp.
Fix:
Problem: package dropbear-dev-2020.81-r0.4.cortexa7t2hf_neon requires dropbear = 2020.81-r0.4, but none of the providers can be installed
- package dropbear-2020.81-r0.4.cortexa7t2hf_neon conflicts with openssh provided by openssh-8.9p1-r0.7.cortexa7t2hf_neon
- package openssh-8.9p1-r0.7.cortexa7t2hf_neon conflicts with dropbear provided by dropbear-2020.81-r0.4.cortexa7t2hf_neon
- package openssh-dev-8.9p1-r0.7.cortexa7t2hf_neon requires openssh = 8.9p1-r0.7, but none of the providers can be installed
- conflicting requests
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit integrates by default support to WPA3-Enterprise modes
128-bits (WPA-EAP-SUITE-B) and 192-bits (WPA-EAP-SUITE-B-192)
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Those variables are used to hold integer data parsed from bluetooth
config file. The parsing function "get_value_from_config" returns an INT,
so the variables cannot be unsigned.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Remove deprecated versions of recipes updated in other general layers
(poky, meta-openembedded). Also remove duplicated IMX specific recipes that
are available in other BSP layers (meta-freescale, meta-fsl-demos, etc).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Mainly, refresh patches so they apply on top of wpa-supplicant 2.10
Murata patches from release: cypress-fmac-v5.10.9-2022_0331
NOTE: the wpa-supplicant patches in the cypress release apply on top of
1759a8e3f36a commit of the hostapd.git repository. That repository
includes both the wpa-supplicant and the hostapd packages code. In Yocto
the wpa-supplicant recipe uses the release tarball, so there is no
'hostapd' folder included. Thus, the cypress patches that changed code
in 'hostapd' and 'wpa_supplicant' folders, have been splitted in two
(the hostapd changes and the rest). In the recipe the patches that
changed 'hostapd' code have been marked as 'apply=no' because they won't
apply to the tarball, but they have not been deleted for traceability.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
* Refresh the 5.56 patches on top of new version 5.64
* Separate the patches for 5.41 and 5.64. The code base has changed a
lot between those two releases, so having common patch files under
'bluez5' directory makes maintenance more cumbersome.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This patch series is based on the support software package
"Infineon-cypress-fmac-v5.4.18-2021_0527" which is the latest based on
Hostap v2.9.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit moves all the work related with the initialization process to a new
recipe to allow disgregate the init scripts from the bluez5 recipe.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Port the recipe from the dunfell poky branch. This version contains the latest
vulnerability fixes, including CVE-2022-0778.
https://onedigi.atlassian.net/browse/DEL-7868
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
(cherry picked from commit be046db4faae911b2a858d748551c6c91fc54043)
Aside from the file paths changing, there are a few cosmetic differences
between v1.22.14 and v1.30.4 that prevented the patches from applying, so
re-work them.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@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>
Some recipes were forcibly removing conflicting packages.
This does not allow to add those packages back for users that
want to use meta-digi layer, but a different distro than 'dey'.
With the 'dey' distro override, such removals are only done
if using this distro.
Reported-by: Michael Burr <michael.burr@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-7712
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>