Compare commits

..

13 Commits

Author SHA1 Message Date
Alexandre Bard 5c401fa0aa Merge branch 'develop' into kirkstone 2022-08-18 13:31:58 +02:00
Alexandre Bard 033f3aec05 imx8 machine.conf: Fix include or architecture file
The path has changed with kirkstone.

Part of yocto upgrade from dunfell to kirkstone
2022-08-02 15:43:05 +02:00
Alexandre Bard 2752aadba3 wwan-config: Remove deprecated dependency to configparser
configparser is part of python3-core. This packages was providing a
backport for python2

Part of yocto upgrade from dunfell to kirkstone
2022-08-02 15:43:05 +02:00
Alexandre Bard cc897e7021 cannelloni: Remove unnecessary recipe
This recipe is now present in meta-networking

Part of yocto upgrade from dunfell to kirkstone
2022-08-02 15:42:41 +02:00
Alexandre Bard 03a26e8997 Use new kirkstone licenses names
The licenses names changed with kirkstone

Part of yocto upgrade from dunfell to kirkstone
2022-08-02 15:42:41 +02:00
Alexandre Bard 1ccfb8aca8 machine/ti33x: Fix path to include tune file
This changed with kirkstone

Part of yocto upgrade from dunfell to kirkstone
2022-08-02 15:42:41 +02:00
Alexandre Bard baa32f7fca modemmanager: Update to 1.18.8
Version 1.14.8 was not buildable with kirkstone.
The patches have been ported to a new branch on our fork of
ModemManager.

Part of yocto upgrade from dunfell to kirkstone
2022-08-02 15:41:13 +02:00
Marc Mattmueller e64b7a32ba machine: fixed IMAGE_BOOT_FILES for armada u-boot
Part of yocto upgrade from dunfell to kirkstone
Signed-off-by: Marc Mattmueller <marc.mattmueller@netmodule.com>
2022-08-02 15:37:30 +02:00
Marc Mattmueller 0003dacf50 networkmanager: removed package config for dnsmasq
needed to make networkmanager build

Part of yocto upgrade from dunfell to kirkstone
Signed-off-by: Marc Mattmueller <marc.mattmueller@netmodule.com>
2022-08-02 15:37:26 +02:00
Marc Mattmueller c1f4056736 fitImage: fixed syntax for the fitImage and the overwrite for ostree
Part of yocto upgrade from dunfell to kirkstone
Signed-off-by: Marc Mattmueller <marc.mattmueller@netmodule.com>
2022-08-02 15:37:04 +02:00
Marc Mattmueller 26bb7e72f6 u-boot-armada: integrated remove-redundant-YYLOC-declaration patch
This commit holds also the following patch:
  Same as the upstream fix for building dtc with gcc 10.
  Signed-off-by: Peter Robinson <pbrobinson@gmail.com>

Whereas an additional file needed to be patched too to get rid of
this multiple definition compile error.

Part of yocto upgrade from dunfell to kirkstone
Signed-off-by: Marc Mattmueller <marc.mattmueller@netmodule.com>
2022-08-02 15:36:48 +02:00
Marc Mattmueller 1e7b74e76c networkmanager: migrated reactivate gsm connections patch to kirkstone
Part of yocto upgrade from dunfell to kirkstone
Signed-off-by: Marc Mattmueller <marc.mattmueller@netmodule.com>
2022-08-02 15:36:40 +02:00
Marc Mattmueller ffe292ff47 general: migrated recipes and conf files from dunfell to kirkstone
Part of yocto upgrade from dunfell to kirkstone
Signed-off-by: Marc Mattmueller <marc.mattmueller@netmodule.com>
2022-08-02 15:36:06 +02:00
83 changed files with 716 additions and 424 deletions

View File

