Commit Graph

1735 Commits

Author SHA1 Message Date
Salvador Penalva 65a17c522c Revert "meta-digi-dey: Add fix to return correct error code."
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>
2017-03-20 19:37:54 +01:00
Mike Engel 3bb5312662 meta-digi-dey: Add mdev support into recovery ramdisk.
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
2017-03-20 17:08:55 +01:00
Tatiana Leon a1eeb71f24 automount: add rule not to automount 'recovery' partition
https://jira.digi.com/browse/DEL-3934

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-20 14:57:11 +01:00
Tatiana Leon 3aeb49cce1 meta-digi-arm: use DHCP IPs by default
The main purpose is to improve our kits usability. This way users do not need
to follow the steps in the documentation to change from static to DHCP IPs.

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

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-20 14:47:21 +01:00
Tatiana Leon 5888479c75 cellularifupdown: redirect udhcpc output to '/dev/null'
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-20 14:47:21 +01:00
Tatiana Leon b0171be93a busybox: disable '-n' udhcpc option from ifupdown
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>
2017-03-20 14:47:21 +01:00
Tatiana Leon 113deb8046 meta-digi-arm: launch udhcp client in background to reduce the boot time
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>
2017-03-20 14:47:21 +01:00
Alex Gonzalez 30c253e108 meta-digi-arm: kernel-module-qualcomm: Build from Digi source repositories
The amount of patches to this driver maintained in meta-digi is
substantial, so we are moving to a git repository release model.

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

Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
2017-03-20 10:43:24 +01:00
Alex Gonzalez fd7239da8a meta-digi-dey: Add LDFLAGS to do_compile override
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>
2017-03-17 19:15:27 +01:00
Alex Gonzalez 395f047493 meta-digi-arm: firmware-qualcomm: Update QCA binary
Update to tag r110055.1 from
https://chipmaster2.qti.qualcomm.com/home2/git/digi-international-inc/qca6564-le-1-0-3_qca_device.git

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

Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
2017-03-17 19:15:27 +01:00
Alex Gonzalez 7ee00c1ae8 meta-digi-dey: recipes-connectivity: bluez5: Allow to override baudrate
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>
2017-03-17 19:15:27 +01:00
Mike Engel 3123085e72 meta-digi-dey: Add fix to return correct error code.
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
2017-03-16 12:55:19 +01:00
Mike Engel a48e66c618 meta-digi-dey: Added libqmi patch to DMS version miss match.
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
2017-03-16 12:55:19 +01:00
Javier Viguera 3877b2a59f suspend: bring bluetooth interface down and up on suspend
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 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
Sebastian Pastor 4637c01c4a meta-digi-arm: Enable MCA_IOEXP in ccimx6ul defconfig
Note: the CONFIG_INPUT_EVBUG line has been removed as a result of savedefconfig

Signed-off-by: Sebastian Pastor <sebastian.pastor@digi.com>
2017-03-15 18:06:32 +01:00
Sebastian Pastor 294880ddac dey-examples: adc_sample: add I/O Expander ADCs to the available interfaces.
Signed-off-by: Sebastian Pastor <sebastian.pastor@digi.com>
2017-03-15 17:21:05 +01:00
David Escalona 00d22c3d7e swu-sign: do not expand private sign key in TrustFence class
- 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>
2017-03-15 12:02:17 +01:00
David Escalona e3ce215f67 recovery-initramfs: do not generate TrustFence keys in this recipe
- 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>
2017-03-15 12:02:17 +01:00
Tatiana Leon f510a438df trustfence-initramfs: do not boot non-encrypted rootfs if encryption is enabled
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>
2017-03-14 19:19:33 +01:00
Tatiana Leon d441f8401e trustfence-initramfs: remove support for encrypted rootfs installation
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>
2017-03-14 19:19:33 +01:00
David Escalona 42856f87aa boot-script: merge 'recovery' and 'boot' scripts into 'boot'
- Instead of using a different boot script when booting from linux
  and from recovery, merge them into one script that checks the
  boot source.

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2017-03-14 18:45:53 +01:00
Tatiana Leon c4bd0534e2 recovery-utils: add support to set the rootfs encryption key
Internal recovery-utils.git SHA1: 283f6e0768c0

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

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-14 18:01:02 +01:00
Tatiana Leon d7da8794f1 recovery init: add rngd to increase the quantity of entropy
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-14 17:39:09 +01:00
Tatiana Leon 00d30ee9a0 recovery init: cc6ul: set rootfs enc flag when setting a new key
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>
2017-03-14 17:39:09 +01:00
Tatiana Leon 3cb44334c6 swu-images: cc6ul: add pre-install script to remove enc flag
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>
2017-03-14 17:39:09 +01:00
Tatiana Leon 0a64ff89e4 swu-images: cc6: add pre-install script to open the virtual dev
For CC6, when using rootfs encryption, the encrypted device must be opened
before trying to update.

