From ef120ab0b023bc8d1de08fcb3774141f809c6d0c Mon Sep 17 00:00:00 2001 From: asyncbridge Date: Fri, 9 May 2025 15:52:31 +0900 Subject: [PATCH 1/4] Add ssc377_lite_tp-link-tapo-c120-v1 profile. --- ...ssc377_lite_tp-link-tapo-c120-v1_defconfig | 71 +++++++++++++++++++ .../general/overlay/etc/wireless/usb | 14 ++++ .../overlay/usr/share/openipc/customizer.sh | 34 +++++++++ .../overlay/usr/share/openipc/gpio.conf | 14 ++++ .../overlay/usr/share/openipc/muxes.sh | 3 + .../files/script/load_sigmastar | 57 +++++++++++++++ 6 files changed, 193 insertions(+) create mode 100644 devices/ssc377_lite_tp-link-tapo-c120-v1/br-ext-chip-sigmastar/configs/ssc377_lite_tp-link-tapo-c120-v1_defconfig create mode 100755 devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/etc/wireless/usb create mode 100644 devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/customizer.sh create mode 100644 devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/gpio.conf create mode 100644 devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/muxes.sh create mode 100644 devices/ssc377_lite_tp-link-tapo-c120-v1/general/package/sigmastar-osdrv-infinity6c/files/script/load_sigmastar diff --git a/devices/ssc377_lite_tp-link-tapo-c120-v1/br-ext-chip-sigmastar/configs/ssc377_lite_tp-link-tapo-c120-v1_defconfig b/devices/ssc377_lite_tp-link-tapo-c120-v1/br-ext-chip-sigmastar/configs/ssc377_lite_tp-link-tapo-c120-v1_defconfig new file mode 100644 index 000000000..ce4e81229 --- /dev/null +++ b/devices/ssc377_lite_tp-link-tapo-c120-v1/br-ext-chip-sigmastar/configs/ssc377_lite_tp-link-tapo-c120-v1_defconfig @@ -0,0 +1,71 @@ +# Architecture +BR2_arm=y +BR2_cortex_a35=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_5_10=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)/infinity6c-ssc027a.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_REGDB=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="ssc377" +BR2_OPENIPC_SOC_FAMILY="infinity6c" +BR2_OPENIPC_VARIANT="lite" +BR2_OPENIPC_FLASH_SIZE="8" + +# Packages +BR2_PACKAGE_DROPBEAR_OPENIPC=y +BR2_PACKAGE_EXFAT_OPENIPC=y +BR2_PACKAGE_IPCTOOL=y +BR2_PACKAGE_JSONFILTER=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_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6C=y +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y +BR2_PACKAGE_RTL8188FU_OPENIPC=y \ No newline at end of file diff --git a/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/etc/wireless/usb b/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/etc/wireless/usb new file mode 100755 index 000000000..001562c94 --- /dev/null +++ b/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/etc/wireless/usb @@ -0,0 +1,14 @@ +#!/bin/sh + +set_gpio() { + [ "$2" -eq 1 ] && gpio set $1 || gpio clear $1 + sleep 1 +} + +if [ "$1" = "rtl8188fu-ssc377" ]; then + set_gpio 42 1 + modprobe 8188fu + exit 0 +fi + +exit 1 diff --git a/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/customizer.sh b/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/customizer.sh new file mode 100644 index 000000000..b242b3f1d --- /dev/null +++ b/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/customizer.sh @@ -0,0 +1,34 @@ +#!/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/ssc377_lite_tp-link-tapo-c120-v1-nor.tgz' +# +# +# Set custom majestic settings +# +cli -s .nightMode.irCutPin1 81 +cli -s .nightMode.irCutSingleInvert true +cli -s .nightMode.backlightPin 14 +cli -s .nightMode.colorToGray true +cli -s .video0.codec h264 +cli -s .video0.fps 25 +cli -s .audio.speakerPin 43 +cli -s .audio.srate 48000 +cli -s .audio.codec pcm +cli -s .audio.enabled false +cli -s .audio.volume 0 +cli -s .audio.outputEnabled true +cli -s .audio.outputVolume 60 +# +# +# Set wlan device and credentials if need +# +fw_setenv wlandev rtl8188fu-ssc377 +#fw_setenv wlanssid Router +#fw_setenv wlanpass 12345678 + +exit 0 diff --git a/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/gpio.conf b/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/gpio.conf new file mode 100644 index 000000000..17314736b --- /dev/null +++ b/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/gpio.conf @@ -0,0 +1,14 @@ +alarm_in=-1 +alarm_out=-1 +button=0 +ircut1=81 +ircut2=-1 +led1=10 # red +led2=11 # green +led3=14 # white +light_ir=12 +light_wl=-1 +light_sensor=-1 +mmc_pwr=-1 +speaker=43 +usb=-1 diff --git a/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/muxes.sh b/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/muxes.sh new file mode 100644 index 000000000..739898cc7 --- /dev/null +++ b/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/muxes.sh @@ -0,0 +1,3 @@ +#!/bin/sh +. /usr/share/openipc/gpio.conf + diff --git a/devices/ssc377_lite_tp-link-tapo-c120-v1/general/package/sigmastar-osdrv-infinity6c/files/script/load_sigmastar b/devices/ssc377_lite_tp-link-tapo-c120-v1/general/package/sigmastar-osdrv-infinity6c/files/script/load_sigmastar new file mode 100644 index 000000000..54dff7775 --- /dev/null +++ b/devices/ssc377_lite_tp-link-tapo-c120-v1/general/package/sigmastar-osdrv-infinity6c/files/script/load_sigmastar @@ -0,0 +1,57 @@ +#!/bin/sh +# +# OpenIPC.org | 2024 +# + +MODULE=/lib/modules/5.10.61/sigmastar +SENSOR=$(fw_printenv -n sensor) + +detect_sensor() { + insmod $MODULE/sensor_config.ko + if [ -e /dev/srcfg ]; then + echo srcfg 0 1 0 0 0 0 > /dev/srcfg + rmmod sensor_config + fi + SENSOR=$(ipcinfo -s) + fw_setenv sensor "$SENSOR" +} + +set_sensor() { + case $SENSOR in + gc4653|imx335|imx415|os04a10|sc4336p|sc401ai|sc430ai|sc501ai|sc830ai|sc850sl) + insmod $MODULE/sensor_${SENSOR}_mipi.ko chmap=1 + ;; + *) + echo -e "\n\e[1;31mUNSUPPORTED sensor - $SENSOR\e[0m\n" | logger -s -t OpenIPC + ;; + esac +} + +insert_ko() { + insmod $MODULE/mi.ko drv_codec40_common.fw_load_path=/etc/firmware/chagall.bin + echo isproot /etc/firmware > /dev/ispmid +} + +if [ ! -e /sys/module/mi_common ]; then + insert_ko +fi + +if [ -z "$1" ] || [ -z "$SENSOR" ]; then + echo -e "\n\e[1;33mAutodetect sensor\e[0m\n" | logger -s -t OpenIPC + detect_sensor +fi + +if [ -z "$SENSOR" ]; then + echo -e "\n\e[1;31mSensor parameter MISSING\e[0m\n" | logger -s -t OpenIPC + exit 1 +fi + +DRIVER=$(ls /sys/module | grep $SENSOR) +if [ -n "$DRIVER" ]; then + rmmod $DRIVER +fi + +echo -e "\n\e[1;32mSensor assigned - $SENSOR\e[0m\n" | logger -s -t OpenIPC +set_sensor + +exit 0 \ No newline at end of file From 5b4bf902b2667b27e1c7a4fcc620e5eefebd31cd Mon Sep 17 00:00:00 2001 From: asyncbridge Date: Mon, 12 May 2025 13:08:15 +0900 Subject: [PATCH 2/4] Comment the BR2_PACKAGE_RTL8188FU_OPENIPC. --- .../configs/ssc377_lite_tp-link-tapo-c120-v1_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devices/ssc377_lite_tp-link-tapo-c120-v1/br-ext-chip-sigmastar/configs/ssc377_lite_tp-link-tapo-c120-v1_defconfig b/devices/ssc377_lite_tp-link-tapo-c120-v1/br-ext-chip-sigmastar/configs/ssc377_lite_tp-link-tapo-c120-v1_defconfig index ce4e81229..8095f80db 100644 --- a/devices/ssc377_lite_tp-link-tapo-c120-v1/br-ext-chip-sigmastar/configs/ssc377_lite_tp-link-tapo-c120-v1_defconfig +++ b/devices/ssc377_lite_tp-link-tapo-c120-v1/br-ext-chip-sigmastar/configs/ssc377_lite_tp-link-tapo-c120-v1_defconfig @@ -68,4 +68,4 @@ BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6C=y BR2_PACKAGE_VTUND_OPENIPC=y BR2_PACKAGE_YAML_CLI=y -BR2_PACKAGE_RTL8188FU_OPENIPC=y \ No newline at end of file +#BR2_PACKAGE_RTL8188FU_OPENIPC=y \ No newline at end of file From 4a66b0035648f5734019dca4f69e069f6cfdb5aa Mon Sep 17 00:00:00 2001 From: asyncbridge Date: Mon, 12 May 2025 13:17:53 +0900 Subject: [PATCH 3/4] Change wireless wlandev name. --- .../general/overlay/etc/wireless/usb | 3 ++- .../general/overlay/usr/share/openipc/customizer.sh | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/etc/wireless/usb b/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/etc/wireless/usb index 001562c94..132c97a39 100755 --- a/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/etc/wireless/usb +++ b/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/etc/wireless/usb @@ -5,7 +5,8 @@ set_gpio() { sleep 1 } -if [ "$1" = "rtl8188fu-ssc377" ]; then +# SSC377 Tapo C120 v1 +if [ "$1" = " rtl8188fu-ssc377-tapo-c120" ]; then set_gpio 42 1 modprobe 8188fu exit 0 diff --git a/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/customizer.sh b/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/customizer.sh index b242b3f1d..37c7214ee 100644 --- a/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/customizer.sh +++ b/devices/ssc377_lite_tp-link-tapo-c120-v1/general/overlay/usr/share/openipc/customizer.sh @@ -27,7 +27,7 @@ cli -s .audio.outputVolume 60 # # Set wlan device and credentials if need # -fw_setenv wlandev rtl8188fu-ssc377 +fw_setenv wlandev rtl8188fu-ssc377-tapo-c120 #fw_setenv wlanssid Router #fw_setenv wlanpass 12345678 From 5d336f49258e58b9368b45309754d7577ee7f37f Mon Sep 17 00:00:00 2001 From: Signor Pellegrino <68112357+flyrouter@users.noreply.github.com> Date: Wed, 10 Sep 2025 19:43:24 +0300 Subject: [PATCH 4/4] Enable RTL8188FU package in defconfig There may be an error calling the driver package. --- .../configs/ssc377_lite_tp-link-tapo-c120-v1_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devices/ssc377_lite_tp-link-tapo-c120-v1/br-ext-chip-sigmastar/configs/ssc377_lite_tp-link-tapo-c120-v1_defconfig b/devices/ssc377_lite_tp-link-tapo-c120-v1/br-ext-chip-sigmastar/configs/ssc377_lite_tp-link-tapo-c120-v1_defconfig index 8095f80db..20257d7b4 100644 --- a/devices/ssc377_lite_tp-link-tapo-c120-v1/br-ext-chip-sigmastar/configs/ssc377_lite_tp-link-tapo-c120-v1_defconfig +++ b/devices/ssc377_lite_tp-link-tapo-c120-v1/br-ext-chip-sigmastar/configs/ssc377_lite_tp-link-tapo-c120-v1_defconfig @@ -65,7 +65,7 @@ BR2_PACKAGE_MAJESTIC=y BR2_PACKAGE_MBEDTLS_OPENIPC=y BR2_PACKAGE_OPUS_OPENIPC=y BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +BR2_PACKAGE_RTL8188FU_OPENIPC=y BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6C=y BR2_PACKAGE_VTUND_OPENIPC=y BR2_PACKAGE_YAML_CLI=y -#BR2_PACKAGE_RTL8188FU_OPENIPC=y \ No newline at end of file