ConnectCore 95 integrates the Murata 2EC Wi-Fi module and requires applying the
vendor custom patch set across the supported releases.
https://onedigi.atlassian.net/browse/DEL-10142
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Update nl80211 definitions to match Linux v6.6.116, preventing extended feature
mismatches and fixing parsing of driver-reported capabilities.
https://onedigi.atlassian.net/browse/DEL-10142
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Adjust the ccimx95-specific networking pieces so they no longer inherit
the IW612-specific behavior from ccimx9:
- use wlan1/p2p0 instead of uap0/wfd0 where appropriate
- install hostapd_wlan1.conf instead of hostapd_uap0.conf
- restore virtual WLAN handling for ccimx95
- avoid IW612-specific suspend/resume actions such as moal reload and
load_iw612.sh
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
Some Bluetooth controllers may expose hci0 even when the firmware
initialization has not completed correctly. In that state, the init
script may report success but bluetoothd cannot use the controller.
Validate the controller through the kernel management interface before
accepting the initialization as successful. This matches the interface
used by bluetoothd and catches controllers that are visible through HCI
but not registered in MGMT yet.
Use a timeout for the MGMT query so a broken controller state cannot
block the init script instead of falling back to the retry loop.
https://onedigi.atlassian.net/browse/DEL-9512
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Expand the BT_GPIO placeholder after installing the init script, so
optional scripts such as bluetooth-init_atheros are handled the same way.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
After refactoring these scripts in a8c6dcb56e, some platforms are
not setting the enable line correctly.
Regarding the affected platforms, on the 6UL it works because that GPIO
comes enabled by default, but not on the other ones.
For the other platforms refactored, such as the CC91/93 or CCMP25,
it is not needed, as the variable is used directly in the gpioset command.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This commit generalizes the BT GPIO value used in the bluetooth-init
script for different platforms.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://onedigi.atlassian.net/browse/DEL-9668
This commit replaces systemd-udev-settle from bluetooth-init and
ifupdown service. Systemd recommends not to use that service and
wait for specifc event or service to sync interfaces.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://onedigi.atlassian.net/browse/DEL-9338
Restrict nxp-wlan-utils to ccimx91 and ccimx93. The ccimx95 uses the
Murata wireless chip.
https://onedigi.atlassian.net/browse/DEL-9990
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This fixes the build failure caused by the OpenSSL update in Poky.
Import the OpenSSL patch set from NXP's whinlatter release. Since NXP's
whinlatter release is based on OpenSSL 3.5.4, rebase the patches on top
of OpenSSL 3.5.5 to match the current version.
https://onedigi.atlassian.net/browse/DEL-10019
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Add new `glinswup-PLSx3_1.0.5.bb` binary recipe to package the
Cinterion PLSx3 firmware update tool.
Include `pls3_fw_update.sh` helper script to:
- validate input firmware file and modem port
- stop modem-related services before update
- run `glinswup_PLSx3` firmware update
- restore services on exit
https://onedigi.atlassian.net/browse/DEL-9989
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
Add IEEE 802.11ax (HE) support to enable High Efficiency capabilities when
operating in the 6 GHz band.
https://onedigi.atlassian.net/browse/DEL-9952
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Optimize the script to remove unneeded code.
As the BT_REG_ON is managed by the driver, the REG_POWER_ON is not
needed at all.
Loading the hci_uart pulls btbcm, so no need to load it explicitly.
https://onedigi.atlassian.net/browse/DEL-9949
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Consolidate the init script for platforms based on the same driver with
the same logic.
The btbmc and hciuart drivers are used in the ccmp1 and cc95.
The btnxpuart driver is used in the cc91 and cc93.
The btdigi driver is used in the cc8 platforms with the qca65x4 driver.
https://onedigi.atlassian.net/browse/DEL-9949
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The ConnectCore 95 SOM v2 uses the Murata 2EC wireless combo chip, so this
confirmation includes the firmware recipe for Bluetooth initialization.
https://onedigi.atlassian.net/browse/DEL-9949
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Retrieve the Bluetooth MAC address from the device tree (DT) node
rather than from the environment.
U-Boot will populate this address by default, but it can be
overridden with a custom MAC address specified directly in the DT,
which then takes priority.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Use an HCI vendor-specific command from Infineon on bluetooth-init
to set a custom MAC address every time the interface is started.
Valid for both CCMP1 (Murata 2AE) and CCMP2 (Murata 2FY) devices.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
Currently, the patch is identical for all ccimx9 platforms, so move it
to a generic override folder to be used also for ccimx95.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The vsftpd-cert init script was previously starting too late,
causing vsftpd to start before the certificates were generated.
The priority has been increased (to 70) so that vsftpd-cert
runs earlier during boot.
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
This commit enables SSL/TLS support in vsftpd, allowing FTP communications to
be encrypted for improved security.
SSL/TLS support is enabled by default, but to preserve compatibility with
clients that do not support encrypted connections, this feature can be disabled
at runtime. Users can simply comment or uncomment a few lines in the
`vsftpd.conf` configuration file to toggle the behavior.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The HCI_UART Bluetooth driver does not support suspend-to-RAM operation, so the
driver must be loaded and unloaded manually. This commit adds support for the
Bluetooth initialization script used across Digi platforms, specifically for
ConnectCore MP13 and MP15.
https://onedigi.atlassian.net/browse/DEL-9650
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
add a new recipe to include nxp prebuilt binaries for:
* mlanutl: WoWLAN support
* nanapp: NAN support
* nmlawls: monitor Wi-Fi events
Included prebuilt version obtained from next release:
SD-WLAN-UART-BT-SPI-OT-Zigbee-DualPAN-IW612-LNX_6_12_3-IMX8-18.99.3.p23.20-18.99.3.p23.20-MM6X18505.p23-GPL.zip
https://onedigi.atlassian.net/browse/DEL-8462
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
poky commit 3c9b461dd0d26a5f6941000d839636ad32cd6f29 added this binary to the
bluez5-noinst-tools package, and it has the same exact path as the one from our
dey-examples-btconfig package. This causes a conflict when both packages are
installed in the same image.
Judging by bluez5's btconfig sources, it's merely a skeleton without any real
functionality, so simply remove it to avoid the conflict.
https://onedigi.atlassian.net/browse/DEL-9612
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
dnsmaqs is not able to manage DNS from cellular interface.
Now, DNS is managed by systemd-resolved on platforms with
systemd and by NetworkManager on sysvinit platforms.
https://onedigi.atlassian.net/browse/DEL-9353
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
Unify all the different bluetooth init scripts.
The service can be started as oneshot instead of forking, as in all cases
the attach command is started daemonized in background.
Regarding the service requirements, just rely on udev so the HW itself
should be detected and ready.
Make it running before the bluetooth service, so the HW Bluetooth device
is fully ready when bluetooth service starts.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
bluez5-init is a Digi custom recipe to collect the init script
needed to bring up the specific platform bluetooth hardware.
CCMP1s do not require any bluetooth init extra action.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This recipe was added 8 years ago in the context of supporting awsiotsdk, back
when there were no community recipes for a v2.X.X version. meta-openembedded
now has recipes for both v3.6.2 and v2.28.9, and our recipe has been outdated
for a while now, so remove it.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
getVar() defaults to expanding by default.
See poky's commit: 2631c375b8a025ee2e4329f6d93900bb7b5dadf7
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit synchronizes the nl80211 definitions with Linux kernel v6.6.48 to
prevent a mismatch between the extended features recognized by wpa_supplicant
and to correctly parse the information provided by the Linux driver.
https://onedigi.atlassian.net/browse/DEL-9470
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Do not take any action such as removing the btnxpuart module When
the system is being restarted (poweroff or reboot), as the driver
tries to restore the UART baudrate when removing the module, and if
the system is being off, some of the entries might be dissapeared in the
middle of the process, leading to a NULL pointer and preventing the
system of being rebooted.
The btnxpuart can be removed on suspend/resume safely, so add the logic
to detect if the system is being rebooted.
https://onedigi.atlassian.net/browse/DEL-9290
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Sporadically, the BT FW is uploaded but the interface is not functional
as it is not up and its entries are not populated. Validate the FW
was correctly set, if not, rely on the retry mechanism.
https://onedigi.atlassian.net/browse/DEL-9006
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Our distribution is Digi Embedded Yocto (DEY), so use that to mark the
upstream status of the patches in our layer.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
A recent change in poky changed the configuration behavior of this package,
using the defconfig in the source tree instead of the one provided in Yocto
(which we overwrite in meta-digi). Since our ccmp1 builds have a lot of patches
specific to the platforms' wifi chip, using the default defconfig results in
linking errors.
Restore the ability to use custom defconfigs to be able to use the ones defined
in our layer per platform.
https://onedigi.atlassian.net/browse/DEL-9011
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
While at it, add the "Upstream-Status" tag to the patches to avoid QA errors
https://onedigi.atlassian.net/browse/DEL-9011
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This is the version of the recipe provided by poky in Yocto 5.0 scarthgap.
Aside from updating the verison number, explicitly create /etc/bluetooth
directory during installation.
The creation of this directory was removed from the recipe's base do_install()
in poky (see poky commit 55692591227eaac2d50ab339eea87ddca395f6df), so we need
to create it in our bbappend to be able to add files to it.
https://onedigi.atlassian.net/browse/DEL-9011
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This is a workaround for a driver failure when unloading the module. The
"btnxpuart" driver crashes with a null pointer dereference if the bluetooth
interface is down when the module is unloaded.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Revert to the previous used order for the bluetooth related
services. First, load the driver and then execute the bluetooth
daemon. This is needed for two reasons:
* The bluetooth daemon caches the MAC address. Loading the module before
ensures the daemon caches the correct MAC.
* The connectcore-demo server stops working if the bluetooth interface
is unavailable when the server launches. This order ensures the demo
works as expected.
This change also brings back the problem of the btnxpuart module unload
failure on reboot/suspend. The following commit adds a workaround for
the driver issue.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit updates the wpa-supplicant and hostapd recipes to apply the Murata
release patch series for ConnectCore MP2 platform.
https://onedigi.atlassian.net/browse/DEL-9237
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
According to systemd manual, "After" setting expects a space-separated
list. Fix the wrong comma-separated list to prevent the following boot
failure:
bluetooth-init.service:4: Failed to add dependency on systemd-udev-settle.service,bluetooth.service, ignoring: Invalid argument
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Some wifi-related functionality was enabled on ccimx93 overrides. The
ccimx91 also needs this functionality but it was not being applied as
the overrides were only for ccimx93.
Generalize the overrides for ccimx9.
https://onedigi.atlassian.net/browse/DEL-9214
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The bluetooth daemon does not need the interface to exist before being
executed. We configure the daemon with AutoEnable=true, which will enable
adapters present on start or that appear later on.
On shutdown, systemd stops services in the opposite order to the boot,
so configuring the driver load service after the bluetooth service,
ensures that on shutdown the driver is unloaded before the bluetooth
daemon is stopped.
The btnxpuart driver needs this order, to prevent a module unload failure
on system reboot/poweroff.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>