diff --git a/projects/msc313e_lite_baresip/br-ext-chip-sigmastar/configs/msc313e_lite_baresip_defconfig b/projects/msc313e_lite_baresip/br-ext-chip-sigmastar/configs/msc313e_lite_baresip_defconfig index 2c7487d..f5360a4 100644 --- a/projects/msc313e_lite_baresip/br-ext-chip-sigmastar/configs/msc313e_lite_baresip_defconfig +++ b/projects/msc313e_lite_baresip/br-ext-chip-sigmastar/configs/msc313e_lite_baresip_defconfig @@ -110,6 +110,7 @@ BR2_PACKAGE_LIBREM_OPENIPC=y BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING=y BR2_PACKAGE_ALSA_LIB=y BR2_PACKAGE_ALSA_UTILS=y +# BR2_PACKAGE_ALSA_UTILS_ALSACTL is not set BR2_PACKAGE_ALSA_UTILS_AMIXER=y # MQTT diff --git a/projects/t31_lite_convoy/br-ext-chip-ingenic/configs/t31_lite_convoy_defconfig b/projects/t31_lite_convoy/br-ext-chip-ingenic/configs/t31_lite_convoy_defconfig new file mode 100644 index 0000000..226ca30 --- /dev/null +++ b/projects/t31_lite_convoy/br-ext-chip-ingenic/configs/t31_lite_convoy_defconfig @@ -0,0 +1,107 @@ +# Architecture +BR2_mipsel=y +BR2_mips_xburst=y +# BR2_MIPS_SOFT_FLOAT is not set +BR2_MIPS_FP32_MODE_32=y +# BR2_MIPS_FP32_MODE_XX is not set +BR2_MIPS_NAN_LEGACY=y +BR2_MIPS_OABI32=y +BR2_KERNEL_HEADERS_VERSION=y +BR2_DEFAULT_KERNEL_VERSION="3.10.14" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y + +# Toolchain +BR2_PER_PACKAGE_DIRECTORIES=y +BR2_GCC_VERSION_8_X=y +# BR2_TOOLCHAIN_USES_UCLIBC is not set +# BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set +# BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc" +BR2_EXTRA_GCC_CONFIG_OPTIONS="--with-float=hard" +BR2_TOOLCHAIN_USES_MUSL=y +BR2_TOOLCHAIN_BUILDROOT_MUSL=y +BR2_TOOLCHAIN_BUILDROOT_LIBC="musl" +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y +BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.10.14" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_VENDOR_PATH)/board/t31/kernel/t31.generic.config" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_LZMA=y +BR2_LINUX_KERNEL_EXT_VENDOR_PATCHER=y + +# Filesystem +# BR2_TARGET_TZ_INFO is not set +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_SQUASHFS=y +BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_GENERAL_PATH)/overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_SCRIPTS_PATH)/executing_commands_for_$(BR2_TOOLCHAIN_BUILDROOT_LIBC).sh" + +# OpenIPC configuration +BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc" +BR2_TARGET_GENERIC_ISSUE="Welcome to Convoy Technologies" +BR2_TARGET_GENERIC_HOSTNAME="convoy-t31" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_GENERAL_PATH)/package/all-patches" + +# OpenIPC packages +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_GENERAL_PATH)/package/busybox/busybox.config" +BR2_PACKAGE_DROPBEAR_OPENIPC=y +# BR2_PACKAGE_FDK_AAC_OPENIPC is not set +BR2_PACKAGE_FWPRINTENV_OPENIPC=y +BR2_PACKAGE_INGENIC_OSDRV_T31=y +BR2_PACKAGE_HASERL=y +# BR2_PACKAGE_HISI_GPIO is not set +BR2_PACKAGE_IPCTOOL=y +BR2_PACKAGE_JSON_C=y +BR2_PACKAGE_JSONFILTER=y +BR2_PACKAGE_LIBCURL_OPENIPC=y +BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y +# BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set +BR2_PACKAGE_LIBCURL_OPENIPC_MBEDTLS=y +BR2_PACKAGE_LIBEVENT_OPENIPC=y +BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT=y +BR2_PACKAGE_LIBOGG_OPENIPC=y +BR2_PACKAGE_LIBYAML=y +BR2_PACKAGE_MAJESTIC_FONTS=y +BR2_PACKAGE_MAJESTIC=y +BR2_PACKAGE_MBEDTLS_OPENIPC=y +# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set +# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set +BR2_PACKAGE_MICROBE_WEB=y +# BR2_PACKAGE_MINI_SNMPD is not set +BR2_PACKAGE_MOTORS=y +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +# BR2_PACKAGE_SSHPASS is not set +BR2_PACKAGE_UACME_OPENIPC=y +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y +BR2_PACKAGE_QUIRC_OPENIPC=y + +# WiFi +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y +BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y +# BR2_PACKAGE_RTL8188EU is not set + +# WIREGUARD +BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y +BR2_PACKAGE_WIREGUARD_TOOLS=y + +# DEBUG +BR2_PACKAGE_HOST_GDB=y +BR2_PACKAGE_GDB=y + +BR2_PACKAGE_ZLIB=y diff --git a/projects/t31_lite_convoy/general/overlay/etc/composer.ini b/projects/t31_lite_convoy/general/overlay/etc/composer.ini new file mode 100644 index 0000000..8e6afdb --- /dev/null +++ b/projects/t31_lite_convoy/general/overlay/etc/composer.ini @@ -0,0 +1,2 @@ +# +composer_message="This firmware was created with the Composer project." diff --git a/projects/t31_lite_convoy/general/overlay/var/www/cgi-bin/p/header.cgi b/projects/t31_lite_convoy/general/overlay/var/www/cgi-bin/p/header.cgi new file mode 100755 index 0000000..5802ac7 --- /dev/null +++ b/projects/t31_lite_convoy/general/overlay/var/www/cgi-bin/p/header.cgi @@ -0,0 +1,201 @@ +#!/usr/bin/haserl +Content-type: text/html; charset=UTF-8 +Date: <%= $(TZ=GMT0 date +'%a, %d %b %Y %T %Z') %> +Server: <%= $SERVER_SOFTWARE %> +Cache-Control: no-store +Pragma: no-cache + + + + + + +<% html_title %> + + + + + + +"> + + +
+
+
+
+
+
+
+
+ <%= $(signature) %> +
+
+
+
+
+
+<% if [ -z "$network_gateway" ]; then %> +
+

