From aff685c7059e662bbd877f894158d23b7b127db9 Mon Sep 17 00:00:00 2001 From: sickgreg Date: Wed, 4 Mar 2026 00:12:27 +1100 Subject: [PATCH 1/4] Add APFPV Greg10 targets --- .../configs/ssc30kq_apfpv-greg10_defconfig | 76 +++++++++++ .../general/overlay/etc/init.d/S40network | 22 +++ .../general/overlay/etc/init.d/S95majestic | 62 +++++++++ .../general/overlay/etc/init.d/S99rc.local | 41 ++++++ .../overlay/etc/network/interfaces.d/wlan0 | 6 + .../4.9.84/sigmastar/sensor_imx415_mipi.ko | Bin 0 -> 28048 bytes .../overlay/usr/share/udhcpc/default.script | 127 ++++++++++++++++++ .../overlay/var/www/cgi-bin/p/header.cgi | 117 ++++++++++++++++ .../excludes/ssc30kq_apfpv-greg10.list | 16 +++ .../configs/ssc30kq_apfpv-greg10_bu_defconfig | 76 +++++++++++ .../general/overlay/etc/init.d/S40network | 22 +++ .../general/overlay/etc/init.d/S95majestic | 62 +++++++++ .../general/overlay/etc/init.d/S99rc.local | 41 ++++++ .../overlay/etc/network/interfaces.d/wlan0 | 6 + .../4.9.84/sigmastar/sensor_imx415_mipi.ko | Bin 0 -> 28048 bytes .../overlay/usr/share/udhcpc/default.script | 127 ++++++++++++++++++ .../overlay/var/www/cgi-bin/p/header.cgi | 117 ++++++++++++++++ .../excludes/ssc30kq_apfpv-greg10.list | 16 +++ .../configs/ssc338q_apfpv-greg10_defconfig | 75 +++++++++++ .../general/overlay/etc/init.d/S40network | 22 +++ .../general/overlay/etc/init.d/S95majestic | 62 +++++++++ .../general/overlay/etc/init.d/S99rc.local | 41 ++++++ .../overlay/etc/network/interfaces.d/wlan0 | 6 + .../4.9.84/sigmastar/sensor_imx415_mipi.ko | Bin 0 -> 28048 bytes .../overlay/usr/share/udhcpc/default.script | 127 ++++++++++++++++++ .../overlay/var/www/cgi-bin/p/header.cgi | 117 ++++++++++++++++ .../excludes/ssc338q_apfpv-greg10.list | 15 +++ .../configs/ssc338q_apfpv-greg10_bu_defconfig | 75 +++++++++++ .../general/overlay/etc/init.d/S40network | 22 +++ .../general/overlay/etc/init.d/S95majestic | 62 +++++++++ .../general/overlay/etc/init.d/S99rc.local | 41 ++++++ .../overlay/etc/network/interfaces.d/wlan0 | 6 + .../4.9.84/sigmastar/sensor_imx415_mipi.ko | Bin 0 -> 28048 bytes .../overlay/usr/share/udhcpc/default.script | 127 ++++++++++++++++++ .../overlay/var/www/cgi-bin/p/header.cgi | 117 ++++++++++++++++ .../excludes/ssc338q_apfpv-greg10.list | 15 +++ .../configs/ssc378qe_apfpv-greg10_defconfig | 73 ++++++++++ .../general/overlay/etc/init.d/S40network | 22 +++ .../general/overlay/etc/init.d/S95majestic | 62 +++++++++ .../general/overlay/etc/init.d/S99rc.local | 41 ++++++ .../overlay/etc/network/interfaces.d/wlan0 | 6 + .../4.9.84/sigmastar/sensor_imx415_mipi.ko | Bin 0 -> 28048 bytes .../overlay/usr/share/udhcpc/default.script | 127 ++++++++++++++++++ .../overlay/var/www/cgi-bin/p/header.cgi | 117 ++++++++++++++++ .../excludes/ssc378qe_apfpv-greg10.list | 4 + 45 files changed, 2316 insertions(+) create mode 100644 devices/ssc30kq_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_defconfig create mode 100755 devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S40network create mode 100755 devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S95majestic create mode 100755 devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S99rc.local create mode 100755 devices/ssc30kq_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 create mode 100644 devices/ssc30kq_apfpv-greg10/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko create mode 100755 devices/ssc30kq_apfpv-greg10/general/overlay/usr/share/udhcpc/default.script create mode 100755 devices/ssc30kq_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi create mode 100644 devices/ssc30kq_apfpv-greg10/general/scripts/excludes/ssc30kq_apfpv-greg10.list create mode 100644 devices/ssc30kq_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_bu_defconfig create mode 100755 devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S40network create mode 100755 devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S95majestic create mode 100755 devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S99rc.local create mode 100755 devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/network/interfaces.d/wlan0 create mode 100644 devices/ssc30kq_apfpv-greg10_bu/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko create mode 100755 devices/ssc30kq_apfpv-greg10_bu/general/overlay/usr/share/udhcpc/default.script create mode 100755 devices/ssc30kq_apfpv-greg10_bu/general/overlay/var/www/cgi-bin/p/header.cgi create mode 100644 devices/ssc30kq_apfpv-greg10_bu/general/scripts/excludes/ssc30kq_apfpv-greg10.list create mode 100644 devices/ssc338q_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_defconfig create mode 100755 devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S40network create mode 100755 devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S95majestic create mode 100755 devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S99rc.local create mode 100755 devices/ssc338q_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 create mode 100644 devices/ssc338q_apfpv-greg10/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko create mode 100755 devices/ssc338q_apfpv-greg10/general/overlay/usr/share/udhcpc/default.script create mode 100755 devices/ssc338q_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi create mode 100644 devices/ssc338q_apfpv-greg10/general/scripts/excludes/ssc338q_apfpv-greg10.list create mode 100644 devices/ssc338q_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_bu_defconfig create mode 100755 devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S40network create mode 100755 devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S95majestic create mode 100755 devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S99rc.local create mode 100755 devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/network/interfaces.d/wlan0 create mode 100644 devices/ssc338q_apfpv-greg10_bu/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko create mode 100755 devices/ssc338q_apfpv-greg10_bu/general/overlay/usr/share/udhcpc/default.script create mode 100755 devices/ssc338q_apfpv-greg10_bu/general/overlay/var/www/cgi-bin/p/header.cgi create mode 100644 devices/ssc338q_apfpv-greg10_bu/general/scripts/excludes/ssc338q_apfpv-greg10.list create mode 100644 devices/ssc378qe_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg10_defconfig create mode 100755 devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S40network create mode 100755 devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S95majestic create mode 100755 devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S99rc.local create mode 100755 devices/ssc378qe_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 create mode 100644 devices/ssc378qe_apfpv-greg10/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko create mode 100755 devices/ssc378qe_apfpv-greg10/general/overlay/usr/share/udhcpc/default.script create mode 100755 devices/ssc378qe_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi create mode 100644 devices/ssc378qe_apfpv-greg10/general/scripts/excludes/ssc378qe_apfpv-greg10.list diff --git a/devices/ssc30kq_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_defconfig b/devices/ssc30kq_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_defconfig new file mode 100644 index 000000000..c74dfa82d --- /dev/null +++ b/devices/ssc30kq_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_defconfig @@ -0,0 +1,76 @@ +# 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-gnueabihf" +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +# BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set +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)/infinity6e-ssc012b.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_IW=y +BR2_PACKAGE_WPA_SUPPLICANT=n +BR2_PACKAGE_HOSTAPD=y +BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=n +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="ssc30kq" +BR2_OPENIPC_SOC_FAMILY="infinity6e" +BR2_OPENIPC_VARIANT="apfpv-greg10" +BR2_OPENIPC_FLASH_SIZE="16" + +# 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_DIVINUS=n +BR2_PACKAGE_MAJESTIC_FONTS=y +BR2_PACKAGE_MAJESTIC_WEBUI=y +BR2_PACKAGE_MAJESTIC=y +BR2_PACKAGE_MBEDTLS_OPENIPC=y +BR2_PACKAGE_MAVFWD=n +BR2_PACKAGE_APFPV_GREG10=y +# BR2_PACKAGE_MSPOSD is not set +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +BR2_PACKAGE_RTL8812AU=n +BR2_PACKAGE_RTL88X2EU_OPENIPC=y +BR2_PACKAGE_RTL8733BU_OPENIPC=n +BR2_PACKAGE_RTL8811CU_OPENIPC=y +BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6E=y +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y diff --git a/devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S40network b/devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S40network new file mode 100755 index 000000000..19f7be166 --- /dev/null +++ b/devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S40network @@ -0,0 +1,22 @@ +#!/bin/sh + +case "$1" in + start) + echo "Starting network..." + ifup lo + ifup eth0 + ifup wlan0 + ;; + + stop) + echo "Stopping network..." + ifdown lo + ifdown -f eth0 + ifdown -f wlan0 + ;; + + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; +esac diff --git a/devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S95majestic b/devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S95majestic new file mode 100755 index 000000000..45d908d2f --- /dev/null +++ b/devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S95majestic @@ -0,0 +1,62 @@ +#!/bin/sh + +. /etc/init.d/libmedia.sh + +DAEMON="/usr/bin/majestic" +NAME="majestic" +PIDFILE="/var/run/majestic.pid" + +start() { + echo "Starting $NAME..." + if ensure_pidfile "$NAME" "$PIDFILE"; then + echo "$NAME is already running" + return 0 + fi + + rm -f "$PIDFILE" + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "$DAEMON" -- -s + if [ $? -ne 0 ]; then + echo "Failed to launch $NAME" + return 1 + fi + echo "$NAME launch requested" +} + +stop() { + echo "Stopping $NAME..." + stop_service "$NAME" "$PIDFILE" 15 || return 1 + # Majestic keeps internal single-instance state briefly after exit. + sleep 2 +} + +status() { + if ensure_pidfile "$NAME" "$PIDFILE"; then + echo "$NAME running pid=$(cat "$PIDFILE")" + return 0 + fi + echo "$NAME stopped" + return 1 +} + +reload() { + ensure_pidfile "$NAME" "$PIDFILE" || { + echo "$NAME not running" + return 1 + } + kill -HUP "$(cat "$PIDFILE")" +} + +restart() { + stop + start +} + +case "$1" in + start|stop|restart|reload|status) + "$1" + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|status}" + exit 1 + ;; +esac diff --git a/devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S99rc.local b/devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S99rc.local new file mode 100755 index 000000000..0e20120de --- /dev/null +++ b/devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S99rc.local @@ -0,0 +1,41 @@ +#!/bin/sh + +MAJESTIC_API="http://localhost/api/v1/config.json" + +wait_for_majestic_ready() { + timeout="${1:-30}" + i=0 + while [ "$i" -lt "$timeout" ]; do + curl -sf --connect-timeout 1 --max-time 2 "$MAJESTIC_API" >/dev/null 2>&1 && return 0 + sleep 1 + i=$((i + 1)) + done + return 1 +} + +start() { + echo "S99rc.local: waiting for majestic API..." + if ! wait_for_majestic_ready 10; then + echo "S99rc.local: majestic API not ready after 10s; continuing with /etc/rc.local anyway" + else + echo "S99rc.local: majestic API ready" + fi + echo "S99rc.local: running /etc/rc.local" + /etc/rc.local +} + +stop() { + [ -x /etc/rc.local.stop ] && /etc/rc.local.stop +} + +case "$1" in + start|stop) + "$1" + ;; + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; +esac + +exit $? diff --git a/devices/ssc30kq_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 b/devices/ssc30kq_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 new file mode 100755 index 000000000..d73c769f0 --- /dev/null +++ b/devices/ssc30kq_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 @@ -0,0 +1,6 @@ +iface wlan0 inet static + address 192.168.0.1 + netmask 255.255.255.0 + pre-up adapter setup + post-up adapter start + post-down adapter stop diff --git a/devices/ssc30kq_apfpv-greg10/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko b/devices/ssc30kq_apfpv-greg10/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko new file mode 100644 index 0000000000000000000000000000000000000000..c90d54c885b0b744903e223eb6de5201b661def1 GIT binary patch literal 28048 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

