Since the original .bb file is already in the meta-digi layer, bitbake will
look inside of the bluez5-5.41 folder by default, so this line isn't needed.
https://jira.digi.com/browse/DEL-6448
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Modify bluetooth init script to use kernel module to power on/off
the bluetooth chip instead of managing it directly from sysfs.
https://jira.digi.com/browse/DEL-6615
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Also create the folders that contain the scripts attending each
dispatch event type.
https://jira.digi.com/browse/DEL-6575
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Instead of the 20 seconds hardcoded currently in the code, allow to
configure the response timeout in the connectivity section of the main
NetworkManager config file.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Some modems take a lot of time to initialize and ModemManager won't
see them on its first scan.
This service will force a rescan 40 seconds after boot, to give
enough time for those lazy modems.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-6366
This recipe adds a script and a related systemd service that
configures two GPIOs (user defined, or else platform-defaults) as
output and sets them to the appropriate value for initializing the
XBee socket:
- XBEE_SLEEP_RQ: is set low, for running the XBee
- XBEE_RESET_N: is set low and then high, to reset the XBee
The service triggers on the condition that the UART TTY device node
pointed to by variable XBEE_UART exists.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-6366
On the default device tree, the MCA UART that's connected to the
XBee socket is enabled. This registers as ttyMCA0.
Add a udev rule for this path so that ModemManager checks for
modems in this serial port.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-6366
Soften the dependencies between the services and start the bluetooth stack
regardless of the existence of a bluetooth chip. Also, update the standby
script to reflect that there is no longer a strong dependency between the
services.
https://jira.digi.com/browse/DEL-6452
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
When using systemd, putting the wlan1 interface up wasn't working because it
was relying on initscripts that are no longer in the filesystem.
Add a parametrized version of the upstream hostapd service to be able to use a
configuration that's different from the default one. Also, modify the
generation of the wlan1 entry in /etc/network/interfaces to be able to use
different post-up/pre-down hooks depending on the init manager that's being
used.
https://jira.digi.com/browse/DEL-6504
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This change was added to meta-openembedded layer by commit
0814df2e9179b71b5f5c99b962aca35ede1f242f.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Since the version 1.12, NetworkManager enables the colors in the
terminal output by default. This pretty output is not compatible
with several terminal emulators and makes it difficult to parse
the output of the CLI commands.
This patch uses the standard linux util called 'terminal-colors.d'
to disable the colors by default in the NetworkManager CLI interpeter.
https://jira.digi.com/browse/DEL-6473
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This is a user space tool to manage BATMAN advanced network interfaces.
https://jira.digi.com/browse/DEL-6466
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
systemd-tmpfiles throws warnings of /var/run being deprecated in favor of /run.
Even though this is corrected automatically, the warnings appear several times
during runtime, polluting the systemd journal.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The postinst script tries parsing the wireless MAC address from the sysfs, and
in case of failure, obtains a random string from /dev/urandom. This caused two
problems when booting with systemd:
* The wifi interface's sysfs entry is not available because the interface
hasn't had time to start up yet, forcing the script to always resort to the
/dev/urandom fallback.
* Even though the postinst scripts are run after populating the volatile
filesystems (as can be seen in run-postinsts.service's dependencies), trying
to read either /dev/random or /dev/urandom at this point in the system's
initialization causes it to lock up indefinitely.
To avoid either situation, add the following changes:
* Immediately exit when running on a non-wireless target, as the script isn't
necessary in this use case.
* Parse the wireless mac address from /proc/device-tree/wireless, which is
guaranteed to always be available when the script runs. By doing this, we can
remove the /dev/urandom fallback entirely.
https://jira.digi.com/browse/DEL-6415
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
These changes are needed in order to achieve a behavior similar to our
bluetooth initscripts'.
https://jira.digi.com/browse/DEL-6415
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This service acts as a systemd replacement for our bluetooth-init initscript.
All it does is call the initscript before starting the bluetooth stack.
Since initscripts dissapear from /etc/init.d when disabling sysvinit, move the
script to /etc/. Also, include bluez5-init as a packagegroup-dey-bluetooth
dependency regardles of whether systemd is enabled or not.
https://jira.digi.com/browse/DEL-6415
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Otherwise, there will be errors due to missing dependencies.
https://jira.digi.com/browse/DEL-6415
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Remove git recipe to use the official 1.8.2 release and update
udev rules file to blacklist the network interfaces that ModemManager
must not manage.
https://jira.digi.com/browse/DEL-6412
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Removed patches already integrated in the OpenSSL code and
refreshed the necessary ones.
https://jira.digi.com/browse/DEL-6412
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Wireless tools is deprecated in favor of iw because the
wireless extensions have been deprecated in favor of the
new nl80211 interface for wireless devices.
https://jira.digi.com/browse/DEL-6412
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The point of this recipe is to provide the version of Bluez5 that was
certified. Thes certification does not apply to the ConnectCore 8X, and the
recipe currently fails to build due to missing files. Hence filter out the
ConnectCore 8X from this recipe.
This clears the following warnings:
WARNING: meta-digi/meta-digi-dey/recipes-connectivity/bluez/bluez5_5.41.bb: Unable to get checksum for bluez5 SRC_URI entry bluetooth-init: file could not be found
WARNING: meta-digi/meta-digi-dey/recipes-connectivity/bluez/bluez5_5.41.bb: Unable to get checksum for bluez5 SRC_URI entry main.conf: file could not be found
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
(cherry picked from commit bf9688fd08ac9e8823a5a253bdd1acacd1c0870e)
CC8X SBC Pro's LPUART0 port is routed to the Expansion connector.
The UART located in the XBee socket, MCA UART, is not currently supported
so comment the XBee Cellular rule for the moment.
https://jira.digi.com/browse/DEL-6417
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
SOM v1 is not going to be released, so there's no need for a revision check.
Now that hw flow control is available, use it along with the highest baudrate
possible.
This reverts commit e4fbba3dde.
https://jira.digi.com/browse/DEL-6254
Our current OpenSSL libraries are only functional when applications link
against v1.0.2d or higher, making some packages containing pre-compiled
applications that link to older versions (like AWS Greengrass) fail to build
and/or run properly.
This commit includes:
* Changing SHLIB_EXT from so.1.0.2 to so.1.0.0
* Reverting the version-script to an older version with backwards
compatibility plus newer symbols
Specifically, these changes partially revert the patches added in the poky
layer's commits a59bfd05d15085a3dc5669b47fd19867246c846b and
73a43fc15e0463c39baaadecab78fb3ef51b8cd0 respectively.
Please note that this only modifies the cryptographic library's ABI, its code
remains unchanged.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Initialize Bluetooth chip in HCI_H4 mode and provide a firmware binary
with the IBS and DEEP_SLEEP mode disabled by default. Also this firmware
enables an internal clock required to maintain the system on low power modes.
https://jira.digi.com/browse/DEL-3711
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The Digi vendor kernel uses a dedicated HCI UART driver with support for
In-Band Sleep (IBS). This driver, when used with a QCA vendor ROME plugin
for hciattach, is able to upload a new firmware version to the Bluetooth
chipset, as well as set the MAC address directly on the firmware.
Mainline BSP uses the HCI H4 driver instead and the "qualcomm" hciattach
plugin which is not able to upload firmware to the QCA6564 chipset.
As such, when using mainline the chipset uses the ROM firmware and the
bluetooth init script has been adapted accordingly.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Set a lower baudrate of 115200bps for bluetooth on SOMv1 since
hardware flow control is not available.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
- The variable containing the list of patches has been renamed to a more
generic prefix QCA65XX_.
- The ConnectCore 8X uses GPIO3_10 (394) for BT_EN.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-5936
Firmware verification has a side effect in cc6ul sbc express platform
that affects to the bluetooth initialization.
https://jira.digi.com/browse/DEL-5802
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Whenever there's a big time jump due to an outaded RTC being updated via NTP,
detect the jump and update the DHCP lease's expiry times accordingly.
https://jira.digi.com/browse/DEL-5233
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Rarely the bluetooth firmware is not loaded properly and causes
errors in the configuration steps. This verification makes sure
the firmware was loaded and is functional, if not we start the
retry mechanism with the default baudrate to avoid the firmware
corruption in the upload process.
https://jira.digi.com/browse/DEL-3711
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Option --reference does not exist for busybox chmod/chown, so you get an ugly
error and file rights are modified.
https://jira.digi.com/browse/DEL-5642
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Bash v4.4 or higher warns when discarding NULL bytes in command substitution
output. Remove these bytes to avoid the undesired warnings.
https://jira.digi.com/browse/DEL-5588
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Currently the default bluez5 package installed is bluez-5.46, but we need this
locally for compiling bluez-5.41 (the stack using in the bluetooth
certification process), so we need to locally apply the same fix ("fix python3
core dependency for testtools") for the testtools and its dependency with
python3-code instead of python3.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Adding the bluetooth testtools does not have a big benefit and increases the
size of the rootfs in 16MB given its dependencies, which is critical in
devices (CC6UL) with a NAND flash.
https://jira.digi.com/browse/DEL-5613
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
There is not need to specify the testing flag for bluez5 compilation. That flag
is new starting at bluez5.44, and in the past it was called experimental. In
the past it made sense to pass that flag to compile specific services, but most
of them has been migrated to standard features, and experimental has been
renamed to testing, but we do not need any of those testing features.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
In bluez5.41 we needed to specify the "--experimental" flag when starting the
bluetooth service in order to use some specific features (see d434043447).
In bluez5.46 (in fact starting in bluez5.44) code was reorganized and now that
compilation option is called "--testing" but does not exist as flag, because
some of the "experimental" features has been mode to standard features, so
there is not need of indicating any extra flag when starting the service.
https://jira.digi.com/browse/DEL-5624
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Introspection support is currently broken upstream. It is only
used to generate the documentation, so it is safe to remove it.
https://jira.digi.com/browse/DEL-5518
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
Solves:
/bin/bash: line 1: glib-mkenums: command not found
https://jira.digi.com/browse/DEL-5518
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
This is the stack covered by the Bluetooth certification. We will keep
it even though the newer bluez 5.46 will be used by default.
https://jira.digi.com/browse/DEL-5518
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
* 'experimental' has been renamed to 'testing' in Bluez 5.44
* Several patches (0004..0011) are now upstream and can be removed
* QCA specific patches have been refreshed
https://jira.digi.com/browse/DEL-5518
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
All this recipes only need to be renamed to the new version:
* cherokee
* curl
* imx-codec
* imx-gst1.0-plugin
* imx-parser
https://jira.digi.com/browse/DEL-5518
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
This creates a new dispatcher action DEVICE_CONNECTIVITY_CHANGE, that
gets triggered whenever one interface fails in the upstream connectivity
check, regardless of the system having connectivity through a different
interface.
https://jira.digi.com/browse/DEL-5210
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Subset of commits to fix the pairing for dual mode devices. Main
commit that fixes is 2d3685252a21cda4b918ad1cc4dd0572bd5c6d3c, but some
previous commits are required as well.
"""
For dual mode devices we need to pass address type used in pairing
events to reply with correct one on agent reply. Otherwise reply for
BR/EDR pairing of dual mode device would use address type (which is
valid only for LE address) resulting in reply being ignored by kernel
and eventually pairing timeout.
"""
https://jira.digi.com/browse/DEL-5226
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
For avoid compilation error due to platform specific patches, first apply
the common patches and later apply platform specific patches.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Create a multiple patch file with the original qualcomm code that adds
support for the qca6564 chip (hcitattach_rome)
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The XBee Cellular modem is expected to be at ttymxc1 on CC6UL and
at ttymxc4 on CC6. The changes are needed because in v4.9.11 kernel
the /sys/devices entry for CC6UL and CC6 are the same for the TTYs,
causing that on CC6UL ModemManager was also searching for modems on
ttymxc4.
Signed-off-by: Sebastian Pastor <sebastian.pastor@digi.com>
https://jira.digi.com/browse/DEL-5163
This commit modifies different recipes to support the new platform
ccimx6qpsbc and adapt it to maintain the support to ccimx6sbc.
https://jira.digi.com/browse/DEL-5082
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The experimental flag is needed to run the GATT server application.
https://jira.digi.com/browse/DEL-5023
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This commit enables the IPV6 support that is necessary for the
XBee Cellular LTE Cat1 modem.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-4839
This is needed in the context of network failover, so when one physical
interface is lost, you can still resolve the connectivity-check URL
using the local DNS cache.
https://jira.digi.com/browse/DEL-4787
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The implemented patch fails when NetworkManager uses a local DNS cache
underneath (like 'dnsmasq'). To access the local DNS cache it needs to
use the loopback interface and hardcoding the physical interfaces make
the connectivity check fail.
This reverts commit c9b02d6288.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Use the same interface that it's being checked for the DNS resolution.
This makes connectivity check work in an scenario where the primary
interface has lost connectivity (for example ethernet) but you still
have connectivity through a secondary interface (e.g. wireless).
What happens in that case is that even though you have correct
connectivity in the secondary interface the check fails because it does
not use that secondary interface to resolve the name of the test URL.
The result is that the connectivity check assumes that this secondary
interface is also failing and it penalizes the metrics in the routing
table.
This commit uses libcurl's CURLOPT_DNS_INTERFACE to set the DNS
interface. Notice that this requires 'libcurl' to be compiled with
'--enable-ares'.
https://jira.digi.com/browse/DEL-4787
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
If two or more targets are in the same environment, all of them will
broadcast the same SSID, which may be a problem when a client wants
to connect to a specific device.
Use the last bytes of the non-virtual wireless MAC for the name of the
SSID, a random value with no hexadecimal characters is used if the MAC
is not available.
Also drop 'wpa2aes' from the SSID.
https://jira.digi.com/browse/DEL-4129
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
NetworkManager manages the 'resolv.conf' file globally, so there is no
need for pppd specific scripts for DNS.
These scripts race with NM to set DNS, leading sometimes to a scenario
where you have ethernet as the default gateway, but with DNS only
reachable via cellular.
While on it, also remove not used 'mm_cellular' configuration file.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Some modems (e.g. the XBee Cellular LTE Cat 1) have a long initilization
process and are not available when ModemManager tries to detect them
on boot.
For those modems schedule a rescan a bit later after NetworkManager has
been launched, so they are detected properly.
https://jira.digi.com/browse/DEL-4661
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
These values configure the PPP daemon to check that the connection is
still alive (using an echo) and kill itself otherwise. On that event,
NetworkManager takes over and tries to restore the connection.
This is specially useful for modems with only one serial port, because
they are not able to signal the connectivity loss to the host (the only
data channel is used for the network data itself).
https://jira.digi.com/browse/DEL-4653https://jira.digi.com/browse/DEL-4650
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
Use the 1.8.x stable series, as it has some desired functionality (e.g.
connectivity check) and bug fixes over the default version included in
Yocto.
https://jira.digi.com/browse/DEL-4628
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
For P2P interfaces, some drivers (CC6UL) create auxiliar interfaces based
on the parent one, like p2p-p2p0-0.
This commit adds a p2p* pattern to the list of unmanaged devices so that
NetworkManager doesn't try to manage P2P devices.
https://jira.digi.com/browse/DEL-4649
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
When bringing down the wireless interface used for hostapd, the messages
overlap:
# ifdown wlan1
Stopping HOSTAP Daemon: stopped /usr/sbin/hostapd (pid 569)
hostapd.
Adding the 'quiet' option to start-stop-daemon command fixes the
cosmetic issue.
# ifdown wlan1
Stopping HOSTAP Daemon: hostapd.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
"glibc-gconv" packages are GLIBC library specific, so add the proper
override to fix the build of the package using other C libraries (e.g.
MUSL).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The cellular interface is now managed by NetworkManager, so there is no
need for this custom script.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
So the package can be compiled in a non-X11 graphical system.
https://jira.digi.com/browse/DEL-4289
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
* Disabled: dnsmasq and netconfig
* Enabled: cellular related options and connectivity check
https://jira.digi.com/browse/DEL-4289
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Avoid splitting the boot script message in two different lines:
Starting bluetooth hardware: [OK]
done.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
After 0e7f5d3a47 both platforms probe both ports,
which is problematic (for example, ttymxc4 is the console in the 6UL based
platforms).
Use more concrete rules to avoid that problem.
https://jira.digi.com/browse/DEL-4199
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
After the kernel update (v3.14 to v4.1) the sysfs path changed from:
/devices/soc0/soc.0/2100000.aips-bus/21f4000.serial/tty/ttymxc4
to:
/devices/soc0/soc/2100000.aips-bus/21f4000.serial/tty/ttymxc4
which caused the XBee Cellular not to be detected on the new kernel. These more
general rules are compatible with both kernels.
https://jira.digi.com/browse/DEL-4199
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
mbedTLS is an open source, portable, easy to use, readable and flexible SSL
library.
https://jira.digi.com/browse/DEL-4101
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
QMI modems didn't work with the version of
modemmanager that the dey-2.2-r1 release was
using.
We were using two patches for uBlox plugin to use XBee Cellular 3G
that are now merged in modemmanager master.
This updates modemmanager to use the commit where QMI
problem was fixed and also include uBlox patches.
https://jira.digi.com/browse/DEL-4192
Signed-off-by: Salvador Penalva <salvador.penalva@digi.com>
Add patch to MM, so it detects the U-Blox modem connected to the XBee
socket.
https://jira.digi.com/browse/DEL-4084
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Tweaked to maintain some recipes' revisions to AUTOREV instead of the
fixed SHA1s from the tag.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The XBee Cellular needs more time to settle down before MM is able to
detect it on boot. As this is connected to one of the 'ttymxc' serial
ports, use that port to conditionally delay the launch of MM.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Adding more retries to the port AT probing has an impact in modems not
using serial drivers (for example using qmi, mbim). It takes longer for
MM to detect those modems and then user space gives up waiting for the
modems to be available.
This reverts commit 682d77e414.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The following changes have been made to the bluetooth-init script:
* Remove "hciconfig hci0 up/down" and this is now deprecated and likely
to fail. We use the AutoEnable feature of bluetoothd for this now.
* Move setting the MAC address to hciattach instead of using hcitool.
* Remove resets performed by hcitool and hciconfig. The hciattach
application already performs a reset and that should suffice.
* Remove hciattach retries.
https://jira.digi.com/browse/DEL-3711https://jira.digi.com/browse/DEL-3436https://jira.digi.com/browse/DEL-3636https://jira.digi.com/browse/DEL-3955
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This commits adds patches to hciattach for the following:
* Strict flow control setting
The hciattach application has a flow | noflow command line argument that is
currently only applied on the first configuration of the uart port. The
hciattach_rome plugin ignores this setting and assumes hardware flow
control is always supported. This commits makes hciattach obey the user flow
control indication.
* Modify hciattach_rome to set MAC address. The MAC address setting
feature in the rome plugin now works with the command line specified
MAC.
* Reduce verbosity. hciattach now accepts a "-v" verbose flag. By
default verbose output it omitted.
https://jira.digi.com/browse/DEL-3711https://jira.digi.com/browse/DEL-3436https://jira.digi.com/browse/DEL-3636https://jira.digi.com/browse/DEL-3955
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Launching the MM on target's boot fails to detect the XBee cellular
because this needs more time to complete the initialization. So add some
more retries for the AT port probing to allow the XBee cellular to be
detected.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Instead of redirecting the MM logging to '/dev/null' use a file, so we
can see what's going on in case of failure.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The flow control patches have been merged to the master branch, so
update the revision to remove those patches from our layer.
This reverts commit a7c51af5b8.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The XBee cellular support is at the moment only in modemmanager's git
repository (master branch).
Also remove one Telit patch from the bbappend because it's already
included in the git repo.
https://jira.digi.com/browse/DEL-3841
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This version of libqmi is needed for newer versions of ModemManager.
Remove bbappend and patch to previous version as the patch is now
included in the new version.
https://jira.digi.com/browse/DEL-3841
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The current script cannot launch the hostapd twice (for dual HostAP mode)
because start-stop-daemon finds an already existing PID for hostapd after
running the first instance.
The solution is:
- Do not launch the hostapd in background (so that it does not fork the
process, which assigns a different PID)
- Use -b option of start-stop-daemon so that it launches the daemon in
the background.
- Let start-stop-daemon create the PID (since the hostapd will not fork
now this PID will match the hostapd process, allowing to kill it later)
This solution also hides the hostapd log messages that appeared before.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-4045
The original init script hardcodes the configuration file to use so it
cannot be re-utilized for concurrent AP/AP mode where two interfaces can
be used as SoftAP.
This commit uses the variable ${IFACE} to:
- select a specific configuration file per interface:
/etc/hostapd_${IFACE}.conf
- create a specific PID file per interface:
/var/run/hostapd.${IFACE}.pid
With this, the /etc/network/interfaces can use the script for using SoftAP
in different wireless interfaces.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
- The Bluetooth daemon was always executed before setting up the
hardware, generating several problems specifically in the CCIMX6SBC.
This was causing the Bluetooth driver to override the Bluetooth name
and alias, as well as avoiding any host function on Bluetooth profiles.
Only pairing and ping was working, as well as client profile sides.
- This change also fixes some issues in the CCIMX6UL platforms with the
Bluetooth daemon failing to perform several bluetoothctl operations.
https://jira.digi.com/browse/DEL-4000https://jira.digi.com/browse/DEL-4015
Signed-off-by: David Escalona <david.escalona@digi.com>
The unlock retries feature from the Telit plugin does not work properly with
old versions of the Telit HE910 firmware. This has been fixed in upstream
commit: fbb607f0c25be3a4bb8692ee48445cf437345b6c
Signed-off-by: Salvador Penalva <salvador.penalva@digi.com>
https://jira.digi.com/browse/DEL-3863
This reverts commit 3123085e72.
we revert this commit because the patch was already applied on mm-1.6.4
Signed-off-by: Salvador Penalva <salvador.penalva@digi.com>
Reviewing the patches while updating the QCA firmware to a new release,
I encountered this patch. On the original PR it says:
"Do not use hcitattach to reconfigure the baudrate but set it directly in the
Bluetooth FW file; this save us from some syncronism problems if we are not
using HW flow control."
Current spins of the module already use hw flow control. Also, not allowing
hciattach to override the baudrate does not seem right to me. It would be
enough with passing a 3M baudrate to hciattach to match the firmware
default.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This commit fixes an issue with ModemManager to return the correct
error code when an invalid QMI command is send to the modem.
There are two ways to get the UIM/SIM status, one with the "DMS"
service that works on most devices from 2015 and earlier, and a
new way with the "UIM" service that works on many 2015+ devices.
Perhaps the EC21 is new enough that it requires the UIM service,
but ModemManager doesn't recognize the error code that it's returning.
There are two ways to get the UIM/SIM status, one with the "DMS"
service that works on most devices from 2015 and earlier, and a
new way with the "UIM" service that works on many 2015+ devices.
Perhaps the EC21 is new enough that it requires the UIM service,
but ModemManager doesn't recognize the error code that it's returning.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-3748
This commit fixes an issue with the Quectel EC21/EC25 due to a wrong
reported DMS version which will cause ModemManager not to read the
SIM card.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-3748
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>
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>
If you try to use libmbim (the API is used at least by mbim-network,
mbimcli and ModemManager applications) you get the following error:
ModemManager: Error converting string: Conversion from character
set 'utf-8' to 'utf-16le' is not supported
In order to solve this we need to integrate glibc gconv UTF16le library
in the build (and its dependencies).
Signed-off-by: Mike Engel Mike.Engel@digi.comhttps://jira.digi.com/browse/DEL-3830
This commit adds the wireless concurrent mode as a default
configuration to the CC6UL machine.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-3818
There is now a WLAN user guide with configuration examples so there is
no need to pollute the default file with comments.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The LICENSE is added through the packagegroup bbclass and the checksums
were outdated making the build fail with:
The LIC_FILES_CHKSUM does not match for poky/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58
https://jira.digi.com/browse/DEL-3451
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The wireless regulatory database has been moved to its own recipe, so
the update cannot be done bbappending this recipe.
This reverts commit 8e69db8ac5.
https://jira.digi.com/browse/DEL-3451
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This parameter allows to set the time interval for scheduled scans in
seconds. This is usually managed by the wpa-supplicant dynamically, but
for example with DFS channels and non broadcasting SSIDs re-associations
take too long if the periodic scans time interval is not reduced.
https://jira.digi.com/browse/CC6UL-594
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This commit adds a wpa supplicant P2P configuration file and configures
the p2p0 interface automatically at pre-up.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Optimize the provided config file with default support for 802.11ac.
https://jira.digi.com/browse/DEL-3128
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
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-3052https://jira.digi.com/browse/DEL-3057
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Copy of the original defconfig in hostapd-2.4 and enabling next options:
- CONFIG_LIBNL32
- CONFIG_EAP_PSK
- CONFIG_EAP_PWD
- CONFIG_WPS
- CONFIG_WPS_NFC
- CONFIG_RADIUS_SERVER
- CONFIG_IEEE80211N
- CONFIG_IEEE80211AC
- CONFIG_DEBUG_FILE
This means that the hostapd binary will have support for that features, but it
does not imply that the wireless chip does support it.
https://jira.digi.com/browse/DEL-2936
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Do not autostart hostapd daemon on boot because because it will conflict with
wpa-supplicant process and add a custom hostapd.conf file with WPA2-AES
encryption.
https://jira.digi.com/browse/DEL-2913
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
We need a different configuration file, because the SoftAP functionality is
supported using the hostapd package instead of the wpa_supplicant.
https://jira.digi.com/browse/DEL-2744
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
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>
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>
This function is deprecated in favor of bb.utils.contains. The same
change has been done in other layers.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
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>
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>
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>
As of Yocto 2.0, the cryptodev module used as interface between
user-space and hardware encryption is the version 1.7.
According to that cryptodev's version documentation, the cryptodev
engine in openssh is outdated:
https://github.com/cryptodev-linux/cryptodev-linux/blob/cryptodev-linux-1.7/README
They provide an URL with two patches to update openssl. This commit
forward port those patches to the Openssl version used in this version
of Yocto.
https://jira.digi.com/browse/DEL-2501
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This install the 'obexd' server which is needed for the QT5 bluetooth
file transfer example applications.
https://jira.digi.com/browse/DEL-2147
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
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>
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
The autotools class is trying to execute:
intltoolize --copy --force --automake
so there is a intltool-native dependency.
Fix:
run.do_configure: intltoolize: not found
ERROR: Function failed: do_configure
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
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>
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>
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
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-1943https://jira.digi.com/browse/DEL-995
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Do not include the btfilter support in the default images. Its support is
not required for bluetooth functionality.
https://jira.digi.com/browse/DEL-1935
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
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>
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>
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>
The problem is the change of the default C standard from gnu89 to gnu11
which changes the semantics of 'inline'. The issue is described in the
porting guide at https://gcc.gnu.org/gcc-5/porting_to.html.
Fix based on u-boot's commit dfc9c24
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
ccimx51js and ccimx53js are not supported in this version of DEY.
Support for those platforms is in previous versions of DEY.
https://jira.digi.com/browse/DEL-1890
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is an atheros proprietary package that contains the athtestcmd and
wmiconfig applications.
Neither of them are currently used.
https://jira.digi.com/browse/DEL-1878
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>