Commit Graph

130 Commits

Author SHA1 Message Date
Javier Viguera 33073a1589 meta-digi-dey: enhance BT interface initialization script
Implement:

* support to start, stop and restart interface
* states machine and retries system to recover from command failures
* overall simplification and code clean-up

https://jira.digi.com/browse/DEL-3858

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-03-15 19:01:06 +01:00
Javier Viguera 54bf7a0059 meta-digi-dey: fix bluetooth interface initialization
With the upgrade to Morty, there is a new bootscript that is provided
by Poky. This bootscript is just launching the generic bluetooth daemon,
but it's not doing any hardware initialization.

The fix is to split the hardware initialization to a different
bootscript 'bluetooth-init' and launch it also on boot.

https://jira.digi.com/browse/DEL-3855

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-03-13 11:20:13 +01:00
Javier Viguera 43877673d9 morty migration: bluez5: update package
https://jira.digi.com/browse/DEL-3451

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-02-28 11:46:57 +01:00
Isaac Hermida 702145661c bluez5: imx6ul: configure baudrate in the BT FW file
Do not use hcitattach to reconfigure the baudrate but set it directly in the
Bluetooth FW file; this work arounds some synchronization problems when not
using HW flow control.

https://jira.digi.com/browse/DEL-3052
https://jira.digi.com/browse/DEL-3057

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2016-10-03 17:55:43 +02:00
Isaac Hermida 6e76f9f7e4 bluez5: include hcitool patches (increase "conn" limit and "refresh" typo)
Add a couple of bluez patches: one for increasing the number of connection
showed with "hcitool con" command and remove "refresh" option in hcitool
help that is not supported.
The qca6564 chip can support more than 10 simultaneous BLE connections.

https://jira.digi.com/browse/DEL-2735

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2016-07-12 13:01:28 +02:00
Isaac Hermida 36e3a2c6c3 bluez5-init; redirect bluetooth daemon messages to a log file
https://jira.digi.com/browse/DEL-2632

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2016-06-30 10:06:03 +02:00
Isaac Hermida 32ae76e1cf bluez5-init: rename the CTS gpio name and make the code more robust
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2016-06-23 15:49:16 +02:00
Isaac Hermida a6d0a1d139 bluez5-init: reset bluetooth qualcomm chip before initialization
The power regulator connected to the qca6554 chip is always on, which causes
the Bluetooth part to not work correctly after a software-reset.
This commit asserts momentarily the BT_EN line during the start-up sequence
to reset the Bluetooth controller so that it is in a predictable state after a
reset.

https://jira.digi.com/browse/DEL-2623

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2016-06-23 15:48:43 +02:00
Isaac Hermida 5308fad8bc bluez5-init: add support to set qca6564 mac address
The steps to set the bluetooth MAC address is send an specific hci command
and an hci reset, so the bluetooth interface need to be up in order to
configure it.
Additionally we have generalized the way to read the MAC address from the
device tree and removed some old code for getting the MAC address in
kernel version 2.

https://jira.digi.com/browse/DUB-595

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2016-06-17 10:05:27 +02:00
Isaac Hermida 756ba7b8cf bluez5-init: disable the HW flow control for qca6564
Add a software workaround to disable the HW flow control because the SOM
revision 3 (and older) has swapped the bluetooth TX and RX lines so we need
to operate in DTE mode which implies that the HW control lines are swapped.
This also implies reducing the baudrate to avoid the need for HW flow control.

https://jira.digi.com/browse/DEL-2611

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2016-06-17 10:05:27 +02:00
Isaac Hermida 9765192fbd bluez5-init: add support for qca6564
Add initial support for the qca6564 chip.

https://jira.digi.com/browse/DEL-2611

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2016-06-17 10:05:27 +02:00
Isaac Hermida 325c3b9da9 bluez5: add support for qca6564 bluetooth chip
Port the bluez5 qca6564 support based on 5.19 to the current version 5.33.
The ported version is based on qualcomm tag r110048.3.

https://jira.digi.com/browse/DEL-2581

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2016-05-31 08:20:51 +02:00
Hector Palacios ee27c907d1 bluez-init: skip BT power GPIO toggling if undefined
The script toggles the BT power GPIO regardless of the value being
undefined.
Check that the GPIO is defined before trying to toggle it.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2015-12-28 17:08:18 +01:00
Hector Palacios 84e152f1ca bluez-init: get BT power GPIO basing on compatible module
The BT power GPIOgpio was determined basing on machine name on device tree.
This corresponds to the name of the board, and might be changed by a user
that designs his own carrier board to use the module on.
Besides, the BT power GPIO is a pin that's routed on the module (both on
the ConnectCore 6 and on the ConnectCard for i.MX28) not on the carrier
board.

This commit determines the BT power GPIO basing on the module string inside
the 'compatible' property. This must exactly match the module name and is
a required property for using Digi module's BSP.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://jira.digi.com/browse/DEL-2109
2015-12-28 17:08:18 +01:00
Urko Nalda b64908b88e meta-digi-dey: modify where gatttool is installed from in bluez5
Add BLUEZ5_NOINST_TOOLS to bluetooth packagegroup. Gatttool is
added to BLUEZ5_NOINST_TOOLS in bluez5.inc so it is not necessary
to add gatttooll to do_install_append function.

