From a3c190dfffe896a1880afe18783c17e40319664c Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Mon, 15 Apr 2019 17:56:39 +0200 Subject: [PATCH 01/37] meta-digi: revert revisions to AUTOREV Signed-off-by: Gabriel Valcazar --- meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc | 2 +- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb | 2 +- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb | 2 +- .../recipes-digi/trustfence/trustfence-sign-tools_git.bb | 4 ++-- .../kernel-module-qualcomm/kernel-module-qualcomm.bb | 5 ++--- meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc | 4 ++-- .../recipes-digi/cloudconnector/cloudconnector_git.bb | 4 ++-- .../recipes-digi/dey-examples/awsiotsdk-demo_git.bb | 2 +- .../recipes-digi/dey-examples/dey-examples-cryptochip.bb | 2 +- .../recipes-digi/dey-examples/dey-examples-digiapix.bb | 2 +- meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc | 2 +- meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb | 4 ++-- 12 files changed, 17 insertions(+), 18 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc index 4eb65481e..ea0514929 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc @@ -18,7 +18,7 @@ S = "${WORKDIR}/git" UBOOT_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}u-boot-denx.git', '${DIGI_GITHUB_GIT}/u-boot.git', d)}" SRC_URI = " \ - ${UBOOT_GIT_URI};nobranch=1 \ + ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ " SRC_URI_append = " \ diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb index f9165b3f5..3cf75fbd9 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb @@ -3,6 +3,6 @@ require digi-u-boot.inc SRCBRANCH = "v2017.03/maint" -SRCREV = "244143fb841069220bab9854eabfb1819db96bc3" +SRCREV = "${AUTOREV}" COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul|ccimx8x)" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb index e4366150c..763c3b386 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb @@ -3,6 +3,6 @@ require digi-u-boot.inc SRCBRANCH = "v2018.03/maint" -SRCREV = "83483e6e49ed953be21e18eceb94e8f4b89b49cb" +SRCREV = "${AUTOREV}" COMPATIBLE_MACHINE = "(ccimx8x)" diff --git a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb index fff05b4e2..1d4ca1570 100644 --- a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb +++ b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425 DEPENDS = "trustfence-cst coreutils util-linux" SRCBRANCH = "v2017.03/maint" -SRCREV = "244143fb841069220bab9854eabfb1819db96bc3" +SRCREV = "${AUTOREV}" S = "${WORKDIR}" @@ -14,7 +14,7 @@ S = "${WORKDIR}" UBOOT_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}u-boot-denx.git', '${DIGI_GITHUB_GIT}/u-boot.git', d)}" SRC_URI = " \ - ${UBOOT_GIT_URI};nobranch=1 \ + ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ file://trustfence-sign-kernel.sh;name=kernel-script \ file://sign_uimage;name=kernel-sign \ file://encrypt_uimage;name=kernel-encrypt \ diff --git a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb index d5c22441b..6b7c4cf40 100644 --- a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb +++ b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb @@ -11,13 +11,12 @@ PV_ccimx8x = "v4.0.11.208Q" SRCBRANCH = "qca6564/dey-2.6/maint" SRCBRANCH_ccimx8x = "qca6574/dey-2.6/maint" -SRCREV = "4d4898c96c4e7255acedb84dff50e81304639a04" -SRCREV_ccimx8x = "3fcfaf0ee10284ceac58b1e6e0ef19b527588fa9" +SRCREV = "${AUTOREV}" QCOM_GIT_URI = "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_MTK_GIT}linux/qcacld-2.0.git;protocol=ssh', '${DIGI_GITHUB_GIT}/qcacld-2.0.git', d)}" SRC_URI = " \ - ${QCOM_GIT_URI};nobranch=1 \ + ${QCOM_GIT_URI};branch=${SRCBRANCH} \ " # Selects whether the interface is SDIO or PCI diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc index 9f054e194..3a6cb17bb 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc @@ -5,10 +5,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" LOCALVERSION = "-dey" SRCBRANCH = "v4.14/dey-2.6/maint" -SRCREV = "59580bb8c9cbaf78a4f263bd820284dbca3dc6c3" +SRCREV = "${AUTOREV}" # Select internal or Github Linux repo LINUX_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}linux-2.6.git', '${DIGI_GITHUB_GIT}/linux.git', d)}" -SRC_URI = "${LINUX_GIT_URI};nobranch=1" +SRC_URI = "${LINUX_GIT_URI};branch=${SRCBRANCH}" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb index be098cd2c..256a53e8b 100644 --- a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb +++ b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb @@ -8,14 +8,14 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MPL-2.0;md5=815ca599c9df247a0c7 DEPENDS = "confuse openssl recovery-utils zlib" SRCBRANCH = "master" -SRCREV = "76bade349e5ef9eaa72c689db955fb6d9df9c7d4" +SRCREV = "${AUTOREV}" CC_STASH = "gitsm://git@stash.digi.com/cc/cc_dey.git;protocol=ssh" CC_GITHUB = "gitsm://github.com/digi-embedded/cc_dey.git;protocol=git" CC_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${CC_STASH}', '${CC_GITHUB}', d)}" -SRC_URI = "${CC_GIT_URI};nobranch=1" +SRC_URI = "${CC_GIT_URI};branch=${SRCBRANCH}" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb b/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb index 982ed2b7f..6b9a696a6 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb @@ -16,7 +16,7 @@ AWS_USER_LED_ccimx6ulsbc ?= "488" AWS_USER_LED_ccimx6sbc ?= "34" AWS_USER_LED_ccimx6qpsbc ?= "34" -SRC_URI = "${DEY_EXAMPLES_GIT_URI};nobranch=1" +SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}" S = "${WORKDIR}/git/awsiot-sample" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb index f784cd3cf..ba7235f4d 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425 DEPENDS = "cryptoauthlib" -SRC_URI = "${DEY_EXAMPLES_GIT_URI};nobranch=1" +SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}" S = "${WORKDIR}/git/cryptochip-get-random" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb index cb8ac53ec..f5551e11e 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca DEPENDS = "libdigiapix" -SRC_URI = "${DEY_EXAMPLES_GIT_URI};nobranch=1" +SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc index 69daaa4d6..80bf22f6d 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc @@ -1,7 +1,7 @@ # Copyright (C) 2019, Digi International Inc. SRCBRANCH = "dey-2.6/maint" -SRCREV = "e8baba6de87ff637afe68493957ec114b2aa38d7" +SRCREV = "${AUTOREV}" DEY_EXAMPLES_STASH = "${DIGI_MTK_GIT}dey/dey-examples.git;protocol=ssh" DEY_EXAMPLES_GITHUB = "${DIGI_GITHUB_GIT}/dey-examples.git;protocol=git" diff --git a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb index 2a7cfadae..7cc92c8c4 100644 --- a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb +++ b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca DEPENDS = "libsoc libsocketcan" SRCBRANCH ?= "dey-2.6/maint" -SRCREV = "b4074cb711fb4b2b8442af6503a3efd737f87bd7" +SRCREV = "${AUTOREV}" LIBDIGIAPIX_URI_STASH = "${DIGI_MTK_GIT}dey/libdigiapix.git;protocol=ssh" LIBDIGIAPIX_URI_GITHUB = "git://github.com/digi-embedded/libdigiapix.git;protocol=git" @@ -17,7 +17,7 @@ LIBDIGIAPIX_URI_GITHUB = "git://github.com/digi-embedded/libdigiapix.git;protoco LIBDIGIAPIX_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${LIBDIGIAPIX_URI_STASH}', '${LIBDIGIAPIX_URI_GITHUB}', d)}" SRC_URI = " \ - ${LIBDIGIAPIX_GIT_URI};nobranch=1 \ + ${LIBDIGIAPIX_GIT_URI};branch=${SRCBRANCH} \ file://99-digiapix.rules \ file://libdigiapix.conf \ file://digiapix.sh \ From 78e8c021b29005235f3432567bffc4eb3e70d57b Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 7 May 2019 18:09:17 +0200 Subject: [PATCH 02/37] busybox http: add systemd service Currently in a systemd based init, the httpd server is not launched. A systemd service is needed, so add it. Also install a CGI script that allows to use the device for the NetworkManager connectivity check. https://jira.digi.com/browse/DEL-6577 Signed-off-by: Javier Viguera --- .../busybox/busybox/busybox-httpd.service.in | 12 ++++++++++++ meta-digi-dey/recipes-core/busybox/busybox/nm | 6 ++++++ .../recipes-core/busybox/busybox_1.29.%.bbappend | 14 ++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 meta-digi-dey/recipes-core/busybox/busybox/busybox-httpd.service.in create mode 100644 meta-digi-dey/recipes-core/busybox/busybox/nm diff --git a/meta-digi-dey/recipes-core/busybox/busybox/busybox-httpd.service.in b/meta-digi-dey/recipes-core/busybox/busybox/busybox-httpd.service.in new file mode 100644 index 000000000..33593fc7b --- /dev/null +++ b/meta-digi-dey/recipes-core/busybox/busybox/busybox-httpd.service.in @@ -0,0 +1,12 @@ +[Unit] +Description=Busybox HTTP daemon +After=network.target + +[Service] +Type=forking +ExecStart=@sbindir@/httpd -h /srv/www +Restart=always +RestartSec=5 + +[Install] +WantedBy=multi-user.target diff --git a/meta-digi-dey/recipes-core/busybox/busybox/nm b/meta-digi-dey/recipes-core/busybox/busybox/nm new file mode 100644 index 000000000..10f8c1053 --- /dev/null +++ b/meta-digi-dey/recipes-core/busybox/busybox/nm @@ -0,0 +1,6 @@ +#!/bin/sh + +printf "Content-Type: text/plain; charset=utf-8\r\n" +printf "X-NetworkManager-Status: online\r\n" +printf "\r\n" +printf "NetworkManager is online\r\n" diff --git a/meta-digi-dey/recipes-core/busybox/busybox_1.29.%.bbappend b/meta-digi-dey/recipes-core/busybox/busybox_1.29.%.bbappend index 680b46a97..b1aabfeb7 100644 --- a/meta-digi-dey/recipes-core/busybox/busybox_1.29.%.bbappend +++ b/meta-digi-dey/recipes-core/busybox/busybox_1.29.%.bbappend @@ -8,6 +8,8 @@ SRC_URI += "file://standby \ file://busybox-ntpd \ file://index.html \ file://digi-logo.png \ + file://busybox-httpd.service.in \ + file://nm \ file://busybox-acpid \ file://acpid.map \ file://pswitch-standby \ @@ -22,6 +24,11 @@ INITSCRIPT_PARAMS_${PN}-hwclock = "start 20 S . stop 20 0 6 ." FILES_${PN}_append = " ${systemd_unitdir}/system-sleep/" +# HTTPD package +FILES_${PN}-httpd_append = " ${systemd_unitdir}/system/busybox-httpd.service" +SYSTEMD_PACKAGES += "${PN}-httpd" +SYSTEMD_SERVICE_${PN}-httpd = "busybox-httpd.service" + # NTPD package PACKAGES =+ "${PN}-ntpd" FILES_${PN}-ntpd = "${sysconfdir}/init.d/busybox-ntpd" @@ -46,8 +53,15 @@ do_install_append() { install -m 0755 ${WORKDIR}/busybox-ntpd ${D}${sysconfdir}/init.d/ fi if grep "CONFIG_HTTPD=y" ${WORKDIR}/defconfig; then + install -d ${D}/srv/www/cgi-bin install -m 0644 ${WORKDIR}/index.html ${D}/srv/www/ install -m 0644 ${WORKDIR}/digi-logo.png ${D}/srv/www/ + install -m 0755 ${WORKDIR}/nm ${D}/srv/www/cgi-bin/ + if ${HAS_SYSTEMD}; then + install -d ${D}${systemd_unitdir}/system + sed 's,@sbindir@,${sbindir},g' < ${WORKDIR}/busybox-httpd.service.in \ + > ${D}${systemd_unitdir}/system/busybox-httpd.service + fi fi # Install one standby script or another depending on having systemd or not if ${HAS_SYSTEMD}; then From af904677c69bf383d2398160c1ef45903a7e21eb Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 7 May 2019 18:29:43 +0200 Subject: [PATCH 03/37] qualcomm: remove hardcoded enable_p2p=0 parameter P2P disabled is the default in the kernel module, so passing here the parameter to 'modprobe' does nothing but prevents to set the parameter in the kernel command line. Signed-off-by: Javier Viguera --- .../kernel-module-qualcomm/kernel-module-qualcomm/qualcomm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm/qualcomm.sh b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm/qualcomm.sh index c02aa5f17..21a0aaac0 100644 --- a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm/qualcomm.sh +++ b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm/qualcomm.sh @@ -103,7 +103,7 @@ esac # and reduce the console log level to avoid debug messages at boot time LOGLEVEL="$(sed -ne 's,^kernel.printk[^=]*=[[:blank:]]*\(.*\)$,\1,g;T;p' /etc/sysctl.conf 2>/dev/null)" [ -n "${LOGLEVEL}" ] && sysctl -q -w kernel.printk="${LOGLEVEL}" -modprobe wlan enable_p2p=0 +modprobe wlan # Verify the interface is present [ -d "/sys/class/net/wlan0" ] || log "3" "[ERROR] Loading qca6564 module" From 5dc6bf0ff15377b6806a220522b7c1524bc82c31 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Fri, 10 May 2019 12:25:15 +0200 Subject: [PATCH 04/37] init-ifupdown: support establishing a P2P link Co-authored-by: Isaac Hermida Signed-off-by: Javier Viguera --- .../init-ifupdown/init-ifupdown-1.0/p2plink | 79 +++++++++++++++++++ .../init-ifupdown/init-ifupdown_1.0.bbappend | 9 ++- 2 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/p2plink diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/p2plink b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/p2plink new file mode 100644 index 000000000..539127e16 --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/p2plink @@ -0,0 +1,79 @@ +#!/bin/sh +# +# Copyright 2019, Digi International Inc. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at http://mozilla.org/MPL/2.0/. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# +# Description: create P2P link +# +# Configuration variables in '/etc/network/interfaces': +# Mandatory: +# p2p-peer-mac +# Optional: +# p2p-discover-window +# p2p-freq +# p2p-local-address +# p2p-local-netmask +# + +# Execute only for the p2p0 interface +[ "${IFACE}" = "p2p0" ] || exit 0 + +log() { + systemd-cat -p "${1}" -t p2plink printf "%s" "${2}" +} + +# Exit without error if the peer MAC address is not available +[ -z "${IF_P2P_PEER_MAC}" ] && { log info "Peer MAC address not available"; exit 0; } + +# wpa_cli reports lowercase MACs, so convert to lowercase +IF_P2P_PEER_MAC="$(echo "${IF_P2P_PEER_MAC}" | tr 'A-F' 'a-f')" + +if [ "${MODE}" = "start" ]; then + wpa_cli -i"${IFACE}" p2p_find && sleep 1 + for _ in $(seq "${IF_P2P_DISCOVER_WINDOW:=120}"); do + wpa_cli -i"${IFACE}" p2p_peers discovered | grep -i -qs "${IF_P2P_PEER_MAC}" && { peer_found="1"; break; } + sleep 1 + done + wpa_cli -i"${IFACE}" p2p_stop_find + [ -z "${peer_found}" ] && { log err "p2p discover: peer NOT found"; exit 1; } + + # Peer found, establish the link + log info "establish P2P link" + wpa_cli -i"${IFACE}" p2p_connect "${IF_P2P_PEER_MAC}" pbc go_intent=7 ${IF_P2P_FREQ:+freq=${IF_P2P_FREQ}} + for _ in $(seq 20); do + if wpa_cli status 2>&1 | grep -qs "^wpa_state=COMPLETED$"; then + if wpa_cli status 2>&1 | grep -qs "^mode=P2P GO$"; then + # P2P GO side: verify the remote peer has connected + wpa_cli all_sta 2>&1 | grep -i -qs "^p2p_device_addr=${IF_P2P_PEER_MAC}$" && p2p_link_found="1" + elif wpa_cli status 2>&1 | grep -qs "^mode=station$"; then + p2p_link_found="1" + fi + fi + if [ -n "${p2p_link_found}" ]; then + # Configure the newly created interface + if [ -n "${IF_P2P_LOCAL_ADDRESS}" ]; then + for P2P_IFNAME in $(basename $(echo /sys/class/net/p2p-p2p0-*)); do + echo "${P2P_IFNAME}" | grep -qs 'p2p-p2p0-\*' && continue + ifconfig "${P2P_IFNAME}" "${IF_P2P_LOCAL_ADDRESS}" ${IF_P2P_LOCAL_NETMASK:+netmask ${IF_P2P_LOCAL_NETMASK}} up + break + done + fi + break + fi + sleep 1 + done + + # Give 'ifupdown' a proper error return value if 'wpa_state' is NOT COMPLETED + [ -n "${p2p_link_found}" ] && true || false +fi diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend index 7fc60a0b3..d64563721 100644 --- a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend @@ -8,10 +8,11 @@ INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 80 0 6 1 ." inherit systemd SRC_URI_append = " \ + file://ifupdown.service \ file://interfaces.br0.example \ file://interfaces.p2p \ + file://p2plink \ file://resolv \ - file://ifupdown.service \ " SRC_URI_append_ccimx6qpsbc = "\ @@ -37,8 +38,10 @@ SYSTEMD_SERVICE_${PN} = "ifupdown.service" WPA_DRIVER ?= "nl80211" do_install_append() { - # Install DNS servers handler - install -m 0755 ${WORKDIR}/resolv ${D}${sysconfdir}/network/if-up.d/resolv + # Install 'ifupdown' scripts + install -m 0755 ${WORKDIR}/p2plink ${D}${sysconfdir}/network/if-up.d/ + install -m 0755 ${WORKDIR}/resolv ${D}${sysconfdir}/network/if-up.d/ + # Install systemd service install -d ${D}${systemd_unitdir}/system/ install -m 0644 ${WORKDIR}/ifupdown.service ${D}${systemd_unitdir}/system/ From 1ec2441db452b9b6b2b3fdbb6c356cb2528fe62b Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 14 May 2019 16:53:44 +0200 Subject: [PATCH 05/37] networkmanager: allow to configure the connectivity response timeout 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 --- ...d-config-option-for-response-timeout.patch | 215 ++++++++++++++++++ .../networkmanager/networkmanager_%.bbappend | 3 +- 2 files changed, 217 insertions(+), 1 deletion(-) create mode 100644 meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/0002-connectivity-add-config-option-for-response-timeout.patch diff --git a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/0002-connectivity-add-config-option-for-response-timeout.patch b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/0002-connectivity-add-config-option-for-response-timeout.patch new file mode 100644 index 000000000..175a1b4c2 --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/0002-connectivity-add-config-option-for-response-timeout.patch @@ -0,0 +1,215 @@ +From: Javier Viguera +Date: Tue, 14 May 2019 16:44:03 +0200 +Subject: [PATCH] connectivity: add config option for response timeout + +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 +--- + src/nm-config-data.c | 25 +++++++++++++++++++++++++ + src/nm-config-data.h | 2 ++ + src/nm-config.c | 6 ++++++ + src/nm-config.h | 1 + + src/nm-connectivity.c | 11 ++++++++++- + 5 files changed, 44 insertions(+), 1 deletion(-) + +diff --git a/src/nm-config-data.c b/src/nm-config-data.c +index 8d84e74abc5a..1493f69a2664 100644 +--- a/src/nm-config-data.c ++++ b/src/nm-config-data.c +@@ -68,6 +68,7 @@ NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_CONNECTIVITY_ENABLED, + PROP_CONNECTIVITY_URI, + PROP_CONNECTIVITY_INTERVAL, ++ PROP_CONNECTIVITY_TIMEOUT, + PROP_CONNECTIVITY_RESPONSE, + PROP_NO_AUTO_DEFAULT, + ); +@@ -93,6 +94,7 @@ typedef struct { + char *uri; + char *response; + guint interval; ++ guint timeout; + } connectivity; + + int autoconnect_retries_default; +@@ -269,6 +271,14 @@ nm_config_data_get_connectivity_interval (const NMConfigData *self) + return NM_CONFIG_DATA_GET_PRIVATE (self)->connectivity.interval; + } + ++guint ++nm_config_data_get_connectivity_timeout (const NMConfigData *self) ++{ ++ g_return_val_if_fail (self, 0); ++ ++ return NM_CONFIG_DATA_GET_PRIVATE (self)->connectivity.timeout; ++} ++ + const char * + nm_config_data_get_connectivity_response (const NMConfigData *self) + { +@@ -1499,6 +1509,7 @@ nm_config_data_diff (NMConfigData *old_data, NMConfigData *new_data) + + if ( nm_config_data_get_connectivity_enabled (old_data) != nm_config_data_get_connectivity_enabled (new_data) + || nm_config_data_get_connectivity_interval (old_data) != nm_config_data_get_connectivity_interval (new_data) ++ || nm_config_data_get_connectivity_timeout (old_data) != nm_config_data_get_connectivity_timeout (new_data) + || g_strcmp0 (nm_config_data_get_connectivity_uri (old_data), nm_config_data_get_connectivity_uri (new_data)) + || g_strcmp0 (nm_config_data_get_connectivity_response (old_data), nm_config_data_get_connectivity_response (new_data))) + changes |= NM_CONFIG_CHANGE_CONNECTIVITY; +@@ -1547,6 +1558,9 @@ get_property (GObject *object, + case PROP_CONNECTIVITY_INTERVAL: + g_value_set_uint (value, nm_config_data_get_connectivity_interval (self)); + break; ++ case PROP_CONNECTIVITY_TIMEOUT: ++ g_value_set_uint (value, nm_config_data_get_connectivity_timeout (self)); ++ break; + case PROP_CONNECTIVITY_RESPONSE: + g_value_set_string (value, nm_config_data_get_connectivity_response (self)); + break; +@@ -1652,6 +1666,11 @@ constructed (GObject *object) + priv->connectivity.interval = _nm_utils_ascii_str_to_int64 (str, 10, 0, G_MAXUINT, NM_CONFIG_DEFAULT_CONNECTIVITY_INTERVAL); + g_free (str); + ++ /* On missing config value, fallback to the default value */ ++ str = g_key_file_get_string (priv->keyfile, NM_CONFIG_KEYFILE_GROUP_CONNECTIVITY, "timeout", NULL); ++ priv->connectivity.timeout = _nm_utils_ascii_str_to_int64 (str, 10, 1, G_MAXUINT, NM_CONFIG_DEFAULT_CONNECTIVITY_TIMEOUT); ++ g_free (str); ++ + priv->dns_mode = nm_strstrip (g_key_file_get_string (priv->keyfile, NM_CONFIG_KEYFILE_GROUP_MAIN, "dns", NULL)); + priv->rc_manager = nm_strstrip (g_key_file_get_string (priv->keyfile, NM_CONFIG_KEYFILE_GROUP_MAIN, "rc-manager", NULL)); + +@@ -1803,6 +1822,12 @@ nm_config_data_class_init (NMConfigDataClass *config_class) + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS); + ++ obj_properties[PROP_CONNECTIVITY_TIMEOUT] = ++ g_param_spec_uint(NM_CONFIG_DATA_CONNECTIVITY_TIMEOUT, "", "", ++ 0, G_MAXUINT, 0, ++ G_PARAM_READABLE | ++ G_PARAM_STATIC_STRINGS); ++ + obj_properties[PROP_CONNECTIVITY_RESPONSE] = + g_param_spec_string (NM_CONFIG_DATA_CONNECTIVITY_RESPONSE, "", "", + NULL, +diff --git a/src/nm-config-data.h b/src/nm-config-data.h +index b52ddcc4f85f..a0b35ac972af 100644 +--- a/src/nm-config-data.h ++++ b/src/nm-config-data.h +@@ -35,6 +35,7 @@ + #define NM_CONFIG_DATA_CONNECTIVITY_ENABLED "connectivity-enabled" + #define NM_CONFIG_DATA_CONNECTIVITY_URI "connectivity-uri" + #define NM_CONFIG_DATA_CONNECTIVITY_INTERVAL "connectivity-interval" ++#define NM_CONFIG_DATA_CONNECTIVITY_TIMEOUT "connectivity-timeout" + #define NM_CONFIG_DATA_CONNECTIVITY_RESPONSE "connectivity-response" + #define NM_CONFIG_DATA_NO_AUTO_DEFAULT "no-auto-default" + #define NM_CONFIG_DATA_DNS_MODE "dns" +@@ -161,6 +162,7 @@ char **nm_config_data_get_plugins (const NMConfigData *config_data, gboolean all + gboolean nm_config_data_get_connectivity_enabled (const NMConfigData *config_data); + const char *nm_config_data_get_connectivity_uri (const NMConfigData *config_data); + guint nm_config_data_get_connectivity_interval (const NMConfigData *config_data); ++guint nm_config_data_get_connectivity_timeout (const NMConfigData *config_data); + const char *nm_config_data_get_connectivity_response (const NMConfigData *config_data); + + int nm_config_data_get_autoconnect_retries_default (const NMConfigData *config_data); +diff --git a/src/nm-config.c b/src/nm-config.c +index 628eca4f13f0..87c7791a49c5 100644 +--- a/src/nm-config.c ++++ b/src/nm-config.c +@@ -60,6 +60,7 @@ struct NMConfigCmdLineOptions { + * set or not via GOptionEntry + */ + int connectivity_interval; ++ int connectivity_timeout; + char *connectivity_response; + + /* @first_start is not provided by command line. It is a convenient hack +@@ -470,6 +471,7 @@ _nm_config_cmd_line_options_clear (NMConfigCmdLineOptions *cli) + g_clear_pointer (&cli->connectivity_uri, g_free); + g_clear_pointer (&cli->connectivity_response, g_free); + cli->connectivity_interval = -1; ++ cli->connectivity_timeout = -1; + cli->first_start = FALSE; + } + +@@ -493,6 +495,7 @@ _nm_config_cmd_line_options_copy (const NMConfigCmdLineOptions *cli, NMConfigCmd + dst->connectivity_uri = g_strdup (cli->connectivity_uri); + dst->connectivity_response = g_strdup (cli->connectivity_response); + dst->connectivity_interval = cli->connectivity_interval; ++ dst->connectivity_timeout = cli->connectivity_timeout; + dst->first_start = cli->first_start; + } + +@@ -572,6 +575,7 @@ nm_config_cmd_line_options_add_to_entries (NMConfigCmdLineOptions *cli, + /* These three are hidden for now, and should eventually just go away. */ + { "connectivity-uri", 0, G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_STRING, &cli->connectivity_uri, N_("An http(s) address for checking internet connectivity"), "http://example.com" }, + { "connectivity-interval", 0, G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_INT, &cli->connectivity_interval, N_("The interval between connectivity checks (in seconds)"), G_STRINGIFY (NM_CONFIG_DEFAULT_CONNECTIVITY_INTERVAL) }, ++ { "connectivity-timeout", 0, G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_INT, &cli->connectivity_timeout, N_("The timeout for the connectivity checks (in seconds)"), G_STRINGIFY (NM_CONFIG_DEFAULT_CONNECTIVITY_TIMEOUT) }, + { "connectivity-response", 0, G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_STRING, &cli->connectivity_response, N_("The expected start of the response"), NM_CONFIG_DEFAULT_CONNECTIVITY_RESPONSE }, + { 0 }, + }; +@@ -1119,6 +1123,8 @@ read_entire_config (const NMConfigCmdLineOptions *cli, + g_key_file_set_string (keyfile, NM_CONFIG_KEYFILE_GROUP_CONNECTIVITY, "uri", cli->connectivity_uri); + if (cli->connectivity_interval >= 0) + g_key_file_set_integer (keyfile, NM_CONFIG_KEYFILE_GROUP_CONNECTIVITY, "interval", cli->connectivity_interval); ++ if (cli->connectivity_timeout >= 0) ++ g_key_file_set_integer (keyfile, NM_CONFIG_KEYFILE_GROUP_CONNECTIVITY, "timeout", cli->connectivity_timeout); + if (cli->connectivity_response && cli->connectivity_response[0]) + g_key_file_set_string (keyfile, NM_CONFIG_KEYFILE_GROUP_CONNECTIVITY, "response", cli->connectivity_response); + } +diff --git a/src/nm-config.h b/src/nm-config.h +index c65572ce3fe5..654567779282 100644 +--- a/src/nm-config.h ++++ b/src/nm-config.h +@@ -39,6 +39,7 @@ + #define NM_CONFIG_SIGNAL_CONFIG_CHANGED "config-changed" + + #define NM_CONFIG_DEFAULT_CONNECTIVITY_INTERVAL 300 ++#define NM_CONFIG_DEFAULT_CONNECTIVITY_TIMEOUT 20 + #define NM_CONFIG_DEFAULT_CONNECTIVITY_RESPONSE "NetworkManager is online" /* NOT LOCALIZED */ + + #define NM_CONFIG_KEYFILE_LIST_SEPARATOR ',' +diff --git a/src/nm-connectivity.c b/src/nm-connectivity.c +index 8a6e955ae56f..6a491eb22e96 100644 +--- a/src/nm-connectivity.c ++++ b/src/nm-connectivity.c +@@ -101,6 +101,7 @@ typedef struct { + char *response; + gboolean enabled; + guint interval; ++ guint timeout; + NMConfig *config; + #if WITH_CONCHECK + struct { +@@ -601,7 +602,7 @@ nm_connectivity_check_start (NMConnectivity *self, + curl_easy_setopt (ehandle, CURLOPT_INTERFACE, cb_data->ifspec); + curl_multi_add_handle (priv->concheck.curl_mhandle, ehandle); + +- cb_data->timeout_id = g_timeout_add_seconds (20, _timeout_cb, cb_data); ++ cb_data->timeout_id = g_timeout_add_seconds (priv->timeout, _timeout_cb, cb_data); + + _LOG2D ("start request to '%s'", priv->uri); + return cb_data; +@@ -652,6 +653,7 @@ update_config (NMConnectivity *self, NMConfigData *config_data) + NMConnectivityPrivate *priv = NM_CONNECTIVITY_GET_PRIVATE (self); + const char *uri, *response; + guint interval; ++ guint timeout; + gboolean enabled; + gboolean changed = FALSE; + +@@ -704,6 +706,13 @@ update_config (NMConnectivity *self, NMConfigData *config_data) + changed = TRUE; + } + ++ /* Set the timeout */ ++ timeout = nm_config_data_get_connectivity_timeout (config_data); ++ if (priv->timeout != timeout) { ++ priv->timeout = timeout; ++ changed = TRUE; ++ } ++ + /* Set the response. */ + response = nm_config_data_get_connectivity_response (config_data); + if (!nm_streq0 (response, priv->response)) { diff --git a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager_%.bbappend b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager_%.bbappend index 25769aeec..e5a03b41d 100644 --- a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager_%.bbappend +++ b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager_%.bbappend @@ -1,9 +1,10 @@ -# Copyright (C) 2017, Digi International Inc. +# Copyright (C) 2017-2019, Digi International Inc. FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" SRC_URI += " \ file://0001-networkmanager-trigger-dispatcher-on-per-device-conn.patch \ + file://0002-connectivity-add-config-option-for-response-timeout.patch \ file://NetworkManager.conf \ file://networkmanager-init \ file://nm.cellular \ From 1a79df51c35aca47e5864977c5e4826066b6af3d Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 8 May 2019 12:21:42 +0200 Subject: [PATCH 06/37] networkmanager: install main dispatcher script 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 --- .../networkmanager/01dispatcher | 27 +++++++++++++++++++ .../networkmanager/networkmanager/ifdownup | 27 +++++++++++++++++++ .../networkmanager/networkmanager_%.bbappend | 10 +++++++ 3 files changed, 64 insertions(+) create mode 100644 meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/01dispatcher create mode 100644 meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/ifdownup diff --git a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/01dispatcher b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/01dispatcher new file mode 100644 index 000000000..9b20f1f65 --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/01dispatcher @@ -0,0 +1,27 @@ +#!/bin/sh +# +# Copyright 2019, Digi International Inc. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at http://mozilla.org/MPL/2.0/. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# +# Description: Generic dispatcher script for NetworkManager +# + +case "${2}" in + up | down | connectivity-change | device-connectivity-change) + run-parts -a "${1}" -a "${2}" "/etc/NetworkManager/dispatcher.d/${2}.d" + ;; + *) + # Do nothing + ;; +esac diff --git a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/ifdownup b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/ifdownup new file mode 100644 index 000000000..75ff4985d --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/ifdownup @@ -0,0 +1,27 @@ +#!/bin/sh +# +# Copyright 2019, Digi International Inc. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at http://mozilla.org/MPL/2.0/. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# +# Description: disconnect/reconnect the interface that generated the +# 'device-connectivity-change' event +# + +log() { + systemd-cat -p "${1}" -t ifdownup printf "%s" "${2}" +} + +log info "device-connectivity-change detected on interface ${DEVICE_IP_IFACE}" +nmcli device disconnect "${DEVICE_IP_IFACE}" +nmcli connection up "${CONNECTION_ID}" diff --git a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager_%.bbappend b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager_%.bbappend index e5a03b41d..3fd7f2ec0 100644 --- a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager_%.bbappend +++ b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager_%.bbappend @@ -14,6 +14,8 @@ SRC_URI += " \ file://nm.eth1.static \ file://nm.wlan0.dhcp \ file://nm.wlan0.static \ + file://01dispatcher \ + file://ifdownup \ " # 'polkit' depends on 'consolekit', and this requires 'x11' distro feature. So @@ -91,6 +93,14 @@ do_install_append() { ${D}${sysconfdir}/NetworkManager/system-connections/nm.cellular fi + # Install main dispatcher script and create directories + install -d ${D}${sysconfdir}/NetworkManager/dispatcher.d/up.d \ + ${D}${sysconfdir}/NetworkManager/dispatcher.d/down.d \ + ${D}${sysconfdir}/NetworkManager/dispatcher.d/connectivity-change.d \ + ${D}${sysconfdir}/NetworkManager/dispatcher.d/device-connectivity-change.d + install -m 0755 ${WORKDIR}/01dispatcher ${D}${sysconfdir}/NetworkManager/dispatcher.d/ + install -m 0755 ${WORKDIR}/ifdownup ${D}${sysconfdir}/NetworkManager/dispatcher.d/device-connectivity-change.d/ + # Disable terminal colors by default install -d ${D}${sysconfdir}/terminal-colors.d touch ${D}${sysconfdir}/terminal-colors.d/nmcli.disable From c93c116f2c25d0fb5edc6da08b14fc5b80184eb4 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Fri, 10 May 2019 17:38:13 +0200 Subject: [PATCH 07/37] networkmanager: install dispatcher to create P2P bridge https://jira.digi.com/browse/DEL-6576 Co-authored-by: Isaac Hermida Signed-off-by: Javier Viguera --- .../networkmanager/networkmanager/p2pbridge | 65 +++++++++++++++++++ .../networkmanager/networkmanager_%.bbappend | 5 +- 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/p2pbridge diff --git a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/p2pbridge b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/p2pbridge new file mode 100644 index 000000000..5e3270fa4 --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/p2pbridge @@ -0,0 +1,65 @@ +#!/bin/sh +# +# Copyright 2019, Digi International Inc. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at http://mozilla.org/MPL/2.0/. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# +# Description: create P2P (BATMAN) bridge +# + +# This script is specific to create a P2P (BATMAN) bridge, so +# require the CONNECTION_ID to be "p2p-bridge" +[ "${CONNECTION_ID}" = "p2p-bridge" ] || exit 0 + +log() { + systemd-cat -p "${1}" -t p2pbridge printf "%s" "${2}" +} + +case "${NM_DISPATCHER_ACTION}" in +pre-up) + # Reset virtual interfaces + { batctl if destroy; ifdown -f p2p0; } >/dev/null 2>&1 + + # Bring P2P link up + log info "bring P2P link UP" + ifup p2p0 || { log err "p2p link NOT created"; exit 1; } + for P2P_IFNAME in $(basename $(echo /sys/class/net/p2p-p2p0-*)); do + echo "${P2P_IFNAME}" | grep -qs 'p2p-p2p0-\*' && continue + ifconfig "${P2P_IFNAME}" 0.0.0.0 + p2p_iface_found="1" + break + done + [ -z "${p2p_iface_found}" ] && { log err "p2p interface NOT found"; exit 1; } + + # Bring P2P bridge up + log info "bring P2P bridge up" + batctl if add "${P2P_IFNAME}" + ifconfig eth0 0.0.0.0 up + ifconfig bat0 0.0.0.0 up + brctl addif "${DEVICE_IP_IFACE}" bat0 + brctl addif "${DEVICE_IP_IFACE}" eth0 + log info "P2P bridge created" + ;; +down) + log info "bring P2P bridge DOWN" + brctl delif "${DEVICE_IP_IFACE}" bat0 + brctl delif "${DEVICE_IP_IFACE}" eth0 + batctl if destroy + + log info "bring P2P link DOWN" + ifdown -f p2p0 || { log err "unable to bring P2P link DOWN"; exit 1; } + ;; +*) + # Do nothing + ;; +esac diff --git a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager_%.bbappend b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager_%.bbappend index 3fd7f2ec0..8fee2cc8c 100644 --- a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager_%.bbappend +++ b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager_%.bbappend @@ -16,6 +16,7 @@ SRC_URI += " \ file://nm.wlan0.static \ file://01dispatcher \ file://ifdownup \ + file://p2pbridge \ " # 'polkit' depends on 'consolekit', and this requires 'x11' distro feature. So @@ -93,13 +94,15 @@ do_install_append() { ${D}${sysconfdir}/NetworkManager/system-connections/nm.cellular fi - # Install main dispatcher script and create directories + # Install dispatcher scripts and create directories install -d ${D}${sysconfdir}/NetworkManager/dispatcher.d/up.d \ ${D}${sysconfdir}/NetworkManager/dispatcher.d/down.d \ ${D}${sysconfdir}/NetworkManager/dispatcher.d/connectivity-change.d \ ${D}${sysconfdir}/NetworkManager/dispatcher.d/device-connectivity-change.d install -m 0755 ${WORKDIR}/01dispatcher ${D}${sysconfdir}/NetworkManager/dispatcher.d/ install -m 0755 ${WORKDIR}/ifdownup ${D}${sysconfdir}/NetworkManager/dispatcher.d/device-connectivity-change.d/ + install -m 0755 ${WORKDIR}/p2pbridge ${D}${sysconfdir}/NetworkManager/dispatcher.d/pre-up.d/ + ln -s ../pre-up.d/p2pbridge ${D}${sysconfdir}/NetworkManager/dispatcher.d/down.d/p2pbridge # Disable terminal colors by default install -d ${D}${sysconfdir}/terminal-colors.d From 06ce1dac423c1a891e9ddb55f0b32a8e994073c5 Mon Sep 17 00:00:00 2001 From: Jose Diaz de Grenu Date: Wed, 15 May 2019 11:48:53 +0200 Subject: [PATCH 08/37] system-monitor: add system-monitor example This recipe is an example for customer for a system-monitor. Scripts that verify the system status can be added to /etc/system-monitor.d The recovery mechanisms can be implemented on those scripts or in the system-monitor script. The software watchdog systemd support is used to guarantee that the system-monitor is running. When using this it is recommended to enable the systemd hardware watchdog support, refer to the systemd documentation for this. The systemd service provided by this recipe is not enabled by default as it is an example that needs customization. https://jira.digi.com/browse/DEL-6593 Signed-off-by: Jose Diaz de Grenu --- .../packagegroups/packagegroup-dey-core.bb | 1 + .../system-monitor/files/connectivity-check | 3 + .../files/recover-bridge-action | 8 +++ .../files/system-monitor.service | 12 ++++ .../system-monitor/files/system-monitor.sh | 60 +++++++++++++++++++ .../system-monitor/system-monitor_0.1.bb | 36 +++++++++++ 6 files changed, 120 insertions(+) create mode 100644 meta-digi-dey/recipes-core/system-monitor/files/connectivity-check create mode 100644 meta-digi-dey/recipes-core/system-monitor/files/recover-bridge-action create mode 100644 meta-digi-dey/recipes-core/system-monitor/files/system-monitor.service create mode 100644 meta-digi-dey/recipes-core/system-monitor/files/system-monitor.sh create mode 100644 meta-digi-dey/recipes-core/system-monitor/system-monitor_0.1.bb diff --git a/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb b/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb index bb324daaa..284bcfa0d 100644 --- a/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb +++ b/meta-digi-dey/recipes-core/packagegroups/packagegroup-dey-core.bb @@ -45,6 +45,7 @@ RDEPENDS_${PN} = "\ os-release \ recovery-utils \ sysinfo \ + system-monitor \ usbutils \ ${VIRTUAL-RUNTIME_base-utils} \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '${VIRTUAL-RUNTIME_base-utils-acpid}', d)} \ diff --git a/meta-digi-dey/recipes-core/system-monitor/files/connectivity-check b/meta-digi-dey/recipes-core/system-monitor/files/connectivity-check new file mode 100644 index 000000000..ec394646e --- /dev/null +++ b/meta-digi-dey/recipes-core/system-monitor/files/connectivity-check @@ -0,0 +1,3 @@ +#!/bin/sh + +[ "$(nmcli n c)" = "full" ] diff --git a/meta-digi-dey/recipes-core/system-monitor/files/recover-bridge-action b/meta-digi-dey/recipes-core/system-monitor/files/recover-bridge-action new file mode 100644 index 000000000..1c85a9c70 --- /dev/null +++ b/meta-digi-dey/recipes-core/system-monitor/files/recover-bridge-action @@ -0,0 +1,8 @@ +#!/bin/sh + +REBOOT_THRESHOLD="9" +checks_failed="${1}" + +if [ "${checks_failed}" -ge "${REBOOT_THRESHOLD}" ]; then + reboot +fi diff --git a/meta-digi-dey/recipes-core/system-monitor/files/system-monitor.service b/meta-digi-dey/recipes-core/system-monitor/files/system-monitor.service new file mode 100644 index 000000000..6cdf411cd --- /dev/null +++ b/meta-digi-dey/recipes-core/system-monitor/files/system-monitor.service @@ -0,0 +1,12 @@ +[Unit] +Description=System monitor + +[Service] +Type=notify +ExecStart=system-monitor.sh +Restart=always +RestartSec=1 +WatchdogSec=200 + +[Install] +WantedBy=multi-user.target diff --git a/meta-digi-dey/recipes-core/system-monitor/files/system-monitor.sh b/meta-digi-dey/recipes-core/system-monitor/files/system-monitor.sh new file mode 100644 index 000000000..267aca492 --- /dev/null +++ b/meta-digi-dey/recipes-core/system-monitor/files/system-monitor.sh @@ -0,0 +1,60 @@ +#!/bin/sh +#=============================================================================== +# +# system-monitor.sh +# +# Copyright (C) 2019 by Digi International Inc. +# All rights reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# !Description: Checks the system status and takes actions if the system is +# not in the desired state. +# +# The system-monitor systemd service calls this script periodically. +# +#=============================================================================== + +# Watchdog time in specified in system-monitor.service +# The script will monitor the system and kick the software watchdod +# every 1/4 of the time watchdog time configured. +WDOG_TIME_SEC=$((WATCHDOG_USEC / 1000000 / 4)) + +log() { + systemd-cat -p "${1}" -t system-monitor printf "%s" "${2}" +} + +checks_failed=0 + +monitor() +{ + # run system check actions + if run-parts -a "${checks_failed}" "/etc/system-monitor/check.d"; then + log info "system check correct" + checks_failed=0 + else + # system check failed, run recover actions + checks_failed=$((checks_failed + 1)) + log warning "system check failed (${checks_failed} consecutive checks failed so far)" + run-parts -a "${checks_failed}" "/etc/system-monitor/recover-action.d" + fi +} + +log info "started" +/bin/systemd-notify --ready + +# system-monitor main loop: +# * Monitor system status +# * Kick software watchdog +# * Wait for remaining time (if any) until next check +while true; do + loop_start=$(date +%s) + + monitor + /bin/systemd-notify WATCHDOG=1 + + time_to_wait=$((WDOG_TIME_SEC - ($(date +%s) - loop_start))) + [ ${time_to_wait} -gt 0 ] && sleep ${time_to_wait} +done diff --git a/meta-digi-dey/recipes-core/system-monitor/system-monitor_0.1.bb b/meta-digi-dey/recipes-core/system-monitor/system-monitor_0.1.bb new file mode 100644 index 000000000..3288f0cdd --- /dev/null +++ b/meta-digi-dey/recipes-core/system-monitor/system-monitor_0.1.bb @@ -0,0 +1,36 @@ +# Copyright (C) 2019 Digi International +SUMMARY = "Install and start a systemd service" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MPL-2.0;md5=815ca599c9df247a0c7f619bab123dad" + +SRC_URI = " \ + file://connectivity-check \ + file://recover-bridge-action \ + file://system-monitor.sh \ + file://system-monitor.service \ +" +S = "${WORKDIR}" + +inherit systemd + +REQUIRED_DISTRO_FEATURES= "systemd" + +SYSTEMD_SERVICE_${PN} = "system-monitor.service" + +# The system-monitor.sh script is an example that needs to be customized. +# This service also needs to be manually enabled. +SYSTEMD_AUTO_ENABLE ?= "disable" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/system-monitor.sh ${D}${bindir} + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/system-monitor.service ${D}${systemd_unitdir}/system/ + + install -d ${D}${sysconfdir}/system-monitor/check.d ${D}${sysconfdir}/system-monitor/recover-action.d + install -m 0755 ${WORKDIR}/connectivity-check ${D}${sysconfdir}/system-monitor/check.d + install -m 0755 ${WORKDIR}/recover-bridge-action ${D}${sysconfdir}/system-monitor/recover-action.d +} + +FILES_${PN} += "${systemd_unitdir}/system/system-monitor.service" From c82977e9b6d7c00a120ca776f2b65b17dd9152e2 Mon Sep 17 00:00:00 2001 From: Alex Gonzalez Date: Fri, 17 May 2019 09:29:04 +0200 Subject: [PATCH 09/37] README: Update with hotfix additions Signed-off-by: Alex Gonzalez --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index e0e01552f..084a62221 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,10 @@ Documentation is available online at https://www.digi.com/resources/documentatio * Updated AWS Greengrass core to version 1.8.0 * Added support for Code Signing Tool 3.1.0 * Changed initialization manager in ConnectCore 8X platforms to systemd +* System monitor framework +* Automatic Wi-Fi direct connection setup +* Automatic Wi-Fi extender bridge setup +* Network connection recovery framework # Known Issues and Limitations From c604091fc61c030b484bd279142149eccb5e1f75 Mon Sep 17 00:00:00 2001 From: Arturo Buzarra Date: Thu, 16 May 2019 16:13:33 +0200 Subject: [PATCH 10/37] base-files: remove platform dependency to execute the postinst function Removed the platform dependency to apply the resize to all platforms. https://jira.digi.com/browse/DEL-6609 Signed-off-by: Arturo Buzarra --- .../recipes-core/base-files/base-files_3.0.14.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-digi-dey/recipes-core/base-files/base-files_3.0.14.bbappend b/meta-digi-dey/recipes-core/base-files/base-files_3.0.14.bbappend index 60f38fef1..c676446a9 100644 --- a/meta-digi-dey/recipes-core/base-files/base-files_3.0.14.bbappend +++ b/meta-digi-dey/recipes-core/base-files/base-files_3.0.14.bbappend @@ -10,7 +10,7 @@ do_install_append() { install -m 0644 ${WORKDIR}/sysctl.conf ${D}${sysconfdir}/ } -pkg_postinst_ontarget_${PN}_ccimx6() { +pkg_postinst_ontarget_${PN}() { get_emmc_block_device() { emmc_number="$(sed -ne 's,.*mmcblk\(.\)boot0.*,\1,g;T;p' /proc/partitions)" if [ -b "/dev/mmcblk${emmc_number}" ] && From c38b5a2f52eb49693c51640a019607cde4a5634f Mon Sep 17 00:00:00 2001 From: Arturo Buzarra Date: Thu, 16 May 2019 16:16:39 +0200 Subject: [PATCH 11/37] base-files: add filter to ignore mmc RPMB partitions The Replay Protected Memory Block (RPMB) is an special storage partition that cannot be accessed via standard block layer. When a user space tool like blkid, tries to read it the kernel suffers buffer I/O errors and timeouts. This commit modifies the post installation script to filter the RPMB partitions from the mmc block devices, to avoid multiple kernel errors during the script execution. https://jira.digi.com/browse/DEL-6609 Signed-off-by: Arturo Buzarra --- .../recipes-core/base-files/base-files_3.0.14.bbappend | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-digi-dey/recipes-core/base-files/base-files_3.0.14.bbappend b/meta-digi-dey/recipes-core/base-files/base-files_3.0.14.bbappend index c676446a9..8173b2067 100644 --- a/meta-digi-dey/recipes-core/base-files/base-files_3.0.14.bbappend +++ b/meta-digi-dey/recipes-core/base-files/base-files_3.0.14.bbappend @@ -25,9 +25,9 @@ pkg_postinst_ontarget_${PN}() { DM_BLOCK_DEVICE="/dev/dm-" EMMC_BLOCK_DEVICE="$(get_emmc_block_device)" if [ -x "${RESIZE2FS}" -a -n "${EMMC_BLOCK_DEVICE}" ]; then - PARTITIONS="$(blkid | sed -ne "{s,\(^${EMMC_BLOCK_DEVICE}[^:]\+\):.*TYPE=\"ext4\".*,\1,g;T;p}" | sort -u)" + PARTITIONS="$(blkid ${EMMC_BLOCK_DEVICE}p* | sed -ne "{s,\(^${EMMC_BLOCK_DEVICE}[^:]\+\):.*TYPE=\"ext4\".*,\1,g;T;p}" | sort -u)" # Add possible device mapper devices - PARTITIONS="${PARTITIONS} $(blkid | sed -ne "{s,\(^${DM_BLOCK_DEVICE}[^:]\+\):.*TYPE=\"ext4\".*,\1,g;T;p}" | sort -u)" + PARTITIONS="${PARTITIONS} $(blkid ${DM_BLOCK_DEVICE}* | sed -ne "{s,\(^${DM_BLOCK_DEVICE}[^:]\+\):.*TYPE=\"ext4\".*,\1,g;T;p}" | sort -u)" for i in ${PARTITIONS}; do if ! ${RESIZE2FS} ${i} 2>/dev/null; then echo "ERROR: resize2fs ${i}" From 1204c236d861f8b28aeba6b0c53b8ac4d645fc3e Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Wed, 22 May 2019 17:24:01 +0200 Subject: [PATCH 12/37] firmware-qualcomm: remove 'cd' command from do_install() The 'do_install()' call was doing a 'cd' command to later do symlinks more straight forward. This 'cd' however may affect further 'do_install' appends, that expect to be working on the ${WORKDIR}. Remove the 'cd' command and instead supply the correct paths to the 'ln' commands. Signed-off-by: Hector Palacios (cherry picked from commit 54bd1e47ad024515b737aea106dc4fca374c0fb8) --- .../firmware-qualcomm/firmware-qualcomm.bb | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb index d6eca62fd..383c60370 100644 --- a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb +++ b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb @@ -62,23 +62,22 @@ do_install() { # Wifi firmware if [ "${QUALCOMM_WIFI_DRIVER}" = "community" ]; then - WIFI_FW_PATH="${D}${base_libdir}/firmware/ath10k/QCA6174/hw3.0" + WIFI_FW_PATH="${base_libdir}/firmware/ath10k/QCA6174/hw3.0" else - WIFI_FW_PATH="${D}${base_libdir}/firmware" + WIFI_FW_PATH="${base_libdir}/firmware" fi - install -d ${WIFI_FW_PATH} + install -d ${D}${WIFI_FW_PATH} # Remove preceeding 'file://' from variable with files list FW_WIFI_FILES="$(echo ${FW_QUALCOMM_WIFI} | sed -e 's,file\:\/\/,,g')" - install -m 0644 ${FW_WIFI_FILES} ${WIFI_FW_PATH} - cd ${WIFI_FW_PATH} + install -m 0644 ${FW_WIFI_FILES} ${D}${WIFI_FW_PATH} if [ "${QUALCOMM_WIFI_DRIVER}" = "community" ]; then # If using community driver, create symlink 'board.bin' to # proprietary 'fakeboar.bin' - ln -s fakeboar.bin board.bin + ln -s fakeboar.bin ${D}${WIFI_FW_PATH}/board.bin else if [ "${FW_QUALCOMM_WIFI}" = "${FW_QCA6574_WIFI_PROPRIETARY}" ]; then - ln -s qwlan30.bin athwlan.bin - ln -s otp.bin athsetup.bin + ln -s qwlan30.bin ${D}${WIFI_FW_PATH}/athwlan.bin + ln -s otp.bin ${D}${WIFI_FW_PATH}/athsetup.bin fi fi } From 471d8ad583aa80ce7cd4b8b206b62d1828901139 Mon Sep 17 00:00:00 2001 From: Alex Gonzalez Date: Thu, 11 Jul 2019 14:01:45 +0200 Subject: [PATCH 13/37] meta-digi-arm: ccimx6ul: Remove wifi machine feature for mainline bsp use. The meta-freescale-3rdparty layer used for the mainline bsp support does not support the WiFi interface on thud. WiFi is currently merged on master so it will probably be available on Zeus (2.8). Signed-off-by: Alex Gonzalez --- meta-digi-arm/conf/machine/include/ccimx6ul.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-digi-arm/conf/machine/include/ccimx6ul.inc b/meta-digi-arm/conf/machine/include/ccimx6ul.inc index 3b69bf827..d94739598 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6ul.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6ul.inc @@ -41,6 +41,7 @@ MACHINE_EXTRA_RRECOMMENDS += " \ MACHINE_EXTRA_RRECOMMENDS_remove_use-mainline-bsp = "${@bb.utils.contains('COMBINED_FEATURES', 'alsa', 'imx-alsa-plugins', '', d)}" MACHINE_FEATURES += "wifi bluetooth cryptochip" +MACHINE_FEATURES_remove_use-mainline-bsp = "wifi" # mkfs.ubifs parameters for boot partition (the one holding kernel and device tree files) # Max LEB count (-c 255) calculated for a partition of up to 32 MiB considering 128 KiB erase-block size. From 5453acf56f04e12c5203c12e1c34ac46907048e7 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Tue, 3 Sep 2019 18:41:29 +0200 Subject: [PATCH 14/37] imx-boot: update branch and SRCREV to latest NXP BSP Signed-off-by: Hector Palacios --- meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend index 4efffd116..38ccc7c4f 100644 --- a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend @@ -1,9 +1,9 @@ # Copyright 2019 Digi International, Inc. inherit boot-artifacts -# Use the v4.14 ga BSP branch -SRCBRANCH = "imx_4.14.98_2.0.0_ga" -SRCREV = "dd0234001713623c79be92b60fa88bc07b07f24f" +# Use the v4.14 latest BSP branch +SRCBRANCH = "imx_4.14.98_2.1.0" +SRCREV = "abd6ce551a7b81fc6953d32d92b24a4a1d4b214e" FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" SRC_URI_append_ccimx8x = " file://0001-iMX8QX-remove-SC_BD_FLAGS_ALT_CONFIG-flag-in-flash_r.patch" From 8b5c7100365b7e6136413fa30d87b501a3fa9de9 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Tue, 3 Sep 2019 18:42:42 +0200 Subject: [PATCH 15/37] Revert "Revert "ccimx8x: prohibit dey-image-qt from building when trustfence is enabled"" Trustfence is not yet fully supported for the CC8X. Retore the warning. This reverts commit 78534ca779b6874162a829b4cad9ffdf4e3a4515. Signed-off-by: Hector Palacios --- meta-digi-dey/classes/trustfence.bbclass | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-digi-dey/classes/trustfence.bbclass b/meta-digi-dey/classes/trustfence.bbclass index 058de583f..c9e391132 100644 --- a/meta-digi-dey/classes/trustfence.bbclass +++ b/meta-digi-dey/classes/trustfence.bbclass @@ -36,6 +36,10 @@ python () { import hashlib import os + if ("ccimx8x" in d.getVar("MACHINE", True)): + bb.fatal("Trustfence is not currently supported on the ccimx8x SOM") + return + # Secure console configuration if (d.getVar("TRUSTFENCE_CONSOLE_DISABLE", True) == "1"): d.appendVar("UBOOT_EXTRA_CONF", "CONFIG_CONSOLE_DISABLE=y ") From a38a5b75f39e6c9b2211aee7753343eeeef231d1 Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Tue, 3 Sep 2019 13:15:35 +0200 Subject: [PATCH 16/37] digi-sc-firmware: update to v1.2.5 Update the source checksums and the license md5sum. https://jira.digi.com/browse/DEL-6730 Signed-off-by: Gabriel Valcazar --- ...igi-sc-firmware_1.2.2.2.bb => digi-sc-firmware_1.2.5.bb} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename meta-digi-arm/recipes-bsp/digi-sc-firmware/{digi-sc-firmware_1.2.2.2.bb => digi-sc-firmware_1.2.5.bb} (84%) diff --git a/meta-digi-arm/recipes-bsp/digi-sc-firmware/digi-sc-firmware_1.2.2.2.bb b/meta-digi-arm/recipes-bsp/digi-sc-firmware/digi-sc-firmware_1.2.5.bb similarity index 84% rename from meta-digi-arm/recipes-bsp/digi-sc-firmware/digi-sc-firmware_1.2.2.2.bb rename to meta-digi-arm/recipes-bsp/digi-sc-firmware/digi-sc-firmware_1.2.5.bb index 761216a0f..e496ee6d0 100644 --- a/meta-digi-arm/recipes-bsp/digi-sc-firmware/digi-sc-firmware_1.2.2.2.bb +++ b/meta-digi-arm/recipes-bsp/digi-sc-firmware/digi-sc-firmware_1.2.5.bb @@ -4,15 +4,15 @@ DESCRIPTION = "i.MX System Controller Firmware, customized for Digi platforms" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb0303e4ee8b0e71c094171e2272bd44" +LIC_FILES_CHKSUM = "file://COPYING;md5=72c0f70181bb6e83eee6aab8de12a9f3" SECTION = "BSP" inherit pkgconfig deploy SRC_URI = "${DIGI_PKG_SRC}/${PN}-${PV}.tar.gz" -SRC_URI[md5sum] = "3cf34f428d9a0e98ffc7f0cd326d5dc8" -SRC_URI[sha256sum] = "5b0022857fdcbbd4c641f3753d99b8afa8f605b798be3dfd8433696657911f86" +SRC_URI[md5sum] = "4a1a7a99cda9e55388d1c491011853c6" +SRC_URI[sha256sum] = "852cdd37d37905b08cfdc4b753ce33b7364749065bac91d78cc2292481e6d6a7" S = "${WORKDIR}/${PN}-${PV}" From 74b59a3af7a122c15233b32d6eb53cdf0622d5e8 Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Tue, 3 Sep 2019 15:20:15 +0200 Subject: [PATCH 17/37] Revert "imx-boot: move m4 demos artifacts to BOOT_TOOLS directory" The imx-boot recipe expects the m4 demos to be in the root of the deploy directory when building the package. This reverts commit a0d01e1cf6f06103f85511672d31bb6eeef30abf. https://jira.digi.com/browse/DEL-6731 --- meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend | 3 --- 1 file changed, 3 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend index 38ccc7c4f..d308ac393 100644 --- a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend @@ -106,9 +106,6 @@ do_deploy () { # copy makefile (soc.mak) for reference install -m 0644 ${BOOT_STAGING}/soc.mak ${DEPLOYDIR}/${BOOT_TOOLS} - # Move all M4 demo artifacts to the imx-boot-tools folder - mv ${DEPLOY_DIR_IMAGE}/imx8qx_m4_* ${DEPLOYDIR}/${BOOT_TOOLS}/ - # copy the generated boot image to deploy path for ramc in ${UBOOT_RAM_COMBINATIONS}; do IMAGE_IMXBOOT_TARGET="" From e8dd29392fc0a432d526d12993f0f41489c71693 Mon Sep 17 00:00:00 2001 From: Arturo Buzarra Date: Tue, 3 Sep 2019 16:27:22 +0200 Subject: [PATCH 18/37] imx-alsa-plugins: add 'git' recipe to fix k4.14 build Latest meta-fsl-bsp-release tag 'rel_imx_4.14.98_2.1.0' replaces the imx-alsa-plugins recipe from the meta-freescale upstream layer to fix the build with the kernel 4.14. The commit cde60d6 ("asrc_pair: update according to latest mxc_asrc.h") fixes the build issues. https://jira.digi.com/browse/DEL-6732 Signed-off-by: Arturo Buzarra --- .../alsa/imx-alsa-plugins_git.bb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 meta-digi-dey/recipes-multimedia/alsa/imx-alsa-plugins_git.bb diff --git a/meta-digi-dey/recipes-multimedia/alsa/imx-alsa-plugins_git.bb b/meta-digi-dey/recipes-multimedia/alsa/imx-alsa-plugins_git.bb new file mode 100644 index 000000000..a642c563b --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/alsa/imx-alsa-plugins_git.bb @@ -0,0 +1,37 @@ +# Copyright (C) 2013-2016 Freescale Semiconductor +# Copyright (C) 2017-2019 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Freescale alsa-lib plugins" +LICENSE = "GPLv2" +SECTION = "multimedia" +DEPENDS = "alsa-lib" + +# For backwards compatibility +PROVIDES += "fsl-alsa-plugins" +RREPLACES_${PN} = "fsl-alsa-plugins" +RPROVIDES_${PN} = "fsl-alsa-plugins" +RCONFLICTS_${PN} = "fsl-alsa-plugins" + +LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f" + +inherit autotools pkgconfig use-imx-headers + +IMXALSA_SRC ?= "git://source.codeaurora.org/external/imx/imx-alsa-plugins.git;protocol=https" +SRCBRANCH = "MM_04.04.07_1906_L4.14.98" + +SRC_URI = "${IMXALSA_SRC};branch=${SRCBRANCH}" +SRCREV = "cde60d68ab2acee913dbfacb8aabb53d87dd3e38" +S = "${WORKDIR}/git" + +INCLUDE_DIR = "-I${STAGING_INCDIR_IMX}" + +EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}"" + +INSANE_SKIP_${PN} = "dev-so" + +FILES_${PN} += "${libdir}/alsa-lib/libasound_*.so" +FILES_${PN}-dbg += "${libdir}/alsa-lib/.debug" +FILES_${PN}-dev += "${libdir}/alsa-lib/*.la" + +COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" From acff25cf8064b2356ab7c318176ad533c2747b50 Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Wed, 4 Sep 2019 13:47:20 +0200 Subject: [PATCH 19/37] trustfence-tool: update to v2.3 This version adds support for the ccimx8x. https://jira.digi.com/browse/DEL-6684 Signed-off-by: Gabriel Valcazar --- .../trustfence/trustfence-tool_2.2.bb | 17 ----------------- .../trustfence/trustfence-tool_2.3.bb | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 17 deletions(-) delete mode 100644 meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.2.bb create mode 100644 meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.3.bb diff --git a/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.2.bb b/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.2.bb deleted file mode 100644 index 68daf94fb..000000000 --- a/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.2.bb +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (C) 2016-2018 Digi International. - -SUMMARY = "Trustfence command line tool" -SECTION = "console/tools" -LICENSE = "CLOSED" - -SRC_URI_arm = "${DIGI_PKG_SRC}/${BP}-${TUNE_ARCH}.tar.gz;name=arm" - -SRC_URI[arm.md5sum] = "443fe53304c2c3021150abc4dd7cf5d2" -SRC_URI[arm.sha256sum] = "d52b0ecd11d69a88341b01c1fdf9789500ef8ef9b0e8e12747aa85ded4d0b315" - -SRC_URI_aarch64 = "${DIGI_PKG_SRC}/${BP}-${TUNE_ARCH}.tar.gz;name=aarch64" - -SRC_URI[aarch64.md5sum] = "4608cc2594ac222578575e5ca4aecc1c" -SRC_URI[aarch64.sha256sum] = "f599e8627f798dcb43254ec52200d4d406662ad0fb79b95e57f75da870828625" - -inherit bin_package diff --git a/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.3.bb b/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.3.bb new file mode 100644 index 000000000..fb9d7a042 --- /dev/null +++ b/meta-digi-dey/recipes-core/trustfence/trustfence-tool_2.3.bb @@ -0,0 +1,17 @@ +# Copyright (C) 2016-2019 Digi International. + +SUMMARY = "Trustfence command line tool" +SECTION = "console/tools" +LICENSE = "CLOSED" + +SRC_URI_arm = "${DIGI_PKG_SRC}/${BP}-${TUNE_ARCH}.tar.gz;name=arm" + +SRC_URI[arm.md5sum] = "ef253e2c781d76820f38832ceec22ada" +SRC_URI[arm.sha256sum] = "5fc478f76848b438cc28cbdc7f8eabd63f7db4b2998a5a46d75602a80365a596" + +SRC_URI_aarch64 = "${DIGI_PKG_SRC}/${BP}-${TUNE_ARCH}.tar.gz;name=aarch64" + +SRC_URI[aarch64.md5sum] = "a109efb8a2c7b57f2e83136ada24938d" +SRC_URI[aarch64.sha256sum] = "ddb9cb94b4ffa182e479cfbcc0f57774a6c68ac813b4af747aa493c259970c5b" + +inherit bin_package From 6dee8a38a26354f2bcb361512beb74e029109e1e Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Thu, 5 Sep 2019 12:25:02 +0200 Subject: [PATCH 20/37] imx-alsa-plugins: use older revision for ccimx6/ccimx6qp The most current revision is incompatible with the v4.9 Linux UAPI. Reverting to the previous commit of the imx-alsa-plugins repo reverts the UAPI changes while keeping the same functionality, so use this revision for the ccimx6 and ccimx6qp. Signed-off-by: Gabriel Valcazar --- .../recipes-multimedia/alsa/imx-alsa-plugins_git.bbappend | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 meta-digi-dey/recipes-multimedia/alsa/imx-alsa-plugins_git.bbappend diff --git a/meta-digi-dey/recipes-multimedia/alsa/imx-alsa-plugins_git.bbappend b/meta-digi-dey/recipes-multimedia/alsa/imx-alsa-plugins_git.bbappend new file mode 100644 index 000000000..18d480d34 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/alsa/imx-alsa-plugins_git.bbappend @@ -0,0 +1,7 @@ +# Copyright (C) 2019, Digi International Inc. + +# ccimx6/ccimx6qp platforms use kernel v4.9, which is incompatible with the +# latest revision of the imx-alsa-plugins code due to UAPI changes. For these +# platforms, use an older revision which is functionally the same, but using +# the v4.9 UAPI. +SRCREV_ccimx6 = "9a63071e7734bd164017f3761b8d1944c017611f" From 6e3334798c834ba45598dd2cc4611d0e73c7f521 Mon Sep 17 00:00:00 2001 From: Francisco Gil Date: Thu, 5 Sep 2019 09:22:34 +0200 Subject: [PATCH 21/37] greengrass: add support for greengrass 1.9.2 Add support for greengrass 1.9.2 and remove it for 1.9.0. Support for 1.9.0 was never released and that version is no longer available. Signed-off-by: Francisco Gil --- .../{greengrass_1.9.0.bb => greengrass_1.9.2.bb} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename meta-digi-dey/recipes-aws/greengrass/{greengrass_1.9.0.bb => greengrass_1.9.2.bb} (81%) diff --git a/meta-digi-dey/recipes-aws/greengrass/greengrass_1.9.0.bb b/meta-digi-dey/recipes-aws/greengrass/greengrass_1.9.2.bb similarity index 81% rename from meta-digi-dey/recipes-aws/greengrass/greengrass_1.9.0.bb rename to meta-digi-dey/recipes-aws/greengrass/greengrass_1.9.2.bb index 68bbb471a..5e9afe5d5 100644 --- a/meta-digi-dey/recipes-aws/greengrass/greengrass_1.9.0.bb +++ b/meta-digi-dey/recipes-aws/greengrass/greengrass_1.9.2.bb @@ -21,9 +21,9 @@ LIC_FILES_CHKSUM = " \ file://ggc/core/THIRD-PARTY-LICENSES;md5=53b6a4caa097863bc3971d5e0ac6d1db \ " -SRC_URI[arm.md5sum] = "57e408134eccbbda40f08dbbf52101c2" -SRC_URI[arm.sha256sum] ="ded5d88a3ec1479d79c842b16fef11f91ee331bd4b79dbba1ca639b3e51922a3" +SRC_URI[arm.md5sum] = "63a1f6aae22260be19f34f278f7e7833" +SRC_URI[arm.sha256sum] ="4bc0bc8a938cdb3d846df92e502155c6ec8cbaf1b63dfa9f3cc3a51372d95af5" # For ARCH64 we use another tarball. -SRC_URI[aarch64.md5sum] = "c8e5488e302905583829f95d55d7a912" -SRC_URI[aarch64.sha256sum] ="9cd00902090e8fc34de18bf1ff21dca5e90af12ced886e6ac46e1f6899b059e1" +SRC_URI[aarch64.md5sum] = "967cd25ac77e733b0a1b42d83dc96ed1" +SRC_URI[aarch64.sha256sum] ="4cbaf91e5354fe49ded160415394413f068426c2bba13089e6b8a28775990a9c" From 82d2acc543e52175355e09f07eab10ce1c51a611 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Thu, 5 Sep 2019 12:37:17 +0200 Subject: [PATCH 22/37] weston: update patches to latest version of the recipe This was reported by the build: Some of the context lines in patches were ignored. This can lead to incorrectly applied patches. The context lines in the patches can be updated with devtool: devtool modify devtool finish --force-patch-refresh This is the result of running the above commands to have the patches automatically updated on their context lines: devtool modify weston devtool finish --force-patch-refresh weston meta-digi-dey While on it, remove also the initial "From " lines. Signed-off-by: Hector Palacios --- .../wayland/weston/0001-make-error-portable.patch | 7 +++---- ...n-launch-Provide-a-default-version-that-doesn-t.patch | 5 ++--- ...n-touch-calibrator-Advertise-the-touchscreen-ca.patch | 9 ++++----- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/meta-digi-dey/recipes-graphics/wayland/weston/0001-make-error-portable.patch b/meta-digi-dey/recipes-graphics/wayland/weston/0001-make-error-portable.patch index dc6fbaab9..3adc358a6 100644 --- a/meta-digi-dey/recipes-graphics/wayland/weston/0001-make-error-portable.patch +++ b/meta-digi-dey/recipes-graphics/wayland/weston/0001-make-error-portable.patch @@ -1,4 +1,3 @@ -From 6ef33e86557c59b31c9b731c0360ec1d404cc801 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 May 2015 20:56:00 -0700 Subject: [PATCH] make error() portable @@ -17,7 +16,7 @@ Upstream-Status: Submitted create mode 100644 libweston/weston-error.h diff --git a/configure.ac b/configure.ac -index 9d98e84..8f6b80d 100644 +index 9d98e84bcf9e..8f6b80d932a7 100644 --- a/configure.ac +++ b/configure.ac @@ -109,6 +109,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[], @@ -31,7 +30,7 @@ index 9d98e84..8f6b80d 100644 # check for libdrm as a build-time dependency only diff --git a/libweston/weston-error.h b/libweston/weston-error.h new file mode 100644 -index 0000000..2089d02 +index 000000000000..2089d02c2892 --- /dev/null +++ b/libweston/weston-error.h @@ -0,0 +1,20 @@ @@ -56,7 +55,7 @@ index 0000000..2089d02 +#endif + diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c -index bf73e0d..9064439 100644 +index bf73e0d616a0..90644394309f 100644 --- a/libweston/weston-launch.c +++ b/libweston/weston-launch.c @@ -33,7 +33,6 @@ diff --git a/meta-digi-dey/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/meta-digi-dey/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch index cbb1c3271..f3bccf44f 100644 --- a/meta-digi-dey/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch +++ b/meta-digi-dey/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch @@ -1,4 +1,3 @@ -From d5fb8567868866665502106def90017243a968a8 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Wed, 22 Feb 2017 15:53:30 +0200 Subject: [PATCH] weston-launch: Provide a default version that doesn't require @@ -21,7 +20,7 @@ Signed-off-by: Jussi Kukkonen 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac -index 8f6b80d..603fcb3 100644 +index 8f6b80d932a7..603fcb3ee5ab 100644 --- a/configure.ac +++ b/configure.ac @@ -494,13 +494,17 @@ AC_ARG_ENABLE(resize-optimization, @@ -53,7 +52,7 @@ index 8f6b80d..603fcb3 100644 systemd notify support ${enable_systemd_notify} diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c -index 9064439..c6abe92 100644 +index 90644394309f..c6abe92877d5 100644 --- a/libweston/weston-launch.c +++ b/libweston/weston-launch.c @@ -51,7 +51,9 @@ diff --git a/meta-digi-dey/recipes-graphics/wayland/weston/0003-weston-touch-calibrator-Advertise-the-touchscreen-ca.patch b/meta-digi-dey/recipes-graphics/wayland/weston/0003-weston-touch-calibrator-Advertise-the-touchscreen-ca.patch index 7ea07ed64..1e3a129c3 100644 --- a/meta-digi-dey/recipes-graphics/wayland/weston/0003-weston-touch-calibrator-Advertise-the-touchscreen-ca.patch +++ b/meta-digi-dey/recipes-graphics/wayland/weston/0003-weston-touch-calibrator-Advertise-the-touchscreen-ca.patch @@ -1,4 +1,3 @@ -From 46843c8681ddafbea6f491b7af4de6529e93f5bd Mon Sep 17 00:00:00 2001 From: Jun Zhu Date: Sun, 30 Sep 2018 15:31:26 +0800 Subject: [PATCH] weston-touch-calibrator: Advertise the touchscreen calibrator @@ -15,12 +14,12 @@ Signed-off-by: Jun Zhu 1 file changed, 3 insertions(+) diff --git a/weston.ini.in b/weston.ini.in -index 83dd56e..6e20e11 100644 +index d9094b1f58f5..8adcc646a30b 100644 --- a/weston.ini.in +++ b/weston.ini.in -@@ -3,6 +3,9 @@ - idle-time=0 - #use-g2d=1 +@@ -7,6 +7,9 @@ idle-time=0 + #[shell] + #size=1920x1080 +[libinput] +touchscreen_calibrator=true From 3ac4ce1959a54957caa34e4d1c829b3352eaed58 Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Thu, 5 Sep 2019 15:54:11 +0200 Subject: [PATCH 23/37] meta-digi-dey: fix systemd-cat not found in network scripts This commit fixes the error message when specific network scripts are launched. Signed-off-by: Mike Engel https://jira.digi.com/browse/DEL-6728 --- .../networkmanager/networkmanager/ifdownup | 6 +++++- .../networkmanager/networkmanager/p2pbridge | 6 +++++- .../recipes-core/init-ifupdown/init-ifupdown-1.0/p2plink | 6 +++++- .../recipes-core/system-monitor/files/system-monitor.sh | 6 +++++- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/ifdownup b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/ifdownup index 75ff4985d..56ead40f4 100644 --- a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/ifdownup +++ b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/ifdownup @@ -19,7 +19,11 @@ # log() { - systemd-cat -p "${1}" -t ifdownup printf "%s" "${2}" + if type "systemd-cat" >/dev/null 2>/dev/null; then + systemd-cat -p "${1}" -t ifdownup printf "%s" "${2}" + else + logger -p "${1}" -t ifdownup "${2}" + fi } log info "device-connectivity-change detected on interface ${DEVICE_IP_IFACE}" diff --git a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/p2pbridge b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/p2pbridge index 5e3270fa4..5e3599868 100644 --- a/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/p2pbridge +++ b/meta-digi-dey/recipes-connectivity/networkmanager/networkmanager/p2pbridge @@ -22,7 +22,11 @@ [ "${CONNECTION_ID}" = "p2p-bridge" ] || exit 0 log() { - systemd-cat -p "${1}" -t p2pbridge printf "%s" "${2}" + if type "systemd-cat" >/dev/null 2>/dev/null; then + systemd-cat -p "${1}" -t p2pbridge printf "%s" "${2}" + else + logger -p "${1}" -t p2pbridge "${2}" + fi } case "${NM_DISPATCHER_ACTION}" in diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/p2plink b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/p2plink index 539127e16..ec91655a6 100644 --- a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/p2plink +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/p2plink @@ -30,7 +30,11 @@ [ "${IFACE}" = "p2p0" ] || exit 0 log() { - systemd-cat -p "${1}" -t p2plink printf "%s" "${2}" + if type "systemd-cat" >/dev/null 2>/dev/null; then + systemd-cat -p "${1}" -t p2plink printf "%s" "${2}" + else + logger -p "${1}" -t p2plink "${2}" + fi } # Exit without error if the peer MAC address is not available diff --git a/meta-digi-dey/recipes-core/system-monitor/files/system-monitor.sh b/meta-digi-dey/recipes-core/system-monitor/files/system-monitor.sh index 267aca492..309d871bb 100644 --- a/meta-digi-dey/recipes-core/system-monitor/files/system-monitor.sh +++ b/meta-digi-dey/recipes-core/system-monitor/files/system-monitor.sh @@ -23,7 +23,11 @@ WDOG_TIME_SEC=$((WATCHDOG_USEC / 1000000 / 4)) log() { - systemd-cat -p "${1}" -t system-monitor printf "%s" "${2}" + if type "systemd-cat" >/dev/null 2>/dev/null; then + systemd-cat -p "${1}" -t system-monitor printf "%s" "${2}" + else + logger -p "${1}" -t system-monitor "${2}" + fi } checks_failed=0 From 73190ee6d4d9d71764d41c0321de4b252847080c Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Thu, 5 Sep 2019 11:59:01 +0200 Subject: [PATCH 24/37] meta-digi-dey: wpa_supplicant: update defconfig for v2.6 Signed-off-by: Mike Engel https://jira.digi.com/browse/DEL-6455 --- .../wpa-supplicant/wpa-supplicant/defconfig | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig b/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig index fd023e6cd..619eccc6b 100644 --- a/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig +++ b/meta-digi-dey/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig @@ -20,6 +20,59 @@ # used to fix build issues on such systems (krb5.h not found). #CFLAGS += -I/usr/include/kerberos +# Example configuration for various cross-compilation platforms + +#### sveasoft (e.g., for Linksys WRT54G) ###################################### +#CC=mipsel-uclibc-gcc +#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc +#CFLAGS += -Os +#CPPFLAGS += -I../src/include -I../../src/router/openssl/include +#LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl +############################################################################### + +#### openwrt (e.g., for Linksys WRT54G) ####################################### +#CC=mipsel-uclibc-gcc +#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc +#CFLAGS += -Os +#CPPFLAGS=-I../src/include -I../openssl-0.9.7d/include \ +# -I../WRT54GS/release/src/include +#LIBS = -lssl +############################################################################### + +# Driver interface for Agere driver +#CONFIG_DRIVER_HERMES=y +# Change include directories to match with the local setup +#CFLAGS += -I../../hcf -I../../include -I../../include/hcf +#CFLAGS += -I../../include/wireless + +# Driver interface for madwifi driver +# Deprecated; use CONFIG_DRIVER_WEXT=y instead. +#CONFIG_DRIVER_MADWIFI=y +# Set include directory to the madwifi source tree +#CFLAGS += -I../../madwifi + +# Driver interface for ndiswrapper +# Deprecated; use CONFIG_DRIVER_WEXT=y instead. +#CONFIG_DRIVER_NDISWRAPPER=y + +# Driver interface for Atmel driver +# CONFIG_DRIVER_ATMEL=y + +# Driver interface for old Broadcom driver +# Please note that the newer Broadcom driver ("hybrid Linux driver") supports +# Linux wireless extensions and does not need (or even work) with the old +# driver wrapper. Use CONFIG_DRIVER_WEXT=y with that driver. +#CONFIG_DRIVER_BROADCOM=y +# Example path for wlioctl.h; change to match your configuration +#CFLAGS += -I/opt/WRT54GS/release/src/include + +# Driver interface for Intel ipw2100/2200 driver +# Deprecated; use CONFIG_DRIVER_WEXT=y instead. +#CONFIG_DRIVER_IPW=y + +# Driver interface for Ralink driver +#CONFIG_DRIVER_RALINK=y + # Driver interface for generic Linux wireless extensions # Note: WEXT is deprecated in the current Linux kernel version and no new # functionality is added to it. nl80211-based interface is the new @@ -31,6 +84,9 @@ CONFIG_DRIVER_WEXT=y # Driver interface for Linux drivers using the nl80211 kernel interface CONFIG_DRIVER_NL80211=y +# QCA vendor extensions to nl80211 +#CONFIG_DRIVER_NL80211_QCA=y + # driver_nl80211.c requires libnl. If you are compiling it yourself # you may need to point hostapd to your version of libnl. # @@ -67,6 +123,9 @@ CONFIG_LIBNL32=y # wpa_supplicant. # CONFIG_USE_NDISUIO=y +# Driver interface for development testing +#CONFIG_DRIVER_TEST=y + # Driver interface for wired Ethernet drivers #CONFIG_DRIVER_WIRED=y @@ -149,6 +208,8 @@ CONFIG_EAP_GPSK=y # Wi-Fi Protected Setup (WPS) CONFIG_WPS=y +# Enable WSC 2.0 support +#CONFIG_WPS2=y # Enable WPS external registrar functionality #CONFIG_WPS_ER=y # Disable credentials for an open network by default when acting as a WPS @@ -267,6 +328,9 @@ CONFIG_BACKEND=file # Should we use epoll instead of select? Select is used by default. #CONFIG_ELOOP_EPOLL=y +# Should we use kqueue instead of select? Select is used by default. +#CONFIG_ELOOP_KQUEUE=y + # Select layer 2 packet implementation # linux = Linux packet socket (default) # pcap = libpcap/libdnet/WinPcap @@ -276,6 +340,12 @@ CONFIG_BACKEND=file # none = Empty template #CONFIG_L2_PACKET=linux +# Disable Linux packet socket workaround applicable for station interface +# in a bridge for EAPOL frames. This should be uncommented only if the kernel +# is known to not have the regression issue in packet socket behavior with +# bridge interfaces (commit 'bridge: respect RFC2863 operational state')'). +#CONFIG_NO_LINUX_PACKET_SOCKET_WAR=y + # PeerKey handshake for Station to Station Link (IEEE 802.11e DLS) CONFIG_PEERKEY=y @@ -455,6 +525,9 @@ CONFIG_IEEE80211N=y # Hotspot 2.0 #CONFIG_HS20=y +# Enable interface matching in wpa_supplicant +#CONFIG_MATCH_IFACE=y + # Disable roaming in wpa_supplicant #CONFIG_NO_ROAMING=y @@ -495,3 +568,41 @@ CONFIG_P2P=y # # External password backend for testing purposes (developer use) #CONFIG_EXT_PASSWORD_TEST=y + +# Enable Fast Session Transfer (FST) +#CONFIG_FST=y + +# Enable CLI commands for FST testing +#CONFIG_FST_TEST=y + +# OS X builds. This is only for building eapol_test. +#CONFIG_OSX=y + +# Automatic Channel Selection +# This will allow wpa_supplicant to pick the channel automatically when channel +# is set to "0". +# +# TODO: Extend parser to be able to parse "channel=acs_survey" as an alternative +# to "channel=0". This would enable us to eventually add other ACS algorithms in +# similar way. +# +# Automatic selection is currently only done through initialization, later on +# we hope to do background checks to keep us moving to more ideal channels as +# time goes by. ACS is currently only supported through the nl80211 driver and +# your driver must have survey dump capability that is filled by the driver +# during scanning. +# +# TODO: In analogy to hostapd be able to customize the ACS survey algorithm with +# a newly to create wpa_supplicant.conf variable acs_num_scans. +# +# Supported ACS drivers: +# * ath9k +# * ath5k +# * ath10k +# +# For more details refer to: +# http://wireless.kernel.org/en/users/Documentation/acs +#CONFIG_ACS=y + +# Support Multi Band Operation +#CONFIG_MBO=y From 7013acc439e0139c9c17b987c5f0a72d681923ae Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 10 Sep 2019 11:49:00 +0200 Subject: [PATCH 25/37] init-ifupdown: p2plink: allow to set persistent parameters Use ifupdown variable 'p2p-network-id' to pass a WPA supplicant network id, to pre-populate some parameters (SSID/passphrase) when creating the group where this device is the GO. Also replace go_intent=7 with the auto parameter. According to the documentation: "auto" can be used to request wpa_supplicant to automatically figure out whether the peer device is operating as a GO and if so, use join-a-group operation rather than GO Negotiation. https://jira.digi.com/browse/DEL-6741 Signed-off-by: Javier Viguera --- .../recipes-core/init-ifupdown/init-ifupdown-1.0/p2plink | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/p2plink b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/p2plink index ec91655a6..f0f617962 100644 --- a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/p2plink +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/p2plink @@ -24,6 +24,7 @@ # p2p-freq # p2p-local-address # p2p-local-netmask +# p2p-network-id # # Execute only for the p2p0 interface @@ -54,7 +55,7 @@ if [ "${MODE}" = "start" ]; then # Peer found, establish the link log info "establish P2P link" - wpa_cli -i"${IFACE}" p2p_connect "${IF_P2P_PEER_MAC}" pbc go_intent=7 ${IF_P2P_FREQ:+freq=${IF_P2P_FREQ}} + wpa_cli -i"${IFACE}" p2p_connect "${IF_P2P_PEER_MAC}" pbc ${IF_P2P_NETWORK_ID:+persistent=${IF_P2P_NETWORK_ID}} ${IF_P2P_FREQ:+freq=${IF_P2P_FREQ}} auto for _ in $(seq 20); do if wpa_cli status 2>&1 | grep -qs "^wpa_state=COMPLETED$"; then if wpa_cli status 2>&1 | grep -qs "^mode=P2P GO$"; then From b30c5fa07e0a0b5159b100c37d5e7c05e9e87024 Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Tue, 10 Sep 2019 12:11:24 +0200 Subject: [PATCH 26/37] pulseaudio: add a systemd service that starts pulseaudio for the entire system The default service only starts once per non-root user. Add a service that starts pulseaudio by default along with a wrapper script that sets the necessary environment variables before launching the daemon. https://jira.digi.com/browse/DEL-6746 Signed-off-by: Gabriel Valcazar --- .../pulseaudio/pulseaudio/pulseaudio-init | 11 +++++++++++ .../pulseaudio/pulseaudio/pulseaudio-system.service | 11 +++++++++++ .../pulseaudio/pulseaudio_%.bbappend | 13 +++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init create mode 100644 meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-system.service diff --git a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init new file mode 100644 index 000000000..14096506d --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init @@ -0,0 +1,11 @@ +#!/bin/sh + +# Export the XDG_RUNTIME_DIR and DBUS_SESSION_BUS_ADDRESS variables +# prior to starting pulseaudio. XDG_RUNTIME_DIR is sourced from a +# different file depending on the backend (xwayland or x11). +[ -f "/etc/profile.d/weston.sh" ] && source /etc/profile.d/weston.sh +[ -f "/etc/X11/Xsession.d/13xdgbasedirs.sh" ] && source /etc/X11/Xsession.d/13xdgbasedirs.sh + +export DBUS_SESSION_BUS_ADDRESS=unix:path=$XDG_RUNTIME_DIR/bus + +pulseaudio --start diff --git a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-system.service b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-system.service new file mode 100644 index 000000000..f1fa28d69 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-system.service @@ -0,0 +1,11 @@ +[Unit] +Description=System-wide sound service +After=dbus.service + +[Service] +Type=forking +ExecStart=/etc/pulseaudio-init +ExecStop=kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend index 3ef776924..6246227fc 100644 --- a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend +++ b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend @@ -30,6 +30,8 @@ SRC_URI_append = " \ ${@oe.utils.conditional('SOUND_CARD', 'sgtl5000', '${CFG_SGTL5000}', '', d)} \ ${@oe.utils.conditional('SOUND_CARD', 'max98089', '${CFG_MAX98089}', '', d)} \ ${@oe.utils.conditional('AUDIO_HDMI', 'yes', '${CFG_HDMI}', '', d)} \ + file://pulseaudio-init \ + file://pulseaudio-system.service \ " SRC_URI_append_ccimx6ulsbc = " \ @@ -38,6 +40,11 @@ SRC_URI_append_ccimx6ulsbc = " \ EXTRA_OECONF_append_ccimx6 = " --disable-memfd" +FILES_${PN}-server_append = " ${systemd_unitdir}/* ${sysconfdir}/pulseaudio-init" + +SYSTEMD_SERVICE_${PN}-server = "pulseaudio-system.service" +SYSTEMD_PACKAGES = "${PN}-server" + do_install_append() { install -d ${D}${datadir}/pulseaudio/alsa-mixer/profile-sets install -m 0644 ${WORKDIR}/${SOUND_CARD}/dey-audio-*.conf ${D}${datadir}/pulseaudio/alsa-mixer/profile-sets @@ -45,6 +52,12 @@ do_install_append() { install -d ${D}${base_libdir}/udev/rules.d install -m 0644 ${WORKDIR}/${SOUND_CARD}/90-pulseaudio.rules ${D}${base_libdir}/udev/rules.d + install -d ${D}${sysconfdir} + install -m 0755 ${WORKDIR}/pulseaudio-init ${D}/${sysconfdir} + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/pulseaudio-system.service ${D}/${systemd_unitdir}/system + # Configuration files for HDMI sound card if [ "${AUDIO_HDMI}" = "yes" ]; then install -d ${D}${sysconfdir}/udev/scripts From 435e0856904ab591c9e97f60759497f25aede884 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Thu, 12 Sep 2019 16:37:30 +0200 Subject: [PATCH 27/37] udev-extraconf: update mount scripts to support systemd The current scripts used the standard mount binary at /bin/mount for mounting the partitions. Systemd however seems to have a monitor that eventually umounts such partitions if not mounted by systemd's specific command 'systemd-mount`. For platforms using systemd, we need to use this binary together with parameter --no-block so that partitions are mounted correctly during the boot process. This commit merges the two scripts for Digi-handled partitions into just one: mount_bootparts.sh \ +--> mount_digiparts.sh / mount_partition.sh The merged script: - checks if running with systemd, to use its binary. - checks if running with busybox, to not use the unsupported '-o' attribute. - checks if mounting the 'linux' partition, to mount it read-only. - checks for already-attached UBI devices, to avoid re-attaching. This commit also combines the Digi-handled partitions (linux, update) into the same udev rule, to simplify it, and breaks the rules lines for readability. Signed-off-by: Hector Palacios https://jira.digi.com/browse/DEL-6744 --- .../udev/udev-extraconf/automount.rules | 14 ++- .../udev/udev-extraconf/mount_bootparts.sh | 27 ------ .../udev/udev-extraconf/mount_digiparts.sh | 92 +++++++++++++++++++ .../udev/udev-extraconf/mount_partition.sh | 46 ---------- .../udev/udev-extraconf_1.1.bbappend | 8 +- 5 files changed, 102 insertions(+), 85 deletions(-) delete mode 100644 meta-digi-arm/recipes-core/udev/udev-extraconf/mount_bootparts.sh create mode 100644 meta-digi-arm/recipes-core/udev/udev-extraconf/mount_digiparts.sh delete mode 100644 meta-digi-arm/recipes-core/udev/udev-extraconf/mount_partition.sh diff --git a/meta-digi-arm/recipes-core/udev/udev-extraconf/automount.rules b/meta-digi-arm/recipes-core/udev/udev-extraconf/automount.rules index 388c485f8..22534848d 100644 --- a/meta-digi-arm/recipes-core/udev/udev-extraconf/automount.rules +++ b/meta-digi-arm/recipes-core/udev/udev-extraconf/automount.rules @@ -13,19 +13,17 @@ # %% the '%' char itself # -# Boot partitions -SUBSYSTEM=="block", ENV{ID_PART_ENTRY_NAME}=="linux*", ACTION=="add", RUN+="/etc/udev/scripts/mount_bootparts.sh", GOTO="automount_rules_end" +# Digi-mounted partitions: linux, update +SUBSYSTEM=="block", ENV{ID_PART_ENTRY_NAME}=="linux*|update*", ACTION=="add", RUN+="/etc/udev/scripts/mount_digiparts.sh", GOTO="automount_rules_end" +SUBSYSTEM=="mtd", ATTRS{name}=="linux*|update*", ACTION=="add", RUN+="/etc/udev/scripts/mount_digiparts.sh", GOTO="automount_rules_end" -# Update partition -SUBSYSTEM=="block", ENV{ID_PART_ENTRY_NAME}=="update*", ACTION=="add", RUN+="/etc/udev/scripts/mount_partition.sh 'update'", GOTO="automount_rules_end" -SUBSYSTEM=="mtd", ATTRS{name}=="update", ACTION=="add", RUN+="/etc/udev/scripts/mount_partition.sh 'update'", GOTO="automount_rules_end" - -# Recovery partition +# Avoid mounting recovery partition SUBSYSTEM=="block", ENV{ID_PART_ENTRY_NAME}=="recovery*", ACTION=="add", GOTO="automount_rules_end" -SUBSYSTEM=="mtd", ATTRS{name}=="recovery", ACTION=="add", GOTO="automount_rules_end" +SUBSYSTEM=="mtd", ATTRS{name}=="recovery*", ACTION=="add", GOTO="automount_rules_end" # Media automounting SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh" SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh" SUBSYSTEM=="block", ACTION=="change", ENV{DISK_MEDIA_CHANGE}=="1" RUN+="/etc/udev/scripts/mount.sh" + LABEL="automount_rules_end" diff --git a/meta-digi-arm/recipes-core/udev/udev-extraconf/mount_bootparts.sh b/meta-digi-arm/recipes-core/udev/udev-extraconf/mount_bootparts.sh deleted file mode 100644 index 1e5982d93..000000000 --- a/meta-digi-arm/recipes-core/udev/udev-extraconf/mount_bootparts.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -#=============================================================================== -# -# mount_bootparts.sh -# -# Copyright (C) 2014 by Digi International Inc. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# !Description: Attempt to mount boot partitions read-only (called from udev) -# -#=============================================================================== - -MOUNT="/bin/mount" - -# Use 'silent' if util-linux's mount (busybox's does not support that option) -[ "$(readlink ${MOUNT})" = "/bin/mount.util-linux" ] && MOUNT="${MOUNT} -o silent" - -MOUNTPOINT="/mnt/${ID_PART_ENTRY_NAME}" -mkdir -p ${MOUNTPOINT} -if ! ${MOUNT} -t auto -r ${DEVNAME} ${MOUNTPOINT}; then - logger -t udev "mount_bootparts.sh: mount ${DEVNAME} under ${MOUNTPOINT} failed!" - rmdir --ignore-fail-on-non-empty ${MOUNTPOINT} -fi diff --git a/meta-digi-arm/recipes-core/udev/udev-extraconf/mount_digiparts.sh b/meta-digi-arm/recipes-core/udev/udev-extraconf/mount_digiparts.sh new file mode 100644 index 000000000..08772a222 --- /dev/null +++ b/meta-digi-arm/recipes-core/udev/udev-extraconf/mount_digiparts.sh @@ -0,0 +1,92 @@ +#!/bin/sh +#=============================================================================== +# +# mount_bootparts.sh +# +# Copyright (C) 2014-2019 by Digi International Inc. +# All rights reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# !Description: Attempt to mount boot partitions read-only (called from udev) +# +#=============================================================================== + +BASE_INIT="$(readlink -f "@base_sbindir@/init")" +INIT_SYSTEMD="@systemd_unitdir@/systemd" + +if [ "${SUBSYSTEM}" = "block" ]; then + PARTNAME="${ID_PART_ENTRY_NAME}" +elif [ "${SUBSYSTEM}" = "mtd" ]; then + MTDN="$(echo ${DEVNAME} | cut -f 3 -d /)" + PARTNAME="$(grep ${MTDN} /proc/mtd | sed -ne 's,.*"\(.*\)",\1,g;T;p')" +fi + +MOUNT_PARAMS="-o silent" +# Mount 'linux' partition as read-only +if [ "${PARTNAME}" = "linux" ]; then + MOUNT_PARAMS="${MOUNT_PARAMS} -o ro" +fi + +if [ "x$BASE_INIT" = "x$INIT_SYSTEMD" ];then + # systemd as init uses systemd-mount to mount block devices + MOUNT="/usr/bin/systemd-mount" + MOUNT_PARAMS="${MOUNT_PARAMS} --no-block" + + if [ -x "$MOUNT" ]; + then + logger "Using systemd-mount to finish mount" + else + logger "Linux init is using systemd, so please install systemd-mount to finish mount" + exit 1 + fi +else + MOUNT="/bin/mount" + if [ "$(readlink ${MOUNT})" != "/bin/mount.util-linux" ]; then + # Busybox mount. Clear default params + MOUNT_PARAMS="" + # Mount 'linux' partition as read-only + if [ "${PARTNAME}" = "linux" ]; then + MOUNT_PARAMS="${MOUNT_PARAMS} -r" + fi + fi +fi + +# Create mount point if needed +MOUNTPOINT="/mnt/${PARTNAME}" +[ -d "${MOUNTPOINT}" ] || mkdir -p ${MOUNTPOINT} + +if [ "${SUBSYSTEM}" = "block" ]; then + if ! ${MOUNT} -t auto ${MOUNT_PARAMS} ${DEVNAME} ${MOUNTPOINT}; then + logger -t udev "ERROR: Could not mount ${DEVNAME} under ${MOUNTPOINT}" + rmdir --ignore-fail-on-non-empty ${MOUNTPOINT} + fi +elif [ "${SUBSYSTEM}" = "mtd" ]; then + # Before attaching, find out if partition already attached + MTD_NUM="$(echo ${MTDN} | sed -ne 's,.*mtd\([0-9]\+\),\1,g;T;p')" + for ubidev in /sys/devices/virtual/ubi/*; do + echo "${ubidev}" | grep -qs '/sys/devices/virtual/ubi/\*' && continue + mtd_att="$(cat ${ubidev}/mtd_num)" + if [ "${mtd_att}" = "${MTD_NUM}" ]; then + dev_number="$(echo ${ubidev} | sed -ne 's,.*ubi\([0-9]\+\),\1,g;T;p')" + fi + done + + # If not already attached, attach and get UBI device number + if [ -z "${dev_number}" ]; then + dev_number="$(ubiattach -p ${DEVNAME} 2>/dev/null | sed -ne 's,.*device number \([0-9]\).*,\1,g;T;p' 2>/dev/null)" + fi + # Check if volume exists. + if ubinfo /dev/ubi${dev_number} -N ${PARTNAME} >/dev/null 2>&1; then + # Mount the volume. + if ! mount -t ubifs ubi${dev_number}:${PARTNAME} ${MOUNT_PARAMS} ${MOUNTPOINT}; then + logger -t udev "ERROR: Could not mount '${PARTNAME}' partition" + rmdir --ignore-fail-on-non-empty ${MOUNTPOINT} + fi + else + logger -t udev "ERROR: Could not mount '${PARTNAME}' partition, volume not found" + rmdir --ignore-fail-on-non-empty ${MOUNTPOINT} + fi +fi diff --git a/meta-digi-arm/recipes-core/udev/udev-extraconf/mount_partition.sh b/meta-digi-arm/recipes-core/udev/udev-extraconf/mount_partition.sh deleted file mode 100644 index 05f719b18..000000000 --- a/meta-digi-arm/recipes-core/udev/udev-extraconf/mount_partition.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -#=============================================================================== -# -# mount_partition.sh -# -# Copyright (C) 2017 by Digi International Inc. -# All rights reserved. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# !Description: Attempt to mount the partition triggered by udev -# -#=============================================================================== - -MOUNT="/bin/mount" -PARTITION_NAME="${1}" -MOUNTPOINT="/mnt/${PARTITION_NAME}" - -# Use 'silent' if util-linux's mount (busybox's does not support that option) -[ "$(readlink ${MOUNT})" = "/bin/mount.util-linux" ] && MOUNT="${MOUNT} -o silent" - -if mkdir -p "${MOUNTPOINT}" && ! mountpoint -q "${MOUNTPOINT}"; then - if [ "${SUBSYSTEM}" = "block" ]; then - FSTYPE="$(blkid ${DEVNAME} | sed -e 's,.*TYPE="\([^"]\+\)".*,\1,g')" - if ! mount ${FSTYPE:+-t ${FSTYPE}} "${DEVNAME}" "${MOUNTPOINT}"; then - logger -t udev "ERROR: Could not mount '${PARTITION_NAME}' partition" - rmdir --ignore-fail-on-non-empty ${MOUNTPOINT} - fi - elif [ "${SUBSYSTEM}" = "mtd" ]; then - # Attach and get UBI device number - dev_number="$(ubiattach -p ${DEVNAME} 2>/dev/null | sed -ne 's,.*device number \([0-9]\).*,\1,g;T;p' 2>/dev/null)" - # Check if volume exists. - if ubinfo "/dev/ubi${dev_number}" -N "${PARTITION_NAME}" >/dev/null 2>&1; then - # Mount the volume. - if ! mount -t ubifs "ubi${dev_number}:${PARTITION_NAME}" "${MOUNTPOINT}"; then - logger -t udev "ERROR: Could not mount '${PARTITION_NAME}' partition" - rmdir --ignore-fail-on-non-empty ${MOUNTPOINT} - fi - else - logger -t udev "ERROR: Could not mount '${PARTITION_NAME}' partition, volume not found" - rmdir --ignore-fail-on-non-empty ${MOUNTPOINT} - fi - fi -fi diff --git a/meta-digi-arm/recipes-core/udev/udev-extraconf_1.1.bbappend b/meta-digi-arm/recipes-core/udev/udev-extraconf_1.1.bbappend index 954c41f74..2657a90d9 100644 --- a/meta-digi-arm/recipes-core/udev/udev-extraconf_1.1.bbappend +++ b/meta-digi-arm/recipes-core/udev/udev-extraconf_1.1.bbappend @@ -3,15 +3,15 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" SRC_URI += " \ - file://mount_bootparts.sh \ - file://mount_partition.sh \ + file://mount_digiparts.sh \ file://81-spi-spidev.rules \ file://blacklist.conf \ " do_install_append() { - install -m 0755 ${WORKDIR}/mount_bootparts.sh ${D}${sysconfdir}/udev/scripts/ - install -m 0755 ${WORKDIR}/mount_partition.sh ${D}${sysconfdir}/udev/scripts/ + install -m 0755 ${WORKDIR}/mount_digiparts.sh ${D}${sysconfdir}/udev/scripts/ + sed -i -e 's|@base_sbindir@|${base_sbindir}|g' ${D}${sysconfdir}/udev/scripts/mount_digiparts.sh + sed -i -e 's|@systemd_unitdir@|${systemd_unitdir}|g' ${D}${sysconfdir}/udev/scripts/mount_digiparts.sh install -m 0644 ${WORKDIR}/81-spi-spidev.rules ${D}${sysconfdir}/udev/rules.d/ # Bluetooth tty symlink From 9f617cd4268d7a4d8aacb5751a146fb1e3465e9f Mon Sep 17 00:00:00 2001 From: Gonzalo Ruiz Date: Fri, 13 Sep 2019 12:54:22 +0200 Subject: [PATCH 28/37] firmware_qualcomm: update US Board Data File with a calibrated one Update file: - fakeboar.bin (3e558869e3943da08899abd881455bc6) This file was generated by calibrating several CC8X SOMs and merging their resulting BDF files. Reference calibration file is: - bdwlan30.bin (8a558fa38dacee7038f04c1b10ec69a5) located at 'cnss_proc/wlan/fw/target/pcie_dst/qc6174/' from tag r10007.1 on qca6574au-le-2-2-1_qca_oem repo. https://jira.digi.com/browse/DEL-6736 Signed-off-by: Gonzalo Ruiz --- .../qca6574_proprietary/fakeboar.bin | Bin 8124 -> 8124 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/fakeboar.bin b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/fakeboar.bin index ecd89a847393d5ba18cd2b9544e454b425b55b52..5bfe3026c6b42b81a8cdd2ccfc34e0fc84d4aff6 100644 GIT binary patch literal 8124 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 Uz*p#P4Tj{aG%kOYiiKML3BEi2_y7O^ delta 2716 zcma)6-%}G=76!Fu6h=gTN4Q{PgEZ=uMh3#w0V0UGAwa_K;6*`1i9krW!qNoojk=7? zpmJAB9PwvO?Nsfu@01^ema$AA2qvGLP`7vl?VuU-L9 z+atH!J$khR+~0ceVkGMB(p7kRIkM;u=(S1UIq+icZoT>sz{b{tZIJ5Ht2Um4s4b;A z6;EGpn(xLV-T}`UaDOws08e#EWP9`Fbky7JIq9?&_4cKK7n|GD5wG7<`}7r17QBH} zzwq-l0MP!%*5+F<33%!qDe(Mh-0rvXzU{u`?$b|w0xmDO{d!drsSD_*)5!KXPffBt zVwa?Vt<9f7y4%y_#Ixk?*OO_1``hV7?~tc);~5OH(l+EFw$zhu_sFOA;Y(za&ahj2RjkR!)^jwe&R|Yf>3z1rpNd!VZ`QAig4$Fs4v-N#&cZwMF8;p@bV&?R<< zuZc%;%X)*pQ#-Jq4AL<+#plG5G_41yTOGh-WQxwQC4Sp!W(&Dh5B8BhI?Ar{8F5Rl zT5Hfu7akytUSqR-QQVem)??tcVlN5M5S!rBVnME0_t81E9XtjoW7qhcDHi1&C~gAc zMIer_aUjNkcn{vS;7-y@huLL*L(I!%D*=LSAQ*H6Z-QVP1RK(wKMftKw$RDh~qR-zM@NOO6`5{$C zrW)uhTZCBuA|G1MP@g)AC&>)uEY9zVALSEk8;S#82tx6bcbU^WcfbB+uW7`?v$RVq zRQ4x~@Qt8PFVwO>etf@^VXREt^muJxebtx=_2`9qkpm=FVslWDr&q4Wjhi7q0C`E^ zb~r+NHJ6eFQrCl2FG@+p;u8^1k5;DSLv1+NrR8deoQhc71fucP7FfpH}h-nfD9>P!?PMvLqggc>0x6#g#B8Zcv|A zpd{0Z#lfUoIqE7j3<%T@?kN+yVpypFk2pyAKDpa%b(^kSSAm1jU3d5y@eC+Olv0Rm z2I4xbBd6iSax6;wwF(U-mW>GP%9Y-g5uT$1N{Mzf6-u6#T#2y)D*-?$Nf@@2jeEa0QU@@W!K6 z_q^ZvfBt0dd$sfLoS!qze6EeEa3XrKBGE+pl&nql53TI5A5fC?Pm zN!kFs3l8rJ%24;?T;ie%tL63LtZcXZ=&)LX6{694M)-NrCHpOgepkQ3Ii#3Yu;aW= zxTVMP0nddiNv#RQv%FpS<$yJY_Nv*qfFP=}Q~cYMaiNNEHNmuzweX9gSB_W{Xuq0^ zT|}W8tLM$)yzH_D(C56)6fZqU6%3Nrvj;gw(u0`x#8+VAY?v6)s?UrI)G|osB>k3s z2NUd`HdH4u9Mo+La{H*AZ-PRB)R?G2ma+)@=R_+x+8L}o(E~Ic2QqWm5_XwYp zLWz15*ASgHGY_YtPhPUFp~I#_tVt26Lv#UAbBO1;PxMO$#H3)FXA53JE>!_uJqV_G zQ^;PYJ)OPI_SBk^4c1XNYXjq;9CaEj#ucQ7nsv<0+XR(C5KKmxo+JR1OrUHvAD6+z zCs_kOCoaeyYZw*5#MQeK+q|pjpjwE_Nj1f+k++JAGGK)qUJdYUV>_8q;N_@AV0@gO zc6_}i7>~knC8KVDs5>F*VQbvkaf!2IJ+T+_G!@C9z%ltwAULFO3--YZlHY zrSup(!5hRmdBN&|vmqEq%l3VYN8_%Jy_D^p)d2k`8##JLZ1cM^uaN=SJLCWznb#Q(dx4}U`nDPmRplxUQ#7KK!kDWng$ g*pA`9Ks*SHq)$ From d66e91dac712dfe3504303abd1ad21512689d39b Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Fri, 13 Sep 2019 12:31:11 +0200 Subject: [PATCH 29/37] README.md: updates for dey-2.6-r2 release * Added CC6 and CC6Plus as supported platforms. * Added CC6 and CC6Plus known issues and limitations. * Re-ordered platforms from newest to eldest (CC8X, CC6UL, CC6Plus, CC6). * Updated links to documentation 'Get started'. * Updated links to products and variants on digi website. * Added changelog for DEY-2.6-r2. * Remove mention to kernel version for P2P limitation of CC6UL. * Added note about incompatibility of newest SCFW. Signed-off-by: Hector Palacios --- README.md | 144 ++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 114 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 6dd5b08db..3497685a0 100644 --- a/README.md +++ b/README.md @@ -20,29 +20,55 @@ OS versions: Software for the following hardware platforms is in production support: +## ConnectCore 8X +* ConnectCore 8X System-on-Module (SOM) + * [CC-WMX-JM8E-NN](https://www.digi.com/products/models/cc-wmx-jm8e-nn) + * [CC-MX-JM8D-ZN](https://www.digi.com/products/models/cc-mx-jm8d-zn) + * [CC-MX-JM7D-ZN](https://www.digi.com/cc8x) + * [CC-WMX-JM7D-NN](https://www.digi.com/products/models/cc-wmx-jm7d-nn) + * [CC-MX-JQ6D-ZN](https://www.digi.com/cc8x) + * [CC-MX-JQ7D-ZN](https://www.digi.com/cc8x) + * [CC-WMX-JQ7D-ZN](https://www.digi.com/cc8x) +* ConnectCore 8X SBC Pro + * [CC-WMX8-PRO](https://www.digi.com/products/embedded-systems/single-board-computers/digi-connectcore-8x-sbc-pro) ([Get Started](https://www.digi.com/resources/documentation/digidocs/embedded/dey/2.6/cc8x/yocto-gs_index)) + ## ConnectCore 6UL * ConnectCore 6UL System-on-Module (SOM) * [CC-WMX-JN58-NE](https://www.digi.com/products/models/cc-wmx-jn58-ne) * [CC-MX-JN58-Z1](https://www.digi.com/products/models/cc-mx-jn58-z1) * CC-WMX-JN7A-NE * ConnectCore 6UL SBC Express - * [CC-WMX6UL-START](https://www.digi.com/products/models/cc-wmx6ul-start) ([Get Started](https://www.digi.com/resources/documentation/digidocs/90001548/default.htm#concept/yocto/c_get_started_with_yocto.htm)) + * [CC-WMX6UL-START](https://www.digi.com/products/models/cc-wmx6ul-start) ([Get Started](https://www.digi.com/resources/documentation/digidocs/embedded/dey/2.6/cc6ul/yocto-gs_index)) * [CC-SBE-WMX-JN58](https://www.digi.com/products/models/cc-sbe-wmx-jn58) * ConnectCore 6UL SBC Pro - * [CC-WMX6UL-KIT](https://www.digi.com/products/models/cc-wmx6ul-kit) ([Get Started](https://www.digi.com/resources/documentation/digidocs/90001547/default.htm#concept/yocto/c_get_started_with_yocto.htm)) + * [CC-WMX6UL-KIT](https://www.digi.com/products/models/cc-wmx6ul-kit) ([Get Started](https://www.digi.com/resources/documentation/digidocs/embedded/dey/2.6/cc6ul/yocto-gs_index)) * [CC-SBP-WMX-JN58](https://www.digi.com/products/models/cc-sbp-wmx-jn58) -## ConnectCore 8X -* ConnectCore 8X System-on-Module (SOM) - * [CC-WMX-JM7D-NN](https://www.digi.com/cc8x) - * [CC-WMX-JM8E-NN](https://www.digi.com/cc8x) - * [CC-MX-JM8D-ZN](https://www.digi.com/cc8x) - * [CC-WMX-JN7D-NN](https://www.digi.com/cc8x) - * [CC-MX-JN7D-ZN](https://www.digi.com/cc8x) -* ConnectCore 8X SBC Express - * [CC-WMX8-EXPRESS](https://www.digi.com/cc8x) -* ConnectCore 8X SBC Pro - * [CC-WMX8-PRO](https://www.digi.com/cc8x) +## ConnectCore 6 Plus +* ConnectCore 6 Plus System-on-Module (SOM) + * [CC-WMX-KK8D-TN](https://www.digi.com/products/models/cc-wmx-kk8d-tn) +* ConnectCore 6 Plus professional development kit + * [CC-WMX6P-KIT](https://www.digi.com/products/models/cc-wmx6p-kit) ([Get Started](https://www.digi.com/resources/documentation/digidocs/embedded/dey/2.6/cc6plus/yocto-gs_index)) + +## ConnectCore 6 +* ConnectCore 6 System-on-Module (SOM) + * [CC-WMX-J97C-TN](https://www.digi.com/products/models/cc-wmx-j97c-tn) + * [CC-WMX-L96C-TE](https://www.digi.com/products/models/cc-wmx-l96c-te) + * [CC-WMX-L87C-TE](https://www.digi.com/products/models/cc-wmx-l87c-te) + * [CC-MX-L76C-Z1](https://www.digi.com/products/models/cc-mx-l76c-z1) + * [CC-MX-L86C-Z1](https://www.digi.com/products/models/cc-mx-l86c-z1) + * [CC-MX-L96C-Z1](https://www.digi.com/products/models/cc-mx-l96c-z1) + * [CC-WMX-L76C-TE](https://www.digi.com/products/models/cc-wmx-l76c-te) + * CC-WMX-K87C-FJA + * CC-WMX-K77C-TE + * CC-WMX-L97D-TN + * CC-WMX-J98C-FJA + * CC-WMX-J98C-FJA-1 +* ConnectCore 6 Jumpstart Development Kit (SBC with Connectore 6 module) + * [CC-WMX6-KIT](https://www.digi.com/products/models/cc-wmx6-kit) ([Get Started](https://www.digi.com/resources/documentation/digidocs/embedded/dey/2.6/cc6/yocto-gs_index)) + * [CC-SB-WMX-J97C-1](https://www.digi.com/products/models/cc-sb-wmx-j97c-1) + * [CC-SB-WMX-L87C-1](https://www.digi.com/products/models/cc-sb-wmx-l87c-1) + * [CC-SB-WMX-L76C-1](https://www.digi.com/products/models/cc-sb-wmx-l76c-1) Previous versions of Digi Embedded Yocto include support for additional Digi hardware. @@ -60,11 +86,29 @@ Documentation is available online at https://www.digi.com/resources/documentatio # Downloads -* Demo images: ftp://ftp1.digi.com/support/digiembeddedyocto/2.6/r1/images/ -* Software Development Kit (SDK): ftp://ftp1.digi.com/support/digiembeddedyocto/2.6/r1/sdk/ +* Demo images: ftp://ftp1.digi.com/support/digiembeddedyocto/2.6/r2/images/ +* Software Development Kit (SDK): ftp://ftp1.digi.com/support/digiembeddedyocto/2.6/r2/sdk/ # Release Changelog +## 2.6-r2 + +* Release based on [Yocto 2.6 (Thud)](https://www.yoctoproject.org/software-overview/downloads) including: + * Updated GCC toolchain to v8.2.0 (from v7.3.0) + * Updated gstreamer1.0 to v1.14.4 + * Updated busybox to v1.29.3 + * Updated OpenSSL to v1.1.1b + * Package upgrades and security fixes +* Added support for ConnetCore 6 and ConnectCore 6 Plus platforms +* Updated kernel version to v4.14.141 for i.MX8X and i.MX6UL platforms +* Updated kernel version to v4.9.190 for i.MX6 platforms +* Updated U-Boot to version 2018.03-r2 for i.MX8X platform +* Updated U-Boot to version 2017.03-r4 for i.MX6 and i.MX6UL platforms +* Updated AWS Greengrass core to v1.9.2 +* Updated i.MX8 SCU firmware to v1.2.5 (see [important note](#scfw-note)) +* Updated QCA65x7 Wi-Fi and Bluetooth firmware to r10007.1 + + ## 2.6-r1 * Release based on [Yocto 2.6 (Thud)](https://www.yoctoproject.org/software-overview/downloads) including: @@ -99,10 +143,37 @@ updated list can be found on the online documentation. * Remote file system management fails with long file names and paths (over 255 characters). * For P2P connections Digi recommends "Negotiated GO" modes. The QCA6564 - devices (ConnectCore 6UL) running a 4.14 kernel version fail to join to - autonomous groups. + devices (ConnectCore 6UL, ConnectCore 6 Plus) fail to join autonomous groups. * Trustfence is not yet supported on U-Boot v2018.03. +## ConnectCore 8X + +* i.MX8QXP Processor + * GPU maximum performance reduced. The maximum frequency targets are 850 MHz + for the shaders and 700 MHz for the core. However, in this hardware release + the maximum frequency is limited to 650 MHz for the shaders and 600 MHz for + the core, with the corresponding performance reduction. These targets will + be met in future releases of the hardware. + * BSDL operation is not supported. It will be available in future releases + of the hardware. +* Digi Embedded Yocto + * The following features are not supported in this release for the ConnectCore 8X platform: + * Trustfence (TM) + + + +--- + **IMPORTANT**: This release updates the firmware of the _System Control Unit_ (SCU). + This is an NXP proprietary firmware and its last version is **not compatible** with + the previous one released on DEY-2.6-r1. As a consequence: + +* Old U-Boot v2018.03-r1 **cannot boot** images from this release DEY-2.6-r2. +* New U-Boot v2018.03-r2 **cannot boot** images from previous release DEY-2.6-r1. + + To succesfully run DEY-2.6-r2 images you need to update the U-Boot on your device. + + --- + ## ConnectCore 6UL * ConnectCore 6UL System-on-Module (SOM) @@ -122,20 +193,33 @@ updated list can be found on the online documentation. currently supported. * The QCA6564 wireless chip does not support Wake On Wireless LAN. -## ConnectCore 8X +## ConnectCore 6 Plus -* i.MX8QXP Processor - * GPU maximum performance reduced. The maximum frequency targets are 850 MHz - for the shaders and 700 MHz for the core. However, in this hardware release - the maximum frequency is limited to 650 MHz for the shaders and 600 MHz for - the core, with the corresponding performance reduction. These targets will - be met in future releases of the hardware. - * BSDL operation is not supported. It will be available in future releases - of the hardware. -* Digi Embedded Yocto - * The following features are not supported in this release for the ConnectCore 8X platform: - * Trustfence (TM) - * Digi Remote Manager +* ConnectCore 6 Plus System-on-Module (SOM) + * NXP i.MX6QP processor has a documented errata (ERR004512) whereby the maximum + performance of the Gigabit FEC is limited to 400Mbps (total for Tx and Rx). +* ConnectCore 6 Plus SBC + * The Micrel PHY KSZ9031 may take between five and six seconds to + auto-negotiate with Gigabit switches. + +## ConnectCore 6 + +* ConnectCore 6 System-on-Module (SOM) + * NXP i.MX6 processor has a documented errata (ERR004512) whereby the maximum + performance of the Gigabit FEC is limited to 400Mbps (total for Tx and Rx). + * When using softAP mode on Band A on the Qualcomm AR6233, channels used for + Dynamic Frequency Selection (DFS) are not supported. + * The Qualcomm AR6233 firmware does not support the following configuration + modes: + * Concurrent modes involving P2P mode, such as P2P + softAP or P2P + STA. + * Bluetooth + softAP + STA concurrent mode. + * A maximum of five clients are supported when using Qualcomm's AR6233 in + softAP mode. + * A maximum of ten connected devices are supported when using Qualcomm's AR6233 + Bluetooth Low Energy mode. +* ConnectCore 6 SBC + * The Micrel PHY KSZ9031 may take between five and six seconds to + auto-negotiate with Gigabit switches. # Support Contact Information From 3b2f226b60dbe7072e83a922202c4683bdc4f9ef Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Fri, 13 Sep 2019 18:35:13 +0200 Subject: [PATCH 30/37] meta-digi: update revisions for dey-2.6-r2.1 Signed-off-by: Hector Palacios --- meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc | 2 +- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb | 2 +- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb | 2 +- .../recipes-digi/trustfence/trustfence-sign-tools_git.bb | 4 ++-- .../kernel-module-qualcomm/kernel-module-qualcomm.bb | 5 +++-- meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc | 5 +++-- .../recipes-digi/cloudconnector/cloudconnector_git.bb | 4 ++-- meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc | 2 +- meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb | 4 ++-- 9 files changed, 16 insertions(+), 14 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc index b3acff935..7a10ff889 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc @@ -18,7 +18,7 @@ S = "${WORKDIR}/git" UBOOT_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}u-boot-denx.git', '${DIGI_GITHUB_GIT}/u-boot.git;protocol=https', d)}" SRC_URI = " \ - ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ + ${UBOOT_GIT_URI};nobranch=1 \ " SRC_URI_append = " \ diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb index 3cf75fbd9..c348b7028 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb @@ -3,6 +3,6 @@ require digi-u-boot.inc SRCBRANCH = "v2017.03/maint" -SRCREV = "${AUTOREV}" +SRCREV = "98d7b2a83c63db520c1344535c053c43f88267b6" COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul|ccimx8x)" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb index 763c3b386..4b7e2c647 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb @@ -3,6 +3,6 @@ require digi-u-boot.inc SRCBRANCH = "v2018.03/maint" -SRCREV = "${AUTOREV}" +SRCREV = "2854efcc84fbb420a247e6d6e51892e6399ea45b" COMPATIBLE_MACHINE = "(ccimx8x)" diff --git a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb index 9aff645ff..bd0128fd6 100644 --- a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb +++ b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425 DEPENDS = "trustfence-cst coreutils util-linux" SRCBRANCH = "v2017.03/maint" -SRCREV = "${AUTOREV}" +SRCREV = "98d7b2a83c63db520c1344535c053c43f88267b6" S = "${WORKDIR}" @@ -14,7 +14,7 @@ S = "${WORKDIR}" UBOOT_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}u-boot-denx.git', '${DIGI_GITHUB_GIT}/u-boot.git;protocol=https', d)}" SRC_URI = " \ - ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ + ${UBOOT_GIT_URI};nobranch=1 \ file://trustfence-sign-kernel.sh;name=kernel-script \ file://sign_uimage;name=kernel-sign \ file://encrypt_uimage;name=kernel-encrypt \ diff --git a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb index ce2fe5e89..4cc253408 100644 --- a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb +++ b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb @@ -11,12 +11,13 @@ PV_ccimx8x = "v4.0.11.208Q" SRCBRANCH = "qca6564/dey-2.6/maint" SRCBRANCH_ccimx8x = "qca6574/dey-2.6/maint" -SRCREV = "${AUTOREV}" +SRCREV = "9b772af82d96a942bb1927fb9596069a121e4cea" +SRCREV_ccimx8x = "3e6c96c3682c39be5068b6969e552e5c193d17af" QCOM_GIT_URI = "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_MTK_GIT}linux/qcacld-2.0.git;protocol=ssh', '${DIGI_GITHUB_GIT}/qcacld-2.0.git;protocol=https', d)}" SRC_URI = " \ - ${QCOM_GIT_URI};branch=${SRCBRANCH} \ + ${QCOM_GIT_URI};nobranch=1 \ " # Selects whether the interface is SDIO or PCI diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc index 3166424f9..b9b00b809 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc @@ -6,10 +6,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" LOCALVERSION = "-dey" SRCBRANCH = "v4.14/dey-2.6/maint" SRCBRANCH_ccimx6 = "v4.9/dey-2.6/maint" -SRCREV = "${AUTOREV}" +SRCREV = "c5e1f7959242549991832246a39e26be2e091749" +SRCREV_ccimx6 = "3af7f832df7462bc3b0f76d37ed3893aab2edc51" # Select internal or Github Linux repo LINUX_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}linux-2.6.git', '${DIGI_GITHUB_GIT}/linux.git;protocol=https', d)}" -SRC_URI = "${LINUX_GIT_URI};branch=${SRCBRANCH}" +SRC_URI = "${LINUX_GIT_URI};nobranch=1" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb index d5501cdd7..367eae7a2 100644 --- a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb +++ b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb @@ -8,14 +8,14 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MPL-2.0;md5=815ca599c9df247a0c7 DEPENDS = "confuse openssl recovery-utils zlib" SRCBRANCH = "master" -SRCREV = "${AUTOREV}" +SRCREV = "4a8272204425a7a39f3d7c05b6ec6f33d6e35867" CC_STASH = "gitsm://git@stash.digi.com/cc/cc_dey.git;protocol=ssh" CC_GITHUB = "gitsm://github.com/digi-embedded/cc_dey.git;protocol=https" CC_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${CC_STASH}', '${CC_GITHUB}', d)}" -SRC_URI = "${CC_GIT_URI};branch=${SRCBRANCH}" +SRC_URI = "${CC_GIT_URI};nobranch=1" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc index ecd7612de..e04058b22 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc @@ -1,7 +1,7 @@ # Copyright (C) 2019, Digi International Inc. SRCBRANCH = "dey-2.6/maint" -SRCREV = "${AUTOREV}" +SRCREV = "7413e47d8c87280fbc941153d7af1e9f51bf26da" DEY_EXAMPLES_STASH = "${DIGI_MTK_GIT}dey/dey-examples.git;protocol=ssh" DEY_EXAMPLES_GITHUB = "${DIGI_GITHUB_GIT}/dey-examples.git;protocol=https" diff --git a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb index 23f520cb1..bfe62648c 100644 --- a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb +++ b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca DEPENDS = "libsoc libsocketcan" SRCBRANCH ?= "dey-2.6/maint" -SRCREV = "${AUTOREV}" +SRCREV = "eeabaf405387691281a6674ec356fdb3cd81f6a5" LIBDIGIAPIX_URI_STASH = "${DIGI_MTK_GIT}dey/libdigiapix.git;protocol=ssh" LIBDIGIAPIX_URI_GITHUB = "${DIGI_GITHUB_GIT}/libdigiapix.git;protocol=https" @@ -17,7 +17,7 @@ LIBDIGIAPIX_URI_GITHUB = "${DIGI_GITHUB_GIT}/libdigiapix.git;protocol=https" LIBDIGIAPIX_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${LIBDIGIAPIX_URI_STASH}', '${LIBDIGIAPIX_URI_GITHUB}', d)}" SRC_URI = " \ - ${LIBDIGIAPIX_GIT_URI};branch=${SRCBRANCH} \ + ${LIBDIGIAPIX_GIT_URI};nobranch=1 \ file://99-digiapix.rules \ file://libdigiapix.conf \ file://digiapix.sh \ From 3e5c2eb1bf59125ec6432d2bfd2df7ef6185b014 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Fri, 13 Sep 2019 18:36:20 +0200 Subject: [PATCH 31/37] meta-digi: revert revisions to AUTOREV Signed-off-by: Hector Palacios --- meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc | 2 +- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb | 2 +- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb | 2 +- .../recipes-digi/trustfence/trustfence-sign-tools_git.bb | 4 ++-- .../kernel-module-qualcomm/kernel-module-qualcomm.bb | 5 ++--- meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc | 5 ++--- .../recipes-digi/cloudconnector/cloudconnector_git.bb | 4 ++-- meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc | 2 +- meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb | 4 ++-- 9 files changed, 14 insertions(+), 16 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc index 7a10ff889..b3acff935 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc @@ -18,7 +18,7 @@ S = "${WORKDIR}/git" UBOOT_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}u-boot-denx.git', '${DIGI_GITHUB_GIT}/u-boot.git;protocol=https', d)}" SRC_URI = " \ - ${UBOOT_GIT_URI};nobranch=1 \ + ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ " SRC_URI_append = " \ diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb index c348b7028..3cf75fbd9 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb @@ -3,6 +3,6 @@ require digi-u-boot.inc SRCBRANCH = "v2017.03/maint" -SRCREV = "98d7b2a83c63db520c1344535c053c43f88267b6" +SRCREV = "${AUTOREV}" COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul|ccimx8x)" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb index 4b7e2c647..763c3b386 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb @@ -3,6 +3,6 @@ require digi-u-boot.inc SRCBRANCH = "v2018.03/maint" -SRCREV = "2854efcc84fbb420a247e6d6e51892e6399ea45b" +SRCREV = "${AUTOREV}" COMPATIBLE_MACHINE = "(ccimx8x)" diff --git a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb index bd0128fd6..9aff645ff 100644 --- a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb +++ b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425 DEPENDS = "trustfence-cst coreutils util-linux" SRCBRANCH = "v2017.03/maint" -SRCREV = "98d7b2a83c63db520c1344535c053c43f88267b6" +SRCREV = "${AUTOREV}" S = "${WORKDIR}" @@ -14,7 +14,7 @@ S = "${WORKDIR}" UBOOT_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}u-boot-denx.git', '${DIGI_GITHUB_GIT}/u-boot.git;protocol=https', d)}" SRC_URI = " \ - ${UBOOT_GIT_URI};nobranch=1 \ + ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ file://trustfence-sign-kernel.sh;name=kernel-script \ file://sign_uimage;name=kernel-sign \ file://encrypt_uimage;name=kernel-encrypt \ diff --git a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb index 4cc253408..ce2fe5e89 100644 --- a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb +++ b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb @@ -11,13 +11,12 @@ PV_ccimx8x = "v4.0.11.208Q" SRCBRANCH = "qca6564/dey-2.6/maint" SRCBRANCH_ccimx8x = "qca6574/dey-2.6/maint" -SRCREV = "9b772af82d96a942bb1927fb9596069a121e4cea" -SRCREV_ccimx8x = "3e6c96c3682c39be5068b6969e552e5c193d17af" +SRCREV = "${AUTOREV}" QCOM_GIT_URI = "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_MTK_GIT}linux/qcacld-2.0.git;protocol=ssh', '${DIGI_GITHUB_GIT}/qcacld-2.0.git;protocol=https', d)}" SRC_URI = " \ - ${QCOM_GIT_URI};nobranch=1 \ + ${QCOM_GIT_URI};branch=${SRCBRANCH} \ " # Selects whether the interface is SDIO or PCI diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc index b9b00b809..3166424f9 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc @@ -6,11 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" LOCALVERSION = "-dey" SRCBRANCH = "v4.14/dey-2.6/maint" SRCBRANCH_ccimx6 = "v4.9/dey-2.6/maint" -SRCREV = "c5e1f7959242549991832246a39e26be2e091749" -SRCREV_ccimx6 = "3af7f832df7462bc3b0f76d37ed3893aab2edc51" +SRCREV = "${AUTOREV}" # Select internal or Github Linux repo LINUX_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}linux-2.6.git', '${DIGI_GITHUB_GIT}/linux.git;protocol=https', d)}" -SRC_URI = "${LINUX_GIT_URI};nobranch=1" +SRC_URI = "${LINUX_GIT_URI};branch=${SRCBRANCH}" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb index 367eae7a2..d5501cdd7 100644 --- a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb +++ b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb @@ -8,14 +8,14 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MPL-2.0;md5=815ca599c9df247a0c7 DEPENDS = "confuse openssl recovery-utils zlib" SRCBRANCH = "master" -SRCREV = "4a8272204425a7a39f3d7c05b6ec6f33d6e35867" +SRCREV = "${AUTOREV}" CC_STASH = "gitsm://git@stash.digi.com/cc/cc_dey.git;protocol=ssh" CC_GITHUB = "gitsm://github.com/digi-embedded/cc_dey.git;protocol=https" CC_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${CC_STASH}', '${CC_GITHUB}', d)}" -SRC_URI = "${CC_GIT_URI};nobranch=1" +SRC_URI = "${CC_GIT_URI};branch=${SRCBRANCH}" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc index e04058b22..ecd7612de 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc @@ -1,7 +1,7 @@ # Copyright (C) 2019, Digi International Inc. SRCBRANCH = "dey-2.6/maint" -SRCREV = "7413e47d8c87280fbc941153d7af1e9f51bf26da" +SRCREV = "${AUTOREV}" DEY_EXAMPLES_STASH = "${DIGI_MTK_GIT}dey/dey-examples.git;protocol=ssh" DEY_EXAMPLES_GITHUB = "${DIGI_GITHUB_GIT}/dey-examples.git;protocol=https" diff --git a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb index bfe62648c..23f520cb1 100644 --- a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb +++ b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca DEPENDS = "libsoc libsocketcan" SRCBRANCH ?= "dey-2.6/maint" -SRCREV = "eeabaf405387691281a6674ec356fdb3cd81f6a5" +SRCREV = "${AUTOREV}" LIBDIGIAPIX_URI_STASH = "${DIGI_MTK_GIT}dey/libdigiapix.git;protocol=ssh" LIBDIGIAPIX_URI_GITHUB = "${DIGI_GITHUB_GIT}/libdigiapix.git;protocol=https" @@ -17,7 +17,7 @@ LIBDIGIAPIX_URI_GITHUB = "${DIGI_GITHUB_GIT}/libdigiapix.git;protocol=https" LIBDIGIAPIX_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${LIBDIGIAPIX_URI_STASH}', '${LIBDIGIAPIX_URI_GITHUB}', d)}" SRC_URI = " \ - ${LIBDIGIAPIX_GIT_URI};nobranch=1 \ + ${LIBDIGIAPIX_GIT_URI};branch=${SRCBRANCH} \ file://99-digiapix.rules \ file://libdigiapix.conf \ file://digiapix.sh \ From 359ade52ace522bd215fa64e813e8145d7ae5191 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Tue, 17 Sep 2019 16:51:17 +0200 Subject: [PATCH 32/37] udev-extraconf: mount.sh with skip of already-mounted partitions Default poky's version of the 'mount.sh' script doesn't account for the possibility of udev calling twice the script for the 'add' action. This has been observed on USB sticks connected to a USB hub and, although the script eventually fails, for already mounted partitions, in that case the script tries to remove the created mountpoint, when it shouldn't. This patch checks for already mounted partitions earlier (before creating the mount point) and returns with no actions. The patch that it adds (with respect to poky's thud default) is the following: diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh b/meta/recipes-core/udev/udev-extraconf/mount.sh index 3ee67b13183a..e6882a69c223 100644 --- a/meta/recipes-core/udev/udev-extraconf/mount.sh +++ b/meta/recipes-core/udev/udev-extraconf/mount.sh @@ -38,6 +38,12 @@ done automount_systemd() { name="`basename "$DEVNAME"`" + # Skip already mounted partitions + if [ -f /run/systemd/transient/run-media-$name.mount ]; then + logger "mount.sh/automount" "/run/media/$name already mounted" + return + fi + # Skip the partition which are already in /etc/fstab grep "^[[:space:]]*$DEVNAME" /etc/fstab && return for n in LABEL PARTLABEL UUID PARTUUID; do Signed-off-by: Hector Palacios https://jira.digi.com/browse/DEL-6759 --- .../recipes-core/udev/udev-extraconf/mount.sh | 157 ++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 meta-digi-arm/recipes-core/udev/udev-extraconf/mount.sh diff --git a/meta-digi-arm/recipes-core/udev/udev-extraconf/mount.sh b/meta-digi-arm/recipes-core/udev/udev-extraconf/mount.sh new file mode 100644 index 000000000..89d06b66a --- /dev/null +++ b/meta-digi-arm/recipes-core/udev/udev-extraconf/mount.sh @@ -0,0 +1,157 @@ +#!/bin/sh +# +# Called from udev +# +# Attempt to mount any added block devices and umount any removed devices + +BASE_INIT="`readlink -f "@base_sbindir@/init"`" +INIT_SYSTEMD="@systemd_unitdir@/systemd" + +if [ "x$BASE_INIT" = "x$INIT_SYSTEMD" ];then + # systemd as init uses systemd-mount to mount block devices + MOUNT="/usr/bin/systemd-mount" + UMOUNT="/usr/bin/systemd-umount" + + if [ -x $MOUNT ] && [ -x $UMOUNT ]; + then + logger "Using systemd-mount to finish mount" + else + logger "Linux init is using systemd, so please install systemd-mount to finish mount" + exit 1 + fi +else + MOUNT="/bin/mount" + UMOUNT="/bin/umount" +fi + +PMOUNT="/usr/bin/pmount" + +for line in `grep -h -v ^# /etc/udev/mount.blacklist /etc/udev/mount.blacklist.d/*` +do + if [ ` expr match "$DEVNAME" "$line" ` -gt 0 ]; + then + logger "udev/mount.sh" "[$DEVNAME] is blacklisted, ignoring" + exit 0 + fi +done + +automount_systemd() { + name="`basename "$DEVNAME"`" + + # Skip already mounted partitions + if [ -f /run/systemd/transient/run-media-$name.mount ]; then + logger "mount.sh/automount" "/run/media/$name already mounted" + return + fi + + # Skip the partition which are already in /etc/fstab + grep "^[[:space:]]*$DEVNAME" /etc/fstab && return + for n in LABEL PARTLABEL UUID PARTUUID; do + tmp="$(lsblk -o $n $DEVNAME | sed -e '1d')" + test -z "$tmp" && continue + tmp="$n=$tmp" + grep "^[[:space:]]*$tmp" /etc/fstab && return + done + + [ -d "/run/media/$name" ] || mkdir -p "/run/media/$name" + + MOUNT="$MOUNT -o silent" + + # If filesystemtype is vfat, change the ownership group to 'disk', and + # grant it with w/r/x permissions. + case $ID_FS_TYPE in + vfat|fat) + MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`" + ;; + # TODO + *) + ;; + esac + + if ! $MOUNT --no-block -t auto $DEVNAME "/run/media/$name" + then + #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/run/media/$name\" failed!" + rm_dir "/run/media/$name" + else + logger "mount.sh/automount" "Auto-mount of [/run/media/$name] successful" + touch "/tmp/.automount-$name" + fi +} + +automount() { + name="`basename "$DEVNAME"`" + + if [ -x "$PMOUNT" ]; then + $PMOUNT $DEVNAME 2> /dev/null + elif [ -x $MOUNT ]; then + $MOUNT $DEVNAME 2> /dev/null + fi + + # If the device isn't mounted at this point, it isn't + # configured in fstab + grep -q "^$DEVNAME " /proc/mounts && return + + ! test -d "/run/media/$name" && mkdir -p "/run/media/$name" + # Silent util-linux's version of mounting auto + if [ "x`readlink $MOUNT`" = "x/bin/mount.util-linux" ] ; + then + MOUNT="$MOUNT -o silent" + fi + + # If filesystem type is vfat, change the ownership group to 'disk', and + # grant it with w/r/x permissions. + case $ID_FS_TYPE in + vfat|fat) + MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`" + ;; + # TODO + *) + ;; + esac + + if ! $MOUNT -t auto $DEVNAME "/run/media/$name" + then + #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/run/media/$name\" failed!" + rm_dir "/run/media/$name" + else + logger "mount.sh/automount" "Auto-mount of [/run/media/$name] successful" + touch "/tmp/.automount-$name" + fi +} + +rm_dir() { + # We do not want to rm -r populated directories + if test "`find "$1" | wc -l | tr -d " "`" -lt 2 -a -d "$1" + then + ! test -z "$1" && rm -r "$1" + else + logger "mount.sh/automount" "Not removing non-empty directory [$1]" + fi +} + +# No ID_FS_TYPE for cdrom device, yet it should be mounted +name="`basename "$DEVNAME"`" +[ -e /sys/block/$name/device/media ] && media_type=`cat /sys/block/$name/device/media` + +if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && [ -n "$ID_FS_TYPE" -o "$media_type" = "cdrom" ]; then + # Note the root filesystem can show up as /dev/root in /proc/mounts, + # so check the device number too + if expr $MAJOR "*" 256 + $MINOR != `stat -c %d /`; then + if [ "`basename $MOUNT`" = "systemd-mount" ];then + automount_systemd + else + automount + fi + fi +fi + +if [ "$ACTION" = "remove" ] || [ "$ACTION" = "change" ] && [ -x "$UMOUNT" ] && [ -n "$DEVNAME" ]; then + for mnt in `cat /proc/mounts | grep "$DEVNAME" | cut -f 2 -d " " ` + do + $UMOUNT $mnt + done + + # Remove empty directories from auto-mounter + name="`basename "$DEVNAME"`" + test -e "/tmp/.automount-$name" && rm_dir "/run/media/$name" +fi From 60939c2303013dc02bbb888ec6aa75e0cae7266a Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Wed, 18 Sep 2019 16:28:25 +0200 Subject: [PATCH 33/37] dey-examples: move SRC_URI to shared include file Signed-off-by: Hector Palacios --- meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb | 2 -- .../recipes-digi/dey-examples/dey-examples-bt-gatt-server.bb | 2 -- .../recipes-digi/dey-examples/dey-examples-caamblob.bb | 2 -- .../recipes-digi/dey-examples/dey-examples-cryptochip.bb | 2 -- .../recipes-digi/dey-examples/dey-examples-digiapix.bb | 2 -- meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc | 2 ++ 6 files changed, 2 insertions(+), 10 deletions(-) diff --git a/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb b/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb index 6b9a696a6..1c3ee5f33 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/awsiotsdk-demo_git.bb @@ -16,8 +16,6 @@ AWS_USER_LED_ccimx6ulsbc ?= "488" AWS_USER_LED_ccimx6sbc ?= "34" AWS_USER_LED_ccimx6qpsbc ?= "34" -SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}" - S = "${WORKDIR}/git/awsiot-sample" inherit aws-iot pkgconfig diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-bt-gatt-server.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-bt-gatt-server.bb index c91792622..dfb5fa273 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-bt-gatt-server.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-bt-gatt-server.bb @@ -11,8 +11,6 @@ inherit bluetooth DEPENDS = "${BLUEZ}" -SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}" - S = "${WORKDIR}/git/ble-gatt-server-example" do_install() { diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-caamblob.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-caamblob.bb index a5d40e17b..c211b02ca 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-caamblob.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-caamblob.bb @@ -7,8 +7,6 @@ SECTION = "examples" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" -SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}" - S = "${WORKDIR}/git/caam-blob-example" inherit pkgconfig diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb index ba7235f4d..685ba4fc4 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-cryptochip.bb @@ -9,8 +9,6 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425 DEPENDS = "cryptoauthlib" -SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}" - S = "${WORKDIR}/git/cryptochip-get-random" inherit pkgconfig diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb index f5551e11e..14945028e 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-digiapix.bb @@ -9,8 +9,6 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca DEPENDS = "libdigiapix" -SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}" - S = "${WORKDIR}/git" inherit pkgconfig diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc index ecd7612de..a9549eece 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc @@ -7,3 +7,5 @@ DEY_EXAMPLES_STASH = "${DIGI_MTK_GIT}dey/dey-examples.git;protocol=ssh" DEY_EXAMPLES_GITHUB = "${DIGI_GITHUB_GIT}/dey-examples.git;protocol=https" DEY_EXAMPLES_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DEY_EXAMPLES_STASH}', '${DEY_EXAMPLES_GITHUB}', d)}" + +SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}" From df4c3072138db095be151ca3b0e37cc02f397701 Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Fri, 20 Sep 2019 16:30:45 +0200 Subject: [PATCH 34/37] mca-tool: update to v1.18 Signed-off-by: Gabriel Valcazar --- .../mca/{mca-tool_1.17.bb => mca-tool_1.18.bb} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename meta-digi-arm/recipes-digi/mca/{mca-tool_1.17.bb => mca-tool_1.18.bb} (61%) diff --git a/meta-digi-arm/recipes-digi/mca/mca-tool_1.17.bb b/meta-digi-arm/recipes-digi/mca/mca-tool_1.18.bb similarity index 61% rename from meta-digi-arm/recipes-digi/mca/mca-tool_1.17.bb rename to meta-digi-arm/recipes-digi/mca/mca-tool_1.18.bb index 2e00d985e..d410e90fb 100644 --- a/meta-digi-arm/recipes-digi/mca/mca-tool_1.17.bb +++ b/meta-digi-arm/recipes-digi/mca/mca-tool_1.18.bb @@ -8,13 +8,13 @@ PKGNAME = "mca_tool" # ARM tarball SRC_URI_arm = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}-${TUNE_ARCH}.tar.gz;name=arm" -SRC_URI[arm.md5sum] = "c1eefe3113c4915b92fadebc7f769d21" -SRC_URI[arm.sha256sum] = "9a9d962e549fdb0f22fc1037f74ca21c7356dded7033c28a1b4b325a44b579aa" +SRC_URI[arm.md5sum] = "aa2037b93dadafe160824f7d63dd8582" +SRC_URI[arm.sha256sum] = "7dbc07672d5cce52e3ec611a1bcef1b6c0aed278fbcd6a150b3f528d8da66065" # AARCH64 tarball SRC_URI_aarch64 = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}-${TUNE_ARCH}.tar.gz;name=aarch64" -SRC_URI[aarch64.md5sum] = "92a3d3d3a63c749efc4761cdb5efe77e" -SRC_URI[aarch64.sha256sum] = "6b3cd2e9aa879ebd5aba628731855112db69ab01cedc5e203c10917e51f93a08" +SRC_URI[aarch64.md5sum] = "40d8113353daf8e426597c289f6659d8" +SRC_URI[aarch64.sha256sum] = "a0f7d8bae72f9dcdb1102bcf3e42a4b66d4f66b4bef43f80a4fd63282562a9d4" S = "${WORKDIR}/${PKGNAME}-${PV}" From 5a03f07e8087e551296cc955e23ee838a4c2e30a Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Thu, 26 Sep 2019 12:36:35 +0200 Subject: [PATCH 35/37] readme: fix QCA65x4 model numbering Signed-off-by: Hector Palacios --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 3497685a0..c93029719 100644 --- a/README.md +++ b/README.md @@ -106,8 +106,7 @@ Documentation is available online at https://www.digi.com/resources/documentatio * Updated U-Boot to version 2017.03-r4 for i.MX6 and i.MX6UL platforms * Updated AWS Greengrass core to v1.9.2 * Updated i.MX8 SCU firmware to v1.2.5 (see [important note](#scfw-note)) -* Updated QCA65x7 Wi-Fi and Bluetooth firmware to r10007.1 - +* Updated QCA65x4 Wi-Fi and Bluetooth firmware ## 2.6-r1 From bc4d8a3f19d08010e618b858293f6292aa1f2d04 Mon Sep 17 00:00:00 2001 From: Gonzalo Ruiz Date: Thu, 26 Sep 2019 15:11:40 +0200 Subject: [PATCH 36/37] firmware_qualcomm: update US Board Data File calibration data Update file: - fakeboar.bin (e1db4a300b58776f8abd8588beadc09e) This file was generated by calibrating several CC8X SOMs and SBCs and merging their resulting BDF files into a Golden file. Reference calibration file is: - bdwlan30.bin (8a558fa38dacee7038f04c1b10ec69a5) located at 'cnss_proc/wlan/fw/target/pcie_dst/qc6174/' from tag r10007.1 on qca6574au-le-2-2-1_qca_oem repo. https://jira.digi.com/browse/DEL-6736 Signed-off-by: Gonzalo Ruiz --- .../qca6574_proprietary/fakeboar.bin | Bin 8124 -> 8124 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/fakeboar.bin b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/fakeboar.bin index 5bfe3026c6b42b81a8cdd2ccfc34e0fc84d4aff6..d51ffbe4422066839f62fa7adc6e96d3a26d831d 100644 GIT binary patch literal 8124 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 O`8KT!D%fug=zjq&a|nk3 literal 8124 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 Uz*p#P4Tj{aG%kOYiiKML3BEi2_y7O^ From 3affba5848baaa908b65ce745f171e7b7fe7e913 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Thu, 26 Sep 2019 17:29:15 +0200 Subject: [PATCH 37/37] meta-digi: update revisions for dey-2.6-r2.2 Signed-off-by: Hector Palacios --- meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc | 2 +- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb | 2 +- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb | 2 +- .../recipes-digi/trustfence/trustfence-sign-tools_git.bb | 4 ++-- .../kernel-module-qualcomm/kernel-module-qualcomm.bb | 5 +++-- meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc | 5 +++-- .../recipes-digi/cloudconnector/cloudconnector_git.bb | 4 ++-- meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc | 4 ++-- meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb | 4 ++-- 9 files changed, 17 insertions(+), 15 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc index b3acff935..7a10ff889 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc @@ -18,7 +18,7 @@ S = "${WORKDIR}/git" UBOOT_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}u-boot-denx.git', '${DIGI_GITHUB_GIT}/u-boot.git;protocol=https', d)}" SRC_URI = " \ - ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ + ${UBOOT_GIT_URI};nobranch=1 \ " SRC_URI_append = " \ diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb index 3cf75fbd9..c348b7028 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb @@ -3,6 +3,6 @@ require digi-u-boot.inc SRCBRANCH = "v2017.03/maint" -SRCREV = "${AUTOREV}" +SRCREV = "98d7b2a83c63db520c1344535c053c43f88267b6" COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul|ccimx8x)" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb index 763c3b386..4b7e2c647 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb @@ -3,6 +3,6 @@ require digi-u-boot.inc SRCBRANCH = "v2018.03/maint" -SRCREV = "${AUTOREV}" +SRCREV = "2854efcc84fbb420a247e6d6e51892e6399ea45b" COMPATIBLE_MACHINE = "(ccimx8x)" diff --git a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb index 9aff645ff..bd0128fd6 100644 --- a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb +++ b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425 DEPENDS = "trustfence-cst coreutils util-linux" SRCBRANCH = "v2017.03/maint" -SRCREV = "${AUTOREV}" +SRCREV = "98d7b2a83c63db520c1344535c053c43f88267b6" S = "${WORKDIR}" @@ -14,7 +14,7 @@ S = "${WORKDIR}" UBOOT_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}u-boot-denx.git', '${DIGI_GITHUB_GIT}/u-boot.git;protocol=https', d)}" SRC_URI = " \ - ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ + ${UBOOT_GIT_URI};nobranch=1 \ file://trustfence-sign-kernel.sh;name=kernel-script \ file://sign_uimage;name=kernel-sign \ file://encrypt_uimage;name=kernel-encrypt \ diff --git a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb index ce2fe5e89..4cc253408 100644 --- a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb +++ b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb @@ -11,12 +11,13 @@ PV_ccimx8x = "v4.0.11.208Q" SRCBRANCH = "qca6564/dey-2.6/maint" SRCBRANCH_ccimx8x = "qca6574/dey-2.6/maint" -SRCREV = "${AUTOREV}" +SRCREV = "9b772af82d96a942bb1927fb9596069a121e4cea" +SRCREV_ccimx8x = "3e6c96c3682c39be5068b6969e552e5c193d17af" QCOM_GIT_URI = "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_MTK_GIT}linux/qcacld-2.0.git;protocol=ssh', '${DIGI_GITHUB_GIT}/qcacld-2.0.git;protocol=https', d)}" SRC_URI = " \ - ${QCOM_GIT_URI};branch=${SRCBRANCH} \ + ${QCOM_GIT_URI};nobranch=1 \ " # Selects whether the interface is SDIO or PCI diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc index 3166424f9..b6d95a996 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc @@ -6,10 +6,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" LOCALVERSION = "-dey" SRCBRANCH = "v4.14/dey-2.6/maint" SRCBRANCH_ccimx6 = "v4.9/dey-2.6/maint" -SRCREV = "${AUTOREV}" +SRCREV = "0f5a740ab5b829b09b7b55f4f318fc61cd25b484" +SRCREV_ccimx6 = "3af7f832df7462bc3b0f76d37ed3893aab2edc51" # Select internal or Github Linux repo LINUX_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}linux-2.6.git', '${DIGI_GITHUB_GIT}/linux.git;protocol=https', d)}" -SRC_URI = "${LINUX_GIT_URI};branch=${SRCBRANCH}" +SRC_URI = "${LINUX_GIT_URI};nobranch=1" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb index d5501cdd7..367eae7a2 100644 --- a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb +++ b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb @@ -8,14 +8,14 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MPL-2.0;md5=815ca599c9df247a0c7 DEPENDS = "confuse openssl recovery-utils zlib" SRCBRANCH = "master" -SRCREV = "${AUTOREV}" +SRCREV = "4a8272204425a7a39f3d7c05b6ec6f33d6e35867" CC_STASH = "gitsm://git@stash.digi.com/cc/cc_dey.git;protocol=ssh" CC_GITHUB = "gitsm://github.com/digi-embedded/cc_dey.git;protocol=https" CC_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${CC_STASH}', '${CC_GITHUB}', d)}" -SRC_URI = "${CC_GIT_URI};branch=${SRCBRANCH}" +SRC_URI = "${CC_GIT_URI};nobranch=1" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc index a9549eece..113e1db95 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc @@ -1,11 +1,11 @@ # Copyright (C) 2019, Digi International Inc. SRCBRANCH = "dey-2.6/maint" -SRCREV = "${AUTOREV}" +SRCREV = "7413e47d8c87280fbc941153d7af1e9f51bf26da" DEY_EXAMPLES_STASH = "${DIGI_MTK_GIT}dey/dey-examples.git;protocol=ssh" DEY_EXAMPLES_GITHUB = "${DIGI_GITHUB_GIT}/dey-examples.git;protocol=https" DEY_EXAMPLES_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DEY_EXAMPLES_STASH}', '${DEY_EXAMPLES_GITHUB}', d)}" -SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}" +SRC_URI = "${DEY_EXAMPLES_GIT_URI};nobranch=1" diff --git a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb index 23f520cb1..bfe62648c 100644 --- a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb +++ b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca DEPENDS = "libsoc libsocketcan" SRCBRANCH ?= "dey-2.6/maint" -SRCREV = "${AUTOREV}" +SRCREV = "eeabaf405387691281a6674ec356fdb3cd81f6a5" LIBDIGIAPIX_URI_STASH = "${DIGI_MTK_GIT}dey/libdigiapix.git;protocol=ssh" LIBDIGIAPIX_URI_GITHUB = "${DIGI_GITHUB_GIT}/libdigiapix.git;protocol=https" @@ -17,7 +17,7 @@ LIBDIGIAPIX_URI_GITHUB = "${DIGI_GITHUB_GIT}/libdigiapix.git;protocol=https" LIBDIGIAPIX_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${LIBDIGIAPIX_URI_STASH}', '${LIBDIGIAPIX_URI_GITHUB}', d)}" SRC_URI = " \ - ${LIBDIGIAPIX_GIT_URI};branch=${SRCBRANCH} \ + ${LIBDIGIAPIX_GIT_URI};nobranch=1 \ file://99-digiapix.rules \ file://libdigiapix.conf \ file://digiapix.sh \