add tp-link tapo c310 v1 with binary sensor driver for tests

This commit is contained in:
cronyx
2024-04-02 13:16:29 +03:00
parent 00434868e9
commit e5aeeacc74
9 changed files with 286 additions and 0 deletions

View File

@@ -32,6 +32,7 @@ jobs:
- hi3518ev200_ultimate_lenovo-snowman-1080p
- ssc30kd_lite_chinatelecom-ds-ytj5301
- ssc325_lite_imilab-ec3-cmsxj25a
- ssc325_lite_tp-link-tapo-c310-v1
- ssc325de_lite_imou-c22ep-s2
- ssc333_lite_meari-speed-6s
- ssc333_lite_tp-link-tapo-c110-v2

View File

@@ -44,6 +44,7 @@ Switcam HS303 v2 HI3518EV200 OV9732 RTL8188EU_USB NOR_16M done
TP-Link Tapo C110 v1 SSC335 SC3335 ATBM6032i_USB NOR_8M done
TP-Link Tapo C110 v1 SSC337 SC3335 SSW101B_USB NOR_8M done
TP-Link Tapo C110 v2 SSC333 SC3338 SSW101B_USB NOR_8M done
TP-Link Tapo C310 v1 SSC325 SC3335 RTL8192EU_USB NOR_8M in progress
Trassir TR-D4121IR1 v2 HI3516CV200 AR0237 - NOR_16M done
Trassir TR-W2C1 v2 SSC335 GC2053 MT7601U_USB NOR_16M done
Tuya GV7630-T31-PTZ T31L SC2336 ATBM6012B_USB NOR_8M in progress

View File

@@ -0,0 +1,118 @@
# Architecture
BR2_arm=y
BR2_cortex_a7=y
BR2_ARM_EABIHF=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_ARM_INSTRUCTIONS_THUMB2=y
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="4.9.84"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
# Toolchain
BR2_PER_PACKAGE_DIRECTORIES=y
BR2_GCC_VERSION_13_X=y
# BR2_TOOLCHAIN_USES_UCLIBC is not set
# BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
# BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
BR2_TOOLCHAIN_USES_MUSL=y
BR2_TOOLCHAIN_BUILDROOT_MUSL=y
BR2_TOOLCHAIN_BUILDROOT_LIBC="musl"
BR2_TOOLCHAIN_BUILDROOT_CXX=y
# BR2_TOOLCHAIN_BUILDROOT_LOCALE is not set
BR2_TOOLCHAIN_BUILDROOT_USE_SSP=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)/kernel/infinity6-ssc009a.config"
BR2_LINUX_KERNEL_UIMAGE=y
BR2_LINUX_KERNEL_XZ=y
# OpenIPC
BR2_OPENIPC_SOC_VENDOR="sigmastar"
BR2_OPENIPC_SOC_MODEL="ssc325"
BR2_OPENIPC_SOC_FAMILY="infinity6"
BR2_OPENIPC_VARIANT="lite"
BR2_OPENIPC_FLASH_SIZE="8"
# Filesystem
# BR2_TARGET_TZ_INFO is not set
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL)/overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL)/scripts/rootfs_script.sh"
# OpenIPC configuration
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC"
BR2_TARGET_GENERIC_HOSTNAME="openipc-ssc325"
BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL)/package/all-patches"
# OpenIPC packages
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config"
BR2_PACKAGE_DROPBEAR_OPENIPC=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
# BR2_PACKAGE_FDK_AAC_OPENIPC is not set
BR2_PACKAGE_UBOOT_TOOLS=y
BR2_PACKAGE_IPCTOOL=y
BR2_PACKAGE_JSON_C=y
BR2_PACKAGE_JSONFILTER=y
BR2_PACKAGE_LIBCURL_OPENIPC=y
BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
# BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set
# 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_LIBCURL_OPENIPC_MBEDTLS=y
BR2_PACKAGE_LIBEVENT_OPENIPC=y
BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT=y
BR2_PACKAGE_LIBOGG_OPENIPC=y
BR2_PACKAGE_LIBYAML=y
BR2_PACKAGE_MAJESTIC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MBEDTLS_OPENIPC=y
# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set
# BR2_PACKAGE_MINI_SNMPD is not set
# BR2_PACKAGE_MOTORS is not set
BR2_PACKAGE_OPUS_OPENIPC=y
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6=y
BR2_PACKAGE_EXFAT_OPENIPC=y
BR2_PACKAGE_EXFATPROGS=y
# BR2_PACKAGE_SSHPASS is not set
# BR2_PACKAGE_UACME_OPENIPC is not set
BR2_PACKAGE_VTUND_OPENIPC=y
BR2_PACKAGE_YAML_CLI=y
BR2_PACKAGE_ZLIB=y
# Wireless
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
BR2_PACKAGE_RTL8192EU_OPENIPC=y
# Debug
# BR2_PACKAGE_HOST_GDB is not set
# BR2_PACKAGE_GDB is not set
# CCACHE
BR2_CCACHE=y
BR2_CCACHE_DIR="$(HOME)/.ccache"
BR2_OPTIMIZE_S=y
# External
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-musleabihf"
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz"

View File

@@ -0,0 +1,13 @@
#!/bin/sh
set_gpio() {
[ "$2" -eq 1 ] && gpio set $1 || gpio clear $1
sleep 1
}
if [ "$1" = "rtl8192eu-ssc325-tapo-c310v1" ]; then
modprobe 8192eu
exit 0
fi
exit 1

View File

