diff --git a/README.md b/README.md index 235d72dd9..422e116b3 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,7 @@ Trassir TR-D4121IR1 v2 HI3516CV200 AR0237 - NOR_16M done Trassir TR-W2C1 v1 SSC325 GC2053 MT7601U_USB 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 +Tuya/Moes WCM-P52 T31L SC3338 ATBM6012B-X_USB NOR_8M in progress Umea QC012 GK7102C_A MIS2003 RDA5995_USB MOR_8M wip Uniview C1L-2WN-G SSC335DE OS02G10 RTL8188FU_USB NOR_16M done Vixand IPC-1 GK7205V200 none EC200N_USB NOR_8M frozen diff --git a/devices/t31_lite_tuya_moes_wcm-p52/br-ext-chip-ingenic/configs/t31_lite_tuya_moes_wcm-p52_defconfig b/devices/t31_lite_tuya_moes_wcm-p52/br-ext-chip-ingenic/configs/t31_lite_tuya_moes_wcm-p52_defconfig new file mode 100644 index 000000000..e9a039030 --- /dev/null +++ b/devices/t31_lite_tuya_moes_wcm-p52/br-ext-chip-ingenic/configs/t31_lite_tuya_moes_wcm-p52_defconfig @@ -0,0 +1,104 @@ +# Architecture +BR2_mipsel=y +BR2_mips_xburst=y +# BR2_MIPS_SOFT_FLOAT is not set +BR2_MIPS_FP32_MODE_32=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="mipsel-openipc-linux-musl" +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_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)/t31.generic.config" +BR2_LINUX_KERNEL_LZMA=y + +# Filesystem +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config" +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="ingenic" +BR2_OPENIPC_SOC_MODEL="t31" +BR2_OPENIPC_SOC_FAMILY="t31" +BR2_OPENIPC_SNS_MODEL="sc3338" +BR2_OPENIPC_VARIANT="lite" +BR2_OPENIPC_FLASH_SIZE="8" + +# Packages +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_WEXT=y +# CONFIG_LIB80211 is not set +# CONFIG_CFG80211_ALLOW_RECONNECT is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +# CONFIG_MAC80211_RC_PID is not set +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +# CONFIG_MAC80211_MESH is not set +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +# CONFIG_MAC80211_HWSIM is not set + +BR2_PACKAGE_ATBM_WIFI=y +BR2_PACKAGE_ATBM_WIFI_MODEL_6012B=y +BR2_PACKAGE_ATBM_WIFI_USB_PID=0x888B + +CONFIG_MFD_JZ_SADC_V13=y +CONFIG_MFD_JZ_SADC_AUX=y +CONFIG_MFD_JZ_TCU=y +# BR2_PACKAGE_ONVIF_SIMPLE_SERVER=y + +BR2_PACKAGE_BWM_NG=y +BR2_PACKAGE_DROPBEAR_OPENIPC=y +BR2_PACKAGE_GPIO_MOTORS=y +BR2_PACKAGE_INGENIC_OSDRV_T31=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=y +# 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_MOTORS=y +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +BR2_PACKAGE_QUIRC_OPENIPC=y +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y diff --git a/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/etc/rc.local b/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/etc/rc.local new file mode 100755 index 000000000..6b14b7d25 --- /dev/null +++ b/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/etc/rc.local @@ -0,0 +1,20 @@ +#!/bin/sh +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. + + +(resetd.sh >/dev/null 2>&1) & +# +(while true; do sleep 30; checker=$(pidof majestic); if [[ -z $checker ]]; then /etc/init.d/S95majestic start; fi; done) & + + +exit 0 diff --git a/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/etc/wireless/usb b/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/etc/wireless/usb new file mode 100755 index 000000000..3c968d02a --- /dev/null +++ b/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/etc/wireless/usb @@ -0,0 +1,15 @@ +#!/bin/sh + +set_gpio() { + [ "$2" -eq 1 ] && gpio set $1 || gpio clear $1 + sleep 1 +} + +# T31L MOES WCM-p52 +if [ "$1" = "atbm601x-t31-moes-wcm-p52" ]; then + #set_gpio 6 1 + modprobe atbm6012b_wifi_usb + exit 0 +fi + +exit 1 diff --git a/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/usr/sbin/resetd.sh b/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/usr/sbin/resetd.sh new file mode 100644 index 000000000..abe2b0e24 --- /dev/null +++ b/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/usr/sbin/resetd.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +if [ -e /usr/share/openipc/gpio.conf ]; then + . /usr/share/openipc/gpio.conf +fi + + +[ -z $button ] && echo "GPIO pin for resetd is not set" | logger -t resetd && exit + +# Counter for button press until reset +count=0 + +# prepare the pin +if [ ! -d /sys/class/gpio/gpio${button} ]; then + echo "${button}" > /sys/class/gpio/export + echo "in" > /sys/class/gpio/gpio${button}/direction +fi + +# continuously monitor current value of reset switch +while [ true ]; do + if [ "$(cat /sys/class/gpio/gpio${button}/value)" -eq 1 ]; then + count=0 + else + count=$((count+1)) + # 20 counts =~ 5 seconds @ 0.25 sleep intervals + if [ $count -eq 20 ]; then + #echo 'SET WIFI' | logger -t resetd + #fw_setenv wlanssid WIFI + #fw_setenv wlanpass 12345678 + for a in $(seq 10) ; do (gpio toggle ${led1} ; sleep 0.3 ; gpio toggle ${led1} ; sleep 0.3) ; done >/dev/null 2>&1 + echo 'RESETTING FIRMWARE' | logger -t resetd + firstboot + fi + fi + # This interval uses 1% CPU. Less sleep = more CPU + sleep 0.25 +done diff --git a/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/usr/share/openipc/customizer.sh b/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/usr/share/openipc/customizer.sh new file mode 100755 index 000000000..bf49acbe4 --- /dev/null +++ b/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/usr/share/openipc/customizer.sh @@ -0,0 +1,57 @@ +#!/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/t31_lite_tuya_moes_wcm-p52-nor.tgz' +# +# +# Set custom majestic settings +# +cli -s .isp.blkCnt 1 +cli -s .video0.codec h264 +cli -s .nightMode.irCutPin1 57 +cli -s .nightMode.irCutPin2 58 +cli -s .nightMode.backlightPin 6 +cli -s .nightMode.monitorDelay 5 +cli -s .osd.enabled true +cli -s .osd.template "OpenIPC | %F %T %Z" +cli -s .audio.enabled true +cli -s .audio.codec aac +cli -s .audio.srate 48000 +cli -s .audio.volume 95 +cli -s .audio.gain 25 +cli -s .audio.outputEnabled true +cli -s .audio.outputVolume 80 +cli -s .audio.speakerPin 7 +cli -s .audio.speakerPinInvert true +cli -s .onvif.enabled false +# +# +# Set wlan device and credentials if need +# +fw_setenv wlandev atbm601x-t31-moes-wcm-p52 +#fw_setenv wlanssid Router +#fw_setenv wlanpass 12345678 +# +# +# Set osmem and rmem +# +fw_setenv osmem 37M@0x0 +fw_setenv rmem 27M@0x2500000 +# +# Set motor and mmc +# +#fw_setenv gpio_mmc 61 +fw_setenv ptz true +fw_setenv gpio_motors '54 52 53 64 63 62 61 51' +# +# +#adduser viewer -s /bin/false -D -H ; echo viewer:123456 | chpasswd +# +(sleep 3 ; reboot -f) & +# + +exit 0 diff --git a/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/usr/share/openipc/gpio.conf b/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/usr/share/openipc/gpio.conf new file mode 100644 index 000000000..d4b67101c --- /dev/null +++ b/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/usr/share/openipc/gpio.conf @@ -0,0 +1,13 @@ +# alarm_in=-1 +# alarm_out=-1 +# button=62 +# ircut1=49 +# ircut2=50 +# led1=-1 +# led2=-1 +# light_ir=59 +# light_wl=60 +# light_sensor=-1 +# mmc_pwr=61 +# speaker=63 +# usb=6 diff --git a/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/usr/share/openipc/muxes.sh b/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/usr/share/openipc/muxes.sh new file mode 100755 index 000000000..5dbe5f47d --- /dev/null +++ b/devices/t31_lite_tuya_moes_wcm-p52/general/overlay/usr/share/openipc/muxes.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +### set leds to off ### +gpio clear 16 diff --git a/devices/t31_lite_tuya_moes_wcm-p52/general/scripts/excludes/t23_lite.list b/devices/t31_lite_tuya_moes_wcm-p52/general/scripts/excludes/t23_lite.list new file mode 100644 index 000000000..95850ab0d --- /dev/null +++ b/devices/t31_lite_tuya_moes_wcm-p52/general/scripts/excludes/t23_lite.list @@ -0,0 +1,32 @@ +/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/i2c/algos/i2c-algo-bit.ko +/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/i2c/busses/i2c-gpio.ko +/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/cdc_ether.ko +/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/rndis_host.ko +/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/usbnet.ko +/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/serial/option.ko +/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/serial/usb_wwan.ko +/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/serial/usbserial.ko +/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/f2fs/f2fs.ko +# +/etc/sensor/gc2053-t23.bin +/etc/sensor/gc2053.yaml +/etc/sensor/imx327-t23.bin +/etc/sensor/imx327.yaml +/etc/sensor/jxf23-t23.bin +/etc/sensor/jxf23.yaml +/etc/sensor/jxf37pa-t23.bin +/etc/sensor/jxf37pa.yaml +/etc/sensor/jxh63p-t23.bin +/etc/sensor/jxh63p.yaml +#/etc/sensor/sc1346-t23.bin +#/etc/sensor/sc1346.yaml +#/etc/sensor/sc1a4t-t23.bin +#/etc/sensor/sc1a4t.yaml +/etc/sensor/sc200ai-t23.bin +/etc/sensor/sc200ai.yaml +/etc/sensor/sc2310-t23.bin +/etc/sensor/sc2310.yaml +/etc/sensor/sc2331-t23.bin +/etc/sensor/sc2331.yaml +/etc/sensor/sc301IoT-t23.bin +/etc/sensor/sc301IoT.yaml