Commit Graph

130 Commits

Author SHA1 Message Date
Gonzalo Ruiz 6d83bc1ab9 bluez5-init: ccmp2: load FCC file by default
New default file is 'CYW55500A1_FCC.hcd' for ccmp2, so load that file by
default in the script.

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2026-01-13 09:56:30 +01:00
Isaac Hermida cf27d3e201 bluetooth-init: get the BT MAC address from the DT node
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>
2025-12-02 12:31:33 +01:00
Gonzalo Ruiz 6a07f42432 bluez: ccmp1/ccmp2: set custom MAC addresses on boot
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>
2025-11-04 18:08:33 +01:00
Arturo Buzarra a20aadbeec bluez5-init: add Bluetooth init script for CCMP1x platforms
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>
2025-06-13 13:24:28 +02:00
Gabriel Valcazar 6345d46ce1 bluez5: remove btconfig binary in ccimx6 platforms
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>
2025-05-20 14:36:38 +02:00
Isaac Hermida b5465a7390 bluez5-init: unify all bluetooth-init services
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>
2025-02-05 12:10:20 +01:00
Isaac Hermida 2514406b4c bluez5-init: unify CCMP2 bluetooth init script
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>
2025-02-05 12:10:20 +01:00
Isaac Hermida ca9d8162df bluetooth-init: cc9: do not unload the btnxpuart on reboot
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>
2024-11-28 15:41:41 +01:00
Isaac Hermida 5451a0f4bc bluetooth-init: ccimx6ul: validate FW was correctly loaded
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>
2024-10-31 09:59:42 +01:00
Javier Viguera 373f061650 dey: cosmetic, mark patches as DEY specific
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>
2024-10-22 15:48:00 +02:00
Gabriel Valcazar 2bc985cbea global: add Upstream-Status tag to all patches
This avoids a QA error that is triggered if a patch is missing said tag

https://onedigi.atlassian.net/browse/DEL-9011

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-10-17 13:03:37 +02:00
Gabriel Valcazar 41c8616765 global: replace firmware-nxp-wifi-nxpiw612 with firmware-nxp-wifi-nxpiw612-sdio
This is the official name of the package provided by the firmware-nxp-wifi
recipe in meta-freescale

https://onedigi.atlassian.net/browse/DEL-9011
https://onedigi.atlassian.net/browse/DEL-9081

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-10-17 13:03:37 +02:00
Gabriel Valcazar c20e722636 bluez5: adapt bbappend to 5.72
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>
2024-10-17 13:03:37 +02:00
Javier Viguera 7b50fb3a06 bluetooth-init: ensure the interface is up before unloading the module
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>
2024-09-27 14:09:23 +02:00
Javier Viguera 55f8ccadec bluetooth-init: start driver load service before bluetooth daemon
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>
2024-09-27 14:02:34 +02:00
Javier Viguera 6107312f03 bluetooth-init: fix systemd service syntax
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>
2024-09-16 18:58:15 +02:00
Javier Viguera 4c33a85d6b bluetooth-init: start driver load service after bluetooth daemon
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>
2024-08-30 18:22:37 +02:00
Mike Engel d11b291f9a meta-digi: add new CCMX91 platform into DEY
This commits adds the CCMX91 platform to the DEY
build system. Furthermore, it creates generic ccimx9
support to be used for the CCiMX91 and CCiMX93
platform.

https://onedigi.atlassian.net/browse/DEL-9106

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-07-19 07:32:00 +02:00
Isaac Hermida 0c642ed7ec Update Digi Copyright header
Standarize the Copyright header according to company policy.

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-07-15 09:28:58 +02:00
Isaac Hermida 5588c30a7b Revert "ccimx93: bluetooth-init: re-initilize the LE support after hci reset"
This reverts commit c5b53c9765.

The HCI reset interface is fixed inside each BT power calibration shell
script, so this workaround is not needed anymore.