@ -3,24 +3,24 @@
inherit systemd
RDEPENDS_${PN} += "libgpiod-tools"
RDEPENDS:${PN} += "libgpiod-tools"
FILESEXTRAPATHS_append := ":${THISDIR}/files"
FILESEXTRAPATHS:append := ":${THISDIR}/files"
SRC_URI_append = " \
SRC_URI:append = " \
file://jody-w1-bt-init.service \
file://jody-w1-bt \
"
S = "${WORKDIR}"
SYSTEMD_SERVICE_${PN} = " \
SYSTEMD_SERVICE:${PN} = " \
jody-w1-bt-init.service \
"
FILES_${PN}_append = "${systemd_unitdir}/system ${bindir}"
FILES:${PN}:append = "${systemd_unitdir}/system ${bindir}"
do_install_append() {
do_install:append() {
install -d ${D}${systemd_unitdir}/system
install -m 644 ${WORKDIR}/jody-w1-bt-init.service ${D}${systemd_unitdir}/system/

View File

@ -1,11 +1,11 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
RDEPENDS_${PN}_remove = " ${PN}-wpa-supplicant ${PN}-hostapd"
RDEPENDS:${PN}:remove = " ${PN}-wpa-supplicant ${PN}-hostapd"
SRC_URI_append = "file://0001-Disable-wowlan_config.patch"
SRC_URI:append = "file://0001-Disable-wowlan_config.patch"
# unblacklist pcie driver and fw files (default)
do_configure_prepend () {
do_configure:prepend () {
for i in $(seq 1 4); do
sed -e "${i}s/^#*/#/" -i ${WORKDIR}/jody-w1-driver-pcie.conf
done

View File

@ -6,17 +6,17 @@ do_assemble_fitimage[depends] += "fpga-image:do_deploy"
# $1 ... .its filename
# $2 ... Image counter
# $3 ... Path to fpga image
fitimage_emit_section_kernel_append() {
fitimage_emit_section_kernel:append() {
fpgacount=1
cat << EOF >> ${1}
fpga@${fpgacount} {
fpga-${fpgacount} {
description = "FPGA";
data = /incbin/("${DEPLOY_DIR_IMAGE}/fpga-image-${MACHINE}");
type = "fpga";
arch = "${UBOOT_ARCH}";
compression = "none";
hash@1 {
algo = "sha1";
hashi-1 {
algo = "sha256";
};
};
EOF

View File

@ -19,5 +19,5 @@ LAYERVERSION_netmodule-bsp = "1"
LAYERDEPENDS_netmodule-bsp = "core"
LAYERSERIES_COMPAT_netmodule-bsp = "dunfell"
LAYERSERIES_COMPAT_netmodule-bsp = "dunfell kirkstone"

View File

@ -3,6 +3,7 @@
#@DESCRIPTION: Machine configuration for the netmodule hw25, aka TC Router
require am335x-nmhw24.conf
MACHINEOVERRIDES .= ":am335x-nmhw24"
UBOOT_MACHINE = "am335x_hw25_defconfig"
@ -11,7 +12,7 @@ KERNEL_DEVICETREE_TO_USE = "${HW25_DT}"
SERIAL_CONSOLES = "115200;ttyS0"
DEFAULT_ETH = "lan0"
MACHINE_FEATURES_remove = " \
MACHINE_FEATURES:remove = " \
bluetooth \
tibluetooth \
"

View File

@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: NetModule HW 26 with user module
#@DESCRIPTION: NG800 (hw26) was based on VCU1 (hw21), but later on,
# the new VCU pro was based on the changes done on NG800
require am335x-hw26.conf
MACHINEOVERRIDES =. "am335x-hw26:"
USER_MODULE_MACHINE_FEATURE = "user-module"

View File

@ -5,9 +5,6 @@
#require conf/machine/include/ti33x.inc
require am335x-nmhw21.conf
KERNEL_DEVICETREE_TO_USE = "${HW26_DT}"
MACHINEOVERRIDES =. "am335x-nmhw21:"
MACHINEOVERRIDES .= ":am335x-nmhw21"
MACHINE_FEATURES += "pps"
# Remove usermodule
USER_MODULE_MACHINE_FEATURE = ""
MACHINE_FEATURES:remove = "user-module"

View File

@ -30,9 +30,7 @@ MACHINE_FEATURES += " \
neo-m8l \
wifi \
ti-wifi \
user-module \
da9063-ignition \
"
USER_MODULE_MACHINE_FEATURE = "user-module"
MACHINE_FEATURES_append = " ${USER_MODULE_MACHINE_FEATURE}"

View File

@ -21,7 +21,6 @@ WWAN_VENDORS = "ublox"
MACHINE_FEATURES += " \
can \
wwan \
gnss \
bluetooth \
tibluetooth \
atsha \

View File

@ -14,7 +14,7 @@ KERNEL_DEVICETREE = "armada-385-nbhw14-prod1.dtb \
KERNEL_IMAGETYPE = "zImage"
PREFERRED_PROVIDER_virtual/kernel = "linux-netmodule"
PV_pn-linux-netmodule = "4.12.0-${SRCPV}"
SRC_URI_pn-linux-netmodule = "git://github.com/netmodule/linux.git;protocol=https;branch=4.12/standard/nrhw14"
SRCREV_pn-linux-netmodule = "2fb3360ec3cf672c74321e1dbe5c04e59d1ced11"
PV:pn-linux-netmodule = "4.12.0-${SRCPV}"
SRC_URI:pn-linux-netmodule = "git://github.com/netmodule/linux.git;protocol=https;branch=4.12/standard/nrhw14"
SRCREV:pn-linux-netmodule = "2fb3360ec3cf672c74321e1dbe5c04e59d1ced11"

View File

@ -13,7 +13,7 @@ KERNEL_MODULE_PROBECONF += "ath10k_pci"
module_conf_ath10k_pci = "options ath10k_pci irq_mode=1"
UBOOT_MACHINE = "armada-385-hw18_defconfig"
IMAGE_BOOT_FILES = "u-boot-armada-385-hw18.kwb"
IMAGE_BOOT_FILES = "u-boot-armada-385-nrhw18.kwb"
DEFAULT_ETH = "eth2"

View File

@ -14,7 +14,7 @@ KERNEL_DEVICETREE = "freescale/fsl-imx8qxp-mek.dtb freescale/fsl-imx8qxp-mek-dom
SOTA_MACHINE = "${MACHINE}"
KERNEL_CLASSES_append = " kernel-fitimage"
KERNEL_CLASSES:append = " kernel-fitimage"
KERNEL_IMAGETYPE = "Image"
UBOOT_ENTRYPOINT ?= "0x80020000"

View File

@ -7,4 +7,4 @@ KERNEL_DEVICETREE_TO_USE = "${HW23_DLM_DT}"
MACHINEOVERRIDES .= ":imx8-nmhw23"
SOTA_MACHINE = "imx8-nmhw23"
MACHINE_FEATURES_remove = "v2x"
MACHINE_FEATURES:remove = "v2x"

View File

@ -12,7 +12,7 @@ KERNEL_DEVICETREE_TO_USE = "${HW23_DT}"
SOTA_MACHINE = "${MACHINE}"
KERNEL_CLASSES_append = " kernel-fitimage"
KERNEL_CLASSES:append = " kernel-fitimage"
#UBOOT_MACHINE = "imx8_nmhw23_defconfig"
IMAGE_BOOT_FILES = "flash.bin"

View File

@ -3,14 +3,14 @@ require conf/machine/include/soc-family.inc
require netmodule-hardware.inc
DEFAULTTUNE ?= "cortexa9thf-neon"
require conf/machine/include/tune-cortexa9.inc
require conf/machine/include/arm/armv7a/tune-cortexa9.inc
# Default providers, may need to override for specific machines
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-armada"
PREFERRED_PROVIDER_u-boot = "u-boot-armada"
UBOOT_ARCH = "arm"
UBOOT_MACHINE = "mvebu_db_armada8k_config"
UBOOT_MACHINE = "mvebu_db:armada8k_config"
UBOOT_ENTRYPOINT = "0x13000000"
UBOOT_LOADADDRESS = "0x13000000"

View File

@ -7,7 +7,7 @@ IMX_DEFAULT_BSP = ""
# Prevent usage of dynamic-packagearch for the kernel
MACHINE_ARCH_FILTER = ""
require conf/machine/include/tune-cortexa35.inc
require conf/machine/include/arm/armv8a/tune-cortexa35.inc
MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:"

View File

@ -3,7 +3,7 @@ require conf/machine/include/soc-family.inc
require netmodule-hardware.inc
DEFAULTTUNE ?= "cortexa8thf-neon"
require conf/machine/include/tune-cortexa8.inc
require conf/machine/include/arm/armv7a/tune-cortexa8.inc
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"

View File

@ -3,12 +3,12 @@
DESCRIPTION = "i.MX ARM Trusted Firmware"
SECTION = "BSP"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
PV = "1.5.0+git${SRCPV}"
SRCBRANCH = "imx_4.14.98_2.0.0_ga"
SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \
SRC_URI = "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \
file://0001-Allow-BUILD_STRING-to-be-set-in-.revision-file.patch \
"
SRCREV ?= "413e93e10ee4838e9a68b190f1468722f6385e0e"

View File

@ -3,8 +3,8 @@
require imx-mkimage_git.inc
DESCRIPTION = "Generate Boot Loader for i.MX 8 device"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
SECTION = "BSP"
IMX_EXTRA_FIRMWARE = "firmware-imx-8 imx-sc-firmware"
@ -16,7 +16,7 @@ DEPENDS += " \
${IMX_EXTRA_FIRMWARE} \
imx-atf \
"
DEPENDS_append_mx8m = " dtc-native"
DEPENDS:append_mx8m = " dtc-native"
BOOT_NAME = "imx-boot"
PROVIDES = "${BOOT_NAME}"
@ -39,7 +39,7 @@ ATF_MACHINE_NAME_mx8qm = "bl31-imx8qm.bin"
ATF_MACHINE_NAME_mx8qxp = "bl31-imx8qxp.bin"
ATF_MACHINE_NAME_mx8mq = "bl31-imx8mq.bin"
ATF_MACHINE_NAME_mx8mm = "bl31-imx8mm.bin"
ATF_MACHINE_NAME_append = "${@bb.utils.contains('COMBINED_FEATURES', 'optee', '-optee', '', d)}"
ATF_MACHINE_NAME:append = "${@bb.utils.contains('COMBINED_FEATURES', 'optee', '-optee', '', d)}"
DCD_NAME ?= "imx8qm_dcd.cfg.tmp"
DCD_NAME_mx8qm = "imx8qm_dcd.cfg.tmp"
@ -174,6 +174,6 @@ do_deploy() {
addtask deploy before do_build after do_compile
PACKAGE_ARCH = "${MACHINE_ARCH}"
FILES_${PN} = "/boot"
FILES:${PN} = "/boot"
COMPATIBLE_MACHINE = "(mx8)"

View File

@ -4,8 +4,8 @@
require imx-mkimage_git.inc
DESCRIPTION = "i.MX make image"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
SECTION = "BSP"
inherit native deploy

View File

@ -4,8 +4,8 @@ DEPENDS = "zlib-native openssl-native"
SRCBRANCH = "imx_4.14.98_2.0.0_ga"
SRC_URI = "git://github.com/nxp-imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH}"
SRCREV ?= "dd0234001713623c79be92b60fa88bc07b07f24f"
SRC_URI = "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH}"
SRCREV ?= "${AUTOREV}"
S = "${WORKDIR}/git"
BOOT_TOOLS = "imx-boot-tools"

View File

@ -6,7 +6,7 @@ LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9"
SECTION = "BSP"
FILESEXTRAPATHS_prepend := "${THISDIR}/files/${MACHINE}:"
FILESEXTRAPATHS:prepend := "${THISDIR}/files/${MACHINE}:"
inherit fsl-eula-unpack deploy
@ -20,7 +20,7 @@ symlink_name = "scfw_tcm.bin"
SRC_URI += "file://scfw_tcm_cfw.bin"
SC_FIRMWARE_NAME = "scfw_tcm_cfw.bin"
do_configure_prepend() {
do_configure:prepend() {
cp ${WORKDIR}/scfw_tcm_cfw.bin ${B}
}

View File

@ -3,18 +3,18 @@
SUMMARY = "A Daemon wait for Freescale/NXP mfgtools host's command"
SECTION = "base"
DEPENDS = "dosfstools-native"
LICENSE = "GPLv2"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
inherit autotools-brokensep
PV = "0.5.1+git${SRCPV}"
SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https"
SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https;branch=master"
SRCREV = "e3fbdfef978abd150d9ea71c4d174daded9c8d33"
S = "${WORKDIR}/git"
FILES_${PN} += "/linuxrc /fat"
FILES:${PN} += "/linuxrc /fat"
COMPATIBLE_MACHINE = "(imx)"

View File

@ -1,8 +1,8 @@
DESCRIPTION = "Bootloader configuration tool"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
RDEPENDS_${PN} += " \
RDEPENDS:${PN} += " \
python3-setuptools \
"
DEPENDS = "python3-setuptools-git-version-native"
@ -20,14 +20,14 @@ S = "${WORKDIR}/git"
# Likely required in the future
#PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit allarch
#do_configure_prepend() {
#do_configure:prepend() {
# cp ${S}/platforms/${MACHINE}/* ${S}/bootloader_config
#}
SYSTEMD_SERVICE_${PN} = "bootloader-config.service"
SYSTEMD_SERVICE:${PN} = "bootloader-config.service"
# do_install is done by setuptools
do_install_append() {
do_install:append() {
install -d ${D}/${systemd_unitdir}/system/
install -m 0644 ${S}/systemd/bootloader-config.service ${D}/${systemd_unitdir}/system/
}

View File

@ -1,6 +1,6 @@
DESCRIPTION = "Fpga images"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
inherit deploy
@ -21,6 +21,6 @@ do_deploy () {
cp ${WORKDIR}/LG00000000 ${DEPLOYDIR}/fpga-image-${MACHINE}
}
FILES_${PN} += "/logic/LG00000000"
FILES:${PN} += "/logic/LG00000000"
addtask deploy before do_build after do_compile

View File

@ -0,0 +1 @@
am335x-nmhw24

View File

@ -1,7 +0,0 @@
chip "da9063-*"
label in0 "main-voltage"
ignore in1
ignore in2
label in3 "wwan0-supply"
label in4 "rtc-voltage"
label temp1 "tjunc"

View File

@ -1,13 +0,0 @@
chip "da9063-*"
label in0 "main-voltage"
label in1 "input-voltage"
compute in1 15.0*@, @/15.0
label in2 "ignition-voltage"
compute in2 4.96*@, @/4.96
ignore in3
label in4 "rtc-voltage"
label temp1 "tjunc"
chip "*-mdio-*"
ignore in0
ignore temp1

View File

@ -1 +0,0 @@
am335x-hw26

View File

@ -1,9 +1,3 @@
chip "da9063-*"
label in0 "main-voltage"
label in1 "input-voltage"
compute in1 15.0*@, @/15.0
label in2 "ignition-voltage"
compute in2 4.96*@, @/4.96
label in3 "wwan0-supply"
label in4 "rtc-voltage"
label temp1 "tjunc"
chip "da9063-hwmon-*"
label in3 "wwan0-supply"

View File

@ -1,7 +0,0 @@
chip "da9063-*"
label in0 "main-voltage"
ignore in1
ignore in2
ignore in3
label in4 "rtc-voltage"
label temp1 "tjunc"

View File

@ -0,0 +1,138 @@
From 0992bce0612852dd10006a8e182b4e69361c99dc Mon Sep 17 00:00:00 2001
From: Alexandre Bard <alexandre.bard@netmodule.com>
Date: Fri, 12 Aug 2022 14:32:09 +0200
Subject: [PATCH] libsensors: Fix support for driver names with dashes
The dash is used as delimiter in the conversion rules. This works fine
with kernel drivers with simple names like lm75, but some drivers have a
compound name like da9063-hwmon which were not handled properly by these
rules.
Signed-off-by: Alexandre Bard <alexandre.bard@netmodule.com>
---
lib/data.c | 102 +++++++++++++++++++++++++++++++++--------------------
1 file changed, 64 insertions(+), 38 deletions(-)
diff --git a/lib/data.c b/lib/data.c
index c5aea429..318a35f8 100644
--- a/lib/data.c
+++ b/lib/data.c
@@ -83,54 +83,80 @@ void sensors_free_chip_name(sensors_chip_name *chip)
int sensors_parse_chip_name(const char *name, sensors_chip_name *res)
{
char *dash;
+ const char * prefix = name;
+ const char * bus_type;
/* First, the prefix. It's either "*" or a real chip name. */
- if (!strncmp(name, "*-", 2)) {
- res->prefix = SENSORS_CHIP_NAME_PREFIX_ANY;
- name += 2;
+ if (!strncmp(prefix, "*-", 2)) {
+ bus_type = prefix + 2;
} else {
- if (!(dash = strchr(name, '-')))
+ if (!(dash = strchr(prefix, '-')))
return -SENSORS_ERR_CHIP_NAME;
- res->prefix = strndup(name, dash - name);
- if (!res->prefix)
- sensors_fatal_error(__func__,
- "Allocating name prefix");
- name = dash + 1;
+ bus_type = dash + 1;
}
- /* Then we have either a sole "*" (all chips with this name) or a bus
- type and an address. */
- if (!strcmp(name, "*")) {
- res->bus.type = SENSORS_BUS_TYPE_ANY;
- res->bus.nr = SENSORS_BUS_NR_ANY;
- res->addr = SENSORS_CHIP_NAME_ADDR_ANY;
- return 0;
+ /* We go through the name until we find a valid bus type or "*"
+ (all chips with this name). Dashes on the way are considered
+ part of the prefix. */
+ while (1) {
+ if (!strcmp(bus_type, "*")) {
+ res->bus.type = SENSORS_BUS_TYPE_ANY;
+ break;
+ }
+
+ if (!(dash = strchr(bus_type, '-')))
+ return -SENSORS_ERR_CHIP_NAME;
+
+ if (!strncmp(bus_type, "i2c", dash - bus_type)) {
+ res->bus.type = SENSORS_BUS_TYPE_I2C;
+ break;
+ }
+ else if (!strncmp(bus_type, "isa", dash - bus_type)) {
+ res->bus.type = SENSORS_BUS_TYPE_ISA;
+ break;
+ }
+ else if (!strncmp(bus_type, "pci", dash - bus_type)) {
+ res->bus.type = SENSORS_BUS_TYPE_PCI;
+ break;
+ }
+ else if (!strncmp(bus_type, "spi", dash - bus_type)) {
+ res->bus.type = SENSORS_BUS_TYPE_SPI;
+ break;
+ }
+ else if (!strncmp(bus_type, "virtual", dash - bus_type)) {
+ res->bus.type = SENSORS_BUS_TYPE_VIRTUAL;
+ break;
+ }
+ else if (!strncmp(bus_type, "acpi", dash - bus_type)) {
+ res->bus.type = SENSORS_BUS_TYPE_ACPI;
+ break;
+ }
+ else if (!strncmp(bus_type, "hid", dash - bus_type)) {
+ res->bus.type = SENSORS_BUS_TYPE_HID;
+ break;
+ }
+ else if (!strncmp(bus_type, "mdio", dash - bus_type)) {
+ res->bus.type = SENSORS_BUS_TYPE_MDIO;
+ break;
+ }
+ else if (!strncmp(bus_type, "scsi", dash - bus_type)) {
+ res->bus.type = SENSORS_BUS_TYPE_SCSI;
+ break;
+ }
+ else {
+ /* Assume the prefix contains a dash */
+ bus_type = dash + 1;
+ }
}
- if (!(dash = strchr(name, '-')))
- goto ERROR;
- if (!strncmp(name, "i2c", dash - name))
- res->bus.type = SENSORS_BUS_TYPE_I2C;
- else if (!strncmp(name, "isa", dash - name))
- res->bus.type = SENSORS_BUS_TYPE_ISA;
- else if (!strncmp(name, "pci", dash - name))
- res->bus.type = SENSORS_BUS_TYPE_PCI;
- else if (!strncmp(name, "spi", dash - name))
- res->bus.type = SENSORS_BUS_TYPE_SPI;
- else if (!strncmp(name, "virtual", dash - name))
- res->bus.type = SENSORS_BUS_TYPE_VIRTUAL;
- else if (!strncmp(name, "acpi", dash - name))
- res->bus.type = SENSORS_BUS_TYPE_ACPI;
- else if (!strncmp(name, "hid", dash - name))
- res->bus.type = SENSORS_BUS_TYPE_HID;
- else if (!strncmp(name, "mdio", dash - name))
- res->bus.type = SENSORS_BUS_TYPE_MDIO;
- else if (!strncmp(name, "scsi", dash - name))
- res->bus.type = SENSORS_BUS_TYPE_SCSI;
- else
- goto ERROR;
name = dash + 1;
+ /* We can now properly set the prefix */
+ res->prefix = strndup(prefix, bus_type - prefix - 1);
+ if (!res->prefix)
+ sensors_fatal_error(__func__,
+ "Allocating name prefix");
+
/* Some bus types (i2c, spi) have an additional bus number.
For these, the next part is either a "*" (any bus of that type)
or a decimal number. */

View File

@ -0,0 +1,6 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://0001-libsensors-Fix-support-for-driver-names-with-dashes.patch"
PACKAGECONFIG = ""

View File

@ -2,8 +2,8 @@ SUMMARY = "Set mac addresses of Wifi and bluetooth chips"
DESCRIPTION = "Small scripts that set the mac addresses based on ethernet mac"
AUTHOR = "Alexandre Bard"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
PR = "r2"
inherit systemd
@ -18,10 +18,10 @@ S = "${WORKDIR}"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
SYSTEMD_SERVICE_${PN} = "wlan-address-set.service bt-address-set.service"
SYSTEMD_SERVICE:${PN} = "wlan-address-set.service bt-address-set.service"
SYSTEMD_AUTO_ENABLE ?= "enable"
FILES_${PN}_append = " \
FILES:${PN}:append = " \
/lib \
/usr \
"

View File

@ -9,23 +9,23 @@ SRCREV ?= "6584feb5fb3e18572fee1cea9e20a6b8e5cd0251"
PV = "0.0.1+git${SRCPV}"
DEPENDS_append = " libnmapp"
DEPENDS:append = " libnmapp"
inherit systemd
S = "${WORKDIR}/git"
B = "${S}/build"
SYSTEMD_SERVICE_${PN} = "storage-info.service"
SYSTEMD_SERVICE:${PN} = "storage-info.service"
FILES_${PN} += " \
FILES:${PN} += " \
${bindir}/storage-info \
${systemd_system_unitdir}/storage-info.service \
${sysconfdir}/storage/storage-info.conf \
"
# build variables for the target (rest is default)
EXTRA_OEMAKE_append = " 'BUILD_TARGET=target' 'BUILD_CONFIG=rls' 'SYSROOT=${STAGING_DIR_TARGET}'"
EXTRA_OEMAKE:append = " 'BUILD_TARGET=target' 'BUILD_CONFIG=rls' 'SYSROOT=${STAGING_DIR_TARGET}'"
do_install() {
install -d ${D}${bindir}

View File

@ -0,0 +1,44 @@
From 52c3ac31426131c555093542d51f1e6e0623507c Mon Sep 17 00:00:00 2001
From: Marc Mattmueller <marc.mattmueller@netmodule.com>
Date: Mon, 18 Jul 2022 19:26:59 +0200
Subject: [PATCH] u-boot-armada: Remove redundant YYLOC global declaration
Same as the upstream fix for building dtc with gcc 10.
After having consulted the team, this patch is only applied to
the armada bootloader as this one is used on the core os
environment build-up.
Signed-off-by: Marc Mattmueller <marc.mattmueller@netmodule.com>
---
scripts/dtc/dtc-lexer.l | 1 -
scripts/dtc/dtc-lexer.lex.c_shipped | 1 -
2 files changed, 2 deletions(-)
diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
index fd825ebba6..24af549977 100644
--- a/scripts/dtc/dtc-lexer.l
+++ b/scripts/dtc/dtc-lexer.l
@@ -38,7 +38,6 @@ LINECOMMENT "//".*\n
#include "srcpos.h"
#include "dtc-parser.tab.h"
-YYLTYPE yylloc;
extern bool treesource_error;
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped
index 3934d8624d..22f6e0d1f8 100644
--- a/scripts/dtc/dtc-lexer.lex.c_shipped
+++ b/scripts/dtc/dtc-lexer.lex.c_shipped
@@ -639,7 +639,6 @@ char *yytext;
#include "srcpos.h"
#include "dtc-parser.tab.h"
-YYLTYPE yylloc;
extern bool treesource_error;
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
--
2.20.1

View File

@ -1,14 +1,17 @@
require u-boot-nm.inc
# Be aware github/netmodule git
SRC_URI = "git://gitlab.com/netmodule/bootloader/netmodule-uboot.git;protocol=ssh;user=git;branch=2017.11/standard/armada-385"
SRC_URI = "git://gitlab.com/netmodule/bootloader/netmodule-uboot.git;protocol=ssh;user=git;branch=2017.11/standard/armada-385 \
file://0001-remove-redundant-YYLOC-declaration.patch;name=yylloc \
"
SRC_URI[yylloc.md5sum] = "504cb5b73a174a32e55c58f60608925d"
DEPENDS += "bc-native"
# Should be updated when a new U-Boot Version is available
#SRCREV ?= "68d28424cf41e141207d9d8af76c5bc5e01a55e2"
SRCREV ?= "68d28424cf41e141207d9d8af76c5bc5e01a55e2"
UBOOT_SUFFIX = "kwb"
UBOOT_BINARY = "u-boot-spl.${UBOOT_SUFFIX}"

View File

@ -7,7 +7,7 @@ require recipes-bsp/u-boot/u-boot.inc
PROVIDES += "u-boot"
LICENSE = "GPLv2+"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://gitlab.com/netmodule/bootloader/netmodule-uboot.git;protocol=ssh;user=git;branch=2018.03/imx/imx8-nmhw23;destsuffix=git"
@ -23,14 +23,14 @@ LOCALVERSION ?= "-${SRCBRANCH}"
BOOT_TOOLS = "imx-boot-tools"
UBOOT_INITIAL_ENV = ""
do_configure_prepend() {
do_configure:prepend() {
if [ ! -d ${S}/board/netmodule/common ]; then
mkdir -p ${S}/board/netmodule/
ln -s ${S}/board/freescale/common ${S}/board/netmodule/common
fi
}
do_deploy_append_mx8m() {
do_deploy:append_mx8m() {
# Deploy the mkimage, u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary
if [ -n "${UBOOT_CONFIG}" ]
then

View File

@ -1,6 +1,6 @@
require recipes-bsp/u-boot/u-boot.inc
LICENSE = "GPLv2+"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
S = "${WORKDIR}/git"

View File

@ -4,7 +4,7 @@ require u-boot-nm.inc
SRC_URI = "git://gitlab.com/netmodule/bootloader/netmodule-uboot.git;protocol=ssh;user=git;branch=2016.05/standard/am335x"
# Should be updated when a new U-Boot Version is available
SRCREV = "69e9c386dd3734a01af79ca1cc565896facfb9f6"
SRCREV ?= "7b4add1789640d188d2c5d4c7885f942908846f6"
SPL_BINARY = "MLO"
UBOOT_SUFFIX = "img"

View File

@ -2,7 +2,7 @@ DESCRIPTION = "USB-Hub Reset on HW23"
HOMEPAGE = "www.netmodule.com"
LICENSE = "MIT"
SECTION = "bsp"
RDEPENDS_${PN} = "usbutils coreutils"
RDEPENDS:${PN} = "usbutils coreutils"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit systemd
@ -14,11 +14,11 @@ SRC_URI = " \
S = "${WORKDIR}"
SYSTEMD_SERVICE_${PN} = " \
SYSTEMD_SERVICE:${PN} = " \
usb-hub-reset.service \
"
FILES_${PN} = "${systemd_unitdir}/system ${bindir}"
FILES:${PN} = "${systemd_unitdir}/system ${bindir}"
do_install() {
install -d ${D}${systemd_unitdir}/system

View File

@ -5,7 +5,7 @@ DESCRIPTION = "Murata v2x module firmware loader service"
HOMEPAGE = "www.netmodule.com"
LICENSE = "MIT"
SECTION = "bsp/firmware"
RDEPENDS_${PN} = "dfu-util usbutils coreutils"
RDEPENDS:${PN} = "dfu-util usbutils coreutils"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit systemd
@ -20,11 +20,11 @@ SRC_URI = " \
S = "${WORKDIR}"
SYSTEMD_SERVICE_${PN} = " \
SYSTEMD_SERVICE:${PN} = " \
v2x-ieee802.11p.service \
"
FILES_${PN} = "${systemd_unitdir}/system ${bindir} ${nonarch_base_libdir}/firmware/v2x ${sysconfdir} "
FILES:${PN} = "${systemd_unitdir}/system ${bindir} ${nonarch_base_libdir}/firmware/v2x ${sysconfdir} "
do_install() {
install -d ${D}${systemd_unitdir}/system

View File

@ -1,29 +0,0 @@
SUMMARY = "SocketCAN over Ethernet tunnel using UDP to transfer CAN frames between two machines"
SECTION = "socketcan"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
PR = "r0"
RDEPENDS_${PN}-dev += "${PN}-staticdev"
SRCREV = "e3ac7393b566345d057c2d17a4d328007caaacac"
SRC_URI = "git://github.com/mguentner/cannelloni.git;protocol=http"
S = "${WORKDIR}/git"
inherit pkgconfig cmake
inherit systemd
EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release"
INSANE_SKIP_${PN} = "ldflags"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_SYSROOT_STRIP = "1"
SOLIBS = ".so"
FILES_SOLIBSDEV = ""
do_install_append () {
install -d ${D}${libdir}
install -m 0755 ${WORKDIR}/build/libcannelloni-common.so ${D}${libdir}
}

View File

@ -9,21 +9,21 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
inherit systemd
FILESEXTRAPATHS_append := ":${THISDIR}/files"
FILESEXTRAPATHS:append := ":${THISDIR}/files"
SRC_URI_append = " \
SRC_URI:append = " \
file://gnss-init.service \
"
S = "${WORKDIR}"
SYSTEMD_SERVICE_${PN} = " \
SYSTEMD_SERVICE:${PN} = " \
gnss-init.service \
"
FILES_${PN}_append = "${systemd_unitdir}/system ${bindir}"
FILES:${PN}:append = "${systemd_unitdir}/system ${bindir}"
do_install_append() {
do_install:append() {
install -d ${D}${systemd_unitdir}/system
install -m 644 ${WORKDIR}/gnss-init.service ${D}${systemd_unitdir}/system/
}

View File

@ -1,8 +1,8 @@
DESCRIPTION = "NetModule GNSS management tool"
LICENSE = "LGPLv3"
LICENSE = "LGPL-3.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3000208d539ec061b899bce1d9ce9404"
RDEPENDS_${PN} += " \
RDEPENDS:${PN} += " \
python3-setuptools \
nmubxlib \
python3-systemd \
@ -14,7 +14,7 @@ inherit setuptools3
inherit gitpkgv
inherit systemd
SYSTEMD_SERVICE_${PN} = "gnss-mgr.service"
SYSTEMD_SERVICE:${PN} = "gnss-mgr.service"
inherit allarch
@ -25,14 +25,14 @@ PV = "1.0-git${SRCPV}"
PR = "r1"
SRC_URI = "git://gitlab.com/netmodule/tools/gnssmgr.git;protocol=ssh;user=git;branch=master"
SRCREV = "3d80bb4871ddc2e3e84553a86b767b419b96148f"
SRCREV ?= "e7970e6486473c78c2c6f1f63c5a15fc28606c2d"
S = "${WORKDIR}/git"
PACKAGES =+ "${PN}-test"
SUMMARY_${PN}-test = "Addon to gnss-mgr for testing purposes"
FILES_${PN}-test = "${bindir}/gnss-config-reader"
SUMMARY:${PN}-test = "Addon to gnss-mgr for testing purposes"
FILES:${PN}-test = "${bindir}/gnss-config-reader"
do_install_append() {
do_install:append() {
install -d ${D}${sysconfdir}/gnss
install -m 0644 ${S}/config/gnss-neom8.conf ${D}${sysconfdir}/gnss/gnss0.conf

View File

@ -1,4 +1,4 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
DEPENDS = "libnl dbus"
@ -7,6 +7,6 @@ export EXTRA_CFLAGS = " \
-I${STAGING_DIR_TARGET}/usr/include/libnl3 \
"
do_configure_prepend () {
do_configure:prepend () {
sed -i 's/CONFIG_LIBNL_TINY=y/#CONFIG_LIBNL_TINY=y/g' ${WORKDIR}/hostapd-full.config
}

View File

@ -5,12 +5,12 @@ export EXTRA_CFLAGS = " \
-I${STAGING_DIR_TARGET}/usr/include/libnl3 \
"
SYSTEMD_SERVICE_${PN} = "wpa_supplicant.service wpa_supplicant-nl80211@.service wpa_supplicant-wired@.service"
SYSTEMD_SERVICE:${PN} = "wpa_supplicant.service wpa_supplicant-nl80211@.service wpa_supplicant-wired@.service"
SYSTEMD_AUTO_ENABLE = "disable"
FILES_${PN} += "/usr/lib/systemd/system/*"
FILES:${PN} += "/usr/lib/systemd/system/*"
do_configure_prepend () {
do_configure:prepend () {
sed -i 's/#CONFIG_CTRL_IFACE_DBUS_NEW=y/CONFIG_CTRL_IFACE_DBUS_NEW=y/g' ${WORKDIR}/wpa_supplicant-full.config
sed -i 's/#CONFIG_CTRL_IFACE_DBUS_INTRO=y/CONFIG_CTRL_IFACE_DBUS_INTRO=y/g' ${WORKDIR}/wpa_supplicant-full.config
@ -18,7 +18,7 @@ do_configure_prepend () {
}
do_install_append () {
do_install:append () {
install -d ${D}/${sysconfdir}/dbus-1/system.d
install -m 644 ${S}/wpa_supplicant/dbus/dbus-wpa_supplicant.conf ${D}/${sysconfdir}/dbus-1/system.d

View File

@ -1,21 +0,0 @@
SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \
devices which speak the Qualcomm MSM Interface (QMI) protocol"
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
"
DEPENDS = "glib-2.0 glib-2.0-native"
inherit autotools pkgconfig bash-completion gobject-introspection
SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
SRC_URI[sha256sum] = "a71963bb1097a42665287e40a9a36f95b8f9d6d6a4b7a5de22d660328af97cb9"
PACKAGECONFIG ??= "udev mbim"
PACKAGECONFIG[udev] = ",--without-udev,libgudev"
PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim"

View File

@ -0,0 +1,34 @@
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = ""
SRC_URI = "git://gitea@git.netmodule.intranet/NRSW/lpa.git;branch=sdk_1.6;protocol=ssh \
"
PV = "1.0+git${SRCPV}"
SRCREV = "454007f13a713943ae1caff6704d889fde06c1c2"
S = "${WORKDIR}/git"
DEPENDS = "curl openssl"
EXTRA_OEMAKE_append = "-j 1 SEMEDIA_TYPE=toby"
TARGET_CC_ARCH += "${LDFLAGS}"
inherit autotools-brokensep
do_install () {
install -d ${D}${libdir}
install -d ${D}${datadir}/lpa
install -m 755 ${B}/sdk/liblpa.so.1.0.0 ${D}${libdir}
ln -sf liblpa.so.1.0.0 ${D}${libdir}/liblpa.so.1
ln -sf liblpa.so.1.0.0 ${D}${libdir}/liblpa.so
install -d ${D}${bindir}
install -m 755 ${B}/lpa/lpa ${D}${bindir}/
install -m 644 ${B}/certs/CI-cert_NIST.crt ${D}${datadir}/lpa/
install -m 644 ${B}/certs/GSMA_CE_TEST_CI.crt ${D}${datadir}/lpa/
install -m 644 ${B}/certs/GSMA_CE_LIVE_CI.crt ${D}${datadir}/lpa/
ln -sf GSMA_CE_LIVE_CI.crt ${D}${datadir}/lpa/default.crt
}
FILES_${PN} += "${bindir}/* ${libdir}/*.so*"

View File

@ -0,0 +1 @@
../../../../meta-openembedded/meta-oe/recipes-connectivity/modemmanager/files/0001-core-switch-bash-shell-scripts-to-use-bin-sh-for-use.patch

View File

@ -9,9 +9,4 @@ ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1141", ENV{ID_MM_DEVICE_PROCESS}="1"
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1143", ENV{ID_MM_DEVICE_PROCESS}="1"
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1146", ENV{ID_MM_DEVICE_PROCESS}="1"
# LARA-L6
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1341", ENV{ID_MM_DEVICE_PROCESS}="1"
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1342", ENV{ID_MM_DEVICE_PROCESS}="1"
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1343", ENV{ID_MM_DEVICE_PROCESS}="1"
LABEL="mm_netmodule_whitelist_end"

View File

@ -1,57 +0,0 @@
# NB: backport from meta-oe/master
SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
LICENSE = "GPL-2.0 & LGPL-2.1"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
"
inherit gnomebase gettext systemd vala gobject-introspection bash-completion
DEPENDS = "glib-2.0 libgudev intltool-native libxslt-native"
SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz"
SRC_URI[sha256sum] = "fe1a26ba51b4bda7abd09ad4dadedd87d8b8154809fc9d88e94f75fdfff19295"
S = "${WORKDIR}/ModemManager-${PV}"
PACKAGECONFIG = "systemd"
PACKAGECONFIG ??= "mbim qmi \
${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \
"
PACKAGECONFIG[at] = "--with-at-command-via-dbus"
PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,"
PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit"
# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
PACKAGECONFIG[mbim] = "--with-mbim,--without-mbim,libmbim"
# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi"
EXTRA_OECONF = " \
--with-udev-base-dir=${nonarch_base_libdir}/udev \
"
FILES_${PN} += " \
${datadir}/icons \
${datadir}/polkit-1 \
${datadir}/dbus-1 \
${datadir}/ModemManager \
${libdir}/ModemManager \
${systemd_unitdir}/system \
"
FILES_${PN}-dev += " \
${libdir}/ModemManager/*.la \
"
FILES_${PN}-staticdev += " \
${libdir}/ModemManager/*.a \
"
FILES_${PN}-dbg += "${libdir}/ModemManager/.debug"
SYSTEMD_SERVICE_${PN} = "ModemManager.service"

View File

@ -1,21 +1,25 @@
require recipes-connectivity/modemmanager/modemmanager_1.14.8.bb
require recipes-connectivity/modemmanager/modemmanager_1.18.8.bb
# Use custom git repo as SRC
SRC_URI = "git://gitlab.com/netmodule/third-party/ModemManager;protocol=ssh;user=git;branch=mm-1-14-netmodule;"
SRCREV ?= "35ef2f387bf53f0601901a5f08ab0f6bf57105c4"
SRC_URI = " \
git://gitlab.com/netmodule/third-party/ModemManager;protocol=ssh;user=git;branch=mm-1-18-netmodule \
file://0001-core-switch-bash-shell-scripts-to-use-bin-sh-for-use.patch \
"
SRCREV = "a092259df33cc70a04826f0e7117475ac9b26f99"
S = "${WORKDIR}/git"
# Keep only ublox plugin
EXTRA_OECONF += "--disable-all-plugins --enable-plugin-ublox --enable-plugin-generic"
EXTRA_OECONF += "--disable-all-plugins --enable-plugin-ublox"
# Exclude mbim
PACKAGECONFIG = "systemd qmi"
# Exclude mbim and qmi
PACKAGECONFIG = "systemd"
# Add whitelist rules
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SRC_URI += "file://77-mm-netmodule-whitelist.rules"
do_install_append() {
do_install:append() {
install -m 0644 ${WORKDIR}/77-mm-netmodule-whitelist.rules ${D}${libdir}/udev/rules.d/
sed -i -e 's/bin\/ModemManager/bin\/ModemManager --filter-policy=WHITELIST-ONLY/g' ${D}${systemd_unitdir}/system/ModemManager.service
}

View File

@ -1,82 +1,48 @@
inherit allarch
DESCRIPTION = "Configuration files for NetworkManager"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
RDEPENDS_${PN} = "networkmanager"
RDEPENDS:${PN} = "networkmanager"
PACKAGECONFIG ?= ""
export DEFAULT_ETH ??= "eth0"
DEFAULT_ETH ??= "eth0"
PACKAGECONFIG[unmanaged-devices] = ""
PACKAGECONFIG[ethernet-dhcp] = ""
SRC_URI = " \
file://eth0-static \
file://eth0-dhcp \
file://bridge-slave-eth0.nmconnection \
file://NetworkManager.conf \
file://00-fallback-dns.conf \
file://unmanaged-devices.conf \
"
SRC_URI_append_am335x-nrhw20 = " \
SRC_URI:append_am335x-nrhw20 = " \
file://system-connections-static.tar.gz \
file://system-connections-dhcp.tar.gz \
"
PACKAGE_ARCH = "${MACHINE_ARCH}"
SYSTEM_CONNECTIONS = "${D}${sysconfdir}/NetworkManager/system-connections/"
do_install () {
install -d ${D}${sysconfdir}/NetworkManager/dnsmasq.d
install -d ${SYSTEM_CONNECTIONS}
install -d ${D}${sysconfdir}/NetworkManager/system-connections
install -m 0644 ${WORKDIR}/NetworkManager.conf ${D}${sysconfdir}/NetworkManager/
install -m 0644 ${WORKDIR}/00-fallback-dns.conf ${D}${sysconfdir}/NetworkManager/dnsmasq.d/
static_ifaces=""
dhcp_ifaces=""
bridged_ifaces=""
if ${@bb.utils.contains('PACKAGECONFIG','ethernet-dhcp','true','false',d)}; then
# DHCP on main interface and static IP on the user module interface (if present)
dhcp_ifaces="$DEFAULT_ETH"
if ${@bb.utils.contains('MACHINE_FEATURES','user-module','true','false',d)}; then
static_ifaces="umnet0"
fi
install -m 0600 ${WORKDIR}/eth0-dhcp ${D}${sysconfdir}/NetworkManager/system-connections/eth0.nmconnection
else
# static IP either on the bridge or main interface
if ${@bb.utils.contains('MACHINE_FEATURES','user-module','true','false',d)}; then
static_ifaces="br0"
bridged_ifaces="$DEFAULT_ETH umnet0"
else
static_ifaces="$DEFAULT_ETH"
fi
install -m 0600 ${WORKDIR}/eth0-static ${D}${sysconfdir}/NetworkManager/system-connections/eth0.nmconnection
fi
for iface in $static_ifaces; do
install -m 0600 ${WORKDIR}/eth0-static ${SYSTEM_CONNECTIONS}/$iface.nmconnection
sed -i "s/eth0/$iface/g" ${SYSTEM_CONNECTIONS}/$iface.nmconnection
# Handle bridges
if ! [ "$iface" = "${iface#br}" ]; then
# Change type of main connection to bridge
sed -i "s/type=.*/type=bridge/g" ${SYSTEM_CONNECTIONS}/$iface.nmconnection
printf "\n[bridge]\nstp=false\n" >> ${SYSTEM_CONNECTIONS}/$iface.nmconnection
fi
done
for iface in $dhcp_ifaces; do
install -m 0600 ${WORKDIR}/eth0-dhcp ${SYSTEM_CONNECTIONS}/$iface.nmconnection
sed -i "s/eth0/$iface/g" ${SYSTEM_CONNECTIONS}/$iface.nmconnection
done
for iface in $bridged_ifaces; do
install -m 0600 ${WORKDIR}/bridge-slave-eth0.nmconnection ${SYSTEM_CONNECTIONS}/$iface.nmconnection
sed -i "s/eth0/$iface/g" ${SYSTEM_CONNECTIONS}/$iface.nmconnection
done
# Handle HWs with different default interface
if [ "${DEFAULT_ETH}" != "eth0" ]; then
sed -i 's/eth0/${DEFAULT_ETH}/g' ${D}${sysconfdir}/NetworkManager/system-connections/*
mv ${D}${sysconfdir}/NetworkManager/system-connections/eth0.nmconnection \
${D}${sysconfdir}/NetworkManager/system-connections/${DEFAULT_ETH}.nmconnection
fi
if ${@bb.utils.contains('PACKAGECONFIG','unmanaged-devices','true','false',d)}; then
@ -85,17 +51,17 @@ do_install () {
fi
}
do_install_append_am335x-nrhw20() {
rm -rf ${SYSTEM_CONNECTIONS}/*
do_install:append_am335x-nrhw20() {
rm -rf ${D}${sysconfdir}/NetworkManager/system-connections/*
if ${@bb.utils.contains('PACKAGECONFIG','ethernet-dhcp','true','false',d)}; then
install -m 0600 ${WORKDIR}/system-connections-dhcp/* ${SYSTEM_CONNECTIONS}/
install -m 0600 ${WORKDIR}/system-connections-dhcp/* ${D}${sysconfdir}/NetworkManager/system-connections/
else
install -m 0600 ${WORKDIR}/system-connections-static/* ${SYSTEM_CONNECTIONS}/
install -m 0600 ${WORKDIR}/system-connections-static/* ${D}${sysconfdir}/NetworkManager/system-connections/
fi
}
FILES_${PN} = " \
FILES:${PN} = " \
${sysconfdir}/NetworkManager/NetworkManager.conf \
${sysconfdir}/NetworkManager/dnsmasq.d \
${sysconfdir}/NetworkManager/system-connections \

View File

@ -1,12 +0,0 @@
[connection]
id=bridge-slave-eth0
type=ethernet
interface-name=eth0
master=br0
permissions=
slave-type=bridge
[ethernet]
mac-address-blacklist=
[bridge-port]

View File

@ -1,5 +1,6 @@
[connection]
id=ethernet
uuid=2a2b6485-4d06-4b86-8051-751399c6881a
type=ethernet
interface-name=eth0
permissions=

View File

@ -1,5 +1,6 @@
[connection]
id=ethernet
uuid=2a2b6485-4d06-4b86-8051-751399c6881a
type=ethernet
interface-name=eth0
permissions=

View File

@ -1,6 +1,6 @@
From f7c129b1775e35f603c1c58c12f958ae81ae6bb8 Mon Sep 17 00:00:00 2001
From 8558b348c92e276b586cfd502992c07679970085 Mon Sep 17 00:00:00 2001
From: Alexandre Bard <alexandre.bard@netmodule.com>
Date: Wed, 13 Nov 2019 17:53:54 +0100
Date: Mon, 18 Jul 2022 17:06:03 +0200
Subject: [PATCH] Reactivate GSM connections when ModemManager reconnects by
itself
@ -9,51 +9,51 @@ itself if the modem requests it. This commit makes sure that a
reconnection of the modem makes the GSM connection active in NM.
BugzID: 60029
Signed-off-by: Alexandre Bard <alexandre.bard@netmodule.com>
---
src/devices/wwan/nm-device-modem.c | 8 +++++---
src/nm-policy.c | 5 +++++
2 files changed, 10 insertions(+), 3 deletions(-)
src/core/devices/wwan/nm-device-modem.c | 7 ++++---
src/core/nm-policy.c | 5 +++++
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/devices/wwan/nm-device-modem.c b/src/devices/wwan/nm-device-modem.c
index 1e3162808..f03818599 100644
--- a/src/devices/wwan/nm-device-modem.c
+++ b/src/devices/wwan/nm-device-modem.c
@@ -360,9 +360,11 @@ modem_state_cb (NMModem *modem,
nm_device_recheck_available_connections (device);
}
diff --git a/src/core/devices/wwan/nm-device-modem.c b/src/core/devices/wwan/nm-device-modem.c
index ef802a44f2..9914f2b33a 100644
--- a/src/core/devices/wwan/nm-device-modem.c
+++ b/src/core/devices/wwan/nm-device-modem.c
@@ -308,9 +308,10 @@ modem_state_cb(NMModem *modem, int new_state_i, int old_state_i, gpointer user_d
nm_device_recheck_available_connections(device);
}
- nm_device_queue_recheck_available (device,
- NM_DEVICE_STATE_REASON_MODEM_AVAILABLE,
- NM_DEVICE_STATE_REASON_MODEM_FAILED);
+ nm_device_recheck_available_connections (device);
+
+ if (new_state == NM_MODEM_STATE_CONNECTED)
+ nm_device_emit_recheck_auto_activate(device);
- nm_device_queue_recheck_available(device,
- NM_DEVICE_STATE_REASON_MODEM_AVAILABLE,
- NM_DEVICE_STATE_REASON_MODEM_FAILED);
+ nm_device_recheck_available_connections(device);
+
+ if (new_state == NM_MODEM_STATE_CONNECTED)
+ nm_device_emit_recheck_auto_activate(device);
}
static void
diff --git a/src/nm-policy.c b/src/nm-policy.c
index 1faba5c7b..02088bb6e 100644
--- a/src/nm-policy.c
+++ b/src/nm-policy.c
@@ -1019,6 +1019,9 @@ update_ip4_routing (NMPolicy *self, gboolean force_update)
nm_connection_get_id (nm_active_connection_get_applied_connection (best_ac)),
ip_iface);
_notify (self, PROP_DEFAULT_IP4_AC);
diff --git a/src/core/nm-policy.c b/src/core/nm-policy.c
index d77fc0a025..71dff18548 100644
--- a/src/core/nm-policy.c
+++ b/src/core/nm-policy.c
@@ -1075,6 +1075,9 @@ update_ip4_routing(NMPolicy *self, gboolean force_update)
nm_connection_get_id(nm_active_connection_get_applied_connection(best_ac)),
ip_iface);
_notify(self, PROP_DEFAULT_IP4_AC);
+
+ /* Recheck all connections to enable potential VPN depending on new route */
+ schedule_activate_all(self);
+ /* Recheck all connections to enable potential VPN depending on new route */
+ schedule_activate_all(self);
}
static void
@@ -2041,6 +2044,8 @@ device_recheck_auto_activate (NMDevice *device, gpointer user_data)
NMPolicyPrivate *priv = user_data;
NMPolicy *self = _PRIV_TO_SELF (priv);
@@ -2200,6 +2203,8 @@ device_recheck_auto_activate(NMDevice *device, gpointer user_data)
NMPolicyPrivate *priv = user_data;
NMPolicy *self = _PRIV_TO_SELF(priv);
+ /* Reset retries count */
+ reset_autoconnect_all(self, device, FALSE);
schedule_activate_check (self, device);
+ /* Reset retries count */
+ reset_autoconnect_all(self, device, FALSE);
schedule_activate_check(self, device);
}
--

View File

@ -1,9 +1,9 @@
FILESEXTRAPATHS_append := "${THISDIR}/${PN}"
FILESEXTRAPATHS:append := "${THISDIR}/${PN}"
RDEPENDS_${PN} = "networkmanager-conf"
RDEPENDS:${PN} = "networkmanager-conf"
SRC_URI_append = "\
SRC_URI:append = "\
file://0001-Reactivate-GSM-connections-when-ModemManager-reconne.patch \
"
PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq,,,dnsmasq"
#PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq,,,dnsmasq"

View File

@ -2,7 +2,7 @@ DESCRIPTION = "Library implementing UBX protocol for u-blox gnss modems"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=331a9220a74b05f133bf1ef09b6903b2"
RDEPENDS_${PN} += " \
RDEPENDS:${PN} += " \
python3-setuptools \
"
@ -18,7 +18,7 @@ PV = "1.0-git${SRCPV}"
PR = "r1"
SRC_URI = "git://gitlab.com/netmodule/tools/nmubxlib.git;protocol=ssh;user=git;branch=master"
SRCREV = "7c22b57cdd169a6651cb0c17a215d1e448727bcb"
SRCREV ?= "5ccd0fe246be8f381c9b06e2703b6fe22fefcee8"
S = "${WORKDIR}/git"

View File

@ -3,14 +3,14 @@ DESCRIPTION = "Run hciattach for ti bluetooth wl12xx module"
AUTHOR = "Stefan Eichenberger"
SECTION = "connectivity"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
PR = "r2"
inherit systemd
inherit allarch
RDEPENDS_${PN} = "\
RDEPENDS:${PN} = "\
firmware-ti-wl18xx \
bash \
libgpiod-tools \
@ -24,10 +24,10 @@ SRC_URI = " \
S = "${WORKDIR}"
SYSTEMD_SERVICE_${PN} = "tibluetooth.service"
SYSTEMD_SERVICE:${PN} = "tibluetooth.service"
SYSTEMD_AUTO_ENABLE ?= "enable"
FILES_${PN}_append = " \
FILES:${PN}:append = " \
${nonarch_base_libdir} \
"

View File

@ -0,0 +1,216 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE flash SYSTEM "flash.dtd">
<flash fisVersion="2" revision="$Rev: 100111 $">
<category cmd="SST" supply="3V">
<sectorSize>4096</sectorSize>
<device jedec="xBF2601">
<sectorCount>512</sectorCount>
</device>
<device jedec="xBF2602">
<sectorCount>1024</sectorCount>
</device>
<device jedec="xBF2643" cmd="SST2">
<!-- the SQI block only supports up to 32MBit -->
<sectorCount>1024</sectorCount>
</device>
</category>
<category cmd="SPANSION" supply="3V">
<device jedec="x014016">
<sectorCount>1024</sectorCount>
</device>
<device jedec="x014015">
<sectorCount>512</sectorCount>
</device>
</category>
<category cmd="WINBOND" supply="3V">
<sectorSize>4096</sectorSize>
<device jedec="xEF4013">
<sectorCount>128</sectorCount>
</device>
<device jedec="xEF4014">
<sectorCount>256</sectorCount>
</device>
<device jedec="xEF4015">
<sectorCount>512</sectorCount>
</device>
<device jedec="xEF4016">
<sectorCount>1024</sectorCount>
</device>
<device jedec="xEF4017">
<!-- the SQI block only supports up to 32MBit -->
<sectorCount>1024</sectorCount>
</device>
<device jedec="xEF5014" supply="1.8V">
<cap writeSuspend="0"/>
<sectorCount>256</sectorCount>
</device>
<device jedec="xEF6013" supply="1.8V">
<sectorCount>128</sectorCount>
</device>
<device jedec="xEF6014" supply="1.8V">
<sectorCount>256</sectorCount>
</device>
<device jedec="xEF6015" supply="1.8V">
<sectorCount>512</sectorCount>
</device>
<device jedec="xEF6016" supply="1.8V">
<sectorCount>1024</sectorCount>
</device>
</category>
<category cmd="MACRONIX">
<sectorSize>4096</sectorSize>
<sectorCount>256</sectorCount>
<device jedec="xC22014" supply="3V"/>
<device jedec="xC22016" supply="3V">
<cap writeSuspend="1"/>
<minEraseSuspend>12000</minEraseSuspend>
<sectorCount>1024</sectorCount>
</device>
<device jedec="xC22515" supply="3V">
<sectorCount>512</sectorCount>
</device>
<device jedec="xC22415">
<sectorCount>512</sectorCount>
</device>
<device jedec="xC22534" supply="1.8V">
<cap writeSuspend="1"/>
<minEraseSuspend>12000</minEraseSuspend>
</device>
<device jedec="xC22535" supply="1.8V">
<cap writeSuspend="1"/>
<minEraseSuspend>12000</minEraseSuspend>
<sectorCount>512</sectorCount>
</device>
<device jedec="xC22536" supply="3V" cmd="MACRONIX2">
<cap writeSuspend="1"/>
<minEraseSuspend>9600</minEraseSuspend>
<sectorCount>1024</sectorCount>
</device>
</category>
<category cmd="GIGADEVICE">
<device jedec="xC84013" supply="3V">
<sectorSize>4096</sectorSize>
<sectorCount>128/</sectorCount>
</device>
<device jedec="xC84014" supply="3V">
<sectorSize>4096</sectorSize>
<sectorCount>256/</sectorCount>
</device>
<device jedec="xC84015" supply="3V">
<sectorSize>4096</sectorSize>
<sectorCount>512/</sectorCount>
</device>
<device jedec="xC84016" supply="3V">
<sectorSize>4096</sectorSize>
<sectorCount>1024/</sectorCount>
</device>
</category>
<device cmd="MICRON" jedec="x20BA16" supply="3V">
<sectorSize>4096</sectorSize>
<sectorCount>1024/</sectorCount>
</device>
<category cmd="EON">
<device jedec="x1C3013">
<sectorCount>128</sectorCount>
<!-- this device needs a min CS high time of 100ns between two reads -->
<cfg>0x000010CC</cfg>
</device>
<device jedec="x1C3014">
<sectorCount>256</sectorCount>
</device>
<device jedec="x1C7015">
<sectorCount>512</sectorCount>
</device>
</category>
<category cmd="EON" supply="1.8V">
<!-- these devices needs a min CS high time of 30ns between two reads -->
<cfg>0x000004CC</cfg>
<device jedec="x1C3814">
<sectorCount>256</sectorCount>
</device>
<device jedec="x1C3815">
<sectorCount>512</sectorCount>
</device>
<device jedec="x1C3816">
<sectorCount>1024</sectorCount>
</device>
<device jedec="x1C3817">
<!-- the SQI block only supports up to 32MBit -->
<sectorCount>1024</sectorCount>
</device>
</category>
<category cmd="FIDELIX">
<device jedec="xF83214">
<sectorCount>256</sectorCount>
</device>
<device jedec="xF83215">
<sectorCount>512</sectorCount>
</device>
<device jedec="xF84214" supply="1.8V">
<sectorCount>256</sectorCount>
</device>
<device jedec="xF84215" supply="1.8V">
<sectorCount>512</sectorCount>
</device>
<device jedec="xF84216" supply="1.8V">
<sectorCount>1024</sectorCount>
</device>
<device jedec="xF84217" supply="1.8V">
<!-- the SQI block only supports up to 32MBit -->
<sectorCount>1024</sectorCount>
</device>
</category>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<!-- % Don't touch anything below here. This is autogenerated! % -->
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<cmdset name="EON">
<length>4032</length>
<checksum>4ae9f731</checksum>
<code>021e2406c130140000100000000800005a000000cc020000e02e0000100000008900000025010000b1010000490400003d02000000000000b9ab03ebffffffff0000ff50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b5234e2148f16a012201eb0005214913460a614ff00500c8614ff480748868c007fcd112b1f06a401b06d5cc618868c007fcd1086ac007f4d1cb6040200b610322ca618a68d207fcd1c0f30742ca618a68d207fcd1c0f30722ca618a68d207fcd1c0b2c8618868c007fcd10a4d7d44cc618a68d207fcd10a6a2e18401c86f844204428f4d3cb6070bd0000006cdc0200a001400020004006ffffff10b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bd18ffffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bd8cfeffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08ffefdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd0000f4fbffff0020004000a00140</code>
</cmdset>
<cmdset name="FIDELIX">
<length>4032</length>
<checksum>b2daeed8</checksum>
<code>021e5c08c130140000100000800000005a000000cc0a0000e02e000010000000890000008901000015020000ad040000a102000089060000b9ab03ebffffffff757a005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f0433b4cdff8e8c0e26a012102eb0c06394a0d4611614ff00508c2f81c804ff000094ff480739068c007fcd111b1e06a801b06d5d3619068c007fcd1106ac007f4d1d560402015610321d1619168c907fcd1c0f30741d1619168c907fcd1c0f30721d1619168c907fcd1c0b2d0619068c007fcd1214f7f44d3619168c907fcd1116a3e18401c86f844104428f4d3d560484615610621d1619168c907fcd1d5601561d5619168c907fcd1d0619068c007fcd10220d0619068c007fcd1d560e16a012061441561c2f81c809668f607fcd110b1e66a761a06d5d3619668f607fcd1166af607f4d1d560bde8f0830000006cdc0200a0014000200040fcfeffff10b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bdb4feffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bd28feffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f9afdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000090fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f0000b2f9ffff0020004000a0014001600200</code>
</cmdset>
<cmdset name="GIGADEVICE">
<length>4032</length>
<checksum>853b6a2b</checksum>
<code>021a5c08c840130000100000800000000a000000cc020000e02e000010000000890000008901000015020000ad040000a102000089060000000000ebffffffff757a005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f0433b4cdff8e8c0e26a012102eb0c06394a0d4611614ff00508c2f81c804ff000094ff480739068c007fcd111b1e06a801b06d5d3619068c007fcd1106ac007f4d1d560402015610321d1619168c907fcd1c0f30741d1619168c907fcd1c0f30721d1619168c907fcd1c0b2d0619068c007fcd1214f7f44d3619168c907fcd1116a3e18401c86f844104428f4d3d560484615610621d1619168c907fcd1d5601561d5619168c907fcd1d0619068c007fcd10220d0619068c007fcd1d560e16a012061441561c2f81c809668f607fcd110b1e66a761a06d5d3619668f607fcd1166af607f4d1d560bde8f0830000006cdc0200a0014000200040fcfeffff10b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bdb4feffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bd28feffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f9afdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000090fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f0000b2f9ffff0020004000a0014001600200</code>
</cmdset>
<cmdset name="MACRONIX">
<length>4032</length>
<checksum>215f4423</checksum>
<code>021eb408c22014000010000000010000a5000000cc02000080bb00001000000089000000e10100006d02000005050000f9020000e1060000b9ab14ebffffffffb030005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f043dff84091dff840c1fc44504b0121da6a4f4c4a440d4621614ff00507e7614ff48076a068c007fcd111b1d86a801a06d5e661a068c007fcd1206ac007f4d1e560402025610321e161a168c907fcd1c0f30741e161a168c907fcd1c0f30721e161a168c907fcd1c0b2e061a068c007fcd1dff8d480f844a8f1b008e661a168c907fcd1216a08eb0002401c82f844104428f3d3e5602b202561e061a068c007fcd1e661a068c007fcd1206ae56010f00c0f13d025619cf84100e061a068c007fcd1e56000210a462561e761a068c007fcd13ab1d86a401a04d4e56025610620e06107e0e661a068c007fcd1206ac007efd1f2e7a068c007fcd1e5602561e561a068c007fcd14020e061a068c007fcd1a068c007fcd1e560da6a012002eb09012561e761a268d207fcd110b1da6a521a06d5e661a268d207fcd1226ad207f4d1e560bde8f083006cdc02acffffff00a001400020004010b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bd5cfeffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bdd0fdffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f42fdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000038fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f00005af9ffff0020004000a0014001600200</code>
</cmdset>
<cmdset name="MACRONIX2">
<length>4032</length>
<checksum>d51ae60f</checksum>
<code>021eb408c22014000010000000010000a5000000cc02000080bb00001000000089000000e10100006d02000005050000f9020000e1060000b9ab14ebffffffff757a005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f043dff84091dff840c1fc44504b0121da6a4f4c4a440d4621614ff00507e7614ff48076a068c007fcd111b1d86a801a06d5e661a068c007fcd1206ac007f4d1e560402025610321e161a168c907fcd1c0f30741e161a168c907fcd1c0f30721e161a168c907fcd1c0b2e061a068c007fcd1dff8d480f844a8f1b008e661a168c907fcd1216a08eb0002401c82f844104428f3d3e5602b202561e061a068c007fcd1e661a068c007fcd1206ae56010f00c0f13d025619cf84100e061a068c007fcd1e56000210a462561e761a068c007fcd13ab1d86a401a04d4e56025610620e06107e0e661a068c007fcd1206ac007efd1f2e7a068c007fcd1e5602561e561a068c007fcd14020e061a068c007fcd1a068c007fcd1e560da6a012002eb09012561e761a268d207fcd110b1da6a521a06d5e661a268d207fcd1226ad207f4d1e560bde8f083006cdc02acffffff00a001400020004010b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bd5cfeffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bdd0fdffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f42fdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000038fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f00005af9ffff0020004000a0014001600200</code>
</cmdset>
<cmdset name="MICRON">
<length>4032</length>
<checksum>3d2ff0c5</checksum>
<code>021a480520ba1600001000000004000000000000cc020000e02e0000100000008900000013010000bd040000fb0100000b03000000000000000000ebffffffff0000ff50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b5ff480122ff4ef16a134601eb0005fd490a614ff00500c8614ff480748868c007fcd112b1f06a401b06d5cc618868c007fcd1086ac007f4d1cb6040200b610322ca618a68d207fcd1c0f30742ca618a68d207fcd1c0f30722ca618a68d207fcd1c0b2c8618868c007fcd1e74d7d44cc618a68d207fcd10a6a2e18401c86f844204428f4d3cb6070bdf0b5de4901240c610620c8618868c007fcd1cc600c618120c8618868c007fcd16720c8618868c007fcd1cc60d54ed24f7e44d048083efb6a012203440c614ff00500c8614ff0000c4ff480758868c007fcd112b1f86ac01a06d5cd618868c007fcd1086ac007f4d1cc600c6196f83b00c8618868c007fcd102208861c1f81cc08868c007fcd1c1f81cc08868c007fcd1c1f81cc08868c007fcd1306900f00f02c0f3031040ea0210c8618868c007fcd1c1f81cc08868c007fcd1c1f81cc08868c007fcd1cd618868c007fcd1cd618868c007fcd1cd618868c007fcd1cd618868c007fcd1cc60f0bdf0b5a54c7c44c43c94f842300125a14e4ff0000c2f024bb9c6f818c03561ff23f361b368db07fcd1f56032e03561c6f81cc0b368db07fcd1c6f81cc0b368db07fcd1c6f81cc0b368db07fcd194f84230f361b368db07fcd1c6f81cc0b368db07fcd1c6f81cc0b368db07fcd1f761b368db07fcd1f761b368db07fcd1f761b368db07fcd1f761b368db07fcd1f560c6f818c035610623f361b368db07fcd1f56035610224f461b368db07fcd1c0f30743f361b368db07fcd1c0f30723f361b368db07fcd1c0b2f061b068c007fcd111f8010bf061b068c007fcd1521ef7d1f560014635610522f261b268d207fcd1684b11b1da6a121a06d5f761b268d207fcd1326ad207f4d1f560fff706ff2046f0bd2de9f04f624c7c4494f842505e4a01234ff0000c4ff480784db9c2f818c01361ff25d5619568ed07fcd1d36036e01361c2f81cc09568ed07fcd1c2f81cc09568ed07fcd1c2f81cc09568ed07fcd194f84250d5619568ed07fcd1c2f81cc09568ed07fcd1c2f81cc09568ed07fcd1c2f81c809568ed07fcd1c2f81c809568ed07fcd1c2f81c809568ed07fcd1c2f81c809568ed07fcd1d360c2f818c06578ed0700d10021a0f5000013610625d5619568ed07fcd1d36013612025d5619568ed07fcd1c0f30745d5619568ed07fcd1c0f30725d5619568ed07fcd1c0b2d0619068c007fcd1d360a06909b1012500e00025244f0db1fe6a3144fe6a136106444ff0050ac2f81ca09068c007fcd1dff884e04ff0e02bb94665b1d9f82c00471a06d5801b06d4dbf8040d10ea0e0f01d0d36009e0c2f81c809068c007fcd1106ac007e9d1d3609c46bcf1000f01d002242ae0136194f84000d0619068c007fcd1d36001461361c2f81ca09468e407fcd14c46454611b1e66a361a13d5d5610be0006cdc0200a001400020004006ffffff30fdffff016002009668f607efd1166af607e7d1d3600124fff72ffe2046bde8f08f000010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bd80fbffff00200040</code>
</cmdset>
<cmdset name="SPANSION">
<length>4032</length>
<checksum>2b5e2d56</checksum>
<code>021bbc08ef401300001000008000000002000000cc000000e02e00001000000089000000e9010000750200000d05000001030000e9060000b9ab06ebffffffff757a005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f047dff84891dff848c1fc44524b0121da6a514c4a440d4621614ff00507e7614ff0000a4ff48076a068c007fcd111b1d86a801a06d5e661a068c007fcd1206ac007f4d1e560402025610321e161a168c907fcd1c0f30741e161a168c907fcd1c0f30721e161a168c907fcd1c0b2e061a068c007fcd1dff8d880f844a8f1b408e661a168c907fcd1216a08eb0002401c82f844104428f3d3e56035202561e061a068c007fcd1e661a068c007fcd1206ae56010f0800f13d025619cf84100e061a068c007fcd1e56000210a462561e761a068c007fcd13ab1d86a401a04d4e56025610620e06107e0e661a068c007fcd1206ac007efd1f2e7a068c007fcd1e5602561e561a068c007fcd1c4f81ca0a068c007fcd10220e061a068c007fcd1e560da6a012002eb09012561e761a268d207fcd110b1da6a521a06d5e661a268d207fcd1226ad207f4d1e560bde8f087006cdc02acffffff00a001400020004010b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bd54feffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bdc8fdffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f3afdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000030fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f000052f9ffff0020004000a0014001600200</code>
</cmdset>
<cmdset name="SST">
<length>4032</length>
<checksum>7df33088</checksum>
<code>021b6804bf26020000100000000400000000000bc5000000e02e0000100000000f0100008900000000000000ad030000cf010000e502000000000000ffffffff00000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070b5f2480021816101240461ff21c1618168c907fcd1c46004613821c1618168c907fcd1c4600221816104616621c1618168c907fcd1c46000bf00bf00bf00bf04619921c1618168c907fcd1c460e14ddf49eb6a01220b4404614ff00501c1618168c907fcd14ff4807622b1e96ac91a01d4c46070bdc6618168c907fcd1016a0906f2d4f5e7f0b5d04901240c616620c8618868c007fcd1cc6000bf00bf00bf00bf0c619920c8618868c007fcd1cc60c84dc748eb6a012203440c614ff0050cc1f81cc04ff000074ff480768868c007fcd112b1e86ac01a06d5ce618868c007fcd1086a0006f4d4cc600c610620c8618868c007fcd1cc600a200c614222ca618a68d207fcd1cf618a68d207fcd1401ef9d1cc60eb6a4bf6803201201a440c61c1f81cc08b68db07fcd120b1eb6a9b1a01d4cc60f0bdce618b68db07fcd10b6a1b06f2d4f5e72de9f04fa04b0124a0f500001c610527df619a68d207fcd14ff48078c3f81c809a68d207fcd1dc601a6a12f00c0f02d00320bde8f08f1c610622da619a68d207fcd1dc601c612022da619a68d207fcd1c0f30742da619a68d207fcd1c0f30722da619a68d207fcd1c0b2d8619868c007fcd1dc6087487844c06d09b1012200e00022824e0ab1f56a2944f56a1c610544b946df614ff0000b9868c007fcd17d4f4ff0e02a62b1f06ab0eb010c05d5401b06d4daf8040d384202d0dc60584609e0c3f81c809868c007fcd1186a0006e9d42046dc6008b10220abe71c61b020d8619868c007fcd1dc6000210a461c61c3f81c909868c007fcd112b1f06a401a07d5c3f81c809868c007fcd1186a0006f3d4dc6001208de72de9f04f5a4b01241c613021d9619968c907fcd1dc6059497944b839c96d08b1012200e00022dff8508112b1d8f82c502844d8f82c501c610d444ff0050ac3f81ca04ff0000b4ff480769968c907fcd14b4f4ff0e0296ab1d8f82c10b1eb000c05d5491b06d4d9f8041d394202d0dc60584608e0de619968c907fcd1196a0906e9d42046dc60e8b91c61b020d8619868c007fcd1dc6000210a461c61c3f81ca09868c007fcd11ab1d8f82c00401a06d5de619868c007fcd1186a0006f3d4dc6001202be7022029e7f0b5294b01241c610525dd619e68f607fcd14ff48077df619e68f607fcd1dc601e6a16f00c0f01d00320f0bd1c610626de619e68f607fcd1dc601c610226de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c61dd619868c007fcd1094d12b1e86a401a06d5df619868c007fcd1186a0006f4d4dc600220f0bd000000200040006cdc0200a00140b8fdffff01600200</code>
</cmdset>
<cmdset name="SST2">
<length>4032</length>
<checksum>7ee13dd7</checksum>
<code>021b1409bf26430000100000000800005a000000cc000000e02e0000100000008900000041020000cd020000650500005903000041070000000000ebffffffffb03000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000feb5654a7a4492f84200002501246349260240b98d610c61ff20c8618868c007fcd1cc602ce00c61cd618868c007fcd1cd618868c007fcd1cd618868c007fcd192f84200c8618868c007fcd1cd618868c007fcd1cd618868c007fcd1ce618868c007fcd1ce618868c007fcd1ce618868c007fcd1ce618868c007fcd1cc608d61484f4748fb6a012203440c614ff00500c8618868c007fcd112b1f86ac01a06d5ce618868c007fcd1086ac007f4d1cc600c610620c8618a68d207fcd1cc600c61cc618a68d207fcd1cd618a68d207fcd10222ca618a68d207fcd1cc600c61c8618868c007fcd1cc600c619820c8618868c007fcd1cc600c610327cf618868c007fcd1cd618868c007fcd1cd618868c007fcd11820c8618868c007fcd16b46ce618a68d207fcd10a6a1a54401c0328f6d3cc600c61cf618868c007fcd19df802008038c8618868c007fcd19df80100c8618868c007fcd19df80000c8618868c007fcd1ce618a68d207fcd10f6a421c1f5410460c2af5d3cc600b490098884209d10a490198884205d109490298884201d108480571febd0000b4ffffff00200040006cdc0200a00140312e30302028353938343329204e002010b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bdfcfdffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bd70fdffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08fe2fcffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd0000d8faffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f0000faf8ffff0020004000a0014001600200</code>
</cmdset>
<cmdset name="WINBOND">
<length>4032</length>
<checksum>94ad0fde</checksum>
<code>021bbc08ef401300001000008000000002000000c4000000e02e00001000000089000000e9010000750200000d05000001030000e9060000000000e3ffffffff757a005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002de9f047dff84891dff848c1fc44524b0121da6a514c4a440d4621614ff00507e7614ff0000a4ff48076a068c007fcd111b1d86a801a06d5e661a068c007fcd1206ac007f4d1e560402025610321e161a168c907fcd1c0f30741e161a168c907fcd1c0f30721e161a168c907fcd1c0b2e061a068c007fcd1dff8d880f844a8f1b408e661a168c907fcd1216a08eb0002401c82f844104428f3d3e56035202561e061a068c007fcd1e661a068c007fcd1206ae56010f0800f13d025619cf84100e061a068c007fcd1e56000210a462561e761a068c007fcd13ab1d86a401a04d4e56025610620e06107e0e661a068c007fcd1206ac007efd1f2e7a068c007fcd1e5602561e561a068c007fcd1c4f81ca0a068c007fcd10220e061a068c007fcd1e560da6a012002eb09012561e761a268d207fcd110b1da6a521a06d5e661a268d207fcd1226ad207f4d1e560bde8f087006cdc02acffffff00a001400020004010b5204c7c4420480122026194f83b10c1618168c907fcd1022181610023c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1216901f00f04c1f3031141ea0411c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48073c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c3618168c907fcd1c26010bd54feffff0020004010b5204c7c4494f8421001221e48002341b983610261ff21c1618168c907fcd1c26010bd0261c3618168c907fcd1c3618168c907fcd1c3618168c907fcd194f84210c1618168c907fcd1c3618168c907fcd1c3618168c907fcd14ff48074c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c4618168c907fcd1c260836110bdc8fdffff002000402de9f04f7d4a7a4492f8426001247c4b00254ff4807946b99d611c61ff26de619e68f607fcd1dc602ee01c61dd619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd192f84260de619e68f607fcd1dd619e68f607fcd1dd619e68f607fcd14f46c3f81c909e68f607fcd1df619e68f607fcd1df619e68f607fcd1df619e68f607fcd1dc609d615678f60700d10021a0f500001c610626de619e68f607fcd1dc601c612026de619e68f607fcd1c0f30746de619e68f607fcd1c0f30726de619e68f607fcd1c0b2d8619868c007fcd1dc60906909b1012600e00026dff824c116b1dcf82c703944dcf82c701c6107eb00084ff0050bc3f81cb09868c007fcd1414f4ff0e02ee24676b1daf82c00b0eb010c06d5b0eb080006d4def8040d384202d0dc60284609e0c3f81c909868c007fcd1186ac007e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f3afdffff0020004000a0014001600200f0b5734f7f4497f842c0012400252602704bbcf1000f0cd19d611c614ff0ff0cc3f81cc0d3f808c05feacc7cfad1dc6043e01c61c3f81c50d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad197f842c0c3f81cc000bfd3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1dd61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1de61d3f808c05feacc7cfad1dc609d611c614ff0060cc3f81cc0d3f808c05feacc7cfad1dc601c614ff0020cc3f81cc000bfd3f808e05feace7efad1c0f3074ec3f81ce000bfd3f808e05feace7efad1c0f3072ec3f81ce000bfd3f808e05feace7efad1c0b2d8619868c007fcd111f8010bd8619868c007fcd1521ef7d1dc6000210a461c610520d8619868c007fcd1dff89ce01ab1def82c00401a06d5de619868c007fcd1186ac007f3d1dc601c6197f83b00d8619868c007fcd1c3f818c0dd619868c007fcd1dd619868c007fcd1dd619868c007fcd1386900f00f01c0f3031040ea0110d8619868c007fcd1dd619868c007fcd1dd619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1de619868c007fcd1dc606046f0bd000030fbffff0020004000a001402de9f04f6f4a7a4492f8421001246e4b00254ff4807941b99d611c61ff21d9619968c907fcd1dc602ee01c61dd619968c907fcd1dd619968c907fcd1dd619968c907fcd192f84210d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14e46c3f81c909968c907fcd1de619968c907fcd1de619968c907fcd1de619968c907fcd1dc609d611c6192f84110d9619968c907fcd1dc60916908b1012600e00026dff828c116b1dcf82c703844dcf82c701c6107eb01084ff0050bc3f81cb09968c907fcd1424f4ff0e02ee24676b1daf82c10b1eb000c06d5b1eb080106d4def8041d394202d0dc60284609e0c3f81c909968c907fcd1196ac907e7d12046dc6008b102201fe01c6192f84000d8619868c007fcd1dc6000210e461c61c3f81cb09868c007fcd15746cc4616b1f86a401a07d5c3f81cc09868c007fcd1186ac007f3d1dc6001201c6192f83b10d9619968c907fcd102219961dd619968c907fcd1dd619968c907fcd1dd619968c907fcd1116901f00f02c1f3031141ea0211d9619968c907fcd1dd619968c907fcd1dd619968c907fcd14a46c3f81c909968c907fcd1da619968c907fcd1da619968c907fcd1da619968c907fcd1dc60bde8f08f000052f9ffff0020004000a0014001600200</code>
</cmdset>
</flash>

View File

@ -0,0 +1,13 @@
#!/usr/bin/env sh
systemctl stop gpsd
systemctl stop gpsd.socket
killall gpsd
killall ser2net
fwupdate -p /dev/ttyS3 -F /lib/firmware/ubx-fw-flash.xml /lib/firmware/UBX_M8_301_ADR_421_NEO_M8L.bin
if [ $? -eq 0 ]; then
echo "Firmware update was successful, please do a full power cycle of the device"
else
echo "Firmware update failed"
fi

View File

@ -0,0 +1,42 @@
SUMMARY = "FW update tool for ublox NEO-M8L"
DESCRIPTION = "Fw update tool for ublox NEO-M8L"
SECTION = "utils"
LICENSE="Proprietary"
LIC_FILES_CHKSUM="file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
DEPENDS = "ncurses"
SRC_URI = "file://ubx-fw-update.tar.gz \
file://flash.xml \
file://UBX_M8_301_ADR_421_NEO_M8L.bin \
file://gnss-fw-update \
"
PACKAGECONFIG ?= ""
PACKAGECONFIG[ubx-tool-only] = ""
S = "${WORKDIR}/ubx-fw-update"
do_compile() {
oe_runmake
}
do_install() {
install -d ${D}${bindir}
install -m 0755 fwupdate ${D}${bindir}/
if ! ${@bb.utils.contains('PACKAGECONFIG','ubx-tool-only','true','false',d)}; then
install -m 0755 ../gnss-fw-update ${D}${bindir}/
install -d ${D}${nonarch_base_libdir}/firmware/
install -m 0644 ../UBX_M8_301_ADR_421_NEO_M8L.bin ${D}${nonarch_base_libdir}/firmware/
install -m 0644 ../flash.xml ${D}${nonarch_base_libdir}/firmware/ubx-fw-flash.xml
fi
}
FILES:${PN} = " \
${bindir} \
${nonarch_base_libdir} \
"

View File

@ -1,12 +1,11 @@
DESCRIPTION = "WWAN modems configuration tool"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
RDEPENDS_${PN} += " \
RDEPENDS:${PN} += " \
python3-pyserial \
libgpiod-python \
python3-setuptools \
python3-configparser \
python3-systemd \
lmsensors-sensors \
lmsensors-config-libsensors \
@ -23,7 +22,7 @@ PV = "1.0-git${SRCPV}"
PR = "r1"
SRCREV = "f885ccb90b31c90bfed0b6d62c26ad64d69805c1"
SRCREV ?= "e656bad963ec54e4f763503a813662b17e23e5ba"
SRC_URI = "git://gitlab.com/netmodule/tools/wwan-config.git;protocol=ssh;user=git;branch=master \
file://wwan-config@.service \
file://default.conf \
@ -32,7 +31,7 @@ S = "${WORKDIR}/git"
inherit setuptools3
do_install_append() {
do_install:append() {
install -d ${D}/${systemd_unitdir}/system/
install -m 0644 ${WORKDIR}/wwan-config@.service ${D}/${systemd_unitdir}/system/

View File

@ -3,7 +3,6 @@
#
# Define a private APN to be used by the modem
# ! ONLY REQUIRED WHEN USING UBLOX TOBY-L2, will be ignored for other modems
#
# Required fields:
# apn: Name of the access point
@ -41,7 +40,6 @@ SIM=auto
# - Bridge : The modem will only act as a Bridge between the local and the GSM network.
#
# usb_profile (+UUSBCONF) :
# ! ONLY USED WITH TOBY-L2, will be ignored for other modems
# Select between different network/usb interfaces :
# - RNDIS
# - ECM

View File

@ -9,9 +9,6 @@ Restart=on-failure
Nice=-20
# Start time may include power cycles and start of ModemManager
TimeoutStartSec=180
# The default kill mode is killing the subprocesses created by the "os.system"
# calls used to stop ModemManager when handling the kill signal.
KillMode=mixed
[Install]
RequiredBy=multi-user.target

View File

@ -2,16 +2,16 @@ SUMMARY = "Boarddescriptor Tool"
DESCRIPTION = "Read and write from/to the boarddescriptor"
AUTHOR = "Stefan Eichenberger (stefan.eichenberger@netmodule.com)"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/${MACHINE}:"
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}/${MACHINE}:"
SECTION = "core"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
PR = "r0"
inherit python3-dir
RDEPENDS_${PN} = "python3-core python3-json"
RDEPENDS:${PN} = "python3-core python3-json"
SRC_URI = " \
file://bd.py \
@ -22,7 +22,7 @@ SRC_URI = " \
S = "${WORKDIR}"
FILES_${PN} = " \
FILES:${PN} = " \
${bindir}/* \
${libdir}/* \
${sysconfdir}/* \

View File

@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
SECTION = "base"
S = "${WORKDIR}/git"
SRCREV = "26cf27fd134036e4d756ac289764a5b5083966d2"
SRCREV ?= "b061655a4cc2553499decc20ee3954a72a69fcee"
SRC_URI = "git://gitlab.com/netmodule/tools/udev-rules-nmhw;protocol=ssh;user=git;branch=master;"

View File

@ -1,8 +1,8 @@
FILESEXTRAPATHS_append:= ":${THISDIR}/firmware-ti-wl18xx"
FILESEXTRAPATHS:append:= ":${THISDIR}/firmware-ti-wl18xx"
SRC_URI_append = " file://wl1271-nvs.bin "
SRC_URI:append = " file://wl1271-nvs.bin "
do_install_append() {
do_install:append() {
install -m 0644 ${WORKDIR}/wl1271-nvs.bin ${D}${nonarch_base_libdir}/firmware/ti-connectivity/wl1271-nvs.bin
}

View File

@ -1,7 +1,7 @@
DESCRIPTION = "Driver for wakeup from standby via AM335x dmtimer"
HOMEPAGE = "http://www.netmodule.com/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
inherit module
@ -11,6 +11,6 @@ PACKAGE_ARCH = "${TUNE_PKGARCH}"
PV = "1.0.0"
SRCREV ?= "1711171ae3bcc9f804d7973f4068cdd7cade78d0"
SRC_URI = "git://github.com/netmodule/am335x-wakeup-timer.git;protocol=https"
SRC_URI = "git://github.com/netmodule/am335x-wakeup-timer.git;protocol=https;branch=master"
S = "${WORKDIR}/git"

View File

@ -4,11 +4,11 @@ inherit kernel
DESCRIPTION = "Linux kernel for various NetModule hardware"
LICENSE = "GPLv2"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
# Avoids installing the kernel in /boot directory
RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
# We are building one kernel for all machines with the same architecture
PACKAGE_ARCH = "${TUNE_PKGARCH}"
@ -19,7 +19,7 @@ INITRAMFS_IMAGE_NAME = "-"
S = "${WORKDIR}/git"
INSANE_SKIP_${PN} += "version-going-backwards"
INSANE_SKIP:${PN} += "version-going-backwards"
copy_initramfs () {
# We do not use this feature and it is depending on MACHINE variable
@ -28,7 +28,7 @@ copy_initramfs () {
}
#If a KERNEL_DEFCONFIG is specified, the defconfig specified in SRC_URI will be overwritten!
do_configure_append(){
do_configure:append(){
if [ "${KERNEL_DEFCONFIG}" != "" ]; then
oe_runmake ${KERNEL_DEFCONFIG}
fi

View File

@ -1,5 +1,5 @@
require linux-netmodule.inc
SRC_URI = "git://gitlab.com/netmodule/kernel/linux-netmodule.git;protocol=ssh;user=git;branch=4.14/nxp/nmhw23"
SRCREV ?= "3ee53ea1ed03e93237e594621490839a0e2052d6"
SRCREV ?= "4c9842d4b5940a93e38121ce855fb3d6bbbaeaf0"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"

View File

@ -1,8 +1,8 @@
require linux-netmodule.inc
SRC_URI = "git://gitlab.com/netmodule/kernel/linux-netmodule.git;protocol=ssh;user=git;branch=5.10/standard/base"
SRCREV = "de7d43cb3f26bc0491865d0a2a14d5fa71ee2f61"
SRCREV ?= "383b4b9a26c1e3ff804a66132842d31e43681b06"
# Config fragments
FILESEXTRAPATHS_prepend := "${THISDIR}/conf:"
SRC_URI_append_netbird = " file://wlan.cfg"
FILESEXTRAPATHS:prepend := "${THISDIR}/conf:"
SRC_URI:append_netbird = " file://wlan.cfg"

View File

@ -1,7 +1,7 @@
# Copyright (C) 2021 Lucien Mueller <lucien.mueller@netmodule.com>
DESCRIPTION = "make fitimage"
LICENSE = "GPLv2"
LICENSE = "GPL-2.0-only"
inherit kernel-fitimage
@ -18,7 +18,7 @@ KERNEL_IMAGETYPES = "fitImage"
PACKAGE_ARCH = "${MACHINE_ARCH}"
PROVIDES = "virtual/netmodule-image"
PROVIDES_sota = ""
PROVIDES:sota = ""
addtask assemble_fitimage_initramfs before do_install after do_compile
addtask do_deploy after assemble_fitimage_initramfs
@ -29,7 +29,7 @@ UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}"
KERNEL_DEVICETREE = "${KERNEL_DEVICETREE_TO_USE}"
do_configure_prepend () {
do_configure:prepend () {
install -d ${S}/arch/${ARCH}/boot/
for DTB in ${KERNEL_DEVICETREE}; do
# We have to watch out for when the device-tree is located in its own subdirectory in the kernel sources.

View File

@ -1,14 +1,14 @@
# Copyright (C) 2021 Netmodule AG
DESCRIPTION = "implements a publish/subscribe broker for the various system state topics"
HOMEPAGE = "http://www.netmodule.com/"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
inherit packagegroup
PROVIDES = "${PN}"
RDEPENDS_${PN} = " \
RDEPENDS:${PN} = " \
ssc-broker-driver \
ssc-sysstate-driver \
"

View File

@ -2,8 +2,8 @@
DESCRIPTION = "implements a publish/subscribe broker for the various system state topics"
HOMEPAGE = "http://www.netmodule.com/"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
inherit module
@ -18,7 +18,7 @@ SRCREV ?= "4950e67e4a94bde44f8cf7a8c3f0c8eed8d18ad9"
SRC_URI = "git://gitlab.com/netmodule/kernel/ssc-broker-driver.git;protocol=ssh;user=git;branch=develop"
do_install_append () {
do_install:append () {
install -d ${D}${includedir}/broker
install -m 0644 ${S}/broker.h ${D}${includedir}/broker/broker.h
install -m 0644 ${S}/worker.h ${D}${includedir}/broker/worker.h

View File

@ -2,11 +2,11 @@
DESCRIPTION = "implements a publish/subscribe broker for the various system state topics"
HOMEPAGE = "http://www.netmodule.com/"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
DEPENDS = "ssc-broker-driver"
RDEPENDS_${PN} = "ssc-broker-driver"
RDEPENDS:${PN} = "ssc-broker-driver"
inherit module

View File

@ -2,11 +2,11 @@
DESCRIPTION = "implements a publish/subscribe broker for the various system state topics"
HOMEPAGE = "http://www.netmodule.com/"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
DEPENDS = "ssc-broker-driver"
RDEPENDS_${PN} = "ssc-broker-driver"
RDEPENDS:${PN} = "ssc-broker-driver"
inherit module
@ -16,7 +16,7 @@ KERNEL_MODULE_AUTOLOAD += "sysstate"
PACKAGE_ARCH = "${TUNE_PKGARCH}"
PV = "1.0.0"
SRCREV ?= "e6cd905b06a04af2a1a5fedd07d1ce0c34cfe433"
SRCREV ?= "19a75e6acbb5541c905ecdfc63ddba1591a619bf"
EXTRA_OEMAKE += "ccflags-y=\"-I${STAGING_INCDIR}/\""

View File

@ -1,6 +1,6 @@
SUMMARY = "Machine specific gpsd config"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD;md5=3775480a712fc46a69647678acb234cb"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
# empty by default
# BSP layers can add stuff like meta-openmoko example:

View File

@ -2,7 +2,7 @@
TTY_DEVICE = "/dev/gnss0"
USBAUTO_STATE = "false"
do_install_append () {
do_install:append () {
sed -i 's|DEVICES=""|DEVICES="${TTY_DEVICE}"|g' ${D}/etc/default/gpsd.default
sed -i 's|USBAUTO="true"|USBAUTO="${USBAUTO_STATE}"|g' ${D}/etc/default/gpsd.default