Compare commits

..

29 Commits

Author SHA1 Message Date
Mr Jenkins a4ab48c63e meta-netmodule-bsp: updated source revisions 2023-12-27 20:36:58 +01:00
Mr Jenkins a3e87ec6d9 meta-netmodule-bsp: updated source revisions 2023-12-14 10:32:44 +01:00
Mr Jenkins 7cad5c1048 meta-netmodule-bsp: updated source revisions 2023-12-13 11:09:21 +01:00
Alexandre Bard 17c6b96ac9 machine:hw20: Add gnss support 2023-05-22 08:36:01 +02:00
Alexandre Bard b12ccc01a8 freecale/imx-mkimage: Remove autorev
The the branch is anyway not updated anymore and the autorev is causing
parsing problem even when the recipe is not used.
2023-05-16 09:32:45 +02:00
Alexandre Bard a2226ab942 recipes-imx: Update SRC_URIs
codeaurora closed and the sources moved to github

id:382539
2023-04-03 11:02:57 +02:00
Alexandre Bard cff1dfc0c6 ublox-gnss-fw-update: Move to fct layer
This tool is deprecated and used only for factory testing.
So the updated version has been added to fct layer.

id:379391
2023-03-30 11:10:00 +02:00
Mr Jenkins 65b0b8f377 meta-netmodule-bsp: updated source revisions 2023-03-25 20:49:28 +01:00
Patrick Zysset 3cd38e5536 Revert "lpa: Add NRSW base recipe"
Additionally the two follow up commits are reverted too:
Revert "lpa: Remove dependencies to NRSW"
Revert "lpa: Use latest version with patched toby driver"

This reverts commit
8f2fca9c5f,
c1187b5553 and
c18ced1d01.

id:379399

Signed-off-by: Patrick Zysset <patrick.zysset@netmodule.com>
2023-03-24 17:31:48 +01:00
Mr Jenkins 25003ce8e1 meta-netmodule-bsp: updated source revisions 2023-03-10 10:59:22 +01:00
Mr Jenkins bc645c4c48 meta-netmodule-bsp: updated source revisions 2023-03-06 22:33:48 +01:00
Mr Jenkins cacadef098 meta-netmodule-bsp: updated source revisions 2023-03-06 13:57:19 +01:00
Alexandre Bard 6dc6ddc79c hw26/hw21: Fix order of machine overrides
For most of the overrides the order is not important since all overrides
are used.

But when using a file specific to a machine, only one override is used
and in this case the order is important: the last override matching is
used. So we must keep more specific overrides at the end.

id:366284
2023-02-15 09:44:30 +01:00
Alexandre Bard 5d00c9807b hw25: Remove machine override from hw24
This override was useful in the past when we had a lot of features
defined directly using the machine name. But now it is not needed
anymore.

It is actually the source of problems when using specific files for both
hw24 and 25: Since the HW24 overrides was at the end, the files for it
were always used and the files for HW25 were ignored.

id:366284
2023-02-15 09:44:23 +01:00
Alexandre Bard a020f9406e lmsensors: Add ignition voltage to HW24
id:366281
2023-02-15 09:44:13 +01:00
Mr Jenkins 335e778fed meta-netmodule-bsp: updated source revisions 2023-02-06 16:35:25 +01:00
Mr Jenkins fc29da1d42 meta-netmodule-bsp: updated source revisions 2023-01-20 22:03:46 +01:00
Alexandre Bard ab9518068b wwan-config: configuration: Add comments for fields specific to TOBY-L2
The default APN configuration is only required for TOBY-L2. For LARA, it
is properly handled through the QMI interface.

For LARA the only supported profile is RMNET, so this is not
configurable.

tpID: #354963
2023-01-20 11:56:16 +01:00
Alexandre Bard 3ba77cdf83 modemmanager: Add support for LARA-L6
LARA-L6 is using a QMI interface so we need to enable QMI and the
"generic" plugin.

Also we need to backport libqmi to have the version matching
ModemManager 1.14.

BugzID: 81947
2022-12-13 12:59:41 +01:00
Mr Jenkins 1f8c466f7d meta-netmodule-bsp: updated source revisions 2022-11-25 11:19:51 +01:00
Alexandre Bard 063bdd83a3 network-manager-conf: Enhance support for user module
Now all scenarios with a user module are covered:

