Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ Vixand IVG-G6S-W GK7205V300 IMX335 ATBM6032i_USB NOR_16M w/ext
VStarcam C43S(B) SSC333 JXF37 MT7601U_USB NOR_16M in progress
VStarcam CS55 T31N GC2053 RTL8188FU_USB NOR_16M in progress
VStarcam C8622 T23N SC2336P AIC8800DL_? NOR_8M **INIT** - in progress
XiongMai 85H50AI HI3516EV300 IMX335 - NOR_8M testing, motorized zoom+focus (pelco-xm)
VStarcam C8892WIP HI3518EV200 AR0237 MT7601U_USB NOR_16M done
VStarcam C8896WIP GK7102C_A GC2033 RTL8189ES_SDIO NOR_8M wip
Wansview Q5 1080p T21Z OV2735B RTL8188FU_USB NOR_16M in progress
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Architecture

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Exclude list is missing 📘 Rule violation ≡ Correctness

1

The new registered device omits general/scripts/excludes/hi3516ev300_lite.list, although the
required device layout mandates that artifact. Without the device-specific pruning list, the NOR 8M
image also lacks the repository's standard mechanism for controlling root filesystem size.
Agent Prompt
## Issue description
The new device is registered by its defconfig but does not include the required `general/scripts/excludes/hi3516ev300_lite.list` artifact.

## Issue Context
Create the SoC/flavor exclude list in the device directory. Ensure it prunes only unused rootfs content and retains the IMX335 sensor library/configuration and every driver needed by this no-WiFi board.

## Fix Focus Areas
- devices/hi3516ev300_lite_xm-85h50ai/br-ext-chip-hisilicon/configs/hi3516ev300_lite_xm-85h50ai_defconfig[1-1]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

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)/hi3516ev300.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_UBOOT_TOOLS=y
BR2_PACKAGE_ZLIB=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y

# OpenIPC
BR2_OPENIPC_SOC_VENDOR="hisilicon"
BR2_OPENIPC_SOC_MODEL="hi3516ev300"
BR2_OPENIPC_SOC_FAMILY="hi3516ev200"
BR2_OPENIPC_VARIANT="lite"
BR2_OPENIPC_FLASH_SIZE="8"

# Packages
BR2_PACKAGE_DROPBEAR_OPENIPC=y
BR2_PACKAGE_HISILICON_OPENSDK=y
BR2_PACKAGE_HISILICON_OSDRV_HI3516EV200=y
BR2_PACKAGE_IPCTOOL=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_MOTORS=y
BR2_PACKAGE_OPUS_OPENIPC=y
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
BR2_PACKAGE_VTUND_OPENIPC=y
BR2_PACKAGE_YAML_CLI=y
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/sh
#
# Quiet the kernel's console output. On this board the motor MCU shares
# ttyAMA0 with the serial console, so every runtime kernel message goes
# out as garbage on the PTZ wire. Boot-loader and early-boot output still
# spray (bootargs are untouched); the MCU's 0xC5 framing tolerates that,
# this just stops the steady drip once userland is up.

case "$1" in
start | "")
echo 0 > /proc/sys/kernel/printk
;;
esac

exit 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/sh
#
# Perform basic settings on a known IP camera
#
# XiongMai 85H50AI: hi3516ev300 + imx335 with a motorized zoom/focus
# module. The motor MCU shares /dev/ttyAMA0 with the serial console at
# 115200 and speaks the XM near-Pelco protocol (btzoom-xm).
#
#
# Set sensor
#
fw_setenv sensor imx335
#
# Set custom upgrade url
#
fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/hi3516ev300_lite_xm-85h50ai-nor.tgz'
#
#
# PTZ: the XM zoom block on the console UART. ptz_caps narrows the WebUI
# pad to what the hardware has — the module accepts pan/tilt frames and
# silently ignores them (majestic-webui#227).
#
fw_setenv ptz_control pelco-xm
fw_setenv ptz_port /dev/ttyAMA0
fw_setenv ptz_caps 'zoom focus'
#
#
# The MCU owns the console UART, so getty must not sit on it reading the
# MCU's bytes. The edit lands in the overlay; an upgrade that wipes the
# overlay also wipes /etc/custom.ok, so this script runs again and the
# camera heals itself.
#
sed -i '/getty/d' /etc/inittab
#
#
# Reboot so the environment and the inittab edit take effect.
#
(sleep 3 ; reboot -f) &
#

exit 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/usr/lib/sensors/libsns_ar0237.so
/usr/lib/sensors/libsns_bt656.so
/usr/lib/sensors/libsns_f22.so
/usr/lib/sensors/libsns_f23.so
/usr/lib/sensors/libsns_f37.so
/usr/lib/sensors/libsns_gc2053.so
/usr/lib/sensors/libsns_gc2053_forcar.so
/usr/lib/sensors/libsns_gc4023.so
/usr/lib/sensors/libsns_gc4653_2l.so
/usr/lib/sensors/libsns_gc5603.so
/usr/lib/sensors/libsns_imx290.so
/usr/lib/sensors/libsns_imx307.so
/usr/lib/sensors/libsns_imx307_2l.so
/usr/lib/sensors/libsns_imx327.so
/usr/lib/sensors/libsns_imx327_2l.so
/usr/lib/sensors/libsns_mis2008.so
/usr/lib/sensors/libsns_os02g10.so
/usr/lib/sensors/libsns_os05a.so
/usr/lib/sensors/libsns_ov2718.so
/usr/lib/sensors/libsns_sc2231.so
/usr/lib/sensors/libsns_sc2232h.so
/usr/lib/sensors/libsns_sc2235.so
/usr/lib/sensors/libsns_sc2239.so
/usr/lib/sensors/libsns_sc223a.so
/usr/lib/sensors/libsns_sc2315e.so
/usr/lib/sensors/libsns_sc3235.so
/usr/lib/sensors/libsns_sc3335.so
/usr/lib/sensors/libsns_sc3336.so
/usr/lib/sensors/libsns_sc4236.so
/usr/lib/sensors/libsns_sc500ai.so
/usr/lib/sensors/libsns_sp2305.so
/usr/lib/sensors/libsns_sp2308.so
#
/etc/sensors/camhi_imx307_i2c_4l_1080p.ini
/etc/sensors/gc2053_i2c_1080p.ini
/etc/sensors/gc4653_i2c_4M.ini
/etc/sensors/imx307_i2c_2l_1080p.ini
/etc/sensors/jxf22_i2c_1080p.ini
/etc/sensors/jxf23_i2c_1080p.ini
/etc/sensors/jxf37_i2c_1080p.ini
/etc/sensors/sc2231_i2c_1080p.ini
/etc/sensors/sc2232h_i2c_1080p.ini
/etc/sensors/sc2239_i2c_1080p.ini
/etc/sensors/sc2315e_i2c_1080p.ini
/etc/sensors/sc3235_i2c_3M.ini
/etc/sensors/sc3335_i2c_3M.ini
/etc/sensors/sc4236_i2c_3M.ini
/etc/sensors/sp2305_i2c_1080p.ini
/etc/sensors/sp2308_i2c_1080p.ini
#
/etc/sensors/iq/f23.ini
/etc/sensors/iq/imx307.ini
/etc/sensors/high-fps/imx307_1280x720_60fps.ini
/etc/sensors/high-fps/imx307_1920x1080_60fps.ini
/etc/sensors/high-fps/imx307_368x304_200fps.ini
/etc/sensors/high-fps/imx307_640x480_130fps.ini
Loading