No Internet connection. Please check your network settings.

+
+<% fi %> + +<% if [ "$network_macaddr" = "00:00:23:34:45:66" ]; then %> +<%in p/mac-address.cgi %> +<% fi %> + +<% if [ "true" = "$openwall_socks5_enabled" ] || [ "true" = "$telegram_socks5_enabled" ] || [ "true" = "$yadisk_socks5_enabled" ]; then + if [ -z "$socks5_host" ] || [ -z "$socks5_port" ]; then %> +
+

You want to use SOCKS5 proxy but it is not configured! Please configure the proxy.

+
+<% fi; fi %> + +<% if [ "true" = "$speaker_enabled" ] && [ "true" != "$(yaml-cli -g .audio.enabled)" ]; then %> +
+

You need to enable audio in Majestic settings.

+
+<% fi %> + +<% if [ "$(cat /etc/TZ)" != "$TZ" ]; then %> +
+

$TZ variable in system environment needs updating!

+ +Reboot camera +See timezone settings + +
+<% fi %> + +<% if [ -f /tmp/network-restart.txt ]; then %> +
+

Network settings have been updated. Restart to apply changes.

+ +Reboot camera +See network settings + +
+<% fi %> + +<% if [ -f /tmp/coredump-restart.txt ]; then %> +
+

Majestic debugging settings have been updated. Restart to apply changes.