- static setup with a user module will create a bridge with static IP
- dhcp setup with a user module will put a static IP on the UM and DHCP
on the main interface

BugzID: 81969
2022-11-18 10:07:49 +01:00
Alexandre Bard 230743c03d networkmanager-conf: Add support for bridge to user-module
This is a setup required for the factory testing image: the user module
must be reachable from the CPU. And since the subnet of the fct ethernet
port and the subnet of the user module are the same, we must bridge them
together.

BugzID: 81969
2022-11-14 15:55:20 +01:00
Alexandre Bard 6fa868f2d4 machines.conf: Add new machine hw26-vcupro
This is the new VCU pro based on HW26 but which includes the user
module.
Because of this change, we cannot reuse HW21 nor HW26 machines.

BugzID: 81969
2022-11-14 15:40:40 +01:00
Alexandre Bard 3c281d8e78 lmsensors: hw20: Remove input voltage
This is not implemented.
2022-09-27 08:50:13 +02:00
Alexandre Bard 76457f2106 lmsensors: Fully extend configs for DA9063 on all hardwares
BugzID: 81382
2022-09-13 15:00:44 +02:00
Alexandre Bard 275d265ee7 lmsensors: Add configs for HW21 and HW26
Label and compute all input from the PMIC.

BugzID: 81382
2022-09-12 16:31:11 +02:00
Alexandre Bard 1eb5a1a51e wwan-config: Fix ModemManager not stopped when stopping wwan-config
BugzID: 81051
2022-09-01 12:24:38 +00:00
Alexandre Bard 2fca63a11b lmsensors-config: Update da9063 rules
Names with dashes are not allowed. They were working only because of a
patch.

BugzID: 81093
2022-08-24 10:00:47 +02:00
Alexandre Bard 9183a5f886 lmsensors: Remove uneeded patch
After discussion with the maintainers, the problem actually lies in the
kernel drivers where a dash is forbidden. But the da9063-hwmon driver
was using a deprecated function which was not checking the name.

BugzID: 81093
2022-08-24 09:59:10 +02:00
83 changed files with 424 additions and 716 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";
hashi-1 {
algo = "sha256";
hash@1 {
algo = "sha1";
};
};
EOF

View File

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

View File

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

View File

@ -0,0 +1,9 @@
#@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,6 +5,9 @@
#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"
MACHINE_FEATURES:remove = "user-module"
# Remove usermodule
USER_MODULE_MACHINE_FEATURE = ""

View File

@ -30,7 +30,9 @@ 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,6 +21,7 @@ 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-nrhw18.kwb"
IMAGE_BOOT_FILES = "u-boot-armada-385-hw18.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/arm/armv7a/tune-cortexa9.inc
require conf/machine/include/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/arm/armv8a/tune-cortexa35.inc
require conf/machine/include/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/arm/armv7a/tune-cortexa8.inc
require conf/machine/include/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://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
PV = "1.5.0+git${SRCPV}"
SRCBRANCH = "imx_4.14.98_2.0.0_ga"
SRC_URI = "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https;branch=${SRCBRANCH} \
SRC_URI = "git://github.com/nxp-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 = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;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 = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;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://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH}"
SRCREV ?= "${AUTOREV}"
SRC_URI = "git://github.com/nxp-imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH}"
SRCREV ?= "dd0234001713623c79be92b60fa88bc07b07f24f"
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 = "GPL-2.0-only"
LICENSE = "GPLv2"
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;branch=master"
SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https"
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://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/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://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/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

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

View File

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

View File

@ -0,0 +1,13 @@
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

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

View File

@ -1,3 +1,9 @@
chip "da9063-hwmon-*"
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"

View File

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

View File

@ -1,138 +0,0 @@
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

@ -1,6 +0,0 @@
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 = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;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

@ -1,44 +0,0 @@
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,17 +1,14 @@
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 \
file://0001-remove-redundant-YYLOC-declaration.patch;name=yylloc \
"
SRC_URI[yylloc.md5sum] = "504cb5b73a174a32e55c58f60608925d"
SRC_URI = "git://gitlab.com/netmodule/bootloader/netmodule-uboot.git;protocol=ssh;user=git;branch=2017.11/standard/armada-385"
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 = "GPL-2.0-or-later"
LICENSE = "GPLv2+"
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 = "GPL-2.0-or-later"
LICENSE = "GPLv2+"
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 ?= "7b4add1789640d188d2c5d4c7885f942908846f6"
SRCREV = "69e9c386dd3734a01af79ca1cc565896facfb9f6"
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