https://jira.digi.com/browse/DEL-3664
https://jira.digi.com/browse/DEL-3665

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-14 17:39:09 +01:00
Tatiana Leon 96d7211a71 recovery init: format rootfs partition (block devices) when setting a new key
https://jira.digi.com/browse/DEL-3277

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-14 17:39:09 +01:00
Tatiana Leon 4085bc8904 recovery init: allow several operations at once (update, key, wipe)
Allow to perform several recovery operations at the same time and set the right
order for them:
 1. New encrypted key
 2. Firmware update
 3. Wipe update partition

https://jira.digi.com/browse/DEL-3277
https://jira.digi.com/browse/DEL-3685

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-14 17:39:09 +01:00
Tatiana Leon 976d79db9c swupdate: define variables for flash paths and volume names
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-3666
https://jira.digi.com/browse/DEL-3686

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-14 17:39:09 +01:00
Diaz de Grenu, Jose 1e93277819 ccimx6ul: synchronize kernel defconfig
Remove default kernel command line.

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

Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
2017-03-14 16:57:47 +01:00
Mike Engel b180a3e0b1 meta-digi-dey: Added check if wlan1 interface already exist.
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
2017-03-14 13:20:10 +01:00
Javier Viguera 5cccb22389 ccimx6ul: enable CONFIG_FIRMWARE_IN_KERNEL in kernel defconfig
Seems that this is needed for the bluetooth interface to work. Without
this options, the interface is not able to initialice (hciattach command
fails).

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-03-13 19:35:59 +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
Tatiana Leon 4b6b4ecc5f dey-examples: cloudconnector: use Remote Manager references instead of Device Cloud
https://jira.digi.com/browse/DEL-3683
https://jira.digi.com/browse/DEL-3793

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-10 21:49:40 +01:00
David Escalona 4c8ae78e88 ccimx6ul: synchronize kernel defconfig
- Remove input event debug messages.

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2017-03-10 18:50:16 +01:00
Mike Engel f8237f6c7a meta-digi-dey: add libmbim runtime dependency
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.com

https://jira.digi.com/browse/DEL-3830
2017-03-10 16:24:45 +01:00
Mike Engel aa0c2fb886 ccimx6ul: Changed concurrent mode setup script.
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
2017-03-10 09:44:25 +01:00
Alex Gonzalez cc61cf1483 README: Add sysinfo command in support section.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
2017-03-09 15:49:47 +01:00
Gabriel Valcazar 42ac6ea6c2 busybox: remove libdigi dependency
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>
2017-03-07 17:32:34 +01:00
Mike Engel 19563821d2 ccim6ul_sbc: Add wireless concurrent as default setup
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
2017-03-07 17:20:12 +01:00
David Escalona 319576805a swupdate: add sign and hash support to swupdate packages generation
- Enabled signing support while generating the swupdate
  packages for 'core-image-base' and 'dey-image-qt'. The
  signing support is only enabled when 'TUSTFENCE_SIGN=1'
  and requires the recipe to set the private key that will
  be used to generate the signature.