UzK`G6&4bq*GM_^zD9%|_gAU6U*SO_ z^wO}YBg;pegmxrCpZl$pcM=ir0Ts@DR)+6Z;onu^11kK43WuqP_++l;17kFy6aRvJ zC*lN6u7$@ZXkrcdJNVX+n4}2~x%jb~+^?kGUF6W)O1uhx@rpQ66T6h&vnu>06@FBO zp8(4H1kt96(?rx`h=}r^C)zdR3lM~0^eFTx>{QsLaI3=Y3U?^nsc^T# z9)$-L9#MEyVV}a|3I`OPR5+wCppfk)+ktH{8TWbeD71$PN7qS?snBQ_g}TB_g${-J z3JVpMDXdhuUSW+wk3yfqPK8|xw<_GOaEHR33U@2)QFu@x_f}btBZ~JbepK;3g~t^R zC_JffNFiE9%)v90bg&b;Ie12r4tx(hw8vu#r5%E2AU?xcP9pOqGF@T{pT~fO3Ox$9 zD`fh#cT_>x&{=WBahlxE;{48WNqLHrPgn8`VjTa^F@}7ek~@e~G?7mfnsGJ<@e7rF znUb$0rf71%km;{g^7TqyL&Sl|dLrZ=BFe|1$MpTgF{+%XpDZVk_GiP<@K;&?OCZ_p zcQj)O3FvP#&|~^qTK(?qjV&G78+ej;J`UDrW6vhr@9y*)KE8!mDA(l_#hLYNs4-ne zF{rn`6SS3o6pOj#WakJafns(b)9?UB&gGhmqoyf+!68^ANt1OOs5jBd& z(ilG06mLhHT3hPe+1B^D><#VhA{z?_&2BvOXUk^6|Kn$VyT7(>lTiiyt*AEdh7Lde zG}P!F9+w162zFpNCxCWix+vwz1){qIx>-8fKw^p_08=j;emnw6TcUL7t$6N0B<`Ox z59-l={|_!}dLE?3`Nni+die;jrnhYa#xcT}9(Bz0o`>I>UK5_P%MfNdGd(;Og{8L= z&!alRm>%n9rgszkOwVkW{Ya1F#&l+SZUjKjcaIXBfL;IrW;|1`7IJGnnvicMl$bBW z&3t|EGhenh-LKF=SDA@{Q^xCVg{J6_*C4>+s6)2{7yQBUorWIU-z=Aj4revfxlAP>#PZ5jdZy@p=vf{0=!)S%o<4&K zLA{Te1Ze6JP1~dRAoO + +# Changes by OpenIPC 2021 +# +# - move resolv.conf path to /tmp +# - remove interface notes from resolv.conf + + +[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 + +RESOLV_CONF="/tmp/resolv.conf" +[ -e $RESOLV_CONF ] || touch $RESOLV_CONF +[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" +[ -n "$subnet" ] && NETMASK="netmask $subnet" +# Handle stateful DHCPv6 like DHCPv4 +[ -n "$ipv6" ] && ip="$ipv6/128" + +[ -z "${IF_WAIT_DELAY}" ] && IF_WAIT_DELAY=10 + +wait_for_ipv6_default_route() { + printf "Waiting for IPv6 default route to appear" + while [ $IF_WAIT_DELAY -gt 0 ]; do + if ip -6 route list | grep -q default; then + printf "\n" + return + fi + sleep 1 + printf "." + : $((IF_WAIT_DELAY -= 1)) + done + printf " timeout!\n" +} + +case "$1" in + deconfig) + /sbin/ifconfig $interface up + /sbin/ifconfig $interface 0.0.0.0 + + # drop info from this interface + # resolv.conf may be a symlink to /tmp/, so take care + TMPFILE=$(mktemp) + grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE + cat $TMPFILE > $RESOLV_CONF + rm -f $TMPFILE + + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface + fi + + if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then + /usr/bin/adapter route + fi + ;; + + leasefail|nak) + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface || /usr/sbin/avahi-autoipd -wD $interface --no-chroot + fi + /sbin/ifconfig $interface $(fw_printenv -n ipaddr || echo -n 192.168.1.10) netmask $(fw_printenv -n netmask || echo -n 255.255.255.0) up + + if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then + /usr/bin/adapter route + fi + ;; + + renew|bound) + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface + fi + /sbin/ifconfig $interface $ip $BROADCAST $NETMASK + if [ -n "$ipv6" ] ; then + wait_for_ipv6_default_route + fi + + if [ -n "$router" ] ; then + echo "deleting routers" + while route del default gw 0.0.0.0 dev $interface 2> /dev/null; do + : + done + + for i in $router ; do + route add default gw $i dev $interface + done + fi + + # drop info from this interface + # resolv.conf may be a symlink to /tmp/, so take care + #TMPFILE=$(mktemp) + #grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE + #cat $TMPFILE > $RESOLV_CONF + #rm -f $TMPFILE + + # Clearing the file because it is in RAM + > $RESOLV_CONF + + # prefer rfc3397 domain search list (option 119) if available + if [ -n "$search" ]; then + search_list=$search + elif [ -n "$domain" ]; then + search_list=$domain + fi + + [ -n "$search_list" ] && + echo "search $search_list" >> $RESOLV_CONF + + for i in $dns ; do + echo adding dns $i + echo "nameserver $i" >> $RESOLV_CONF + done + + ntpd -q -N -n + + if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then + /usr/bin/adapter route + fi + ;; +esac + +HOOK_DIR="$0.d" +for hook in "${HOOK_DIR}/"*; do + [ -f "${hook}" -a -x "${hook}" ] || continue + "${hook}" "${@}" +done + +exit 0 diff --git a/devices/ssc30kq_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi b/devices/ssc30kq_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi new file mode 100755 index 000000000..b3015341b --- /dev/null +++ b/devices/ssc30kq_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi @@ -0,0 +1,117 @@ +#!/usr/bin/haserl +Content-type: text/html; charset=UTF-8 +Cache-Control: no-store +Pragma: no-cache + + + + + + + <% html_title %> + + + + + + + +

+ +
+
+
+
+
+
+
+ +
+ <%= $(signature) %> +
+ +
+
+
+
+
+
+ +<% if [ -z "$network_gateway" ]; then %> +
+

Internet connection not available, please check your network settings.

+
+<% fi %> + +<% if [ ! -e $(get_config) ]; then %> +
+

Majestic configuration not found, please check your Majestic settings.

+
+<% fi %> + +<% if [ "$(cat /etc/TZ)" != "$TZ" ] || [ -e /tmp/system-reboot ]; then %> +
+

Warning.

+

System settings have been updated, restart to apply pending changes.

+ + Restart camera + +
+<% fi %> + +

<%= $page_title %>

+<% log_read %> diff --git a/devices/ssc30kq_apfpv-greg10/general/scripts/excludes/ssc30kq_apfpv-greg10.list b/devices/ssc30kq_apfpv-greg10/general/scripts/excludes/ssc30kq_apfpv-greg10.list new file mode 100644 index 000000000..081e93665 --- /dev/null +++ b/devices/ssc30kq_apfpv-greg10/general/scripts/excludes/ssc30kq_apfpv-greg10.list @@ -0,0 +1,16 @@ +/etc/sensors/imx307.bin +/etc/sensors/gc2053.bin +/etc/sensors/gc4653.bin +/etc/sensors/sc501ai.bin +/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/net/sunrpc/sunrpc.ko +/lib/modules/4.9.84/sigmastar/sensor_gc2053_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_imx347_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_os04c10_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc501ai_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc8235_mipi.ko + diff --git a/devices/ssc30kq_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_bu_defconfig b/devices/ssc30kq_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_bu_defconfig new file mode 100644 index 000000000..c52c109d8 --- /dev/null +++ b/devices/ssc30kq_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_bu_defconfig @@ -0,0 +1,76 @@ +# 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-gnueabihf" +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +# BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set +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)/infinity6e-ssc012b.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_IW=y +BR2_PACKAGE_WPA_SUPPLICANT=n +BR2_PACKAGE_HOSTAPD=y +BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=n +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="ssc30kq" +BR2_OPENIPC_SOC_FAMILY="infinity6e" +BR2_OPENIPC_VARIANT="apfpv-greg10" +BR2_OPENIPC_FLASH_SIZE="16" + +# 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_DIVINUS=n +BR2_PACKAGE_MAJESTIC_FONTS=y +BR2_PACKAGE_MAJESTIC_WEBUI=y +BR2_PACKAGE_MAJESTIC=y +BR2_PACKAGE_MBEDTLS_OPENIPC=y +BR2_PACKAGE_MAVFWD=n +BR2_PACKAGE_APFPV_GREG10=y +# BR2_PACKAGE_MSPOSD is not set +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +BR2_PACKAGE_RTL8812AU=n +BR2_PACKAGE_RTL88X2EU_OPENIPC=y +BR2_PACKAGE_RTL8733BU_OPENIPC=y +BR2_PACKAGE_RTL8811CU_OPENIPC=n +BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6E=y +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y diff --git a/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S40network b/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S40network new file mode 100755 index 000000000..19f7be166 --- /dev/null +++ b/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S40network @@ -0,0 +1,22 @@ +#!/bin/sh + +case "$1" in + start) + echo "Starting network..." + ifup lo + ifup eth0 + ifup wlan0 + ;; + + stop) + echo "Stopping network..." + ifdown lo + ifdown -f eth0 + ifdown -f wlan0 + ;; + + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; +esac diff --git a/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S95majestic b/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S95majestic new file mode 100755 index 000000000..45d908d2f --- /dev/null +++ b/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S95majestic @@ -0,0 +1,62 @@ +#!/bin/sh + +. /etc/init.d/libmedia.sh + +DAEMON="/usr/bin/majestic" +NAME="majestic" +PIDFILE="/var/run/majestic.pid" + +start() { + echo "Starting $NAME..." + if ensure_pidfile "$NAME" "$PIDFILE"; then + echo "$NAME is already running" + return 0 + fi + + rm -f "$PIDFILE" + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "$DAEMON" -- -s + if [ $? -ne 0 ]; then + echo "Failed to launch $NAME" + return 1 + fi + echo "$NAME launch requested" +} + +stop() { + echo "Stopping $NAME..." + stop_service "$NAME" "$PIDFILE" 15 || return 1 + # Majestic keeps internal single-instance state briefly after exit. + sleep 2 +} + +status() { + if ensure_pidfile "$NAME" "$PIDFILE"; then + echo "$NAME running pid=$(cat "$PIDFILE")" + return 0 + fi + echo "$NAME stopped" + return 1 +} + +reload() { + ensure_pidfile "$NAME" "$PIDFILE" || { + echo "$NAME not running" + return 1 + } + kill -HUP "$(cat "$PIDFILE")" +} + +restart() { + stop + start +} + +case "$1" in + start|stop|restart|reload|status) + "$1" + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|status}" + exit 1 + ;; +esac diff --git a/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S99rc.local b/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S99rc.local new file mode 100755 index 000000000..0e20120de --- /dev/null +++ b/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S99rc.local @@ -0,0 +1,41 @@ +#!/bin/sh + +MAJESTIC_API="http://localhost/api/v1/config.json" + +wait_for_majestic_ready() { + timeout="${1:-30}" + i=0 + while [ "$i" -lt "$timeout" ]; do + curl -sf --connect-timeout 1 --max-time 2 "$MAJESTIC_API" >/dev/null 2>&1 && return 0 + sleep 1 + i=$((i + 1)) + done + return 1 +} + +start() { + echo "S99rc.local: waiting for majestic API..." + if ! wait_for_majestic_ready 10; then + echo "S99rc.local: majestic API not ready after 10s; continuing with /etc/rc.local anyway" + else + echo "S99rc.local: majestic API ready" + fi + echo "S99rc.local: running /etc/rc.local" + /etc/rc.local +} + +stop() { + [ -x /etc/rc.local.stop ] && /etc/rc.local.stop +} + +case "$1" in + start|stop) + "$1" + ;; + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; +esac + +exit $? diff --git a/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/network/interfaces.d/wlan0 b/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/network/interfaces.d/wlan0 new file mode 100755 index 000000000..d73c769f0 --- /dev/null +++ b/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/network/interfaces.d/wlan0 @@ -0,0 +1,6 @@ +iface wlan0 inet static + address 192.168.0.1 + netmask 255.255.255.0 + pre-up adapter setup + post-up adapter start + post-down adapter stop diff --git a/devices/ssc30kq_apfpv-greg10_bu/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko b/devices/ssc30kq_apfpv-greg10_bu/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko new file mode 100644 index 0000000000000000000000000000000000000000..c90d54c885b0b744903e223eb6de5201b661def1 GIT binary patch literal 28048 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

UzK`G6&4bq*GM_^zD9%|_gAU6U*SO_ z^wO}YBg;pegmxrCpZl$pcM=ir0Ts@DR)+6Z;onu^11kK43WuqP_++l;17kFy6aRvJ zC*lN6u7$@ZXkrcdJNVX+n4}2~x%jb~+^?kGUF6W)O1uhx@rpQ66T6h&vnu>06@FBO zp8(4H1kt96(?rx`h=}r^C)zdR3lM~0^eFTx>{QsLaI3=Y3U?^nsc^T# z9)$-L9#MEyVV}a|3I`OPR5+wCppfk)+ktH{8TWbeD71$PN7qS?snBQ_g}TB_g${-J z3JVpMDXdhuUSW+wk3yfqPK8|xw<_GOaEHR33U@2)QFu@x_f}btBZ~JbepK;3g~t^R zC_JffNFiE9%)v90bg&b;Ie12r4tx(hw8vu#r5%E2AU?xcP9pOqGF@T{pT~fO3Ox$9 zD`fh#cT_>x&{=WBahlxE;{48WNqLHrPgn8`VjTa^F@}7ek~@e~G?7mfnsGJ<@e7rF znUb$0rf71%km;{g^7TqyL&Sl|dLrZ=BFe|1$MpTgF{+%XpDZVk_GiP<@K;&?OCZ_p zcQj)O3FvP#&|~^qTK(?qjV&G78+ej;J`UDrW6vhr@9y*)KE8!mDA(l_#hLYNs4-ne zF{rn`6SS3o6pOj#WakJafns(b)9?UB&gGhmqoyf+!68^ANt1OOs5jBd& z(ilG06mLhHT3hPe+1B^D><#VhA{z?_&2BvOXUk^6|Kn$VyT7(>lTiiyt*AEdh7Lde zG}P!F9+w162zFpNCxCWix+vwz1){qIx>-8fKw^p_08=j;emnw6TcUL7t$6N0B<`Ox z59-l={|_!}dLE?3`Nni+die;jrnhYa#xcT}9(Bz0o`>I>UK5_P%MfNdGd(;Og{8L= z&!alRm>%n9rgszkOwVkW{Ya1F#&l+SZUjKjcaIXBfL;IrW;|1`7IJGnnvicMl$bBW z&3t|EGhenh-LKF=SDA@{Q^xCVg{J6_*C4>+s6)2{7yQBUorWIU-z=Aj4revfxlAP>#PZ5jdZy@p=vf{0=!)S%o<4&K zLA{Te1Ze6JP1~dRAoO + +# Changes by OpenIPC 2021 +# +# - move resolv.conf path to /tmp +# - remove interface notes from resolv.conf + + +[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 + +RESOLV_CONF="/tmp/resolv.conf" +[ -e $RESOLV_CONF ] || touch $RESOLV_CONF +[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" +[ -n "$subnet" ] && NETMASK="netmask $subnet" +# Handle stateful DHCPv6 like DHCPv4 +[ -n "$ipv6" ] && ip="$ipv6/128" + +[ -z "${IF_WAIT_DELAY}" ] && IF_WAIT_DELAY=10 + +wait_for_ipv6_default_route() { + printf "Waiting for IPv6 default route to appear" + while [ $IF_WAIT_DELAY -gt 0 ]; do + if ip -6 route list | grep -q default; then + printf "\n" + return + fi + sleep 1 + printf "." + : $((IF_WAIT_DELAY -= 1)) + done + printf " timeout!\n" +} + +case "$1" in + deconfig) + /sbin/ifconfig $interface up + /sbin/ifconfig $interface 0.0.0.0 + + # drop info from this interface + # resolv.conf may be a symlink to /tmp/, so take care + TMPFILE=$(mktemp) + grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE + cat $TMPFILE > $RESOLV_CONF + rm -f $TMPFILE + + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface + fi + + if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then + /usr/bin/adapter route + fi + ;; + + leasefail|nak) + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface || /usr/sbin/avahi-autoipd -wD $interface --no-chroot + fi + /sbin/ifconfig $interface $(fw_printenv -n ipaddr || echo -n 192.168.1.10) netmask $(fw_printenv -n netmask || echo -n 255.255.255.0) up + + if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then + /usr/bin/adapter route + fi + ;; + + renew|bound) + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface + fi + /sbin/ifconfig $interface $ip $BROADCAST $NETMASK + if [ -n "$ipv6" ] ; then + wait_for_ipv6_default_route + fi + + if [ -n "$router" ] ; then + echo "deleting routers" + while route del default gw 0.0.0.0 dev $interface 2> /dev/null; do + : + done + + for i in $router ; do + route add default gw $i dev $interface + done + fi + + # drop info from this interface + # resolv.conf may be a symlink to /tmp/, so take care + #TMPFILE=$(mktemp) + #grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE + #cat $TMPFILE > $RESOLV_CONF + #rm -f $TMPFILE + + # Clearing the file because it is in RAM + > $RESOLV_CONF + + # prefer rfc3397 domain search list (option 119) if available + if [ -n "$search" ]; then + search_list=$search + elif [ -n "$domain" ]; then + search_list=$domain + fi + + [ -n "$search_list" ] && + echo "search $search_list" >> $RESOLV_CONF + + for i in $dns ; do + echo adding dns $i + echo "nameserver $i" >> $RESOLV_CONF + done + + ntpd -q -N -n + + if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then + /usr/bin/adapter route + fi + ;; +esac + +HOOK_DIR="$0.d" +for hook in "${HOOK_DIR}/"*; do + [ -f "${hook}" -a -x "${hook}" ] || continue + "${hook}" "${@}" +done + +exit 0 diff --git a/devices/ssc30kq_apfpv-greg10_bu/general/overlay/var/www/cgi-bin/p/header.cgi b/devices/ssc30kq_apfpv-greg10_bu/general/overlay/var/www/cgi-bin/p/header.cgi new file mode 100755 index 000000000..b3015341b --- /dev/null +++ b/devices/ssc30kq_apfpv-greg10_bu/general/overlay/var/www/cgi-bin/p/header.cgi @@ -0,0 +1,117 @@ +#!/usr/bin/haserl +Content-type: text/html; charset=UTF-8 +Cache-Control: no-store +Pragma: no-cache + + + + + + + <% html_title %> + + + + + + + +

+ +
+
+
+
+
+
+
+ +
+ <%= $(signature) %> +
+ +
+
+
+
+
+
+ +<% if [ -z "$network_gateway" ]; then %> +
+

Internet connection not available, please check your network settings.

+
+<% fi %> + +<% if [ ! -e $(get_config) ]; then %> +
+

Majestic configuration not found, please check your Majestic settings.

+
+<% fi %> + +<% if [ "$(cat /etc/TZ)" != "$TZ" ] || [ -e /tmp/system-reboot ]; then %> +
+

Warning.

+

System settings have been updated, restart to apply pending changes.

+ + Restart camera + +
+<% fi %> + +

<%= $page_title %>

+<% log_read %> diff --git a/devices/ssc30kq_apfpv-greg10_bu/general/scripts/excludes/ssc30kq_apfpv-greg10.list b/devices/ssc30kq_apfpv-greg10_bu/general/scripts/excludes/ssc30kq_apfpv-greg10.list new file mode 100644 index 000000000..081e93665 --- /dev/null +++ b/devices/ssc30kq_apfpv-greg10_bu/general/scripts/excludes/ssc30kq_apfpv-greg10.list @@ -0,0 +1,16 @@ +/etc/sensors/imx307.bin +/etc/sensors/gc2053.bin +/etc/sensors/gc4653.bin +/etc/sensors/sc501ai.bin +/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/net/sunrpc/sunrpc.ko +/lib/modules/4.9.84/sigmastar/sensor_gc2053_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_imx347_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_os04c10_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc501ai_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc8235_mipi.ko + diff --git a/devices/ssc338q_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_defconfig b/devices/ssc338q_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_defconfig new file mode 100644 index 000000000..d813fcfd9 --- /dev/null +++ b/devices/ssc338q_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_defconfig @@ -0,0 +1,75 @@ +# 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-gnueabihf" +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +# BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set +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)/infinity6e-ssc012b.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_IW=y +BR2_PACKAGE_WPA_SUPPLICANT=n +BR2_PACKAGE_HOSTAPD=y +BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=n +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="ssc338q" +BR2_OPENIPC_SOC_FAMILY="infinity6e" +BR2_OPENIPC_VARIANT="apfpv-greg10" +BR2_OPENIPC_FLASH_SIZE="16" + +# 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_MAVFWD=y +BR2_PACKAGE_APFPV_GREG10=y +# BR2_PACKAGE_MSPOSD is not set +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +BR2_PACKAGE_RTL8812AU=n +BR2_PACKAGE_RTL88X2EU_OPENIPC=y +BR2_PACKAGE_RTL8733BU_OPENIPC=n +BR2_PACKAGE_RTL8811CU_OPENIPC=y +BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6E=y +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y diff --git a/devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S40network b/devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S40network new file mode 100755 index 000000000..19f7be166 --- /dev/null +++ b/devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S40network @@ -0,0 +1,22 @@ +#!/bin/sh + +case "$1" in + start) + echo "Starting network..." + ifup lo + ifup eth0 + ifup wlan0 + ;; + + stop) + echo "Stopping network..." + ifdown lo + ifdown -f eth0 + ifdown -f wlan0 + ;; + + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; +esac diff --git a/devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S95majestic b/devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S95majestic new file mode 100755 index 000000000..45d908d2f --- /dev/null +++ b/devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S95majestic @@ -0,0 +1,62 @@ +#!/bin/sh + +. /etc/init.d/libmedia.sh + +DAEMON="/usr/bin/majestic" +NAME="majestic" +PIDFILE="/var/run/majestic.pid" + +start() { + echo "Starting $NAME..." + if ensure_pidfile "$NAME" "$PIDFILE"; then + echo "$NAME is already running" + return 0 + fi + + rm -f "$PIDFILE" + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "$DAEMON" -- -s + if [ $? -ne 0 ]; then + echo "Failed to launch $NAME" + return 1 + fi + echo "$NAME launch requested" +} + +stop() { + echo "Stopping $NAME..." + stop_service "$NAME" "$PIDFILE" 15 || return 1 + # Majestic keeps internal single-instance state briefly after exit. + sleep 2 +} + +status() { + if ensure_pidfile "$NAME" "$PIDFILE"; then + echo "$NAME running pid=$(cat "$PIDFILE")" + return 0 + fi + echo "$NAME stopped" + return 1 +} + +reload() { + ensure_pidfile "$NAME" "$PIDFILE" || { + echo "$NAME not running" + return 1 + } + kill -HUP "$(cat "$PIDFILE")" +} + +restart() { + stop + start +} + +case "$1" in + start|stop|restart|reload|status) + "$1" + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|status}" + exit 1 + ;; +esac diff --git a/devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S99rc.local b/devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S99rc.local new file mode 100755 index 000000000..0e20120de --- /dev/null +++ b/devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S99rc.local @@ -0,0 +1,41 @@ +#!/bin/sh + +MAJESTIC_API="http://localhost/api/v1/config.json" + +wait_for_majestic_ready() { + timeout="${1:-30}" + i=0 + while [ "$i" -lt "$timeout" ]; do + curl -sf --connect-timeout 1 --max-time 2 "$MAJESTIC_API" >/dev/null 2>&1 && return 0 + sleep 1 + i=$((i + 1)) + done + return 1 +} + +start() { + echo "S99rc.local: waiting for majestic API..." + if ! wait_for_majestic_ready 10; then + echo "S99rc.local: majestic API not ready after 10s; continuing with /etc/rc.local anyway" + else + echo "S99rc.local: majestic API ready" + fi + echo "S99rc.local: running /etc/rc.local" + /etc/rc.local +} + +stop() { + [ -x /etc/rc.local.stop ] && /etc/rc.local.stop +} + +case "$1" in + start|stop) + "$1" + ;; + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; +esac + +exit $? diff --git a/devices/ssc338q_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 b/devices/ssc338q_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 new file mode 100755 index 000000000..d73c769f0 --- /dev/null +++ b/devices/ssc338q_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 @@ -0,0 +1,6 @@ +iface wlan0 inet static + address 192.168.0.1 + netmask 255.255.255.0 + pre-up adapter setup + post-up adapter start + post-down adapter stop diff --git a/devices/ssc338q_apfpv-greg10/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko b/devices/ssc338q_apfpv-greg10/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko new file mode 100644 index 0000000000000000000000000000000000000000..c90d54c885b0b744903e223eb6de5201b661def1 GIT binary patch literal 28048 zcmeHw3wTu3x%S#Kxe)?}5Fi5L&IL%gq?2TTK+xs_lM5h`fTe1igk-`@$Yo3>7_FzK zik9EfN zxJqwWCvvZw{@v?+pM9pO;^Mh){-WrY>Xyd5!cP3nV0KS@!<+O_?r{wxd+&y@4&lcc>kyM4fR&i>55s zxHB>Kk_$;~_j`Lv^(O7ls!vBtSX6JsE@R&v&1 zW2{4g7>9kxZnw>i>a)+a_1!$9s<^61=yPir|K3I|?MPrtqR{UR{1!EM=RmY8`ivt+ zG$qKqb6ia4^WKA{hyD`du+2+HN)!9+^OF0td6W7}hBSL-Q;zEgfh~p9dj@$uvTvCz zoxNx1P|1+Z{_le&i1Wumk#TA;@jzMHmd5>o`xEyE?s1H<75%|pv_J5GyD zOL{IXYkXgNR&rlzmewcq{6iDbj%>rcfNk!5-rc3=2Mu1eHEHW|@Y916ww9cYw|}KL z`EX%+)z%{chx2!X=vl|WVBmn373CW1THJqM96tkyCpXmapOr+n37+((j)={wc7EF2X?_)CYD51e92RV-^VZ7a=$bt z9@b;D>l>>!Bqkmh>zY!rr4jA!TVGP!@SulnziX4;a8GgmVR0tTHgT%Z6Xxb0PDqa` z`2IPqs5|i0#P6SrO?`V`ci?M@-N@tRb6QC^didpYvFWcP^nOQo-~nAr--240eHb`U zmLBawzv~IE`y1^SZMN4>W#&FmJp1?;if6u&QIY6*6JsW7&g%2;woU23CJW`ct@P~U z6EhEAld++sw#0r>=q#C*-cy(9x~*lu`+lT;`JJy{7JA^&`V!hrMad^i{xAsN?RS>! zD!%%7>_z+8UB#2$NT@*C$x&HJo-zGQ^U>nW!_!@VmfTsqEFC z4;t;0e_)&|Wrfi;zx1q#6BnbA^z6~YfV$>ON(XO9j zE8UfF(T4V!ay&t{)5JH79vIV)bnVtQiWU8XpOI|@P4N@iM#oee-PVL@3ldm4ojtjg}?WEbEMr69BJhvjz>27 z%X8g_-!Uoam~nwQ_A@s7;~Q5G36X!eBF-3v-wckzr!Weiecw^&JH%%Ed)pXC;C}bz zcfRmnu(9#;OzTZ`)nR1CI<9PEeSu6T?|Rw_!?tKgv^Gsy8*MF0+Evtww>=@-F>PyH zg_gy+Kkjg9x-qk-9InF5o^seebje=Tm9%wtY5v~mvcj{CZBgYM;hfv^Wt*|x=;99G z-mBl+_&{;Y@!4gWL9IC4lN}jH0uLv4&57=}XH7c(o0Hm*ZSu@qfjjNP`izRg3$JKL z0!uTlsrX9Wgqj(tUvZaQ=$rUZjXnMQ8-@Ps!IX-^vrV^ABUx%Jg+}pNJ^i5?E&We} z6N2%_N$Jgy7M)$5_v^s~#OtnQycj9zl#-;p{=sP|?_^o(;Xl@TILdM?^@QRT!lPJ&%Tt?Ut>>ud1K+(14&a+hk?N~=-qiE%Q8diB}1>| z!ed&0jh6O@!D$tg6kd2wnmN%A}eSPTU(C0j>q8y&`s51v+ zw=NK~)& zqEhX8@2P~e$Lo3n8TG$w=sh(ftvAq>*n4Vv44wgNdQV+S>J5nc-ar(t1YC)@9%w*r%a>w$^DwZIHuB~S;h1V&9~ zZKJZ^=-1L66}_h>=iv$TRB|3?>0XSmc`JGY%QAWcKIfc@x$rNA-|x(-m;=8P{!V9R zMHc+|@ZaT}U6Bd@TKK!1vnpo8zZ3qg&Y2an;9n2_7H3AqO!#kwzuTE!kpX`V{Es@* zD$?Pv&q%B24S3}5wv1Hxw`WZA=)lShTUzg_q_m@fd`AxYco}-LR`uv-fddcm3H`%$ zhP`C&{e0ucztdda5@sozU@4nuDKXK1eyL+!AbaVLq@~OO(o$vtX(?&I7lAW?M}Sj- zy}-%99$*r1KX5$oATS|?yFRa_-&kQ!-Bl;jw!5OxW7Cs*PhFb`TS>O1 z!m9FMQyGtMgbmqYJISyeCu~QLJEO&+MY|lP^(=HL>v1XTaVhI@DeG}5>v1XTaVhI@ zS*+*anb@oPVL!B<#~Xw$ZN@3BMgBUSw3dANyVgl-*(rZ(oV1qp^7mFJt)*W6dYrVD zZSr@!(}r}D@~k$Q3aQVj(?Z^*KKZbUWS*6a#kyUBErS z3Sb}b2H-Kv{IY6=J(YHmkhY6fV6&-tMq0_K>67IQW6UnFjs%QA>+Djf>?7_>SzMX2 zkTPW1V%wi$2*{>`6$iy8PGm7lzrLu>e@;BefSz)dGt#NWz zsF%MUCufCi@^>U#U~l_m5BueBC;FMTz~3(CH2iLrzgwJB;eQmrpAQTOTEg|1Lmsw; zY~gDkf-U$CTw8Hp?^rOO#pR}USvH~dkH5qkGUd$IjuOj`Q*l0Vqe<0~H7$G5ka z&z0KO#6J;u#i6A?5qM4Kd!p}9itCqyaz?~+(bG>o^;D94?%aX5oD^566j#nIJg+E~ z*P6IFU3hL(X->p@;+96NHfSj*>uZ;}&hS_uMn_2lZ|T$Gy92*QnfS(M>q$HmuKj$N z_Ulsn=N9exrvj^^U69YbE*V~l&0nP2=U^YedTeyh))-w%ogyWe&lrGYvW<3+I!5`xoTa($;=vs{T9X=HuDb@FC#yjNoXZsI9CmCx< zd=j?x@cAgchJD^K_s{+5H9|i>Xx8fMmqyoXjUP~}81&k`5v?c=??#;}&*_bKGrz(roT`KJuKTJm?z_o@-|-G)5N)XSNf@1^%f)4$E5tMA!!Z6n!p3-U}$ zG3pz@s&9f^x7O9V^^?syR;b?$1k%rWb=Q-vSi^3NN@Z9(Ry6|?wKV!g`s(uoYo2es z+NHY=LOUTto5S_&3E(?QPa%!xJbT~$+?nz*J4&yWGs%<9=RCU03^QhzJTKRobeERO zHSoZp!~=b&GD^nQJYF30Mr>JZ@QpO_P+6*m^`;$;M9equsCT{VQ3v@B>-YlR#I5>q zhsx6J7qtleHDUVkW%0rE;|@h<@txOp{OY}0x@{mPOY1k@$eyabdkVj}vJ<(E zE)LsL`ScfO%svixpDk6*rH<-8E!7PFWMB3wk@3WtEpf;3jF(>Yc5L~ZC-gzVIqO7P z44xY3%XQ5v=bG=O%f|z|vHH8X=*RoWQp?j^sdBE$t~nvwHxwt&HN8SZkEvKX{Y#2o zm+>Yd-Xs|>&y`#uEL!xNTJh!M%hF{0>{`tkwIFKV9^7R)^Yb3?F4|;^VLqY@?Xpk# zk1Mv%9cuCUO@CIy|T$&+wRuuJnp(py5Hm0TRNIIxZCvB2EEPQ-rCgR z_qMjQ>+KyrUu&D+U9WGrL#nmQ1cRxxc{kVk-FkhkzgG9Q>+WWs{|*StSFLyEET~>p zURiGSSC=hYQ(d*(H7sl;!nB1Ytt~C?I=?=%U2pQXxNF;Vf2(d}sQYT`^_lhY;aW(F zDx19x@2iH?M@Y%r(!gf9W1(B*{w0sV;AGCwr*M?XRr$L!)I? zYrR|eN;=vZc9XZ>-MYrzJ}f}?;Ih>#WiQr2xvsX^=%H#hX0@lbrM}5sZFHXyvm8Rq zbi|1a$17sHV~%(bd=0J}aaAH*xvMZgf^biHh8adw;orgBgMZ>6#_SG^d+IHvT)E>I z*gD4fkD-KVNN_I5$Gk(mn@uH4_%ESH*%8bwoUiEbwCI`Pr=WM`I(q8cs_R>us@vTS zs-9y}&jPUlb*sfyb70g8Qzdnb)JvB@lROw)FYXp ztMrPX#5!B`Mry-#&|^JyJiG5e`_OOIGsC^mzW_fD{uX3!!>=vEOuxt`X5q@kSJ3vm_W+K@jW zUd?xipXPr|+`2eH6ffx)E0^3Z2A0^w=_N4#f@~2}kR^5$%oJZKNEMG1OcamedJNas zaDAgdh+PFS;_-s9qPrkbJW-G=zFCkW{<&bP*p2H+Tzd-sB%UeI#Ipq##J37;qNiY& z*jr#1`w9lcbHM$;1Hf+sp9dZUeizq^1#gL$3bu+P1VBudx`}+c2_ia%AViV)D?hg^o-$x{qUYCt!51#OT&Ay2~)S#|KBZF{+>V zXjK2rqgunL{%4HpPheD6V^seWMzw}fU5!!wEsW}FjOwprRIkRU=4igss9xAyEuU^a zxX<|{!6%AL$0hW)Jvft_jiz9fN^Gw;&8Ti4`T@6?#bBkh2% ze|UMo<6wj(@Odr6@t(4PslzNFG^4LnGkOc7SAG(xbTr~lKQ;I~_)!o4FX&-or9AZ9f5n+R6K~>Kc;+*o^0^jQ={SoX z9j|(Hf_%CU&B`Cnn%hU~ZRUF0`#s4I?@+lOSL*hcbhL$U6(B4;z_OVT+&kcIkJ=%k zg~)Zidh8@&pF-^=G`H4wU>gA;?bwDA&2>$iM4hL()+fBVb=B=nwVU15-g?0$c)0?I z%_|Y|c}>SPMZC9_}tfxSe_+yp4v8_RJx8uTT;~C?%mj;uPRx&A{13hESj?XOKvK6VbiS^ z8(mF0>f`gaYz##)RJ<*IBW-J4ml!3{5vI%f>!^RQm|>d1_}1nz-_)vlnOQJN2qnmAbFZ&CNm`Jzd?= z($tFWy`nX%HZQ^^BQ_#)bzko0d>t=}|HMsD=j3JQW#hf#gH?*M(Jr;_+6`Wzai>3e(flG26CYa?r;Wh} zi^Ntx7`esS1vdCB&Mt7k!Q$)!2MjFE zE~W{ViI*`pY+?I~94)C9eIdrk^9k1!-Y*U z$yr#V8u$0Fx`CC|SY&L(!l za{zoTkohz3F_;wYQT%P-7r@Q-co+PO;7gP|6?g>Pa7KA}e#YeSNc+d&9t1Fb>d)f_ zt8|7w_pMDn75X{g`w?L34_M?ZKhNVB4m*s{|2=pU0!;mtEUa`!`jr;WJ?0z14?=G0 zN3jE?GxT}B$K;=c{upqx|Je2u!D&fmeBGkY^6@;7;cViw(4Ps;{ccm=X^~T(=Y|Yt z6AwXuF*v7jQ@_k2r+%e{KMDOC!KYjFJr+6jc@D{NHt`eaH-nq~c@q3KaCRB<YL}XsBsGVXCOan(Vr1#q((XQ(=43jebmC=MSMHXTeYe9Gho~EVQfCdi@^`! z+?L53z*ku~(+jycnIF%K8O|oY0R8WP2M}P^=hqfF<8Q^eGQ(khfd2By#+ef8_k#Zv z=e;_iKz<5*orRBwVf_m_&y?qZyDj`?@IRq`ru=U34hv`d@LZeWjQOG|IE~vxH}nso zJpTv<=D!#GF|<#E;xB_wfH7=SydV4@FwHv@{~h=W@La{2AJ5Mj&d9HOT!>$Q{u!jl z8yoYZKF`@1&L$>ctV{xbPYbnYPw)_oO)P@^&&UtS$oQ+k&scZ^_$dqT0)Ga4snUN8 z{7)A7^Wc}kQ6!mOKloq3IpkQr)8N;_9<1d}q_T8I{kB^;>%((`hO>znB=i{gS_CjX z+QUhUocco+PI(XVGn~;rJXdIP%60UQ$r+#L4NXq@b_GNEo$tfSO zaK`6(MZ+28U(d-zIwL;MF`At5`z)OCdA`wbM*K3^x5+8zxkr;T{t*kOoaZ48XT;Bk zy_%eIo|7~=csTddWd=w+DQ}N571Z$G|Mn^QFTnY|kSYH+aDHpETgk`6 z&+l$bIqy~cCgy~amxA;A7&HG*fb-jx(@Ne2&hJ=EInM#|8xvFh0yw`nnXStA6L5YD zV%G0GIKK-q<40lc=QkT>{pN%7`wdfm9XP+OFy#&4{LaFZZwBW#5PZgE`~P2Xeh zJ^44m`E3D*IQao^emh{=*AKw!z)kyl6TAzYLx%dl2j_ddX`iuZE55@=D|rey-`~*% zQhyFO-`#mjVf+$szPFqFR&c(vBUvd=1%})d5sS9wbc-&Bd`iT4nI>*Sd^$ruP22@e ze-|zd?=#!Mx4^F}zC-C7^-mVhg41u*KUsVqoNdW@L4)L9z)Rpa+BaE5<6h|jH|n1( zQouh8Zl?D!@GpU1i;M9~!1uz>DVh8h@Lu?h@sKPwgZ}}1s*-;hoO91S#e2Z9ofVY- z47>t7Q^|i1&hclKCl%o#H%VNEoX#lUBykPelYW!W0cTn!&j;td*W|0fD=mBjc)f)) zzu&`#4QJe6{>{R}%X778NBpfQuhHMhVhcFWmGXUx?Gvs)Hi8>+#y4ED_$uO?j&|~N z1m6dKGxQle0rqz!LjIP?G3QJWSBsM-hd$E_MDVL%xKRk_H39ZGJNT?*=wquR=oo(~ zIE!0`D+!}wh2revB&3py^t&N5(wine0Xdt`On(#jUNjcAK%s9F+rWQ|K6NU-51d6b z^^bv@j`{yKf)6Qf>d!=E_O;0y!8uo$d>uH3XOO=ek)DRR&UDN#E`p~-@L3W3;}N_x zg0G9{dS|=Mt!G={s?)*LFP8M{MJI9jTaeyk%6UKo@n*8 z-tKN|ZD=r93BScK)}pa=UEfjXFJERzEUW4_V5Qq!eP4~$?G}S!ncZN^S}mc7=c=p< z>cbyggXdQmG99&WiQ@Q|x$#AW+ttxh$7OLtT(lg^<^GQL8(RI|hC4s1Ambd|SdRc)swPfMs&RcreQuJUy7 zdx!FthE{VEB0O|>6HzX=2+EfQh1|n1YiliLFg(2B%-RLTvVgL{!;>7|D8XnEjS>u( z$r-J{`VLRiqA)zy5nCrLjlbn{5xJi;!hWy%C`7iJ)VcDh&ydcQPXmW^-seoXR6?Vf zn^M6_1?^v!3vQ)gi><8-;o%L+LcdCgp}Ur2%c0j z=AY0&GOgSwvoyo7fo8U1(DH}v{{`ci29I{miI@*%Tc{6(%#UdJVMnOkX5^rGtAYl5 zFGA4JFkCWHrw5~9G{|Xk#AsKL$PqO1;2KuzU`E3vCACd;9ZmRV&YXN$SJ@(J2Q;(` zS?%t`7gZ{_y4tnwhLW}At8b{T&UT70x*(k9bQY#)E^ z25bq3een^N_ClfJ1*eQrMO$P>3(iKPik5Fi3y%CzMa#)C;|0g&uz0FP!&@%LX+{j5 zq8w$!1;L1+nPrqwgH0Noxkec=*r-=-osny4ZB}E}9c7M-&03C59|wxVjAwB;#i{c! zac;zr%FTgXeqCAJ?r*~BvEyD-8h`a8F@*CGJuf}sslW|BwRwNW^9FvfZ6AH8( zmB?W`g(M@^o98BS^2794`}LW zT3Zw&(weAMBxBMNLJ6Bq9^MXSC?l}u$}-;9D#9!x+#0ME3#Mi*STNAc7y-)o)S(Lm zgbHn*zsMKM+BO@Li2lt zRbHXg%5zI@!r`6jYPpS#^BlK(Tk5Ope7A-UQ`J6qo42+8eV#1T)8+?%Q_AmmM@TyO zXy9B~bi;C^jH}wKn%r)mrQ$Buo3~fvV{M!_YVmIp&2D@YEf4Y3HdnXegL2~-P_TWx z_1?`)#BAkC_G7S-+hr;ZDob~BQBzZEomJiF6f}Aj4?^K3F*2!ek)d8DzszQFWpl4< zU*>MAy<_A)%i)=LpYqI26 z963ou8mEbf!vzz{xsS;3okWCp6K^!udzs!I@-^6RAXZ_Gl(-gql|aVlz8~XnBO?BG z;?1ZB5%G5rZ$Uo9Tagd(Q^<$-Y2-t!Mn1$EtZM_Au8uXt_&*~*VxlIvpU3olMC9jJ zyi;+0mu*AbEySx)E+Xo&jfg)4x}8{uauKmmxr2yxj7N!cP%dIU%0+aeTtuvE>>*~O z{=^29hd9^x7T>lJYs%zU>^VYQg>_0|4%&x^J-t_nXoo%`7JH5nu~vPYn2LQPVg>fc zfUGyy3R&;7MAV!6imdl;BI>f9LiD>sDMAWmFh%}B8QLk5ts81j96DS7} z^*K&NJ$^+*c?XCn=LsVAq)rlN!)}OJaOGMU+w(jz1NKWq`@KhOgk2#IwpSE!uCcbo z_DLXjV!e-u_Q(LTzFkDrHyL@ezT5|8efJYl--C+3sCX|C^*u^#LA{8rs29!VnOvhu>kcV`cW@p2kM13u@#|S#AT=#u@v

UzK`G6&4bq*GM_^zD9%|_gAU6U*SO_ z^wO}YBg;pegmxrCpZl$pcM=ir0Ts@DR)+6Z;onu^11kK43WuqP_++l;17kFy6aRvJ zC*lN6u7$@ZXkrcdJNVX+n4}2~x%jb~+^?kGUF6W)O1uhx@rpQ66T6h&vnu>06@FBO zp8(4H1kt96(?rx`h=}r^C)zdR3lM~0^eFTx>{QsLaI3=Y3U?^nsc^T# z9)$-L9#MEyVV}a|3I`OPR5+wCppfk)+ktH{8TWbeD71$PN7qS?snBQ_g}TB_g${-J z3JVpMDXdhuUSW+wk3yfqPK8|xw<_GOaEHR33U@2)QFu@x_f}btBZ~JbepK;3g~t^R zC_JffNFiE9%)v90bg&b;Ie12r4tx(hw8vu#r5%E2AU?xcP9pOqGF@T{pT~fO3Ox$9 zD`fh#cT_>x&{=WBahlxE;{48WNqLHrPgn8`VjTa^F@}7ek~@e~G?7mfnsGJ<@e7rF znUb$0rf71%km;{g^7TqyL&Sl|dLrZ=BFe|1$MpTgF{+%XpDZVk_GiP<@K;&?OCZ_p zcQj)O3FvP#&|~^qTK(?qjV&G78+ej;J`UDrW6vhr@9y*)KE8!mDA(l_#hLYNs4-ne zF{rn`6SS3o6pOj#WakJafns(b)9?UB&gGhmqoyf+!68^ANt1OOs5jBd& z(ilG06mLhHT3hPe+1B^D><#VhA{z?_&2BvOXUk^6|Kn$VyT7(>lTiiyt*AEdh7Lde zG}P!F9+w162zFpNCxCWix+vwz1){qIx>-8fKw^p_08=j;emnw6TcUL7t$6N0B<`Ox z59-l={|_!}dLE?3`Nni+die;jrnhYa#xcT}9(Bz0o`>I>UK5_P%MfNdGd(;Og{8L= z&!alRm>%n9rgszkOwVkW{Ya1F#&l+SZUjKjcaIXBfL;IrW;|1`7IJGnnvicMl$bBW z&3t|EGhenh-LKF=SDA@{Q^xCVg{J6_*C4>+s6)2{7yQBUorWIU-z=Aj4revfxlAP>#PZ5jdZy@p=vf{0=!)S%o<4&K zLA{Te1Ze6JP1~dRAoO + +# Changes by OpenIPC 2021 +# +# - move resolv.conf path to /tmp +# - remove interface notes from resolv.conf + + +[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 + +RESOLV_CONF="/tmp/resolv.conf" +[ -e $RESOLV_CONF ] || touch $RESOLV_CONF +[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" +[ -n "$subnet" ] && NETMASK="netmask $subnet" +# Handle stateful DHCPv6 like DHCPv4 +[ -n "$ipv6" ] && ip="$ipv6/128" + +[ -z "${IF_WAIT_DELAY}" ] && IF_WAIT_DELAY=10 + +wait_for_ipv6_default_route() { + printf "Waiting for IPv6 default route to appear" + while [ $IF_WAIT_DELAY -gt 0 ]; do + if ip -6 route list | grep -q default; then + printf "\n" + return + fi + sleep 1 + printf "." + : $((IF_WAIT_DELAY -= 1)) + done + printf " timeout!\n" +} + +case "$1" in + deconfig) + /sbin/ifconfig $interface up + /sbin/ifconfig $interface 0.0.0.0 + + # drop info from this interface + # resolv.conf may be a symlink to /tmp/, so take care + TMPFILE=$(mktemp) + grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE + cat $TMPFILE > $RESOLV_CONF + rm -f $TMPFILE + + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface + fi + + if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then + /usr/bin/adapter route + fi + ;; + + leasefail|nak) + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface || /usr/sbin/avahi-autoipd -wD $interface --no-chroot + fi + /sbin/ifconfig $interface $(fw_printenv -n ipaddr || echo -n 192.168.1.10) netmask $(fw_printenv -n netmask || echo -n 255.255.255.0) up + + if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then + /usr/bin/adapter route + fi + ;; + + renew|bound) + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface + fi + /sbin/ifconfig $interface $ip $BROADCAST $NETMASK + if [ -n "$ipv6" ] ; then + wait_for_ipv6_default_route + fi + + if [ -n "$router" ] ; then + echo "deleting routers" + while route del default gw 0.0.0.0 dev $interface 2> /dev/null; do + : + done + + for i in $router ; do + route add default gw $i dev $interface + done + fi + + # drop info from this interface + # resolv.conf may be a symlink to /tmp/, so take care + #TMPFILE=$(mktemp) + #grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE + #cat $TMPFILE > $RESOLV_CONF + #rm -f $TMPFILE + + # Clearing the file because it is in RAM + > $RESOLV_CONF + + # prefer rfc3397 domain search list (option 119) if available + if [ -n "$search" ]; then + search_list=$search + elif [ -n "$domain" ]; then + search_list=$domain + fi + + [ -n "$search_list" ] && + echo "search $search_list" >> $RESOLV_CONF + + for i in $dns ; do + echo adding dns $i + echo "nameserver $i" >> $RESOLV_CONF + done + + ntpd -q -N -n + + if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then + /usr/bin/adapter route + fi + ;; +esac + +HOOK_DIR="$0.d" +for hook in "${HOOK_DIR}/"*; do + [ -f "${hook}" -a -x "${hook}" ] || continue + "${hook}" "${@}" +done + +exit 0 diff --git a/devices/ssc338q_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi b/devices/ssc338q_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi new file mode 100755 index 000000000..b3015341b --- /dev/null +++ b/devices/ssc338q_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi @@ -0,0 +1,117 @@ +#!/usr/bin/haserl +Content-type: text/html; charset=UTF-8 +Cache-Control: no-store +Pragma: no-cache + + + + + + + <% html_title %> + + + + + + + +

+ +
+
+
+
+
+
+
+ +
+ <%= $(signature) %> +
+ +
+
+
+
+
+
+ +<% if [ -z "$network_gateway" ]; then %> +
+

Internet connection not available, please check your network settings.

+
+<% fi %> + +<% if [ ! -e $(get_config) ]; then %> +
+

Majestic configuration not found, please check your Majestic settings.

+
+<% fi %> + +<% if [ "$(cat /etc/TZ)" != "$TZ" ] || [ -e /tmp/system-reboot ]; then %> +
+

Warning.

+

System settings have been updated, restart to apply pending changes.

+ + Restart camera + +
+<% fi %> + +

<%= $page_title %>

+<% log_read %> diff --git a/devices/ssc338q_apfpv-greg10/general/scripts/excludes/ssc338q_apfpv-greg10.list b/devices/ssc338q_apfpv-greg10/general/scripts/excludes/ssc338q_apfpv-greg10.list new file mode 100644 index 000000000..22cfa9327 --- /dev/null +++ b/devices/ssc338q_apfpv-greg10/general/scripts/excludes/ssc338q_apfpv-greg10.list @@ -0,0 +1,15 @@ +/etc/sensors/imx307.bin +/etc/sensors/gc2053.bin +/etc/sensors/gc4653.bin +/etc/sensors/sc501ai.bin +/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/net/sunrpc/sunrpc.ko +/lib/modules/4.9.84/sigmastar/sensor_gc2053_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_imx347_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_os04c10_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc501ai_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc8235_mipi.ko diff --git a/devices/ssc338q_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_bu_defconfig b/devices/ssc338q_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_bu_defconfig new file mode 100644 index 000000000..e50b1383c --- /dev/null +++ b/devices/ssc338q_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_bu_defconfig @@ -0,0 +1,75 @@ +# 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-gnueabihf" +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +# BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set +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)/infinity6e-ssc012b.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_IW=y +BR2_PACKAGE_WPA_SUPPLICANT=n +BR2_PACKAGE_HOSTAPD=y +BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=n +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="ssc338q" +BR2_OPENIPC_SOC_FAMILY="infinity6e" +BR2_OPENIPC_VARIANT="apfpv-greg10" +BR2_OPENIPC_FLASH_SIZE="16" + +# 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_MAVFWD=y +BR2_PACKAGE_APFPV_GREG10=y +# BR2_PACKAGE_MSPOSD is not set +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +BR2_PACKAGE_RTL8812AU=n +BR2_PACKAGE_RTL88X2EU_OPENIPC=y +BR2_PACKAGE_RTL8733BU_OPENIPC=y +BR2_PACKAGE_RTL8811CU_OPENIPC=n +BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6E=y +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y diff --git a/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S40network b/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S40network new file mode 100755 index 000000000..19f7be166 --- /dev/null +++ b/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S40network @@ -0,0 +1,22 @@ +#!/bin/sh + +case "$1" in + start) + echo "Starting network..." + ifup lo + ifup eth0 + ifup wlan0 + ;; + + stop) + echo "Stopping network..." + ifdown lo + ifdown -f eth0 + ifdown -f wlan0 + ;; + + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; +esac diff --git a/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S95majestic b/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S95majestic new file mode 100755 index 000000000..45d908d2f --- /dev/null +++ b/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S95majestic @@ -0,0 +1,62 @@ +#!/bin/sh + +. /etc/init.d/libmedia.sh + +DAEMON="/usr/bin/majestic" +NAME="majestic" +PIDFILE="/var/run/majestic.pid" + +start() { + echo "Starting $NAME..." + if ensure_pidfile "$NAME" "$PIDFILE"; then + echo "$NAME is already running" + return 0 + fi + + rm -f "$PIDFILE" + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "$DAEMON" -- -s + if [ $? -ne 0 ]; then + echo "Failed to launch $NAME" + return 1 + fi + echo "$NAME launch requested" +} + +stop() { + echo "Stopping $NAME..." + stop_service "$NAME" "$PIDFILE" 15 || return 1 + # Majestic keeps internal single-instance state briefly after exit. + sleep 2 +} + +status() { + if ensure_pidfile "$NAME" "$PIDFILE"; then + echo "$NAME running pid=$(cat "$PIDFILE")" + return 0 + fi + echo "$NAME stopped" + return 1 +} + +reload() { + ensure_pidfile "$NAME" "$PIDFILE" || { + echo "$NAME not running" + return 1 + } + kill -HUP "$(cat "$PIDFILE")" +} + +restart() { + stop + start +} + +case "$1" in + start|stop|restart|reload|status) + "$1" + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|status}" + exit 1 + ;; +esac diff --git a/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S99rc.local b/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S99rc.local new file mode 100755 index 000000000..0e20120de --- /dev/null +++ b/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S99rc.local @@ -0,0 +1,41 @@ +#!/bin/sh + +MAJESTIC_API="http://localhost/api/v1/config.json" + +wait_for_majestic_ready() { + timeout="${1:-30}" + i=0 + while [ "$i" -lt "$timeout" ]; do + curl -sf --connect-timeout 1 --max-time 2 "$MAJESTIC_API" >/dev/null 2>&1 && return 0 + sleep 1 + i=$((i + 1)) + done + return 1 +} + +start() { + echo "S99rc.local: waiting for majestic API..." + if ! wait_for_majestic_ready 10; then + echo "S99rc.local: majestic API not ready after 10s; continuing with /etc/rc.local anyway" + else + echo "S99rc.local: majestic API ready" + fi + echo "S99rc.local: running /etc/rc.local" + /etc/rc.local +} + +stop() { + [ -x /etc/rc.local.stop ] && /etc/rc.local.stop +} + +case "$1" in + start|stop) + "$1" + ;; + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; +esac + +exit $? diff --git a/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/network/interfaces.d/wlan0 b/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/network/interfaces.d/wlan0 new file mode 100755 index 000000000..d73c769f0 --- /dev/null +++ b/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/network/interfaces.d/wlan0 @@ -0,0 +1,6 @@ +iface wlan0 inet static + address 192.168.0.1 + netmask 255.255.255.0 + pre-up adapter setup + post-up adapter start + post-down adapter stop diff --git a/devices/ssc338q_apfpv-greg10_bu/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko b/devices/ssc338q_apfpv-greg10_bu/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko new file mode 100644 index 0000000000000000000000000000000000000000..c90d54c885b0b744903e223eb6de5201b661def1 GIT binary patch literal 28048 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

UzK`G6&4bq*GM_^zD9%|_gAU6U*SO_ z^wO}YBg;pegmxrCpZl$pcM=ir0Ts@DR)+6Z;onu^11kK43WuqP_++l;17kFy6aRvJ zC*lN6u7$@ZXkrcdJNVX+n4}2~x%jb~+^?kGUF6W)O1uhx@rpQ66T6h&vnu>06@FBO zp8(4H1kt96(?rx`h=}r^C)zdR3lM~0^eFTx>{QsLaI3=Y3U?^nsc^T# z9)$-L9#MEyVV}a|3I`OPR5+wCppfk)+ktH{8TWbeD71$PN7qS?snBQ_g}TB_g${-J z3JVpMDXdhuUSW+wk3yfqPK8|xw<_GOaEHR33U@2)QFu@x_f}btBZ~JbepK;3g~t^R zC_JffNFiE9%)v90bg&b;Ie12r4tx(hw8vu#r5%E2AU?xcP9pOqGF@T{pT~fO3Ox$9 zD`fh#cT_>x&{=WBahlxE;{48WNqLHrPgn8`VjTa^F@}7ek~@e~G?7mfnsGJ<@e7rF znUb$0rf71%km;{g^7TqyL&Sl|dLrZ=BFe|1$MpTgF{+%XpDZVk_GiP<@K;&?OCZ_p zcQj)O3FvP#&|~^qTK(?qjV&G78+ej;J`UDrW6vhr@9y*)KE8!mDA(l_#hLYNs4-ne zF{rn`6SS3o6pOj#WakJafns(b)9?UB&gGhmqoyf+!68^ANt1OOs5jBd& z(ilG06mLhHT3hPe+1B^D><#VhA{z?_&2BvOXUk^6|Kn$VyT7(>lTiiyt*AEdh7Lde zG}P!F9+w162zFpNCxCWix+vwz1){qIx>-8fKw^p_08=j;emnw6TcUL7t$6N0B<`Ox z59-l={|_!}dLE?3`Nni+die;jrnhYa#xcT}9(Bz0o`>I>UK5_P%MfNdGd(;Og{8L= z&!alRm>%n9rgszkOwVkW{Ya1F#&l+SZUjKjcaIXBfL;IrW;|1`7IJGnnvicMl$bBW z&3t|EGhenh-LKF=SDA@{Q^xCVg{J6_*C4>+s6)2{7yQBUorWIU-z=Aj4revfxlAP>#PZ5jdZy@p=vf{0=!)S%o<4&K zLA{Te1Ze6JP1~dRAoO + +# Changes by OpenIPC 2021 +# +# - move resolv.conf path to /tmp +# - remove interface notes from resolv.conf + + +[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 + +RESOLV_CONF="/tmp/resolv.conf" +[ -e $RESOLV_CONF ] || touch $RESOLV_CONF +[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" +[ -n "$subnet" ] && NETMASK="netmask $subnet" +# Handle stateful DHCPv6 like DHCPv4 +[ -n "$ipv6" ] && ip="$ipv6/128" + +[ -z "${IF_WAIT_DELAY}" ] && IF_WAIT_DELAY=10 + +wait_for_ipv6_default_route() { + printf "Waiting for IPv6 default route to appear" + while [ $IF_WAIT_DELAY -gt 0 ]; do + if ip -6 route list | grep -q default; then + printf "\n" + return + fi + sleep 1 + printf "." + : $((IF_WAIT_DELAY -= 1)) + done + printf " timeout!\n" +} + +case "$1" in + deconfig) + /sbin/ifconfig $interface up + /sbin/ifconfig $interface 0.0.0.0 + + # drop info from this interface + # resolv.conf may be a symlink to /tmp/, so take care + TMPFILE=$(mktemp) + grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE + cat $TMPFILE > $RESOLV_CONF + rm -f $TMPFILE + + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface + fi + + if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then + /usr/bin/adapter route + fi + ;; + + leasefail|nak) + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface || /usr/sbin/avahi-autoipd -wD $interface --no-chroot + fi + /sbin/ifconfig $interface $(fw_printenv -n ipaddr || echo -n 192.168.1.10) netmask $(fw_printenv -n netmask || echo -n 255.255.255.0) up + + if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then + /usr/bin/adapter route + fi + ;; + + renew|bound) + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface + fi + /sbin/ifconfig $interface $ip $BROADCAST $NETMASK + if [ -n "$ipv6" ] ; then + wait_for_ipv6_default_route + fi + + if [ -n "$router" ] ; then + echo "deleting routers" + while route del default gw 0.0.0.0 dev $interface 2> /dev/null; do + : + done + + for i in $router ; do + route add default gw $i dev $interface + done + fi + + # drop info from this interface + # resolv.conf may be a symlink to /tmp/, so take care + #TMPFILE=$(mktemp) + #grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE + #cat $TMPFILE > $RESOLV_CONF + #rm -f $TMPFILE + + # Clearing the file because it is in RAM + > $RESOLV_CONF + + # prefer rfc3397 domain search list (option 119) if available + if [ -n "$search" ]; then + search_list=$search + elif [ -n "$domain" ]; then + search_list=$domain + fi + + [ -n "$search_list" ] && + echo "search $search_list" >> $RESOLV_CONF + + for i in $dns ; do + echo adding dns $i + echo "nameserver $i" >> $RESOLV_CONF + done + + ntpd -q -N -n + + if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then + /usr/bin/adapter route + fi + ;; +esac + +HOOK_DIR="$0.d" +for hook in "${HOOK_DIR}/"*; do + [ -f "${hook}" -a -x "${hook}" ] || continue + "${hook}" "${@}" +done + +exit 0 diff --git a/devices/ssc338q_apfpv-greg10_bu/general/overlay/var/www/cgi-bin/p/header.cgi b/devices/ssc338q_apfpv-greg10_bu/general/overlay/var/www/cgi-bin/p/header.cgi new file mode 100755 index 000000000..b3015341b --- /dev/null +++ b/devices/ssc338q_apfpv-greg10_bu/general/overlay/var/www/cgi-bin/p/header.cgi @@ -0,0 +1,117 @@ +#!/usr/bin/haserl +Content-type: text/html; charset=UTF-8 +Cache-Control: no-store +Pragma: no-cache + + + + + + + <% html_title %> + + + + + + + +

+ +
+
+
+
+
+
+
+ +
+ <%= $(signature) %> +
+ +
+
+
+
+
+
+ +<% if [ -z "$network_gateway" ]; then %> +
+

Internet connection not available, please check your network settings.

+
+<% fi %> + +<% if [ ! -e $(get_config) ]; then %> +
+

Majestic configuration not found, please check your Majestic settings.

+
+<% fi %> + +<% if [ "$(cat /etc/TZ)" != "$TZ" ] || [ -e /tmp/system-reboot ]; then %> +
+

Warning.

+

System settings have been updated, restart to apply pending changes.

+ + Restart camera + +
+<% fi %> + +

<%= $page_title %>

+<% log_read %> diff --git a/devices/ssc338q_apfpv-greg10_bu/general/scripts/excludes/ssc338q_apfpv-greg10.list b/devices/ssc338q_apfpv-greg10_bu/general/scripts/excludes/ssc338q_apfpv-greg10.list new file mode 100644 index 000000000..22cfa9327 --- /dev/null +++ b/devices/ssc338q_apfpv-greg10_bu/general/scripts/excludes/ssc338q_apfpv-greg10.list @@ -0,0 +1,15 @@ +/etc/sensors/imx307.bin +/etc/sensors/gc2053.bin +/etc/sensors/gc4653.bin +/etc/sensors/sc501ai.bin +/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/net/sunrpc/sunrpc.ko +/lib/modules/4.9.84/sigmastar/sensor_gc2053_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_imx347_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_os04c10_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc501ai_mipi.ko +/lib/modules/4.9.84/sigmastar/sensor_sc8235_mipi.ko diff --git a/devices/ssc378qe_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg10_defconfig b/devices/ssc378qe_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg10_defconfig new file mode 100644 index 000000000..c1527e3a5 --- /dev/null +++ b/devices/ssc378qe_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg10_defconfig @@ -0,0 +1,73 @@ +# 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-ssc027d.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_IW=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=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="ssc378qe" +BR2_OPENIPC_SOC_FAMILY="infinity6c" +BR2_OPENIPC_VARIANT="apfpv-greg10" +BR2_OPENIPC_FLASH_SIZE="16" + +# 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_LINUX_PATCHER_SIGMASTAR_DTB="infinity6c-ssc027d-s01a-demo" +BR2_PACKAGE_MAJESTIC_FONTS=y +BR2_PACKAGE_MAJESTIC_WEBUI=y +BR2_PACKAGE_MAJESTIC=y +BR2_PACKAGE_MBEDTLS_OPENIPC=y +BR2_PACKAGE_MAVFWD=y +BR2_PACKAGE_APFPV_GREG10=y +# BR2_PACKAGE_MSPOSD is not set +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +BR2_PACKAGE_RTL8812AU=y +BR2_PACKAGE_RTL88X2EU_OPENIPC=y +BR2_PACKAGE_RTL8733BU_OPENIPC=y +BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6C=y +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y diff --git a/devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S40network b/devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S40network new file mode 100755 index 000000000..19f7be166 --- /dev/null +++ b/devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S40network @@ -0,0 +1,22 @@ +#!/bin/sh + +case "$1" in + start) + echo "Starting network..." + ifup lo + ifup eth0 + ifup wlan0 + ;; + + stop) + echo "Stopping network..." + ifdown lo + ifdown -f eth0 + ifdown -f wlan0 + ;; + + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; +esac diff --git a/devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S95majestic b/devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S95majestic new file mode 100755 index 000000000..45d908d2f --- /dev/null +++ b/devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S95majestic @@ -0,0 +1,62 @@ +#!/bin/sh + +. /etc/init.d/libmedia.sh + +DAEMON="/usr/bin/majestic" +NAME="majestic" +PIDFILE="/var/run/majestic.pid" + +start() { + echo "Starting $NAME..." + if ensure_pidfile "$NAME" "$PIDFILE"; then + echo "$NAME is already running" + return 0 + fi + + rm -f "$PIDFILE" + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "$DAEMON" -- -s + if [ $? -ne 0 ]; then + echo "Failed to launch $NAME" + return 1 + fi + echo "$NAME launch requested" +} + +stop() { + echo "Stopping $NAME..." + stop_service "$NAME" "$PIDFILE" 15 || return 1 + # Majestic keeps internal single-instance state briefly after exit. + sleep 2 +} + +status() { + if ensure_pidfile "$NAME" "$PIDFILE"; then + echo "$NAME running pid=$(cat "$PIDFILE")" + return 0 + fi + echo "$NAME stopped" + return 1 +} + +reload() { + ensure_pidfile "$NAME" "$PIDFILE" || { + echo "$NAME not running" + return 1 + } + kill -HUP "$(cat "$PIDFILE")" +} + +restart() { + stop + start +} + +case "$1" in + start|stop|restart|reload|status) + "$1" + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|status}" + exit 1 + ;; +esac diff --git a/devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S99rc.local b/devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S99rc.local new file mode 100755 index 000000000..0e20120de --- /dev/null +++ b/devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S99rc.local @@ -0,0 +1,41 @@ +#!/bin/sh + +MAJESTIC_API="http://localhost/api/v1/config.json" + +wait_for_majestic_ready() { + timeout="${1:-30}" + i=0 + while [ "$i" -lt "$timeout" ]; do + curl -sf --connect-timeout 1 --max-time 2 "$MAJESTIC_API" >/dev/null 2>&1 && return 0 + sleep 1 + i=$((i + 1)) + done + return 1 +} + +start() { + echo "S99rc.local: waiting for majestic API..." + if ! wait_for_majestic_ready 10; then + echo "S99rc.local: majestic API not ready after 10s; continuing with /etc/rc.local anyway" + else + echo "S99rc.local: majestic API ready" + fi + echo "S99rc.local: running /etc/rc.local" + /etc/rc.local +} + +stop() { + [ -x /etc/rc.local.stop ] && /etc/rc.local.stop +} + +case "$1" in + start|stop) + "$1" + ;; + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; +esac + +exit $? diff --git a/devices/ssc378qe_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 b/devices/ssc378qe_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 new file mode 100755 index 000000000..d73c769f0 --- /dev/null +++ b/devices/ssc378qe_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 @@ -0,0 +1,6 @@ +iface wlan0 inet static + address 192.168.0.1 + netmask 255.255.255.0 + pre-up adapter setup + post-up adapter start + post-down adapter stop diff --git a/devices/ssc378qe_apfpv-greg10/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko b/devices/ssc378qe_apfpv-greg10/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko new file mode 100644 index 0000000000000000000000000000000000000000..c90d54c885b0b744903e223eb6de5201b661def1 GIT binary patch literal 28048 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

UzK`G6&4bq*GM_^zD9%|_gAU6U*SO_ z^wO}YBg;pegmxrCpZl$pcM=ir0Ts@DR)+6Z;onu^11kK43WuqP_++l;17kFy6aRvJ zC*lN6u7$@ZXkrcdJNVX+n4}2~x%jb~+^?kGUF6W)O1uhx@rpQ66T6h&vnu>06@FBO zp8(4H1kt96(?rx`h=}r^C)zdR3lM~0^eFTx>{QsLaI3=Y3U?^nsc^T# z9)$-L9#MEyVV}a|3I`OPR5+wCppfk)+ktH{8TWbeD71$PN7qS?snBQ_g}TB_g${-J z3JVpMDXdhuUSW+wk3yfqPK8|xw<_GOaEHR33U@2)QFu@x_f}btBZ~JbepK;3g~t^R zC_JffNFiE9%)v90bg&b;Ie12r4tx(hw8vu#r5%E2AU?xcP9pOqGF@T{pT~fO3Ox$9 zD`fh#cT_>x&{=WBahlxE;{48WNqLHrPgn8`VjTa^F@}7ek~@e~G?7mfnsGJ<@e7rF znUb$0rf71%km;{g^7TqyL&Sl|dLrZ=BFe|1$MpTgF{+%XpDZVk_GiP<@K;&?OCZ_p zcQj)O3FvP#&|~^qTK(?qjV&G78+ej;J`UDrW6vhr@9y*)KE8!mDA(l_#hLYNs4-ne zF{rn`6SS3o6pOj#WakJafns(b)9?UB&gGhmqoyf+!68^ANt1OOs5jBd& z(ilG06mLhHT3hPe+1B^D><#VhA{z?_&2BvOXUk^6|Kn$VyT7(>lTiiyt*AEdh7Lde zG}P!F9+w162zFpNCxCWix+vwz1){qIx>-8fKw^p_08=j;emnw6TcUL7t$6N0B<`Ox z59-l={|_!}dLE?3`Nni+die;jrnhYa#xcT}9(Bz0o`>I>UK5_P%MfNdGd(;Og{8L= z&!alRm>%n9rgszkOwVkW{Ya1F#&l+SZUjKjcaIXBfL;IrW;|1`7IJGnnvicMl$bBW z&3t|EGhenh-LKF=SDA@{Q^xCVg{J6_*C4>+s6)2{7yQBUorWIU-z=Aj4revfxlAP>#PZ5jdZy@p=vf{0=!)S%o<4&K zLA{Te1Ze6JP1~dRAoO + +# Changes by OpenIPC 2021 +# +# - move resolv.conf path to /tmp +# - remove interface notes from resolv.conf + + +[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 + +RESOLV_CONF="/tmp/resolv.conf" +[ -e $RESOLV_CONF ] || touch $RESOLV_CONF +[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" +[ -n "$subnet" ] && NETMASK="netmask $subnet" +# Handle stateful DHCPv6 like DHCPv4 +[ -n "$ipv6" ] && ip="$ipv6/128" + +[ -z "${IF_WAIT_DELAY}" ] && IF_WAIT_DELAY=10 + +wait_for_ipv6_default_route() { + printf "Waiting for IPv6 default route to appear" + while [ $IF_WAIT_DELAY -gt 0 ]; do + if ip -6 route list | grep -q default; then + printf "\n" + return + fi + sleep 1 + printf "." + : $((IF_WAIT_DELAY -= 1)) + done + printf " timeout!\n" +} + +case "$1" in + deconfig) + /sbin/ifconfig $interface up + /sbin/ifconfig $interface 0.0.0.0 + + # drop info from this interface + # resolv.conf may be a symlink to /tmp/, so take care + TMPFILE=$(mktemp) + grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE + cat $TMPFILE > $RESOLV_CONF + rm -f $TMPFILE + + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface + fi + + if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then + /usr/bin/adapter route + fi + ;; + + leasefail|nak) + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface || /usr/sbin/avahi-autoipd -wD $interface --no-chroot + fi + /sbin/ifconfig $interface $(fw_printenv -n ipaddr || echo -n 192.168.1.10) netmask $(fw_printenv -n netmask || echo -n 255.255.255.0) up + + if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then + /usr/bin/adapter route + fi + ;; + + renew|bound) + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface + fi + /sbin/ifconfig $interface $ip $BROADCAST $NETMASK + if [ -n "$ipv6" ] ; then + wait_for_ipv6_default_route + fi + + if [ -n "$router" ] ; then + echo "deleting routers" + while route del default gw 0.0.0.0 dev $interface 2> /dev/null; do + : + done + + for i in $router ; do + route add default gw $i dev $interface + done + fi + + # drop info from this interface + # resolv.conf may be a symlink to /tmp/, so take care + #TMPFILE=$(mktemp) + #grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE + #cat $TMPFILE > $RESOLV_CONF + #rm -f $TMPFILE + + # Clearing the file because it is in RAM + > $RESOLV_CONF + + # prefer rfc3397 domain search list (option 119) if available + if [ -n "$search" ]; then + search_list=$search + elif [ -n "$domain" ]; then + search_list=$domain + fi + + [ -n "$search_list" ] && + echo "search $search_list" >> $RESOLV_CONF + + for i in $dns ; do + echo adding dns $i + echo "nameserver $i" >> $RESOLV_CONF + done + + ntpd -q -N -n + + if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then + /usr/bin/adapter route + fi + ;; +esac + +HOOK_DIR="$0.d" +for hook in "${HOOK_DIR}/"*; do + [ -f "${hook}" -a -x "${hook}" ] || continue + "${hook}" "${@}" +done + +exit 0 diff --git a/devices/ssc378qe_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi b/devices/ssc378qe_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi new file mode 100755 index 000000000..b3015341b --- /dev/null +++ b/devices/ssc378qe_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi @@ -0,0 +1,117 @@ +#!/usr/bin/haserl +Content-type: text/html; charset=UTF-8 +Cache-Control: no-store +Pragma: no-cache + + + + + + + <% html_title %> + + + + + + + +

+ +
+
+
+
+
+
+
+ +
+ <%= $(signature) %> +
+ +
+
+
+
+
+
+ +<% if [ -z "$network_gateway" ]; then %> +
+

Internet connection not available, please check your network settings.

+
+<% fi %> + +<% if [ ! -e $(get_config) ]; then %> +
+

Majestic configuration not found, please check your Majestic settings.

+
+<% fi %> + +<% if [ "$(cat /etc/TZ)" != "$TZ" ] || [ -e /tmp/system-reboot ]; then %> +
+

Warning.

+

System settings have been updated, restart to apply pending changes.

+ + Restart camera + +
+<% fi %> + +

<%= $page_title %>

+<% log_read %> diff --git a/devices/ssc378qe_apfpv-greg10/general/scripts/excludes/ssc378qe_apfpv-greg10.list b/devices/ssc378qe_apfpv-greg10/general/scripts/excludes/ssc378qe_apfpv-greg10.list new file mode 100644 index 000000000..9ad6dfb24 --- /dev/null +++ b/devices/ssc378qe_apfpv-greg10/general/scripts/excludes/ssc378qe_apfpv-greg10.list @@ -0,0 +1,4 @@ +/etc/sensors/gc4653.bin +/etc/sensors/os04a10.bin +/etc/sensors/sc401ai.bin +/etc/sensors/sc830ai.bin From e4888123eec30492056a6c75b4b8fdf831bb2fcf Mon Sep 17 00:00:00 2001 From: sickgreg Date: Wed, 4 Mar 2026 09:35:36 +1100 Subject: [PATCH 2/4] Rename APFPV Greg targets and switch to meta package --- .../configs/ssc30kq_apfpv-greg_defconfig} | 4 ++-- .../general/overlay/etc/init.d/S40network | 0 .../general/overlay/etc/init.d/S95majestic | 0 .../general/overlay/etc/init.d/S99rc.local | 0 .../general/overlay/etc/network/interfaces.d/wlan0 | 0 .../modules/4.9.84/sigmastar/sensor_imx415_mipi.ko | Bin .../general/overlay/usr/share/udhcpc/default.script | 0 .../general/overlay/var/www/cgi-bin/p/header.cgi | 0 .../scripts/excludes/ssc30kq_apfpv-greg.list} | 0 .../configs/ssc30kq_apfpv-greg_bu_defconfig} | 4 ++-- .../general/overlay/etc/init.d/S40network | 0 .../general/overlay/etc/init.d/S95majestic | 0 .../general/overlay/etc/init.d/S99rc.local | 0 .../general/overlay/etc/network/interfaces.d/wlan0 | 0 .../modules/4.9.84/sigmastar/sensor_imx415_mipi.ko | Bin .../general/overlay/usr/share/udhcpc/default.script | 0 .../general/overlay/var/www/cgi-bin/p/header.cgi | 0 .../scripts/excludes/ssc30kq_apfpv-greg.list} | 0 .../configs/ssc338q_apfpv-greg_defconfig} | 4 ++-- .../general/overlay/etc/init.d/S40network | 0 .../general/overlay/etc/init.d/S95majestic | 0 .../general/overlay/etc/init.d/S99rc.local | 0 .../general/overlay/etc/network/interfaces.d/wlan0 | 0 .../modules/4.9.84/sigmastar/sensor_imx415_mipi.ko | Bin .../general/overlay/usr/share/udhcpc/default.script | 0 .../general/overlay/var/www/cgi-bin/p/header.cgi | 0 .../scripts/excludes/ssc338q_apfpv-greg.list} | 0 .../configs/ssc338q_apfpv-greg_bu_defconfig} | 4 ++-- .../general/overlay/etc/init.d/S40network | 0 .../general/overlay/etc/init.d/S95majestic | 0 .../general/overlay/etc/init.d/S99rc.local | 0 .../general/overlay/etc/network/interfaces.d/wlan0 | 0 .../modules/4.9.84/sigmastar/sensor_imx415_mipi.ko | Bin .../general/overlay/usr/share/udhcpc/default.script | 0 .../general/overlay/var/www/cgi-bin/p/header.cgi | 0 .../scripts/excludes/ssc338q_apfpv-greg.list} | 0 .../configs/ssc378qe_apfpv-greg_defconfig} | 4 ++-- .../general/overlay/etc/init.d/S40network | 0 .../general/overlay/etc/init.d/S95majestic | 0 .../general/overlay/etc/init.d/S99rc.local | 0 .../general/overlay/etc/network/interfaces.d/wlan0 | 0 .../modules/4.9.84/sigmastar/sensor_imx415_mipi.ko | Bin .../general/overlay/usr/share/udhcpc/default.script | 0 .../general/overlay/var/www/cgi-bin/p/header.cgi | 0 .../scripts/excludes/ssc378qe_apfpv-greg.list} | 0 45 files changed, 10 insertions(+), 10 deletions(-) rename devices/{ssc30kq_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_defconfig => ssc30kq_apfpv-greg/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg_defconfig} (97%) rename devices/{ssc30kq_apfpv-greg10 => ssc30kq_apfpv-greg}/general/overlay/etc/init.d/S40network (100%) rename devices/{ssc30kq_apfpv-greg10 => ssc30kq_apfpv-greg}/general/overlay/etc/init.d/S95majestic (100%) rename devices/{ssc30kq_apfpv-greg10 => ssc30kq_apfpv-greg}/general/overlay/etc/init.d/S99rc.local (100%) rename devices/{ssc30kq_apfpv-greg10 => ssc30kq_apfpv-greg}/general/overlay/etc/network/interfaces.d/wlan0 (100%) rename devices/{ssc30kq_apfpv-greg10 => ssc30kq_apfpv-greg}/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko (100%) rename devices/{ssc30kq_apfpv-greg10 => ssc30kq_apfpv-greg}/general/overlay/usr/share/udhcpc/default.script (100%) rename devices/{ssc30kq_apfpv-greg10 => ssc30kq_apfpv-greg}/general/overlay/var/www/cgi-bin/p/header.cgi (100%) rename devices/{ssc30kq_apfpv-greg10/general/scripts/excludes/ssc30kq_apfpv-greg10.list => ssc30kq_apfpv-greg/general/scripts/excludes/ssc30kq_apfpv-greg.list} (100%) rename devices/{ssc30kq_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_bu_defconfig => ssc30kq_apfpv-greg_bu/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg_bu_defconfig} (97%) rename devices/{ssc30kq_apfpv-greg10_bu => ssc30kq_apfpv-greg_bu}/general/overlay/etc/init.d/S40network (100%) rename devices/{ssc30kq_apfpv-greg10_bu => ssc30kq_apfpv-greg_bu}/general/overlay/etc/init.d/S95majestic (100%) rename devices/{ssc30kq_apfpv-greg10_bu => ssc30kq_apfpv-greg_bu}/general/overlay/etc/init.d/S99rc.local (100%) rename devices/{ssc30kq_apfpv-greg10_bu => ssc30kq_apfpv-greg_bu}/general/overlay/etc/network/interfaces.d/wlan0 (100%) rename devices/{ssc30kq_apfpv-greg10_bu => ssc30kq_apfpv-greg_bu}/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko (100%) rename devices/{ssc30kq_apfpv-greg10_bu => ssc30kq_apfpv-greg_bu}/general/overlay/usr/share/udhcpc/default.script (100%) rename devices/{ssc30kq_apfpv-greg10_bu => ssc30kq_apfpv-greg_bu}/general/overlay/var/www/cgi-bin/p/header.cgi (100%) rename devices/{ssc30kq_apfpv-greg10_bu/general/scripts/excludes/ssc30kq_apfpv-greg10.list => ssc30kq_apfpv-greg_bu/general/scripts/excludes/ssc30kq_apfpv-greg.list} (100%) rename devices/{ssc338q_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_defconfig => ssc338q_apfpv-greg/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg_defconfig} (97%) rename devices/{ssc338q_apfpv-greg10 => ssc338q_apfpv-greg}/general/overlay/etc/init.d/S40network (100%) rename devices/{ssc338q_apfpv-greg10 => ssc338q_apfpv-greg}/general/overlay/etc/init.d/S95majestic (100%) rename devices/{ssc338q_apfpv-greg10 => ssc338q_apfpv-greg}/general/overlay/etc/init.d/S99rc.local (100%) rename devices/{ssc338q_apfpv-greg10 => ssc338q_apfpv-greg}/general/overlay/etc/network/interfaces.d/wlan0 (100%) rename devices/{ssc338q_apfpv-greg10 => ssc338q_apfpv-greg}/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko (100%) rename devices/{ssc338q_apfpv-greg10 => ssc338q_apfpv-greg}/general/overlay/usr/share/udhcpc/default.script (100%) rename devices/{ssc338q_apfpv-greg10 => ssc338q_apfpv-greg}/general/overlay/var/www/cgi-bin/p/header.cgi (100%) rename devices/{ssc338q_apfpv-greg10/general/scripts/excludes/ssc338q_apfpv-greg10.list => ssc338q_apfpv-greg/general/scripts/excludes/ssc338q_apfpv-greg.list} (100%) rename devices/{ssc338q_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_bu_defconfig => ssc338q_apfpv-greg_bu/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg_bu_defconfig} (97%) rename devices/{ssc338q_apfpv-greg10_bu => ssc338q_apfpv-greg_bu}/general/overlay/etc/init.d/S40network (100%) rename devices/{ssc338q_apfpv-greg10_bu => ssc338q_apfpv-greg_bu}/general/overlay/etc/init.d/S95majestic (100%) rename devices/{ssc338q_apfpv-greg10_bu => ssc338q_apfpv-greg_bu}/general/overlay/etc/init.d/S99rc.local (100%) rename devices/{ssc338q_apfpv-greg10_bu => ssc338q_apfpv-greg_bu}/general/overlay/etc/network/interfaces.d/wlan0 (100%) rename devices/{ssc338q_apfpv-greg10_bu => ssc338q_apfpv-greg_bu}/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko (100%) rename devices/{ssc338q_apfpv-greg10_bu => ssc338q_apfpv-greg_bu}/general/overlay/usr/share/udhcpc/default.script (100%) rename devices/{ssc338q_apfpv-greg10_bu => ssc338q_apfpv-greg_bu}/general/overlay/var/www/cgi-bin/p/header.cgi (100%) rename devices/{ssc338q_apfpv-greg10_bu/general/scripts/excludes/ssc338q_apfpv-greg10.list => ssc338q_apfpv-greg_bu/general/scripts/excludes/ssc338q_apfpv-greg.list} (100%) rename devices/{ssc378qe_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg10_defconfig => ssc378qe_apfpv-greg/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg_defconfig} (97%) rename devices/{ssc378qe_apfpv-greg10 => ssc378qe_apfpv-greg}/general/overlay/etc/init.d/S40network (100%) rename devices/{ssc378qe_apfpv-greg10 => ssc378qe_apfpv-greg}/general/overlay/etc/init.d/S95majestic (100%) rename devices/{ssc378qe_apfpv-greg10 => ssc378qe_apfpv-greg}/general/overlay/etc/init.d/S99rc.local (100%) rename devices/{ssc378qe_apfpv-greg10 => ssc378qe_apfpv-greg}/general/overlay/etc/network/interfaces.d/wlan0 (100%) rename devices/{ssc378qe_apfpv-greg10 => ssc378qe_apfpv-greg}/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko (100%) rename devices/{ssc378qe_apfpv-greg10 => ssc378qe_apfpv-greg}/general/overlay/usr/share/udhcpc/default.script (100%) rename devices/{ssc378qe_apfpv-greg10 => ssc378qe_apfpv-greg}/general/overlay/var/www/cgi-bin/p/header.cgi (100%) rename devices/{ssc378qe_apfpv-greg10/general/scripts/excludes/ssc378qe_apfpv-greg10.list => ssc378qe_apfpv-greg/general/scripts/excludes/ssc378qe_apfpv-greg.list} (100%) diff --git a/devices/ssc30kq_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_defconfig b/devices/ssc30kq_apfpv-greg/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg_defconfig similarity index 97% rename from devices/ssc30kq_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_defconfig rename to devices/ssc30kq_apfpv-greg/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg_defconfig index c74dfa82d..880c0ab55 100644 --- a/devices/ssc30kq_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_defconfig +++ b/devices/ssc30kq_apfpv-greg/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg_defconfig @@ -42,7 +42,7 @@ BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y BR2_OPENIPC_SOC_VENDOR="sigmastar" BR2_OPENIPC_SOC_MODEL="ssc30kq" BR2_OPENIPC_SOC_FAMILY="infinity6e" -BR2_OPENIPC_VARIANT="apfpv-greg10" +BR2_OPENIPC_VARIANT="apfpv-greg" BR2_OPENIPC_FLASH_SIZE="16" # Packages @@ -63,7 +63,7 @@ BR2_PACKAGE_MAJESTIC_WEBUI=y BR2_PACKAGE_MAJESTIC=y BR2_PACKAGE_MBEDTLS_OPENIPC=y BR2_PACKAGE_MAVFWD=n -BR2_PACKAGE_APFPV_GREG10=y +BR2_PACKAGE_APFPV_GREG=y # BR2_PACKAGE_MSPOSD is not set BR2_PACKAGE_OPUS_OPENIPC=y BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y diff --git a/devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S40network b/devices/ssc30kq_apfpv-greg/general/overlay/etc/init.d/S40network similarity index 100% rename from devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S40network rename to devices/ssc30kq_apfpv-greg/general/overlay/etc/init.d/S40network diff --git a/devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S95majestic b/devices/ssc30kq_apfpv-greg/general/overlay/etc/init.d/S95majestic similarity index 100% rename from devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S95majestic rename to devices/ssc30kq_apfpv-greg/general/overlay/etc/init.d/S95majestic diff --git a/devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S99rc.local b/devices/ssc30kq_apfpv-greg/general/overlay/etc/init.d/S99rc.local similarity index 100% rename from devices/ssc30kq_apfpv-greg10/general/overlay/etc/init.d/S99rc.local rename to devices/ssc30kq_apfpv-greg/general/overlay/etc/init.d/S99rc.local diff --git a/devices/ssc30kq_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 b/devices/ssc30kq_apfpv-greg/general/overlay/etc/network/interfaces.d/wlan0 similarity index 100% rename from devices/ssc30kq_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 rename to devices/ssc30kq_apfpv-greg/general/overlay/etc/network/interfaces.d/wlan0 diff --git a/devices/ssc30kq_apfpv-greg10/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko b/devices/ssc30kq_apfpv-greg/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko similarity index 100% rename from devices/ssc30kq_apfpv-greg10/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko rename to devices/ssc30kq_apfpv-greg/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko diff --git a/devices/ssc30kq_apfpv-greg10/general/overlay/usr/share/udhcpc/default.script b/devices/ssc30kq_apfpv-greg/general/overlay/usr/share/udhcpc/default.script similarity index 100% rename from devices/ssc30kq_apfpv-greg10/general/overlay/usr/share/udhcpc/default.script rename to devices/ssc30kq_apfpv-greg/general/overlay/usr/share/udhcpc/default.script diff --git a/devices/ssc30kq_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi b/devices/ssc30kq_apfpv-greg/general/overlay/var/www/cgi-bin/p/header.cgi similarity index 100% rename from devices/ssc30kq_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi rename to devices/ssc30kq_apfpv-greg/general/overlay/var/www/cgi-bin/p/header.cgi diff --git a/devices/ssc30kq_apfpv-greg10/general/scripts/excludes/ssc30kq_apfpv-greg10.list b/devices/ssc30kq_apfpv-greg/general/scripts/excludes/ssc30kq_apfpv-greg.list similarity index 100% rename from devices/ssc30kq_apfpv-greg10/general/scripts/excludes/ssc30kq_apfpv-greg10.list rename to devices/ssc30kq_apfpv-greg/general/scripts/excludes/ssc30kq_apfpv-greg.list diff --git a/devices/ssc30kq_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_bu_defconfig b/devices/ssc30kq_apfpv-greg_bu/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg_bu_defconfig similarity index 97% rename from devices/ssc30kq_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_bu_defconfig rename to devices/ssc30kq_apfpv-greg_bu/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg_bu_defconfig index c52c109d8..aeb91015c 100644 --- a/devices/ssc30kq_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg10_bu_defconfig +++ b/devices/ssc30kq_apfpv-greg_bu/br-ext-chip-sigmastar/configs/ssc30kq_apfpv-greg_bu_defconfig @@ -42,7 +42,7 @@ BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y BR2_OPENIPC_SOC_VENDOR="sigmastar" BR2_OPENIPC_SOC_MODEL="ssc30kq" BR2_OPENIPC_SOC_FAMILY="infinity6e" -BR2_OPENIPC_VARIANT="apfpv-greg10" +BR2_OPENIPC_VARIANT="apfpv-greg" BR2_OPENIPC_FLASH_SIZE="16" # Packages @@ -63,7 +63,7 @@ BR2_PACKAGE_MAJESTIC_WEBUI=y BR2_PACKAGE_MAJESTIC=y BR2_PACKAGE_MBEDTLS_OPENIPC=y BR2_PACKAGE_MAVFWD=n -BR2_PACKAGE_APFPV_GREG10=y +BR2_PACKAGE_APFPV_GREG=y # BR2_PACKAGE_MSPOSD is not set BR2_PACKAGE_OPUS_OPENIPC=y BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y diff --git a/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S40network b/devices/ssc30kq_apfpv-greg_bu/general/overlay/etc/init.d/S40network similarity index 100% rename from devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S40network rename to devices/ssc30kq_apfpv-greg_bu/general/overlay/etc/init.d/S40network diff --git a/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S95majestic b/devices/ssc30kq_apfpv-greg_bu/general/overlay/etc/init.d/S95majestic similarity index 100% rename from devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S95majestic rename to devices/ssc30kq_apfpv-greg_bu/general/overlay/etc/init.d/S95majestic diff --git a/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S99rc.local b/devices/ssc30kq_apfpv-greg_bu/general/overlay/etc/init.d/S99rc.local similarity index 100% rename from devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/init.d/S99rc.local rename to devices/ssc30kq_apfpv-greg_bu/general/overlay/etc/init.d/S99rc.local diff --git a/devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/network/interfaces.d/wlan0 b/devices/ssc30kq_apfpv-greg_bu/general/overlay/etc/network/interfaces.d/wlan0 similarity index 100% rename from devices/ssc30kq_apfpv-greg10_bu/general/overlay/etc/network/interfaces.d/wlan0 rename to devices/ssc30kq_apfpv-greg_bu/general/overlay/etc/network/interfaces.d/wlan0 diff --git a/devices/ssc30kq_apfpv-greg10_bu/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko b/devices/ssc30kq_apfpv-greg_bu/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko similarity index 100% rename from devices/ssc30kq_apfpv-greg10_bu/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko rename to devices/ssc30kq_apfpv-greg_bu/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko diff --git a/devices/ssc30kq_apfpv-greg10_bu/general/overlay/usr/share/udhcpc/default.script b/devices/ssc30kq_apfpv-greg_bu/general/overlay/usr/share/udhcpc/default.script similarity index 100% rename from devices/ssc30kq_apfpv-greg10_bu/general/overlay/usr/share/udhcpc/default.script rename to devices/ssc30kq_apfpv-greg_bu/general/overlay/usr/share/udhcpc/default.script diff --git a/devices/ssc30kq_apfpv-greg10_bu/general/overlay/var/www/cgi-bin/p/header.cgi b/devices/ssc30kq_apfpv-greg_bu/general/overlay/var/www/cgi-bin/p/header.cgi similarity index 100% rename from devices/ssc30kq_apfpv-greg10_bu/general/overlay/var/www/cgi-bin/p/header.cgi rename to devices/ssc30kq_apfpv-greg_bu/general/overlay/var/www/cgi-bin/p/header.cgi diff --git a/devices/ssc30kq_apfpv-greg10_bu/general/scripts/excludes/ssc30kq_apfpv-greg10.list b/devices/ssc30kq_apfpv-greg_bu/general/scripts/excludes/ssc30kq_apfpv-greg.list similarity index 100% rename from devices/ssc30kq_apfpv-greg10_bu/general/scripts/excludes/ssc30kq_apfpv-greg10.list rename to devices/ssc30kq_apfpv-greg_bu/general/scripts/excludes/ssc30kq_apfpv-greg.list diff --git a/devices/ssc338q_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_defconfig b/devices/ssc338q_apfpv-greg/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg_defconfig similarity index 97% rename from devices/ssc338q_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_defconfig rename to devices/ssc338q_apfpv-greg/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg_defconfig index d813fcfd9..f007942c6 100644 --- a/devices/ssc338q_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_defconfig +++ b/devices/ssc338q_apfpv-greg/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg_defconfig @@ -42,7 +42,7 @@ BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y BR2_OPENIPC_SOC_VENDOR="sigmastar" BR2_OPENIPC_SOC_MODEL="ssc338q" BR2_OPENIPC_SOC_FAMILY="infinity6e" -BR2_OPENIPC_VARIANT="apfpv-greg10" +BR2_OPENIPC_VARIANT="apfpv-greg" BR2_OPENIPC_FLASH_SIZE="16" # Packages @@ -62,7 +62,7 @@ BR2_PACKAGE_MAJESTIC_WEBUI=y BR2_PACKAGE_MAJESTIC=y BR2_PACKAGE_MBEDTLS_OPENIPC=y BR2_PACKAGE_MAVFWD=y -BR2_PACKAGE_APFPV_GREG10=y +BR2_PACKAGE_APFPV_GREG=y # BR2_PACKAGE_MSPOSD is not set BR2_PACKAGE_OPUS_OPENIPC=y BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y diff --git a/devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S40network b/devices/ssc338q_apfpv-greg/general/overlay/etc/init.d/S40network similarity index 100% rename from devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S40network rename to devices/ssc338q_apfpv-greg/general/overlay/etc/init.d/S40network diff --git a/devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S95majestic b/devices/ssc338q_apfpv-greg/general/overlay/etc/init.d/S95majestic similarity index 100% rename from devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S95majestic rename to devices/ssc338q_apfpv-greg/general/overlay/etc/init.d/S95majestic diff --git a/devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S99rc.local b/devices/ssc338q_apfpv-greg/general/overlay/etc/init.d/S99rc.local similarity index 100% rename from devices/ssc338q_apfpv-greg10/general/overlay/etc/init.d/S99rc.local rename to devices/ssc338q_apfpv-greg/general/overlay/etc/init.d/S99rc.local diff --git a/devices/ssc338q_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 b/devices/ssc338q_apfpv-greg/general/overlay/etc/network/interfaces.d/wlan0 similarity index 100% rename from devices/ssc338q_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 rename to devices/ssc338q_apfpv-greg/general/overlay/etc/network/interfaces.d/wlan0 diff --git a/devices/ssc338q_apfpv-greg10/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko b/devices/ssc338q_apfpv-greg/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko similarity index 100% rename from devices/ssc338q_apfpv-greg10/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko rename to devices/ssc338q_apfpv-greg/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko diff --git a/devices/ssc338q_apfpv-greg10/general/overlay/usr/share/udhcpc/default.script b/devices/ssc338q_apfpv-greg/general/overlay/usr/share/udhcpc/default.script similarity index 100% rename from devices/ssc338q_apfpv-greg10/general/overlay/usr/share/udhcpc/default.script rename to devices/ssc338q_apfpv-greg/general/overlay/usr/share/udhcpc/default.script diff --git a/devices/ssc338q_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi b/devices/ssc338q_apfpv-greg/general/overlay/var/www/cgi-bin/p/header.cgi similarity index 100% rename from devices/ssc338q_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi rename to devices/ssc338q_apfpv-greg/general/overlay/var/www/cgi-bin/p/header.cgi diff --git a/devices/ssc338q_apfpv-greg10/general/scripts/excludes/ssc338q_apfpv-greg10.list b/devices/ssc338q_apfpv-greg/general/scripts/excludes/ssc338q_apfpv-greg.list similarity index 100% rename from devices/ssc338q_apfpv-greg10/general/scripts/excludes/ssc338q_apfpv-greg10.list rename to devices/ssc338q_apfpv-greg/general/scripts/excludes/ssc338q_apfpv-greg.list diff --git a/devices/ssc338q_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_bu_defconfig b/devices/ssc338q_apfpv-greg_bu/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg_bu_defconfig similarity index 97% rename from devices/ssc338q_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_bu_defconfig rename to devices/ssc338q_apfpv-greg_bu/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg_bu_defconfig index e50b1383c..8d84465d6 100644 --- a/devices/ssc338q_apfpv-greg10_bu/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg10_bu_defconfig +++ b/devices/ssc338q_apfpv-greg_bu/br-ext-chip-sigmastar/configs/ssc338q_apfpv-greg_bu_defconfig @@ -42,7 +42,7 @@ BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y BR2_OPENIPC_SOC_VENDOR="sigmastar" BR2_OPENIPC_SOC_MODEL="ssc338q" BR2_OPENIPC_SOC_FAMILY="infinity6e" -BR2_OPENIPC_VARIANT="apfpv-greg10" +BR2_OPENIPC_VARIANT="apfpv-greg" BR2_OPENIPC_FLASH_SIZE="16" # Packages @@ -62,7 +62,7 @@ BR2_PACKAGE_MAJESTIC_WEBUI=y BR2_PACKAGE_MAJESTIC=y BR2_PACKAGE_MBEDTLS_OPENIPC=y BR2_PACKAGE_MAVFWD=y -BR2_PACKAGE_APFPV_GREG10=y +BR2_PACKAGE_APFPV_GREG=y # BR2_PACKAGE_MSPOSD is not set BR2_PACKAGE_OPUS_OPENIPC=y BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y diff --git a/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S40network b/devices/ssc338q_apfpv-greg_bu/general/overlay/etc/init.d/S40network similarity index 100% rename from devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S40network rename to devices/ssc338q_apfpv-greg_bu/general/overlay/etc/init.d/S40network diff --git a/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S95majestic b/devices/ssc338q_apfpv-greg_bu/general/overlay/etc/init.d/S95majestic similarity index 100% rename from devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S95majestic rename to devices/ssc338q_apfpv-greg_bu/general/overlay/etc/init.d/S95majestic diff --git a/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S99rc.local b/devices/ssc338q_apfpv-greg_bu/general/overlay/etc/init.d/S99rc.local similarity index 100% rename from devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/init.d/S99rc.local rename to devices/ssc338q_apfpv-greg_bu/general/overlay/etc/init.d/S99rc.local diff --git a/devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/network/interfaces.d/wlan0 b/devices/ssc338q_apfpv-greg_bu/general/overlay/etc/network/interfaces.d/wlan0 similarity index 100% rename from devices/ssc338q_apfpv-greg10_bu/general/overlay/etc/network/interfaces.d/wlan0 rename to devices/ssc338q_apfpv-greg_bu/general/overlay/etc/network/interfaces.d/wlan0 diff --git a/devices/ssc338q_apfpv-greg10_bu/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko b/devices/ssc338q_apfpv-greg_bu/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko similarity index 100% rename from devices/ssc338q_apfpv-greg10_bu/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko rename to devices/ssc338q_apfpv-greg_bu/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko diff --git a/devices/ssc338q_apfpv-greg10_bu/general/overlay/usr/share/udhcpc/default.script b/devices/ssc338q_apfpv-greg_bu/general/overlay/usr/share/udhcpc/default.script similarity index 100% rename from devices/ssc338q_apfpv-greg10_bu/general/overlay/usr/share/udhcpc/default.script rename to devices/ssc338q_apfpv-greg_bu/general/overlay/usr/share/udhcpc/default.script diff --git a/devices/ssc338q_apfpv-greg10_bu/general/overlay/var/www/cgi-bin/p/header.cgi b/devices/ssc338q_apfpv-greg_bu/general/overlay/var/www/cgi-bin/p/header.cgi similarity index 100% rename from devices/ssc338q_apfpv-greg10_bu/general/overlay/var/www/cgi-bin/p/header.cgi rename to devices/ssc338q_apfpv-greg_bu/general/overlay/var/www/cgi-bin/p/header.cgi diff --git a/devices/ssc338q_apfpv-greg10_bu/general/scripts/excludes/ssc338q_apfpv-greg10.list b/devices/ssc338q_apfpv-greg_bu/general/scripts/excludes/ssc338q_apfpv-greg.list similarity index 100% rename from devices/ssc338q_apfpv-greg10_bu/general/scripts/excludes/ssc338q_apfpv-greg10.list rename to devices/ssc338q_apfpv-greg_bu/general/scripts/excludes/ssc338q_apfpv-greg.list diff --git a/devices/ssc378qe_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg10_defconfig b/devices/ssc378qe_apfpv-greg/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg_defconfig similarity index 97% rename from devices/ssc378qe_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg10_defconfig rename to devices/ssc378qe_apfpv-greg/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg_defconfig index c1527e3a5..1752489a1 100644 --- a/devices/ssc378qe_apfpv-greg10/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg10_defconfig +++ b/devices/ssc378qe_apfpv-greg/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg_defconfig @@ -40,7 +40,7 @@ BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y BR2_OPENIPC_SOC_VENDOR="sigmastar" BR2_OPENIPC_SOC_MODEL="ssc378qe" BR2_OPENIPC_SOC_FAMILY="infinity6c" -BR2_OPENIPC_VARIANT="apfpv-greg10" +BR2_OPENIPC_VARIANT="apfpv-greg" BR2_OPENIPC_FLASH_SIZE="16" # Packages @@ -61,7 +61,7 @@ BR2_PACKAGE_MAJESTIC_WEBUI=y BR2_PACKAGE_MAJESTIC=y BR2_PACKAGE_MBEDTLS_OPENIPC=y BR2_PACKAGE_MAVFWD=y -BR2_PACKAGE_APFPV_GREG10=y +BR2_PACKAGE_APFPV_GREG=y # BR2_PACKAGE_MSPOSD is not set BR2_PACKAGE_OPUS_OPENIPC=y BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y diff --git a/devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S40network b/devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S40network similarity index 100% rename from devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S40network rename to devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S40network diff --git a/devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S95majestic b/devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S95majestic similarity index 100% rename from devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S95majestic rename to devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S95majestic diff --git a/devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S99rc.local b/devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S99rc.local similarity index 100% rename from devices/ssc378qe_apfpv-greg10/general/overlay/etc/init.d/S99rc.local rename to devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S99rc.local diff --git a/devices/ssc378qe_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 b/devices/ssc378qe_apfpv-greg/general/overlay/etc/network/interfaces.d/wlan0 similarity index 100% rename from devices/ssc378qe_apfpv-greg10/general/overlay/etc/network/interfaces.d/wlan0 rename to devices/ssc378qe_apfpv-greg/general/overlay/etc/network/interfaces.d/wlan0 diff --git a/devices/ssc378qe_apfpv-greg10/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko b/devices/ssc378qe_apfpv-greg/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko similarity index 100% rename from devices/ssc378qe_apfpv-greg10/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko rename to devices/ssc378qe_apfpv-greg/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko diff --git a/devices/ssc378qe_apfpv-greg10/general/overlay/usr/share/udhcpc/default.script b/devices/ssc378qe_apfpv-greg/general/overlay/usr/share/udhcpc/default.script similarity index 100% rename from devices/ssc378qe_apfpv-greg10/general/overlay/usr/share/udhcpc/default.script rename to devices/ssc378qe_apfpv-greg/general/overlay/usr/share/udhcpc/default.script diff --git a/devices/ssc378qe_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi b/devices/ssc378qe_apfpv-greg/general/overlay/var/www/cgi-bin/p/header.cgi similarity index 100% rename from devices/ssc378qe_apfpv-greg10/general/overlay/var/www/cgi-bin/p/header.cgi rename to devices/ssc378qe_apfpv-greg/general/overlay/var/www/cgi-bin/p/header.cgi diff --git a/devices/ssc378qe_apfpv-greg10/general/scripts/excludes/ssc378qe_apfpv-greg10.list b/devices/ssc378qe_apfpv-greg/general/scripts/excludes/ssc378qe_apfpv-greg.list similarity index 100% rename from devices/ssc378qe_apfpv-greg10/general/scripts/excludes/ssc378qe_apfpv-greg10.list rename to devices/ssc378qe_apfpv-greg/general/scripts/excludes/ssc378qe_apfpv-greg.list From d80320d3b245d0af965d815d09afbba9727b30a6 Mon Sep 17 00:00:00 2001 From: sickgreg Date: Wed, 4 Mar 2026 18:35:08 +1100 Subject: [PATCH 3/4] Drop ssc378qe APFPV Greg target --- .../configs/ssc378qe_apfpv-greg_defconfig | 73 ---------- .../general/overlay/etc/init.d/S40network | 22 --- .../general/overlay/etc/init.d/S95majestic | 62 --------- .../general/overlay/etc/init.d/S99rc.local | 41 ------ .../overlay/etc/network/interfaces.d/wlan0 | 6 - .../4.9.84/sigmastar/sensor_imx415_mipi.ko | Bin 28048 -> 0 bytes .../overlay/usr/share/udhcpc/default.script | 127 ------------------ .../overlay/var/www/cgi-bin/p/header.cgi | 117 ---------------- .../scripts/excludes/ssc378qe_apfpv-greg.list | 4 - 9 files changed, 452 deletions(-) delete mode 100644 devices/ssc378qe_apfpv-greg/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg_defconfig delete mode 100755 devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S40network delete mode 100755 devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S95majestic delete mode 100755 devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S99rc.local delete mode 100755 devices/ssc378qe_apfpv-greg/general/overlay/etc/network/interfaces.d/wlan0 delete mode 100644 devices/ssc378qe_apfpv-greg/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko delete mode 100755 devices/ssc378qe_apfpv-greg/general/overlay/usr/share/udhcpc/default.script delete mode 100755 devices/ssc378qe_apfpv-greg/general/overlay/var/www/cgi-bin/p/header.cgi delete mode 100644 devices/ssc378qe_apfpv-greg/general/scripts/excludes/ssc378qe_apfpv-greg.list diff --git a/devices/ssc378qe_apfpv-greg/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg_defconfig b/devices/ssc378qe_apfpv-greg/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg_defconfig deleted file mode 100644 index 1752489a1..000000000 --- a/devices/ssc378qe_apfpv-greg/br-ext-chip-sigmastar/configs/ssc378qe_apfpv-greg_defconfig +++ /dev/null @@ -1,73 +0,0 @@ -# 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-ssc027d.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_IW=y -BR2_PACKAGE_WPA_SUPPLICANT=y -BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=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="ssc378qe" -BR2_OPENIPC_SOC_FAMILY="infinity6c" -BR2_OPENIPC_VARIANT="apfpv-greg" -BR2_OPENIPC_FLASH_SIZE="16" - -# 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_LINUX_PATCHER_SIGMASTAR_DTB="infinity6c-ssc027d-s01a-demo" -BR2_PACKAGE_MAJESTIC_FONTS=y -BR2_PACKAGE_MAJESTIC_WEBUI=y -BR2_PACKAGE_MAJESTIC=y -BR2_PACKAGE_MBEDTLS_OPENIPC=y -BR2_PACKAGE_MAVFWD=y -BR2_PACKAGE_APFPV_GREG=y -# BR2_PACKAGE_MSPOSD is not set -BR2_PACKAGE_OPUS_OPENIPC=y -BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y -BR2_PACKAGE_RTL8812AU=y -BR2_PACKAGE_RTL88X2EU_OPENIPC=y -BR2_PACKAGE_RTL8733BU_OPENIPC=y -BR2_PACKAGE_SIGMASTAR_OSDRV_INFINITY6C=y -BR2_PACKAGE_VTUND_OPENIPC=y -BR2_PACKAGE_YAML_CLI=y diff --git a/devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S40network b/devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S40network deleted file mode 100755 index 19f7be166..000000000 --- a/devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S40network +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -case "$1" in - start) - echo "Starting network..." - ifup lo - ifup eth0 - ifup wlan0 - ;; - - stop) - echo "Stopping network..." - ifdown lo - ifdown -f eth0 - ifdown -f wlan0 - ;; - - *) - echo "Usage: $0 {start|stop}" - exit 1 - ;; -esac diff --git a/devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S95majestic b/devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S95majestic deleted file mode 100755 index 45d908d2f..000000000 --- a/devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S95majestic +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/sh - -. /etc/init.d/libmedia.sh - -DAEMON="/usr/bin/majestic" -NAME="majestic" -PIDFILE="/var/run/majestic.pid" - -start() { - echo "Starting $NAME..." - if ensure_pidfile "$NAME" "$PIDFILE"; then - echo "$NAME is already running" - return 0 - fi - - rm -f "$PIDFILE" - start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "$DAEMON" -- -s - if [ $? -ne 0 ]; then - echo "Failed to launch $NAME" - return 1 - fi - echo "$NAME launch requested" -} - -stop() { - echo "Stopping $NAME..." - stop_service "$NAME" "$PIDFILE" 15 || return 1 - # Majestic keeps internal single-instance state briefly after exit. - sleep 2 -} - -status() { - if ensure_pidfile "$NAME" "$PIDFILE"; then - echo "$NAME running pid=$(cat "$PIDFILE")" - return 0 - fi - echo "$NAME stopped" - return 1 -} - -reload() { - ensure_pidfile "$NAME" "$PIDFILE" || { - echo "$NAME not running" - return 1 - } - kill -HUP "$(cat "$PIDFILE")" -} - -restart() { - stop - start -} - -case "$1" in - start|stop|restart|reload|status) - "$1" - ;; - *) - echo "Usage: $0 {start|stop|restart|reload|status}" - exit 1 - ;; -esac diff --git a/devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S99rc.local b/devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S99rc.local deleted file mode 100755 index 0e20120de..000000000 --- a/devices/ssc378qe_apfpv-greg/general/overlay/etc/init.d/S99rc.local +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh - -MAJESTIC_API="http://localhost/api/v1/config.json" - -wait_for_majestic_ready() { - timeout="${1:-30}" - i=0 - while [ "$i" -lt "$timeout" ]; do - curl -sf --connect-timeout 1 --max-time 2 "$MAJESTIC_API" >/dev/null 2>&1 && return 0 - sleep 1 - i=$((i + 1)) - done - return 1 -} - -start() { - echo "S99rc.local: waiting for majestic API..." - if ! wait_for_majestic_ready 10; then - echo "S99rc.local: majestic API not ready after 10s; continuing with /etc/rc.local anyway" - else - echo "S99rc.local: majestic API ready" - fi - echo "S99rc.local: running /etc/rc.local" - /etc/rc.local -} - -stop() { - [ -x /etc/rc.local.stop ] && /etc/rc.local.stop -} - -case "$1" in - start|stop) - "$1" - ;; - *) - echo "Usage: $0 {start|stop}" - exit 1 - ;; -esac - -exit $? diff --git a/devices/ssc378qe_apfpv-greg/general/overlay/etc/network/interfaces.d/wlan0 b/devices/ssc378qe_apfpv-greg/general/overlay/etc/network/interfaces.d/wlan0 deleted file mode 100755 index d73c769f0..000000000 --- a/devices/ssc378qe_apfpv-greg/general/overlay/etc/network/interfaces.d/wlan0 +++ /dev/null @@ -1,6 +0,0 @@ -iface wlan0 inet static - address 192.168.0.1 - netmask 255.255.255.0 - pre-up adapter setup - post-up adapter start - post-down adapter stop diff --git a/devices/ssc378qe_apfpv-greg/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko b/devices/ssc378qe_apfpv-greg/general/overlay/lib/modules/4.9.84/sigmastar/sensor_imx415_mipi.ko deleted file mode 100644 index c90d54c885b0b744903e223eb6de5201b661def1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28048 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

