hi3518ev300: add Smitch 360 PTZ device profile (JXF23, RTL8188FU, 16M NOR) (#82)

HI3518EV300 with a JXF23 sensor and an RTL8188FU USB radio on 16 MiB NOR.
Video and Wi-Fi are working on the hardware; the motors are not yet, which the
README row records.

Finished off before merging, since the branch had sat since March:

BR2_PACKAGE_JSONFILTER is dropped, as #128 did for every other defconfig after
firmware/#2304. The repack.sh section heading that had been reworded in passing
is restored to what master has, and customizer.sh gets its missing trailing
newline. Rebased onto master, where the README row now sits alongside the
SpezVision SVI-252B entry added since.

The UBI config reference is corrected. It pointed at
scripts/ubifs/ubinize_hisilicon.cfg, which is not in the firmware tree — the
two devices using that name each ship a private copy — so the build reached
rootfs.ubifs and then failed on the missing file. It now uses the in-tree
ubinize.cfg, matching both hi3518ev200 ultimate boards; that suits the nand
repack, which passes uImage separately rather than embedding it in a volume.

This profile had never been compiled by CI before, which is why a defect this
plain survived two reviews. Both artifacts now build: NOR rootfs 6828/8192 KB,
NAND rootfs.ubi 13568/16384 KB.
This commit is contained in:
Siddhant Saurabh
2026-09-21 14:19:56 +03:00
committed by GitHub
parent 66933efc54
commit 01328cd601
4 changed files with 182 additions and 0 deletions
+1
View File
@@ -59,6 +59,7 @@ RunCam WiFiLink SSC338Q IMX415 NOR_16M done
RVi-1NCMW2028 (2.8) HI3516EV300 SC2330 RTL8188FU_USB NAND testing
Smartwares CIP-37210 HI3518EV200 OV9732 RTL8188FU_USB NOR_16M done
Smartwares CIP-37210AT T21N JXF37 RTL8188FU_USB NOR_16M done
Smitch 360 PTZ HI3518EV300 JXF23 RTL8188FU_USB NOR_16M video-yes, wifi-yes, motors-no
SpezVision SVI-252B K202 HI3516CV200 IMX323 - NOR_8M done
Switcam HS303 v1 HI3518EV200 JXF22 RTL8188FU_USB NOR_16M done
Switcam HS303 v2 HI3518EV200 OV9732 RTL8188EU_USB NOR_16M done
@@ -0,0 +1,84 @@
# Architecture
BR2_arm=y
BR2_cortex_a7=y
BR2_ARM_EABI=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_ARM_INSTRUCTIONS_THUMB2=y
# Toolchain
BR2_TOOLCHAIN_EXTERNAL=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-musleabi"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=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)/hi3518ev300.generic.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_JSON_C=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_IPTABLES=y
BR2_PACKAGE_MOSQUITTO=y
# BR2_PACKAGE_MOSQUITTO_BROKER is not set
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
BR2_TARGET_ROOTFS_UBI=y
BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048
BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG=y
BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/scripts/ubifs/ubinize.cfg"
BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000
# OpenIPC
BR2_OPENIPC_SOC_VENDOR="hisilicon"
BR2_OPENIPC_SOC_MODEL="hi3518ev300"
BR2_OPENIPC_SOC_FAMILY="hi3516ev200"
BR2_OPENIPC_VARIANT="ultimate"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="ultimate"
# Packages
BR2_PACKAGE_DROPBEAR_OPENIPC=y
BR2_PACKAGE_EXFAT_OPENIPC=y
BR2_PACKAGE_HISILICON_OPENSDK=y
BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y
BR2_PACKAGE_IPCTOOL=y
BR2_PACKAGE_LAME_OPENIPC=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_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MAJESTIC=y
BR2_PACKAGE_MBEDTLS_OPENIPC=y
BR2_PACKAGE_OPUS_OPENIPC=y
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
BR2_PACKAGE_QUIRC_OPENIPC=y
BR2_PACKAGE_RTL8188FU_OPENIPC=y
BR2_PACKAGE_VTUND_OPENIPC=y
BR2_PACKAGE_YAML_CLI=y
BR2_PACKAGE_ZEROTIER_ONE=y
@@ -0,0 +1,28 @@
#!/bin/sh
#
# Perform basic settings on a known IP camera
#
#
# Set sensor
#
fw_setenv sensor jxf23
#
# Set custom upgrade url
#
fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/hi3518ev300_ultimate_smitch-360ptz-t5810hct-m02-nor.tgz'
#
# Set custom majestic settings
#
cli -s .video0.codec h264
cli -s .audio.enabled true
cli -s .audio.codec opus
cli -s .audio.volume 30
cli -s .audio.srate 48000
#
# Set wlan device
#
fw_setenv wlandev rtl8188fu-hi3518ev300-t5810hct-m02
#fw_setenv wlanssid Router
#fw_setenv wlanpass 12345678
#
exit 0
@@ -0,0 +1,69 @@
#
/etc/sensors/4l_sc223a_i2c_1080p.ini
/etc/sensors/5M_imx335.ini
/etc/sensors/bt656_720p.ini
/etc/sensors/camhi_imx307_i2c_4l_1080p.ini
/etc/sensors/gc1054_i2c_720p.ini
/etc/sensors/gc2053_i2c_1080p.ini
/etc/sensors/gc4653_i2c_4M.ini
/etc/sensors/imx307_i2c_2l_1080p.ini
/etc/sensors/imx335_i2c_4M.ini
/etc/sensors/jxf22_i2c_1080p.ini
/etc/sensors/jxf37_i2c_1080p.ini
/etc/sensors/sc200ai_i2c_1080p.ini
/etc/sensors/sc2231_i2c_1080p.ini
/etc/sensors/sc2232h_i2c_1080p.ini
/etc/sensors/sc2239_i2c_1080p.ini
/etc/sensors/sc223a_i2c_1080p.ini
/etc/sensors/sc2315e_i2c_1080p.ini
/etc/sensors/sc2335_i2c_1080p.ini
/etc/sensors/sc3235_i2c_3M.ini
/etc/sensors/sc4236_i2c_3M.ini
/etc/sensors/sp2305_i2c_1080p.ini
/etc/sensors/smtsec_imx307_i2c_4l_1080p.ini
/etc/sensors/jxh63_i2c_720p.ini
#
/etc/sensors/60fps/720p_imx307_i2c_2l.ini
/etc/sensors/WDR/5M_imx335.ini
/etc/sensors/WDR/imx335_i2c_4M.ini
/etc/sensors/iq/default.ini
/etc/sensors/iq/imx307.ini
/etc/sensors/iq/imx335.ini
/etc/sensors/iq/sc2232.ini
#
/usr/lib/sensors/libsns_f22.so
/usr/lib/sensors/libsns_f37.so
/usr/lib/sensors/libsns_gc2053.so
/usr/lib/sensors/libsns_gc4653_2l.so
/usr/lib/sensors/libsns_imx307.so
/usr/lib/sensors/libsns_imx307_2l.so
/usr/lib/sensors/libsns_imx335.so
/usr/lib/sensors/libsns_sc200ai.so
/usr/lib/sensors/libsns_sc2231.so
/usr/lib/sensors/libsns_sc2232h.so
/usr/lib/sensors/libsns_sc2239.so
/usr/lib/sensors/libsns_sc223a.so
/usr/lib/sensors/libsns_sc223a_4l.so
/usr/lib/sensors/libsns_sc2315e.so
/usr/lib/sensors/libsns_sc2335.so
/usr/lib/sensors/libsns_sc3235.so
/usr/lib/sensors/libsns_sc3335.so
/usr/lib/sensors/libsns_sc4236.so
/usr/lib/sensors/libsns_sp2305.so
/usr/lib/sensors/libsns_h63.so
#
/lib/modules/4.9.37/kernel/drivers/i2c/busses/i2c-tiny-usb.ko
/lib/modules/4.9.37/kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko
/lib/modules/4.9.37/kernel/drivers/scsi/scsi_mod.ko
/lib/modules/4.9.37/kernel/drivers/scsi/scsi_transport_fc.ko
/lib/modules/4.9.37/kernel/drivers/scsi/sd_mod.ko
/lib/modules/4.9.37/kernel/drivers/staging/rtl8188eu/r8188eu.ko
/lib/modules/4.9.37/kernel/drivers/usb/gadget/libcomposite.ko
/lib/modules/4.9.37/kernel/drivers/usb/gadget/function/u_ether.ko
/lib/modules/4.9.37/kernel/drivers/usb/gadget/function/u_serial.ko
/lib/modules/4.9.37/kernel/drivers/usb/gadget/function/usb_f_acm.ko
/lib/modules/4.9.37/kernel/drivers/usb/gadget/function/usb_f_ecm.ko
/lib/modules/4.9.37/kernel/drivers/usb/gadget/function/usb_f_mass_storage.ko
/lib/modules/4.9.37/kernel/drivers/usb/gadget/function/usb_f_rndis.ko
/lib/modules/4.9.37/kernel/drivers/usb/storage/usb-storage.ko
/lib/modules/4.9.37/kernel/fs/f2fs/f2fs.ko