- Enabled hash support while generating the swupdate
  packages for 'core-image-base' and 'dey-image-qt'. The
  hash support requires the sw-description files to include
  a new line for each image and/or file that will be added
  to the update package. The hash is automatically calculated
  and replaced in the sw-description files.

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2017-03-07 17:04:21 +01:00
David Escalona 68430b1297 swupdate: execute swupdate with verification within trustfence images
- While trying to update the system using signed swupdate packages, the
  swupdate binary requires a new parameter (-k) to specify the location
  of the public key that will be used to verify the update package. At
  the moment there is no way to check if a package is signed or not, so
  we asume that the existence of the public key in the recovery initramfs
  is enough to determine that we want to update the system using signed
  packages.

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2017-03-07 17:04:21 +01:00
David Escalona 6362b99205 swupdate: add public key to the recovery initramfs
- The swupdate binary included in the recovery partition when the
  images to build are trustfence enabled performs a verification
  of the swupdate package. For this verification to suceed, it is
  mandatory to provide to the swupdate binary the public key that
  will be used to verify the swupdate package. This public key must be
  included in the recovery initramfs only when 'TRUSTFENCE_SIGN=1'.

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2017-03-07 17:04:21 +01:00
David Escalona 7222c1d5bb swupdate: enable sign/verify support in swupdate when using trustfence
- The 'sign/verify' feature of swupdate can only be enabled/disabled at
  compile time, it cannot be configured at run time.
- The 'sign/verify' defconfig file is only used  when the images to
  build are configured with 'TRUSTFENCE_SIGN=1'
- This change implies that all swupdate packages generated will have a
  hash for the images to install and will be verified. Sign support is
  only enabled for trustfence images.

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2017-03-07 17:04:21 +01:00
David Escalona 2f7b062d46 swupdate: rename swupdate recipe bbappend to append to the 2017.01 version
- In Jethro, swupdate recipe was using 'swupdate_git.bb' as the main recipe to
  build. In morty that recipe has been disabled and the '2017.01' one is used
  instead, so we have to append to this new recipe by renaming our existing one.
- Our bbappend will now point to the same SHA1 that is being used, so we can
  remove the SRCREV.
- The new code already includes the progress client patch, so it has been removed.

Signed-off-by: David Escalona <david.escalona@digi.com>
2017-03-07 17:04:21 +01:00
Javier Viguera 2cc93b353c ccimx6ul: synchronize kernel defconfig
Loading firmware by userspace helpers has been deprecated from device
managers (like udev, eudev, etc). Firmware loading is supposed to be
performed by the kernel.

This fixes the loading of an external kernel module (qualcomm wlan.ko)
that was failing to load because of a missing firmware file.

In that case the kernel was requesting the firmware load from userspace:

ar6k_wlan mmc0:0001:1: Direct firmware load for qsetup30.bin failed with error -2
ar6k_wlan mmc0:0001:1: Falling back to user helper

The device manager we are using in DEY-2.2 (eudev) does not support
firmware loading and is not giving an error return value to the kernel
either, so at one point the kernel throws an oops:

Hardware name: Freescale i.MX6 Ultralite (Device Tree)
task: 88228000 ti: 88cbe000 task.ti: 88cbe000
PC is at 0x7f183758
LR is at request_firmware+0x38/0x40
pc : [<7f183758>]    lr : [<802f80bc>]    psr: 600f0013
sp : 88cbfdb8  ip : 00000000  fp : 88644c00
r10: 0000dac0  r9 : 88cbfefc  r8 : 0000000c
r7 : 00007d08  r6 : 88cbfde4  r5 : 88644ea2  r4 : 00000005
r3 : 88cbfde4  r2 : 00000080  r1 : 00000000  r0 : fffffff5

and the wireless driver is not loaded.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-03-07 17:01:29 +01:00
Alex Gonzalez fe21367ccf meta-digi-dey: hostapd: clean configuration file
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>
2017-03-06 17:37:17 +01:00
Javier Viguera 01ee764fcf u-boot-fw-utils: rework patches to fix broken build
Patches added in 'meta-swupdate' (backported from U-Boot) broke our
layer. We also had those patches, so remove them and make sure the
rest or our patches are applied after the ones from 'meta-swupdate'
by using an anonymous python function instead of appending to the
SRC_URI variable.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-03-06 12:18:37 +01:00
Javier Viguera 372a063ac4 linux-dey: adapt trustfence_sign function after migration
The way the kernel artifacts are generated has change as of Yocto 2.2.
Also some of the variables (e.g. KERNEL_IMAGE_SYMLINK_NAME) have changed
their default values.

Thus the trustfence_sign function needed some tweaks to continue working
properly.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-03-02 16:25:09 +01:00