Commit Graph

16 Commits

Author SHA1 Message Date
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 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
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
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