@ -0,0 +1,29 @@
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 = "LGPL-3.0-only"
LICENSE = "LGPLv3"
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 ?= "e7970e6486473c78c2c6f1f63c5a15fc28606c2d"
SRCREV = "3d80bb4871ddc2e3e84553a86b767b419b96148f"
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

@ -0,0 +1,21 @@
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

@ -1,34 +0,0 @@
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

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

View File

@ -9,4 +9,9 @@ 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

@ -0,0 +1,57 @@
# 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,25 +1,21 @@
require recipes-connectivity/modemmanager/modemmanager_1.18.8.bb
require recipes-connectivity/modemmanager/modemmanager_1.14.8.bb
# Use custom git repo as SRC
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"
SRC_URI = "git://gitlab.com/netmodule/third-party/ModemManager;protocol=ssh;user=git;branch=mm-1-14-netmodule;"
SRCREV ?= "35ef2f387bf53f0601901a5f08ab0f6bf57105c4"
S = "${WORKDIR}/git"
# Keep only ublox plugin
EXTRA_OECONF += "--disable-all-plugins --enable-plugin-ublox"
EXTRA_OECONF += "--disable-all-plugins --enable-plugin-ublox --enable-plugin-generic"
# Exclude mbim and qmi
PACKAGECONFIG = "systemd"
# Exclude mbim
PACKAGECONFIG = "systemd qmi"
# 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,48 +1,82 @@
inherit allarch
DESCRIPTION = "Configuration files for NetworkManager"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
RDEPENDS:${PN} = "networkmanager"
RDEPENDS_${PN} = "networkmanager"
PACKAGECONFIG ?= ""
DEFAULT_ETH ??= "eth0"
export 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 ${D}${sysconfdir}/NetworkManager/system-connections
install -d ${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
install -m 0600 ${WORKDIR}/eth0-dhcp ${D}${sysconfdir}/NetworkManager/system-connections/eth0.nmconnection
# 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
else
install -m 0600 ${WORKDIR}/eth0-static ${D}${sysconfdir}/NetworkManager/system-connections/eth0.nmconnection
# 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
fi
# 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
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
if ${@bb.utils.contains('PACKAGECONFIG','unmanaged-devices','true','false',d)}; then
@ -51,17 +85,17 @@ do_install () {
fi
}
do_install:append_am335x-nrhw20() {
rm -rf ${D}${sysconfdir}/NetworkManager/system-connections/*
do_install_append_am335x-nrhw20() {
rm -rf ${SYSTEM_CONNECTIONS}/*
if ${@bb.utils.contains('PACKAGECONFIG','ethernet-dhcp','true','false',d)}; then
install -m 0600 ${WORKDIR}/system-connections-dhcp/* ${D}${sysconfdir}/NetworkManager/system-connections/
install -m 0600 ${WORKDIR}/system-connections-dhcp/* ${SYSTEM_CONNECTIONS}/
else
install -m 0600 ${WORKDIR}/system-connections-static/* ${D}${sysconfdir}/NetworkManager/system-connections/
install -m 0600 ${WORKDIR}/system-connections-static/* ${SYSTEM_CONNECTIONS}/
fi
}
FILES:${PN} = " \
FILES_${PN} = " \
${sysconfdir}/NetworkManager/NetworkManager.conf \
${sysconfdir}/NetworkManager/dnsmasq.d \
${sysconfdir}/NetworkManager/system-connections \

View File

@ -0,0 +1,12 @@
[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,6 +1,5 @@
[connection]
id=ethernet
uuid=2a2b6485-4d06-4b86-8051-751399c6881a
type=ethernet
interface-name=eth0
permissions=

View File

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

View File

@ -1,6 +1,6 @@
From 8558b348c92e276b586cfd502992c07679970085 Mon Sep 17 00:00:00 2001
From f7c129b1775e35f603c1c58c12f958ae81ae6bb8 Mon Sep 17 00:00:00 2001
From: Alexandre Bard <alexandre.bard@netmodule.com>
Date: Mon, 18 Jul 2022 17:06:03 +0200
Date: Wed, 13 Nov 2019 17:53:54 +0100
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/core/devices/wwan/nm-device-modem.c | 7 ++++---
src/core/nm-policy.c | 5 +++++
2 files changed, 9 insertions(+), 3 deletions(-)
src/devices/wwan/nm-device-modem.c | 8 +++++---
src/nm-policy.c | 5 +++++
2 files changed, 10 insertions(+), 3 deletions(-)
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);
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);
}
- nm_device_queue_recheck_available(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);
+ 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/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)),
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);
_notify (self, PROP_DEFAULT_IP4_AC);
+
+ /* Recheck all connections to enable potential VPN depending on new route */
+ schedule_activate_all(self);
}
static void
@@ -2200,6 +2203,8 @@ device_recheck_auto_activate(NMDevice *device, gpointer user_data)
@@ -2041,6 +2044,8 @@ device_recheck_auto_activate (NMDevice *device, gpointer user_data)
NMPolicyPrivate *priv = user_data;
NMPolicy *self = _PRIV_TO_SELF(priv);
NMPolicy *self = _PRIV_TO_SELF (priv);
+ /* Reset retries count */
+ reset_autoconnect_all(self, device, FALSE);
schedule_activate_check(self, device);
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 ?= "5ccd0fe246be8f381c9b06e2703b6fe22fefcee8"
SRCREV = "7c22b57cdd169a6651cb0c17a215d1e448727bcb"
S = "${WORKDIR}/git"

View File

@ -3,14 +3,14 @@ DESCRIPTION = "Run hciattach for ti bluetooth wl12xx module"
AUTHOR = "Stefan Eichenberger"
SECTION = "connectivity"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;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

@ -1,216 +0,0 @@
<?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

@ -1,13 +0,0 @@
#!/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

@ -1,42 +0,0 @@
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,11 +1,12 @@
DESCRIPTION = "WWAN modems configuration tool"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28"
RDEPENDS:${PN} += " \
RDEPENDS_${PN} += " \
python3-pyserial \
libgpiod-python \
python3-setuptools \
python3-configparser \
python3-systemd \
lmsensors-sensors \
lmsensors-config-libsensors \
@ -22,7 +23,7 @@ PV = "1.0-git${SRCPV}"
PR = "r1"
SRCREV ?= "e656bad963ec54e4f763503a813662b17e23e5ba"
SRCREV = "f885ccb90b31c90bfed0b6d62c26ad64d69805c1"
SRC_URI = "git://gitlab.com/netmodule/tools/wwan-config.git;protocol=ssh;user=git;branch=master \
file://wwan-config@.service \
file://default.conf \
@ -31,7 +32,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,6 +3,7 @@
#
# 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
@ -40,6 +41,7 @@ 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,6 +9,9 @@ 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 = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;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 ?= "b061655a4cc2553499decc20ee3954a72a69fcee"
SRCREV = "26cf27fd134036e4d756ac289764a5b5083966d2"
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 = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;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;branch=master"
SRC_URI = "git://github.com/netmodule/am335x-wakeup-timer.git;protocol=https"
S = "${WORKDIR}/git"

View File

@ -4,11 +4,11 @@ inherit kernel
DESCRIPTION = "Linux kernel for various NetModule hardware"
LICENSE = "GPL-2.0-only"
LICENSE = "GPLv2"
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 ?= "4c9842d4b5940a93e38121ce855fb3d6bbbaeaf0"
SRCREV ?= "3ee53ea1ed03e93237e594621490839a0e2052d6"
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 ?= "383b4b9a26c1e3ff804a66132842d31e43681b06"
SRCREV = "de7d43cb3f26bc0491865d0a2a14d5fa71ee2f61"
# 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 = "GPL-2.0-only"
LICENSE = "GPLv2"
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-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;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-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;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-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;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-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;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 ?= "19a75e6acbb5541c905ecdfc63ddba1591a619bf"
SRCREV ?= "e6cd905b06a04af2a1a5fedd07d1ce0c34cfe433"
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://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD;md5=3775480a712fc46a69647678acb234cb"
# 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