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>
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>
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>
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>
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>
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>