UzK`G6&4bq*GM_^zD9%|_gAU6U*SO_ z^wO}YBg;pegmxrCpZl$pcM=ir0Ts@DR)+6Z;onu^11kK43WuqP_++l;17kFy6aRvJ zC*lN6u7$@ZXkrcdJNVX+n4}2~x%jb~+^?kGUF6W)O1uhx@rpQ66T6h&vnu>06@FBO zp8(4H1kt96(?rx`h=}r^C)zdR3lM~0^eFTx>{QsLaI3=Y3U?^nsc^T# z9)$-L9#MEyVV}a|3I`OPR5+wCppfk)+ktH{8TWbeD71$PN7qS?snBQ_g}TB_g${-J z3JVpMDXdhuUSW+wk3yfqPK8|xw<_GOaEHR33U@2)QFu@x_f}btBZ~JbepK;3g~t^R zC_JffNFiE9%)v90bg&b;Ie12r4tx(hw8vu#r5%E2AU?xcP9pOqGF@T{pT~fO3Ox$9 zD`fh#cT_>x&{=WBahlxE;{48WNqLHrPgn8`VjTa^F@}7ek~@e~G?7mfnsGJ<@e7rF znUb$0rf71%km;{g^7TqyL&Sl|dLrZ=BFe|1$MpTgF{+%XpDZVk_GiP<@K;&?OCZ_p zcQj)O3FvP#&|~^qTK(?qjV&G78+ej;J`UDrW6vhr@9y*)KE8!mDA(l_#hLYNs4-ne zF{rn`6SS3o6pOj#WakJafns(b)9?UB&gGhmqoyf+!68^ANt1OOs5jBd& z(ilG06mLhHT3hPe+1B^D><#VhA{z?_&2BvOXUk^6|Kn$VyT7(>lTiiyt*AEdh7Lde zG}P!F9+w162zFpNCxCWix+vwz1){qIx>-8fKw^p_08=j;emnw6TcUL7t$6N0B<`Ox z59-l={|_!}dLE?3`Nni+die;jrnhYa#xcT}9(Bz0o`>I>UK5_P%MfNdGd(;Og{8L= z&!alRm>%n9rgszkOwVkW{Ya1F#&l+SZUjKjcaIXBfL;IrW;|1`7IJGnnvicMl$bBW z&3t|EGhenh-LKF=SDA@{Q^xCVg{J6_*C4>+s6)2{7yQBUorWIU-z=Aj4revfxlAP>#PZ5jdZy@p=vf{0=!)S%o<4&K zLA{Te1Ze6JP1~dRAoO - -# Changes by OpenIPC 2021 -# -# - move resolv.conf path to /tmp -# - remove interface notes from resolv.conf - - -[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 - -RESOLV_CONF="/tmp/resolv.conf" -[ -e $RESOLV_CONF ] || touch $RESOLV_CONF -[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" -[ -n "$subnet" ] && NETMASK="netmask $subnet" -# Handle stateful DHCPv6 like DHCPv4 -[ -n "$ipv6" ] && ip="$ipv6/128" - -[ -z "${IF_WAIT_DELAY}" ] && IF_WAIT_DELAY=10 - -wait_for_ipv6_default_route() { - printf "Waiting for IPv6 default route to appear" - while [ $IF_WAIT_DELAY -gt 0 ]; do - if ip -6 route list | grep -q default; then - printf "\n" - return - fi - sleep 1 - printf "." - : $((IF_WAIT_DELAY -= 1)) - done - printf " timeout!\n" -} - -case "$1" in - deconfig) - /sbin/ifconfig $interface up - /sbin/ifconfig $interface 0.0.0.0 - - # drop info from this interface - # resolv.conf may be a symlink to /tmp/, so take care - TMPFILE=$(mktemp) - grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE - cat $TMPFILE > $RESOLV_CONF - rm -f $TMPFILE - - if [ -x /usr/sbin/avahi-autoipd ]; then - /usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface - fi - - if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then - /usr/bin/adapter route - fi - ;; - - leasefail|nak) - if [ -x /usr/sbin/avahi-autoipd ]; then - /usr/sbin/avahi-autoipd -c $interface || /usr/sbin/avahi-autoipd -wD $interface --no-chroot - fi - /sbin/ifconfig $interface $(fw_printenv -n ipaddr || echo -n 192.168.1.10) netmask $(fw_printenv -n netmask || echo -n 255.255.255.0) up - - if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then - /usr/bin/adapter route - fi - ;; - - renew|bound) - if [ -x /usr/sbin/avahi-autoipd ]; then - /usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface - fi - /sbin/ifconfig $interface $ip $BROADCAST $NETMASK - if [ -n "$ipv6" ] ; then - wait_for_ipv6_default_route - fi - - if [ -n "$router" ] ; then - echo "deleting routers" - while route del default gw 0.0.0.0 dev $interface 2> /dev/null; do - : - done - - for i in $router ; do - route add default gw $i dev $interface - done - fi - - # drop info from this interface - # resolv.conf may be a symlink to /tmp/, so take care - #TMPFILE=$(mktemp) - #grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE - #cat $TMPFILE > $RESOLV_CONF - #rm -f $TMPFILE - - # Clearing the file because it is in RAM - > $RESOLV_CONF - - # prefer rfc3397 domain search list (option 119) if available - if [ -n "$search" ]; then - search_list=$search - elif [ -n "$domain" ]; then - search_list=$domain - fi - - [ -n "$search_list" ] && - echo "search $search_list" >> $RESOLV_CONF - - for i in $dns ; do - echo adding dns $i - echo "nameserver $i" >> $RESOLV_CONF - done - - ntpd -q -N -n - - if [ "$interface" = "eth0" ] && [ -x /usr/bin/adapter ]; then - /usr/bin/adapter route - fi - ;; -esac - -HOOK_DIR="$0.d" -for hook in "${HOOK_DIR}/"*; do - [ -f "${hook}" -a -x "${hook}" ] || continue - "${hook}" "${@}" -done - -exit 0 diff --git a/devices/ssc378qe_apfpv-greg/general/overlay/var/www/cgi-bin/p/header.cgi b/devices/ssc378qe_apfpv-greg/general/overlay/var/www/cgi-bin/p/header.cgi deleted file mode 100755 index b3015341b..000000000 --- a/devices/ssc378qe_apfpv-greg/general/overlay/var/www/cgi-bin/p/header.cgi +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/haserl -Content-type: text/html; charset=UTF-8 -Cache-Control: no-store -Pragma: no-cache - - - - - - - <% html_title %> - - - - - - - -

- -
-
-
-
-
-
-
- -
- <%= $(signature) %> -
- -
-
-
-
-
-
- -<% if [ -z "$network_gateway" ]; then %> -
-

Internet connection not available, please check your network settings.

-
-<% fi %> - -<% if [ ! -e $(get_config) ]; then %> -
-

Majestic configuration not found, please check your Majestic settings.

-
-<% fi %> - -<% if [ "$(cat /etc/TZ)" != "$TZ" ] || [ -e /tmp/system-reboot ]; then %> -
-

Warning.

-

System settings have been updated, restart to apply pending changes.

- - Restart camera - -
-<% fi %> - -

<%= $page_title %>

-<% log_read %> diff --git a/devices/ssc378qe_apfpv-greg/general/scripts/excludes/ssc378qe_apfpv-greg.list b/devices/ssc378qe_apfpv-greg/general/scripts/excludes/ssc378qe_apfpv-greg.list deleted file mode 100644 index 9ad6dfb24..000000000 --- a/devices/ssc378qe_apfpv-greg/general/scripts/excludes/ssc378qe_apfpv-greg.list +++ /dev/null @@ -1,4 +0,0 @@ -/etc/sensors/gc4653.bin -/etc/sensors/os04a10.bin -/etc/sensors/sc401ai.bin -/etc/sensors/sc830ai.bin From 7de0e17fa1acd9ac8a42e4bb2a3d82acbf532a7f Mon Sep 17 00:00:00 2001 From: sickgreg Date: Thu, 5 Mar 2026 12:23:14 +1100 Subject: [PATCH 4/4] Add APFPV Greg targets to CI build matrix --- .github/workflows/master.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index b46132071..2a834071b 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -101,6 +101,10 @@ jobs: # APFPV - ssc338q_apfpv - ssc378qe_apfpv + - ssc30kq_apfpv-greg + - ssc30kq_apfpv-greg_bu + - ssc338q_apfpv-greg + - ssc338q_apfpv-greg_bu # FPV - hi3516ev200_fpv