From b63df059c3c694623219d60599b3f16f4ed493b1 Mon Sep 17 00:00:00 2001 From: TagBug <41150861+tagbug@users.noreply.github.com> Date: Sat, 12 Sep 2026 01:28:56 +0800 Subject: [PATCH] Add ssc337de_lite_zte-k543 device profile (ZTE K543, SC401AI, MT7601U Wi-Fi) (#152) The first ssc337de_lite device in the tree to ship an excludes list: it prunes 17 of the 18 sensors OpenIPC/sensors builds for infinity6b0 and keeps sc401ai, the board's own. Wi-Fi is an MT7601U on the vendor STA driver, so the device carries its own /etc/wireless/usb with the gpio 14 power cycle ahead of the modprobe, and execs modprobe so the profile's exit status is the module's rather than an unconditional success. The overlay is registered in .github/firmware-drift.json against the current firmware blob rather than left to drift silently. Built green on CI before a rebase over #151 and #153, which collided only on the README device table. --- .github/firmware-drift.json | 7 ++ README.md | 1 + .../configs/ssc337de_lite_zte-k543_defconfig | 71 +++++++++++++++++++ .../general/overlay/etc/wireless/usb | 15 ++++ .../overlay/usr/share/openipc/customizer.sh | 46 ++++++++++++ .../scripts/excludes/ssc337de_lite.list | 24 +++++++ 6 files changed, 164 insertions(+) create mode 100644 devices/ssc337de_lite_zte-k543/br-ext-chip-sigmastar/configs/ssc337de_lite_zte-k543_defconfig create mode 100755 devices/ssc337de_lite_zte-k543/general/overlay/etc/wireless/usb create mode 100755 devices/ssc337de_lite_zte-k543/general/overlay/usr/share/openipc/customizer.sh create mode 100644 devices/ssc337de_lite_zte-k543/general/scripts/excludes/ssc337de_lite.list diff --git a/.github/firmware-drift.json b/.github/firmware-drift.json index 45bb49b..8e2b128 100644 --- a/.github/firmware-drift.json +++ b/.github/firmware-drift.json @@ -490,6 +490,13 @@ "reconciled": "2026-08-25", "note": "shared wireless adapter table" }, + { + "builder": "devices/ssc337de_lite_zte-k543/general/overlay/etc/wireless/usb", + "firmware": "general/overlay/etc/wireless/usb", + "blob": "f9df96bc190e8f8a11794f9410568eac10f50320", + "reconciled": "2026-09-09", + "note": "shared wireless adapter table" + }, { "builder": "devices/ssc338q_apfpv_greg-generic-bu-eu/general/overlay/etc/init.d/S40network", "firmware": "general/overlay/etc/init.d/S40network", diff --git a/README.md b/README.md index 9871f41..f9587d4 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,7 @@ Xiaomi MJSXJ03HL T31N JXQ03P RTL8189FS_SDIO NOR_16M done Xiaomi MJSXJ05HL T31L GC2053 ATBM6031_SDIO NOR_16M preparation YuanCam DGK-423403 HI3518EV300 JXH62 RTL8188FU_USB NOR_8M research ZTE K540 T31X SC4336 ATBM6012B_USB NOR_16M done +ZTE K543 SSC337DE SC401AI MT7601U_USB NOR_16M done ZTE K545 T31X SC4336 ATBM6012B_USB NOR_16M done 4G Camera XG521 V1.2 GK7202V300 GC1054 EC800E-CN_USB NOR_8M done XM IPG-G3-WR GK7202V300 JXH63 ATBM60321S_USB NOR_8M done diff --git a/devices/ssc337de_lite_zte-k543/br-ext-chip-sigmastar/configs/ssc337de_lite_zte-k543_defconfig b/devices/ssc337de_lite_zte-k543/br-ext-chip-sigmastar/configs/ssc337de_lite_zte-k543_defconfig new file mode 100644 index 0000000..7fb537e --- /dev/null +++ b/devices/ssc337de_lite_zte-k543/br-ext-chip-sigmastar/configs/ssc337de_lite_zte-k543_defconfig @@ -0,0 +1,71 @@ +# Architecture +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_ARM_INSTRUCTIONS_THUMB2=y + +# Toolchain +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz" +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-musleabihf" +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_KERNEL).tar.gz" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/infinity6b0-ssc009b.config" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_XZ=y + +# Filesystem +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config" +BR2_PACKAGE_EXFATPROGS=y +BR2_PACKAGE_UBOOT_TOOLS=y +BR2_PACKAGE_ZLIB=y +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y +BR2_PACKAGE_WIREGUARD_TOOLS=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_SQUASHFS=y +BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y + +# OpenIPC +BR2_OPENIPC_SOC_VENDOR="sigmastar" +BR2_OPENIPC_SOC_MODEL="ssc337de" +BR2_OPENIPC_SOC_FAMILY="infinity6b0" +BR2_OPENIPC_SNS_MODEL="sc401ai" +BR2_OPENIPC_VARIANT="lite" +BR2_OPENIPC_FLASH_SIZE="16" + +# Packages +BR2_PACKAGE_DROPBEAR_OPENIPC=y +BR2_PACKAGE_EXFAT_OPENIPC=y +BR2_PACKAGE_IPCTOOL=y +BR2_PACKAGE_LIBCURL_OPENIPC=y +BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y +# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set +BR2_PACKAGE_LIBEVENT_OPENIPC=y +BR2_PACKAGE_LIBOGG_OPENIPC=y +BR2_PACKAGE_MAJESTIC_FONTS=y +BR2_PACKAGE_MAJESTIC_WEBUI=y +BR2_PACKAGE_MAJESTIC=y +BR2_PACKAGE_MBEDTLS_OPENIPC=y +BR2_PACKAGE_MT7601U_OPENIPC=y +BR2_PACKAGE_GPIO_MOTORS=y +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6B0=y +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y diff --git a/devices/ssc337de_lite_zte-k543/general/overlay/etc/wireless/usb b/devices/ssc337de_lite_zte-k543/general/overlay/etc/wireless/usb new file mode 100755 index 0000000..48d41b7 --- /dev/null +++ b/devices/ssc337de_lite_zte-k543/general/overlay/etc/wireless/usb @@ -0,0 +1,15 @@ +#!/bin/sh + +set_gpio() { + [ "$2" -eq 1 ] && gpio set $1 || gpio clear $1 + sleep 1 +} + +# SSC337DE ZTE K543 +if [ "$1" = "mt7601sta-ssc337de-zte-k543" ]; then + set_gpio 14 1 + set_gpio 14 0 + exec modprobe mt7601sta +fi + +exit 1 diff --git a/devices/ssc337de_lite_zte-k543/general/overlay/usr/share/openipc/customizer.sh b/devices/ssc337de_lite_zte-k543/general/overlay/usr/share/openipc/customizer.sh new file mode 100755 index 0000000..466b87a --- /dev/null +++ b/devices/ssc337de_lite_zte-k543/general/overlay/usr/share/openipc/customizer.sh @@ -0,0 +1,46 @@ +#!/bin/sh +# +# Perform basic settings on a known IP camera +# +# +# Set custom upgrade url +# +fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/ssc337de_lite_zte-k543-nor.tgz' +# +# +# Set custom majestic settings +# +cli -s .video0.codec h264 +cli -s .nightMode.irCutPin1 79 +cli -s .nightMode.irCutPin2 78 +cli -s .nightMode.backlightPin 52 +cli -s .nightMode.colorToGray true +cli -s .audio.enabled true +cli -s .audio.codec pcm +cli -s .audio.srate 8000 +cli -s .audio.inputChannel 1 +cli -s .audio.volume 70 +cli -s .audio.outputEnabled true +cli -s .audio.outputVolume 60 +cli -s .audio.speakerPin 15 +cli -s .audio.speakerPinInvert true +# +# +# Set wlan device and credentials if needed +# +fw_setenv wlandev "mt7601sta-ssc337de-zte-k543" +#fw_setenv wlanssid Router +#fw_setenv wlanpass 12345678 +# +# +# Set ptz motor pins +# +fw_setenv ptz_control gpio +fw_setenv ptz_gpio '0 1 2 3 4 5 6 7' +# +# +# Status LEDs: +# GPIO 76 +# GPIO 77 +# +exit 0 diff --git a/devices/ssc337de_lite_zte-k543/general/scripts/excludes/ssc337de_lite.list b/devices/ssc337de_lite_zte-k543/general/scripts/excludes/ssc337de_lite.list new file mode 100644 index 0000000..f09fd61 --- /dev/null +++ b/devices/ssc337de_lite_zte-k543/general/scripts/excludes/ssc337de_lite.list @@ -0,0 +1,24 @@ +/lib/modules/4.9.84/sigmastar/sensor_gc2053_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_gc2083_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_gc4023_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_gc4653_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_imx307_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_imx335_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_jxf37_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_jxq03_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_os02g10_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_os03b10_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc200ai_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc2239_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc223a_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc2335_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc2336_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc3335_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc3336_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc3338_mipi.ko +# +/lib/modules/4.9.84/kernel/fs/lockd/lockd.ko +/lib/modules/4.9.84/kernel/fs/nfs/nfs.ko +/lib/modules/4.9.84/kernel/fs/nfs/nfsv3.ko +/lib/modules/4.9.84/kernel/fs/nfs_common/grace.ko +/lib/modules/4.9.84/kernel/net/sunrpc/sunrpc.ko