Merge tag 'dey-2.4-r1.2' into dey-2.4/master

Manually changed recipes to use the master branches instead of the
fixed SHA1 from the last release.

Digi Embedded Yocto 2.4-r1.2

Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
This commit is contained in:
Jose Diaz de Grenu 2018-04-12 12:00:21 +02:00
commit d5949c9d24
5 changed files with 93 additions and 90 deletions

100
README.md
View File

@ -1,10 +1,10 @@
# Digi Embedded Yocto (DEY) 2.2
## Release 2.2-r4
# Digi Embedded Yocto (DEY) 2.4
## Release 2.4-r1
This document provides information about Digi Embedded Yocto,
Digi International's professional embedded Yocto development environment.
Digi Embedded Yocto 2.2 is based on the Yocto Project(TM) 2.2 (Morty) release.
Digi Embedded Yocto 2.4 is based on the Yocto Project(TM) 2.4 (Rocko) release.
For a full list of supported features and interfaces please refer to the
online documentation.
@ -15,7 +15,6 @@ The current release has been verified and tested with the following
OS versions:
* Ubuntu 16.04
* Ubuntu 14.04
# Supported Platforms
@ -65,7 +64,7 @@ hardware.
# Installation
Digi Embedded Yocto is composed of a set of different Yocto layers that work in
parallel. The layers are specified on a [manifest](https://github.com/digi-embedded/dey-manifest/blob/morty/default.xml) file.
parallel. The layers are specified on a [manifest](https://github.com/digi-embedded/dey-manifest/blob/rocko/default.xml) file.
To install, please follow the instructions at the dey-manifest [README](https://github.com/digi-embedded/dey-manifest)
@ -80,91 +79,22 @@ Documentation is available online on the Digi documentation site:
# Downloads
* Demo images: ftp://ftp1.digi.com/support/digiembeddedyocto/2.2/r3/images/
* Software Development Kit (SDK): ftp://ftp1.digi.com/support/digiembeddedyocto/2.2/r3/sdk/
* Demo images: ftp://ftp1.digi.com/support/digiembeddedyocto/2.4/r1/images/
* Software Development Kit (SDK): ftp://ftp1.digi.com/support/digiembeddedyocto/2.4/r1/sdk/
# Release Changelog
## 2.2-r4
## 2.4-r1
* TBC
## 2.2-r3
* Added support for ConnectCore 6 Plus platform
* Updated kernel version to v4.9 for ConnectCore 6UL platform
* Added Digi APIX C library to access and manage ConnectCore platforms interfaces:
* ADC
* GPIO
* I2C
* PWM
* SPI
* Updated AWS Greengrass Core software to v1.1.0
* Updated TrustFence Code Signing Tool to v2.3.3
* Default rootfs images are now Eclipse debug ready
* Updated documentation
## 2.2-r2
* Fix for KRACK Attack vulnerability:
* [CVE-2017-13077](https://nvd.nist.gov/vuln/detail/CVE-2017-13077)
* [CVE-2017-13078](https://nvd.nist.gov/vuln/detail/CVE-2017-13078)
* [CVE-2017-13079](https://nvd.nist.gov/vuln/detail/CVE-2017-13079)
* [CVE-2017-13080](https://nvd.nist.gov/vuln/detail/CVE-2017-13080)
* [CVE-2017-13081](https://nvd.nist.gov/vuln/detail/CVE-2017-13081)
* [CVE-2017-13082](https://nvd.nist.gov/vuln/detail/CVE-2017-13082)
* [CVE-2017-13086](https://nvd.nist.gov/vuln/detail/CVE-2017-13086)
* [CVE-2017-13087](https://nvd.nist.gov/vuln/detail/CVE-2017-13087)
* [CVE-2017-13088](https://nvd.nist.gov/vuln/detail/CVE-2017-13088)
* Cloud Connector: fix connections through PPP
* Use NetworkManager for ethernet, wireless (station) and cellular network interfaces
* Updated kernel version to v4.1.41 for CC6 platform
* Added support for SPI Slave mode on CC6UL platform
* Added support for Atmel Cryptochip ATEC508A using Cryptoauthlib
* Network failover mechanism
* Raspberry Pi Sense hat Yocto support using meta-digi-maker layer for CC6UL SBC Express
* QT fonts fix
* QT software renderer for CC6UL
* Fix for CVE-2017-1000251 vulnerability (https://nvd.nist.gov/vuln/detail/CVE-2017-1000251)
* RS-485 kernel patches
* Powered by AWS certified on all supported hardware platforms including:
* AWS GreenGrass core software
* AWS IoT Device SDK for embedded C
* Updated AR6233 firmware for Radio Equipment Directive module certification
* QCA6564 WorldWide board data file available on request
* Includes MCA firmware v1.0:
* MCA analog tamper detection
* MCA ADC-based analog comparators
* Updated U-Boot to version 2015.04-r9
* Added support for CC6UL variant 0x4
* Added dynamic environment location and bad block handling for the environment
* TrustFence:
* Move RootFS encryption key to 'safe' partition
* Added support for four tamper interfaces
* Disable external memory boot in OTP for secure boot
* Skip initial scanning of bad blocks for faster boot on NAND
* Updated documentation
## 2.2-r1
* Release based on [Yocto 2.2 (Morty)](https://www.yoctoproject.org/downloads/core/morty22) including:
* New toolchain based on GCC-6.2.0 and GLIBC-2.24
* Updated Qt 5.7
* Updated ModemManager with validated support for:
* Digi's XBee Cellular LTE Cat 1 (USA/Verizon), with P/N XBC-V1-UT-001
* Digi's XBee Cellular 3G Global, with P/N XBC-M5-UT-001
* U-Blox's TOBY L-200/L-210
* Telit's LE910 and HE910
* Huawei's ME909u
* Quectel's EC21 and EC25
* Modified default networking settings:
* Defalt to dynamic IP addresses assignments
* Default station and softAP concurrent wireless mode
* TrustFence enabled
* Remote manager
* Local and remote manager firmware update
* Release based on [Yocto 2.4 (Rocko)](https://www.yoctoproject.org/downloads/core/rocko24) including:
* New toolchain based on GCC-7.2.0 and GLIBC-2.26
* Updated Qt 5.9.4
* Package upgrades and security fixes
* U-boot support for 1GB DDR3 RAM on CC6UL
* Updated kernel version to v4.9 for ConnectCore 6 platform
* Updated U-Boot to version 2015.04-r12
* Updated Cryptoauthlib version to v3.0
* Added support for Goodix 10" display
* Updated documentation
# Known Issues and Limitations

View File

@ -75,8 +75,7 @@ bluetooth_init() {
if hciattach ttyBt qca ${BT_RATE:-3000000} -t30 ${BT_FLOW:-flow} unused ${BT_MACADDR} >${HCIATTACH_LOG} 2>&1; then
# hciattach performs a reset to load the new firmware and needs some time to be ready
sleep 1
# Verify if firmware was loaded successfully
bdaddr >/dev/null 2>&1 && return
return
fi
sleep 1

View File

@ -75,8 +75,7 @@ bluetooth_init() {
if hciattach ttyBt qca ${BT_RATE:-3000000} -t30 ${BT_FLOW:-flow} unused ${BT_MACADDR} >${HCIATTACH_LOG} 2>&1; then
# hciattach performs a reset to load the new firmware and needs some time to be ready
sleep 1
# Verify if firmware was loaded successfully
bdaddr >/dev/null 2>&1 && return
return
fi
sleep 1

View File

@ -0,0 +1,72 @@
From: Gabriel Valcazar <gabriel.valcazar@digi.com>
Date: Mon, 5 Mar 2018 10:00:23 +0100
Subject: [PATCH] dhclient: Check if the rebind time has expired when renewing
the lease
If the system time suffers a big jump, the client will start the renewal
process but it will end prematurely due to the expiry of the lease time. By
adding this check, a time jump can be detected and the active lease can be
updated with the correct expiry dates.
https://jira.digi.com/browse/DEL-5233
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
---
client/dhclient.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/client/dhclient.c b/client/dhclient.c
index dcf3f1a..9074373 100644
--- a/client/dhclient.c
+++ b/client/dhclient.c
@@ -101,6 +101,8 @@ char *mockup_relay = NULL;
char *progname = NULL;
+TIME time_of_binding;
+
void run_stateless(int exit_mode, u_int16_t port);
static isc_result_t write_duid(struct data_string *duid);
@@ -1440,6 +1442,9 @@ void bind_lease (client)
client->active = client->new;
client->new = NULL;
+ /* Save the time at which the binding occurred. */
+ time_of_binding = cur_time;
+
/* Set up a timeout to start the renewal process. */
tv.tv_sec = client->active->renewal;
tv.tv_usec = ((client->active->renewal - cur_tv.tv_sec) > 1) ?
@@ -1472,6 +1477,30 @@ void state_bound (cpp)
ASSERT_STATE(state, S_BOUND);
+ /*
+ * The T2 lease time for the active lease should never be expired when
+ * reaching this state. If so, it means there has been a time jump in
+ * the system's clock. In this case, update the lease with the correct
+ * times and create a new state_bound timeout.
+ */
+ if (cur_time > client->active->rebind) {
+ struct timeval tv;
+
+ TIME time_jump = cur_time - time_of_binding;
+ client->active->renewal += time_jump;
+ client->active->rebind += time_jump;
+ client->active->expiry += time_jump;
+
+ rewrite_client_leases();
+
+ /* Set up a timeout to start the renewal process. */
+ tv.tv_sec = client->active->renewal;
+ tv.tv_usec = ((client->active->renewal - cur_tv.tv_sec) > 1) ?
+ random() % 1000000 : cur_tv.tv_usec;
+ add_timeout(&tv, state_bound, client, 0, 0);
+ return;
+ }
+
/* T1 has expired. */
make_request (client, client -> active);
client -> xid = client -> packet.xid;

View File

@ -2,4 +2,7 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
SRC_URI += " file://0001-keep-resolv.conf-rights.patch"
SRC_URI += " \
file://0001-keep-resolv.conf-rights.patch \
file://0002-dhclient-Check-if-the-rebind-time-has-expired-when-r.patch \
"