@@ -0,0 +1,27 @@
#!/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/ssc325_lite_tp-link-tapo-c310-v1-nor.tgz'
#
#
# Set custom majestic settings
#
#cli -s .nightMode.enabled true
#cli -s .nightMode.irCutPin1 78
#cli -s .nightMode.irCutPin2 79
#cli -s .nightMode.backlightPin 52
#cli -s .nightMode.colorToGray true
cli -s .video0.codec h264
#
#
# Set wlan device and credentials if need
#
fw_setenv wlandev rtl8192eu-ssc325-tapo-c310v1
#fw_setenv wlanssid Router
#fw_setenv wlanpass 12345678
exit 0

View File

@@ -0,0 +1,70 @@
#!/bin/sh
#
# OpenIPC.org | 2024
#
PATH_MODULE=/lib/modules/4.9.84/sigmastar
PATH_SENSOR=${PATH_MODULE}/sensor
SENSOR=$(fw_printenv -n sensor)
detect_sensor() {
insmod ${PATH_SENSOR}/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
gc2053|imx307|sc3335)
insmod ${PATH_SENSOR}/sensor_${SENSOR}_mipi.ko chmap=1
;;
sc2239|sc2335)
[ "$(fw_printenv -n soc)" = "ssc325de" ] && IFACE=parl
insmod ${PATH_SENSOR}/sensor_${SENSOR}_${IFACE:-mipi}.ko chmap=1
;;
*)
echo -e "\n\e[1;31mUNSUPPORTED sensor - ${SENSOR}\e[0m\n" | logger -s -t OpenIPC
;;
esac
}
insert_ko() {
insmod ${PATH_MODULE}/mhal.ko
insmod ${PATH_MODULE}/mi_common.ko
insmod ${PATH_MODULE}/mi_sys.ko logBufSize=256 default_config_path=/usr/bin
insmod ${PATH_MODULE}/mi_rgn.ko
insmod ${PATH_MODULE}/mi_ai.ko
insmod ${PATH_MODULE}/mi_ao.ko
insmod ${PATH_MODULE}/mi_sensor.ko
insmod ${PATH_MODULE}/mi_shadow.ko
insmod ${PATH_MODULE}/mi_divp.ko
insmod ${PATH_MODULE}/mi_vif.ko
insmod ${PATH_MODULE}/mi_vpe.ko
insmod ${PATH_MODULE}/mi_venc.ko
}
if [ ! -e /sys/module/mhal ]; then
insert_ko
fi
if [ -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
else
echo -e "\n\e[1;32mSensor assigned - ${SENSOR}\e[0m\n" | logger -s -t OpenIPC
if [ -e /sys/module/sensor* ]; then
rmmod $(ls -d /sys/module/sensor* | cut -d/ -f4)
fi
set_sensor
fi
exit 0

View File

@@ -0,0 +1,40 @@
################################################################################
#
# sigmastar-osdrv-infinity6
#
################################################################################
SIGMASTAR_OSDRV_INFINITY6_VERSION =
SIGMASTAR_OSDRV_INFINITY6_SITE =
SIGMASTAR_OSDRV_INFINITY6_LICENSE = MIT
SIGMASTAR_OSDRV_INFINITY6_LICENSE_FILES = LICENSE
SIGMASTAR_OSDRV_INFINITY6_DEPENDENCIES = ipctool
define SIGMASTAR_OSDRV_INFINITY6_BUILD_CMDS
cp -rf $(SIGMASTAR_OSDRV_INFINITY6_PKGDIR)/files/src $(@D)
$(TARGET_CC) $(@D)/src/config_tool.c -o $(@D)/config_tool -lipchw -s
endef
define SIGMASTAR_OSDRV_INFINITY6_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/lib/modules/4.9.84/sigmastar
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.84/sigmastar $(SIGMASTAR_OSDRV_INFINITY6_PKGDIR)/files/kmod/*
$(INSTALL) -m 755 -d $(TARGET_DIR)/lib/modules/4.9.84/sigmastar/sensor
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.84/sigmastar/sensor $(SIGMASTAR_OSDRV_INFINITY6B0_PKGDIR)/files/sensor/kmod/*
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/firmware
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc/firmware $(SIGMASTAR_OSDRV_INFINITY6_PKGDIR)/files/sensor/firmware/*
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/sensors
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc/sensors $(SIGMASTAR_OSDRV_INFINITY6_PKGDIR)/files/sensor/configs/*
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib $(SIGMASTAR_OSDRV_INFINITY6_PKGDIR)/files/lib/*
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/config_tool
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(SIGMASTAR_OSDRV_INFINITY6_PKGDIR)/files/script/*
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,16 @@
/etc/sensors/gc2053.bin
/etc/sensors/imx307.bin
/etc/sensors/sc2239.bin
/etc/sensors/sc2335.bin
#
/lib/modules/4.9.84/sigmastar/sensor/sensor_gc2053_mipi.ko
/lib/modules/4.9.84/sigmastar/sensor/sensor_imx307_mipi.ko
/lib/modules/4.9.84/sigmastar/sensor/sensor_sc2239_mipi.ko
/lib/modules/4.9.84/sigmastar/sensor/sensor_sc2239_parl.ko
/lib/modules/4.9.84/sigmastar/sensor/sensor_sc2335_mipi.ko
/lib/modules/4.9.84/sigmastar/sensor/sensor_sc2335_parl.ko
#
/lib/modules/4.9.84/kernel/fs/lockd/*.ko
/lib/modules/4.9.84/kernel/fs/nfs/*.ko
/lib/modules/4.9.84/kernel/fs/nfs_common/*.ko
/lib/modules/4.9.84/kernel/net/sunrpc/*.ko