Signed-off-by: Urko Nalda <Urko.Nalda@digi.com>
2015-12-01 09:29:46 +01:00
Urko Nalda a8c4447358 meta-digi-dey: add experimental flag to bluez5 recipe
Add support for bluez5 profiles under experimental flag.
Health Device Profile is an experimental profile.

https://jira.digi.com/browse/DEL-1936

Signed-off-by: Urko Nalda <Urko.Nalda@digi.com>
2015-12-01 09:29:46 +01:00
Hector Palacios a10e2a774a bluetooth: bring interface up before launching bluetoothd
If the bluetoothd daemon is launched before the interface is ready
RFCOMM/L2CAP listening socket connections fail (apparently because
the channel is not ready) with BlueZ 5.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://jira.digi.com/browse/DEL-2042
2015-11-30 11:57:34 +01:00
Isaac Hermida be39d77093 bluez4: Added support for bluez4
yocto-2.0 (jethro) does not support bluez4 by default, it has been set
deprecated, but there is some functionality that does not work with bluez5
like bluetooth audio with alsa and some previous scripts like hdp.py are not
API compatible.
In order to compile a project with bluez4, just remove bluez5 from distro
features from your local.conf project.

	DISTRO_FEATURES_remove = "bluez5"

https://jira.digi.com/browse/DEL-1943
https://jira.digi.com/browse/DEL-995

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2015-11-11 19:54:08 +01:00
Isaac Hermida 2767f5be7c recipes-connectivity: Splited bluez and btfilter support in two different init scripts
btfilter (abtfilt) and bluetoothd are two independent services. Break the
relationship between them and split the support in independent init scripts

https://jira.digi.com/browse/DEL-1933

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2015-11-11 19:54:08 +01:00
Isaac Hermida 599627f214 bluez-init: check on the device tree if the variant has bluetooth
The script was basing on the variant coded in the HWID to determine
if the variant had bluetooth, by comparing to an array of hard-coded variants.
This required the script to be updated with every new variant that supported
Bluetooth.
The patch checks instead if the node 'bluetooth' exists at all in the device tree
to determine if the variant supports Bluetooth.

https://jira.digi.com/browse/DEL-1933

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2015-11-11 19:54:08 +01:00
Isaac Hermida 52b4cfe35c recipes-connectivity: moved bluez-init script to bluez recipe
We want to unlink the script from abtfilt application, so moved to a different
recipe (that includes hciattach).

https://jira.digi.com/browse/DEL-1933

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2015-11-11 19:54:08 +01:00
Isaac Hermida 15395448d5 bluez5: Adding gatttool to rootfs
gatttool is used for BLE. By default it is not installed.

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2015-11-09 17:36:11 +01:00
Alex Gonzalez df93676695 bluez4: Configure bluetooth audio.
Add the following lines to add support for the HSP/HFP and A2DP profiles,
and to route the audio through the HCI SCO channel:

	Enable=Source,Sink,Headset,Gateway,Control,Socket,Media
	SCORouting=HCI

Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
2015-07-03 17:26:40 +02:00
Javier Viguera 43bd3f4e4e meta-digi: use recommended BP and BPN variables for FILESEXTRAPATHS
Also move files from generic 'files' folders to a more specific '${BP}'
or '${BPN}' folders. This is recommended to speed up the fetch of files
from the local machine, as the search is done in a certain order: ${BP},
${BPN}, and 'files'.

More info:
http://thread.gmane.org/gmane.linux.embedded.yocto.general/23550/focus=23576

https://jira.digi.com/browse/DEL-1558

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2015-03-13 18:43:12 +01:00
Javier Viguera 9a378a11bf bluez4: compile static version of the library
This installs 'libbluetooth.a' in the toolchain (needed to build static
binaries that use libbluetooth).

https://jira.digi.com/browse/DEL-1303

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit f53ae4ab2af1bc5dd2f3f38f9d351d9eefd1f163)
2014-10-24 17:35:45 +02:00
Javier Viguera f12cad7882 bluez4: use legacy pygobject instead of gobject-introspection
gobject introspection is not supported in Yocto, so there is not a
python binding package to use it.

Bluez4 uses such functionality in some of the test scripts. This patch
replaces it with the legacy pygobject, so they can work again.

https://jira.digi.com/browse/DEL-1274

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2014-09-18 18:38:13 +02:00
Javier Viguera f18590fc62 bluez4: simplify bbappend
The bbappend was created mostly to install an old version of the
'simple-agent' test application (the one included in the package was
failing) but upstream (Poky) has fixed most of the issues, so our
bbappend is just needed now to enable 'health' profile support.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2014-04-10 13:44:07 +02:00
Javier Viguera 9b370d5a79 meta-digi: remove PRINC from recipes and use a local PR server
This cleans following warning:

  Use of PRINC is deprecated.
  The PR server should be used to automatically increment the PR.
  See: https://wiki.yoctoproject.org/wiki/PR_Service

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2014-03-27 18:44:35 +01:00
Javier Viguera bc033c071d bluez4: add python runtime dependences
'simple-agent' python script included with this package depends on
python-pygobject and python-dbus

https://jira.digi.com/browse/DEL-643

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2013-09-20 10:53:43 +02:00
Alex Gonzalez 8988542df3 meta-digi: Rename from DEL to DEY.
The final product will be called "Digi Embedded for Yocto" or DEY for
short.

This commit renames all relevant files.

https://jira.digi.com/browse/DEL-474

Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
2013-06-12 13:18:37 +02:00