+ +Reboot camera +See debugging settings + +
+<% fi %> + +<% if [ -f /tmp/motionguard-restart.txt ]; then %> +
+

Changes to motion guard configuration detected. Please restart camera to apply the changes.

+ +Reboot camera +See motion guard settings + +
+<% fi %> + +

<%= $page_title %>

+<% flash_read %> + +. diff --git a/projects/t31_lite_convoy/general/overlay/var/www/cgi-bin/p/mj.cgi b/projects/t31_lite_convoy/general/overlay/var/www/cgi-bin/p/mj.cgi new file mode 100755 index 0000000..cf75ed8 --- /dev/null +++ b/projects/t31_lite_convoy/general/overlay/var/www/cgi-bin/p/mj.cgi @@ -0,0 +1,141 @@ +# line format: parameter|label|units|type|o,p,t,i,o,n,s|placeholder|hint +# line format: parameter|type +mj_retired=" +.system.sensorConfigDir|Path to sensors config directory||string||/etc/sensors| +.system.updateChannel|Channel to use for updates||select|testing,beta,stable,none|stable| +.isp.alignWidth|Align width||number||8| +.isp.threadStackSize|Thread stack size|KB|number|1-32|16| +.motionDetect.profile|Motion detection profile||select|outdoor,indoor|outdoor| +.raw.enabled|Enable raw feed support||boolean|true,false|false| +.raw.mode|Raw feed mode||select|slow,fast,none|slow| +" + +# line format: parameter|label|units|type|o,p,t,i,o,n,s|placeholder|hint +# number options: min,max,step +# range options: min,max,step[,button] +# select options: value2,value2,value3... +mj=" +.system.logLevel|Severity of logging||select|ERROR,WARN,INFO,DEBUG,TRACE|TRACE|Used for syslog messages. +.system.webAdmin|Serve Web Admin via Majestic||boolean|enabled,disabled|disabled|Experimental! Disable on camera with public access. +.system.staticDir|Home directory for static files||string||/var/www/html| +.system.webPort|Port for HTTP access||number|1,65535,1|80| +.system.httpsPort|Port for HTTPS access||number|1,65535,1|443| +.system.httpsCertificate|Path to public SSL certificate||string||/etc/ssl/certs/www.example.com.crt| +.system.httpsCertificateKey|Path to private SSL key||string||/etc/ssl/private/www.example.com.key| +.system.buffer|Maximum buffer size|KB|number||1024|per client +.isp.sensorConfig|Path to sensor configuration file||string||/etc/sensors/imx222_1080p_line.ini|Upload your own driver and config +.isp.memMode|Memory mode||select|normal,reduction|reduction| +.isp.slowShutter|Slow shutter||select|disabled,low,medium,high|low|Automatic frame rate reduction mode. +.isp.antiFlicker|Anti-flicker||select|disabled,50,60|disabled|Usually, the utility frequency in your grid line. +.isp.blkCnt|Block count||number|1,32,1|4|Use 4 for small memory systems, 10+ for performant SoCs. +.isp.exposure|Sensor exposure time|µs|number|1,500000,1,auto|auto|From 1 to 500,000. +.isp.aGain|Sensor analog gain||number|1,10000,1|1| +.isp.dGain|Sensor digital gain||number|1,10000,1|1| +.isp.ispGain|ISP gain||number|1,10000,1|1| +.isp.drc|Dynamic Range Compression (DRC) rate|:1|number|1,1000,1|300| +.isp.lowDelay|Low delay mode||boolean|true,false|false|May break sophisticated settings. +.isp.rawMode|Raw feed mode||select|slow,fast,none|none| +.isp.iqProfile|Path to PQTools binary profile||string||| +.image.mirror|Flip image horizontally||boolean|true,false|false| +.image.flip|Flip image vertically||boolean|true,false|false| +.image.rotate|Rotate image clockwise, °||select|0,90,270|0| +.image.contrast|Image contrast|%|range|1,100,1,auto|auto| +.image.hue|Image hue|%|range|1,100,1|50| +.image.saturation|Image saturation|%|range|1,100,1|50| +.image.luminance|Image luminance|%|range|1,100,1,auto|auto| +.osd.enabled|Enable On-Screen Display (OSD)||boolean|true,false|false| +.osd.font|Path to font file used in OSD||string||/usr/share/fonts/truetype/UbuntuMono-Regular.ttf| +.osd.template|OSD template||string||%a %e %B %Y %H:%M:%S %Z|Supports strftime() format. +.osd.corner|OSD preset position||select|tl:Top Left,tr:Top Right,bl:Bottom Left,br:Bottom Right|br| +.osd.posX|Horizontal position of OSD|px|number|-2000,2000,2|-100| +.osd.posY|Vertical position of OSD|px|number|-2000,2000,2|-100| +.osd.privacyMasks|Privacy masks|px|string||0x0x234x640,2124x0x468x1300|Coordinates of masked areas separated by commas. +.nightMode.enabled|Enable night mode||boolean|true,false|false| +.nightMode.irSensorPin|GPIO pin of signal from IR sensor||number|0,255,1|62| +.nightMode.irSensorPinInvert|IR sensor signal is inverted||boolean|true,false|false| +.nightMode.irCutPin1|GPIO pin1 of signal for IRcut filter||number|0,255,1|1| +.nightMode.irCutPin2|GPIO pin2 of signal for IRcut filter||number|0,255,1|2| +.nightMode.dncDelay|Delay before toggling Day/Night mode||range|1,60,1|20| +.nightMode.backlightPin|GPIO pin to turn on night mode illumination||number|1,255,1|65| +.nightMode.nightAPI|Use night mode API||boolean|true,false|false| +.nightMode.drcOverride|Dynamic Range Compression (DRC) in night mode||number|1,1000,1|300| +.records.enabled|Enable saving records||boolean|true,false|false| +.records.path|Template for saving video records||string||/mnt/mmc/%Y/%m/%d/%H.mp4|Supports strftime() format. +.records.maxUsage|Limit of available space usage|%|range|1,100,1|95| +.records.timelapseInterval|Timelapse capture interval|sec|number|1,65355,1|5|in seconds +.records.timelapseFrameRate|Timelapse output file framerate|fps|number|1,100,1|2|in frames per second +.video0.enabled|Enable Video0||boolean|true,false|true| +.video0.codec|Video0 codec||select|h264,h265|h264| +.video0.size|Video resolution|px|string|1920x1080,1280x720,704x576|1920x1080| +.video0.fps|Video frame rate|fps|number|1,60,1|25| +.video0.bitrate|Video bitrate|kbps|number|1,68000,1|4096| +.video0.gopSize|Send I-frames each 1 second||number|0.1,20,0.1|1| +.video0.gopMode|Group of Pictures (GOP) mode||select|normal,dual,smart|normal| +.video0.rcMode|RC mode||select|avbr,cbr,vbr|avbr| +.video0.crop|Crop video to size|px|string||0x0x960x540| +.video0.sliceUnits|Number of slices per frame||number|1,10,1|4 +.video1.enabled|Enable Video1||boolean|true,false|false| +.video1.codec|Video1 codec||select|h264,h265|h264| +.video1.size|Video1 resolution|px|string|1920x1080,1280x720,704x576|704x576| +.video1.fps|Video1 frame rate|fps|number|1,60,1|15| +.video1.bitrate|Video1 bitrate|kbps|number|1,68000,1|2048| +.video1.gopSize|Send I-frame each 1 second||number|1,20,1|1| +.video1.gopMode|GOP mode||select|normal,dual,smart|normal| +.video1.rcMode|RC mode||select|avbr|avbr| +.video1.crop|Crop video to size|px|string||0x0x960x540| +.video1.sliceUnits|Number of slices per frame||number|1,10,1|4 +.jpeg.enabled|Enable JPEG support||boolean|true,false|true| +.jpeg.size|Snapshot size|px|string||1920x1080| +.jpeg.qfactor|JPEG quality level|%|range|1,100,1|50| +.jpeg.toProgressive|Progressive JPEG||boolean|true,false|false| +.mjpeg.size|Video resolution|px|string||640x360| +.mjpeg.fps|Video framerate|fps|number|1,30,1|5| +.mjpeg.bitrate|Video bitrate|kbps|number|1,4096,1|1024| +.audio.enabled|Enable audio||boolean|true,false|false| +.audio.volume|Audio volume level|%|range|1,100,1,auto|auto| +.audio.srate|Audio sampling rate|kHz|number|1,96000,1|8000| +.audio.codec|Codec for RTSP and MP4 encoding||select|mp3,opus,aac,pcm,alaw,ulaw|opus| +.audio.device|Audio card||string||hw:2| +.audio.outputEnabled|Enable audio output||boolean|true,false|false| +.audio.outputGain|Output gain||range|0,31,1|15| +.audio.outputVolume|Speaker volume|%|range|0,100,1|0| +.audio.voiceEqualizer|Audio equalizer||select|disabled,common,music,noisy|disabled| +.audio.speakerPin|GPIO pin of audio speaker||number|1,255,1|32| +.audio.speakerPinInvert|Audio speaker signal is inverted||boolean|true,false|false| +.rtsp.enabled|Enable output||boolean|true,false|true| +.rtsp.port|Port for RTSP protocol||number|1,65535,1|554|rtsp://user:pass@${network_address}:[port]/stream={0,1} +.hls.enabled|Enable HTTP Live Streaming (HLS)||boolean|true,false|true| +.youtube.enabled|Enable Youtube support||boolean|true,false|false| +.youtube.key|Youtube API key||string||xxxx-xxxx-xxxx-xxxx-xxxx| +.motionDetect.enabled|Enable motion detection||boolean|true,false|false| +.motionDetect.visualize|Visualize motion detection||boolean|true,false|true| +.motionDetect.debug|Enable debugging||boolean|true,false|true| +.motionDetect.roi|Regions of Interest (ROI) for motion detection.|px|string||0x0x1296x760| +.motionDetect.skipIn|Regions excluded from ROI.|px|string||20x20x200x300,510x330x40x15| +.ipeye.enabled|Enable IPEYE support||boolean|true,false|false| +.netip.enabled|Enable NETIP protocol support||boolean|true,false|false| +.netip.user|NETIP user||string||admin| +.netip.password-plain|NETIP password||password|||Pain-text password, it will be hashed for NETIP. +.netip.password|NETIP password (hash)||hidden||6V0Y4HLF| +.netip.port|NETIP port||number|1,65535,1|34567| +.netip.snapshots|NETIP snaphots||boolean|true,false|true| +.netip.ignoreSetTime|Ignore set time||boolean|true,false|false| +.onvif.enabled|Enable ONVIF protocol support||boolean|true,false|false| +.watchdog.enabled|Enable watchdog||boolean|true,false|true| +.watchdog.timeout|Watchdog timeout|sec|number|1,600,1|10| +.cloud.enabled|Enable cloud support||boolean|true,false|false| +" + +# hide these settings unless in debug mode +mj_hide_unless_debug="audio_device isp_aGain isp_dGain isp_ispGain isp_exposure" + +# conditional settings limiters +mj_show_audio_voiceEqualizer="gk7205v200 hi3516cv300 hi3516cv500 hi3516ev300 hi3519v101" +mj_show_mjpeg_vendor="goke hisilicon" +mj_show_isp_slowShutter_vendor="goke hisilicon" +mj_hide_isp_sensorConfig_vendor="ingenic" +mj_hide_video0_codec="hi3516cv200 hi3516cv100" +mj_hide_video1_codec="hi3516cv200 hi3516cv100" +mj_hide_motionDetect="hi3516cv100 hi3516av100" + +.