The recovery init checks if the configured update package exists and it is valid
before setting a new key and/or formatting the rootfs partition.
This change avoids getting non-booting devices after performing a firmware
update with a non-existing or invalid update package.
https://jira.digi.com/browse/DEL-3959
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
We have introduced new default configuration files for wireless that do
not show on sysinfo, so add them if they exist.
https://jira.digi.com/browse/DEL-3974
Signed-off-by: Alejandro Navarro <alejandro.navarro@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>
With the migration to Morty, some of the paths to the artifacts (boot
and rootfs images) need to be updated.
While on it, also remove the temporary README.txt file which is not
needed after it has been packed in the zip installer.
https://jira.digi.com/browse/DEL-4013
Signed-off-by: Javier Viguera <javier.viguera@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>
- Some Python modules are no longer available in DEY-2.2 since
the official supported Python version is now 3. This caused the
HDP application to fail importing some of the old modules. For this
reason the sample application has been updated to use Python3
syntax and modules.
https://jira.digi.com/browse/DEL-3996
Signed-off-by: David Escalona <david.escalona@digi.com>
Print the HW and FW versions for the I/O Expander in the CC6UL SBC platform.
https://jira.digi.com/browse/DEL-3958
Signed-off-by: Sebastian Pastor <sebastian.pastor@digi.com>
If the volume is not found, the partition cannot be wiped since it is attached.
Remove 'update' UBI device in:
* mdev automount script if volume is not found
* recovery init script before formatting 'update' partition
https://jira.digi.com/browse/DEL-3962
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
ICU support was not included in the rootfs in previous DEY versions
but it's included now through runtime dependences of 'harfbuzz' and
'libical'.
The support is not strictly needed, as ICU is a library for Unicode
support for applications:
http://site.icu-project.org/home
This commit disables ICU support directly for 'harfbuzz' and adds a
patch for 'libical' that allows to disable it. Notice that it's only
disabled for the CC6UL, as the CC6 has no rootfs space problems.
Only the 'libicudata' library is 25MB:
25M /usr/lib/libicudata.so.57.1
https://jira.digi.com/browse/DEL-3854
Signed-off-by: Javier Viguera <javier.viguera@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>
This commit adds mdev support into the recovery ramdisk to
mount/unmount storage devices for the firmware up tool.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-3692
udhcpc's '-n' option means 'Exit if lease is not obtained'.
We want to keep udhcp client alive if lease is not obtained, so when it is
possible, an IP is assigned.
https://jira.digi.com/browse/DEL-3821
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
udhcpc options added to 'network/interfaces':
* '-S' to log to syslog too.
* Redirect the output to '/dev/null' not to show messages of the tool running
in background (for example when executing 'ifup').
* '&' to send the udhcp client to background.
https://jira.digi.com/browse/DEL-3821
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
This is to avoid the following QA error:
ERROR: fbtest-1.0-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: '/usr/local/ssd/dey-2.2/workspace/ccimx6ulstarter/tmp/work/cortexa7hf-neon-dey-linux-gnueabi/fbtest/1.0-r0/packages-split/fbtest/usr/bin/fbtest' [ldflags]
ERROR: fbtest-1.0-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: fbtest-1.0-r0 do_package_qa: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /usr/local/ssd/dey-2.2/workspace/ccimx6ulstarter/tmp/work/cortexa7hf-neon-dey-linux-gnueabi/fbtest/1.0-r0/temp/log.do_package_qa.6755
ERROR: Task (/usr/local/ssd/dey-2.2/sources/meta-digi/meta-digi-dey/recipes-digi/fbtest/fbtest.bb:do_package_qa) failed with exit code '1'
Signed-off-by: Alex Gonzalez <alex.gonzalez@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>
- Trying to set the complete SWU packages signature key in the
TrustFence class was causing a build error when keys were not
yet generated. To avoid this, set only the key wildcard in the
TrustFence class and expand the variable in the SWU packages
recipes, when keys already exist.
https://jira.digi.com/browse/DEL-3913
Signed-off-by: David Escalona <david.escalona@digi.com>
- Instead of trying to generate the TrustFence keys in this recipe
when they are not present, depend on the 'virtual/kernel' to
ensure they are already generated. This solves a concurrency problem
when two recipes try to generate TrustFence keys at the same time.
https://jira.digi.com/browse/DEL-3913
Signed-off-by: David Escalona <david.escalona@digi.com>
Allowing to boot a non-encrypted rootfs when encryption is enable is a security
hole: if an attacker can somehow write (offline) to the media, he could flash a
custom unencrypted rootfs and break into the system.
If the system is configured to use encryption, only encrypted rootfs will boot.
Trying to boot a non-encrypted rootfs will fail and power off the device.
https://jira.digi.com/browse/DEL-3829
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
The recovery ramdisk already contains functionality for encrypted rootfs
installation. The goal is to centralize all this functionality in the recovery
ramdisk.
https://jira.digi.com/browse/DEL-3829
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
For CC6UL, when setting a new key, an "enc" flag must be added to the rootfs in
the "mtdparts" U-Boot variable.
After that a reboot is needed, so the recovery command must be modified to
remove the encryption key and proceed with the rest of commands in the next
boot.
When updating the firmware, a format of the rootfs partition is always
performed, independently if a new encryption key has just been configured.
In case only the encryption key is being configured, we also need to reboot to
format the rootfs properly.
https://jira.digi.com/browse/DEL-3685
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
For CC6UL, when not using rootfs encryption, the "enc" flag must be removed from
the "mtdparts" U-Boot variable.
https://jira.digi.com/browse/DEL-3685
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
Software update recipes ('core-image-base-swu' and 'dey-image-qt-swu') are able
to set default or customized values for:
* In the CC6, the proper path for:
* linux partition (default to '/dev/mmcblk0p1')
* rootfs partition (default to '/dev/mmcblk0p3' if no encrypted, always
'/dev/mapper/cryptroot' otherwise)
* In the CC6UL, the proper volume name for
* linux partition (default to 'linux')
* rootfs partition (default to 'rootfs')
https://jira.digi.com/browse/DEL-3666https://jira.digi.com/browse/DEL-3686
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
This commit verifies that the wlan1 interface is not already created
and will skip creating the virtual interface if it already exist.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-3917
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 changes the concurrent mode script to enable always the
AP interface through the wireless device but will warn the use
if the virtual MAC addresses used are the default once.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-3900
The flash_eraseall busybox utility is not used in the ccimx6 and ccimx6ul
platforms. Its corresponding patch (and the library it depends on) can be
removed from the busybox recipe.
https://jira.digi.com/browse/DEL-1320
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
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