https://onedigi.atlassian.net/browse/DEL-8458

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-02-21 18:00:34 +01:00
Isaac Hermida c5b53c9765 ccimx93: bluetooth-init: re-initilize the LE support after hci reset
for the IW61x, when the FW is instructed with an hci reset command, the
LE stack is not correctly reset.
It can be workaround-ed by SW doing a SW power cycle.

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-02-19 09:01:45 +01:00
Isaac Hermida f44ae189e5 bluetooth-init: ccimx93: adjust power levels
https://onedigi.atlassian.net/browse/DEL-8327
https://onedigi.atlassian.net/browse/DEL-8458

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-02-19 09:01:45 +01:00
Arturo Buzarra e2ee631832 meta-digi: [cosmetic] alphabetize compatible machine string
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-10-10 14:58:58 +02:00
Javier Viguera d5e33fa947 bluez5: bdaddr: support setting MAC address for NXP's iw612
That's the wifi/bt chip used on the ccimx93.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-08-17 10:23:00 +02:00
Isaac Hermida bc4aaf2237 ccimx93: bluetooth-init: adjust recipes to btnxpuart driver
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>
2023-08-01 18:54:00 +02:00
Isaac Hermida 6feaa6e3c0 ccimx93: bluetooth-init: leave the interface up after attaching
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>
2023-06-30 11:04:44 +02:00
Isaac Hermida 803945c080 Revert "bluez5-init: ccimx93: add fix to enable LE"
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>
2023-05-02 12:52:11 +02:00
Isaac Hermida 06e84d1b7b bluez5-init: ccimx93: modify script to support suspend/resume
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>
2023-04-20 17:05:00 +02:00
Isaac Hermida ac1e4633fb bluez5-init: ccimx93: add fix to enable LE
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>
2023-04-20 17:05:00 +02:00
Isaac Hermida 6e812a569b ccimx93: bluetooth-init: fix how to set btaddr
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>
2023-04-20 17:05:00 +02:00
Isaac Hermida 66fb6e55c1 ccimx93: iw612: add bluetooth support
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>
2023-03-27 16:34:06 +02:00
Javier Viguera adbb511484 meta-digi: remove True option to getVar
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>
2023-02-24 16:24:47 +01:00
Javier Viguera 711d9b5883 meta-digi-dey: add missing runtime dependence for some packages
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>
2023-02-24 12:16:02 +01:00
David Escalona d2ac6f7093 bluez5: v5.65: update Digi customizations patch to remove battery plugin
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>
2023-02-06 10:41:08 +01:00
Isaac Hermida 7fa82c528b bluez5-init: fix start on systemd
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-01-03 12:59:03 +01:00
Javier Viguera 8fd10837e6 bluez: update bbappend and patches to version 5.65
Poky just updated to that version, so we need to do the same. Otherwise
the build fails.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-08-29 15:23:35 +02:00
Javier Viguera 91e6b56735 bluez: fix type of pcm_value and ibs_value variables
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>
2022-06-23 11:12:54 +02:00
Javier Viguera 2452e85a6b kirkstone migration: cosmetic, clean build warnings
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-06-21 16:49:56 +02:00
Javier Viguera 674af78711 kirkstone migration: update bluez5 package
* 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>
2022-06-21 16:49:56 +02:00
Javier Viguera 065cf3e9c4 kirkstone migration: general update to the new override syntax
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-06-20 11:39:57 +02:00
Arturo Buzarra fb6612dabe bluez5: split init scripts and systemd service in a different recipe
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>
2022-05-09 16:40:04 +02:00
Mike Engel dca813f085 bluez: add CCMP15 bluetooth-init file
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2022-05-04 14:01:05 +02:00
Gabriel Valcazar 149cd34e98 hardknott: bluez5: update to v5.56
Adapt patches so they apply correctly

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2022-01-05 11:09:46 +01:00
Hector Palacios fe2a1f281e Merge branch 'dey-3.2/master' into dey-3.2/maint
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-11-11 16:23:43 +01:00
Gabriel Valcazar f3210db348 ccimx6sbc: adapt recipes to support Atheros and Qualcomm wireless chips
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-7661
https://onedigi.atlassian.net/browse/DEL-7666

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-11-03 15:58:53 +01:00
Gabriel Valcazar 7ea02c26aa qualcomm: adapt firmware and module recipes to be compatible with the ccimx6sbc
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-7661
https://onedigi.atlassian.net/browse/DEL-7666

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-11-03 15:58:53 +01:00
Francisco Gil 3334568347 bluez5: patch to fix CVE-2021-37577
This CVE is fixed in bluez 5.57

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2021-10-06 12:27:43 +02:00
Arturo Buzarra 48e0b5b817 bluez5: move platform specific files to main recipe folder
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>
2021-05-05 19:18:11 +02:00
Arturo Buzarra 4342546a01 gatesgarth migration: features_check class replaces distro_features_check
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>
2021-05-05 19:18:11 +02:00
Arturo Buzarra 2ce36cd41a gatesgarth migration: bluez5: upddate to support v5.55
https://jira.digi.com/browse/DEL-7508

Upstreamed patch was removed

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-04-29 20:07:28 +02:00