Skip to content
Open
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 .github/scripts/ci-matrix.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@
"ssc30kq_rubyfpv_generic", # devices/common, rubyfpv
"gk7205v200_otg_generic", # otg
"ssc338q_apfpv", # devices/apfpv
"xm530_lite_anbiux-a8b-3mp", # Xiongmai
]

# LICENSE and README anchored to whole filenames; unanchored they would also
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ _(based on Buildroot)_
### List of known and supported devices

```
anbiux A8B-3MP XM530AI SC3335 ATBM603X_USB NOR_8M in progress
Aoni EP01J05 T31L ? RTL8188FU_USB NOR_16M new
Azarton C1 T20X JXF23 RTL8189FS_SDIO NOR_16M done
Azarton C1 T31X GC2053 RTL8189FS_SDIO NOR_16M done
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Architecture
BR2_arm=y
BR2_cortex_a5=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_3_10=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y

# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_KERNEL).tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/xm530.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_WIRELESS_TOOLS=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y

# OpenIPC
BR2_OPENIPC_SOC_VENDOR="xiongmai"

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

2. New vendor breaks ci 🐞 Bug ≡ Correctness

Adding BR2_OPENIPC_SOC_VENDOR="xiongmai" creates a new build trait, but no Xiongmai target is
added to SMOKE_TARGETS; ci-matrix.py --self-test therefore reports the uncovered
vendor:xiongmai trait and exits before the build matrix is selected. Because every PR, nightly,
and manual run executes that self-test, this device will not be built or published and its
configured latest/...-nor.tgz upgrade URL will have no release artifact.
Agent Prompt
## Issue description
The new Xiongmai device introduces the `vendor:xiongmai` CI trait, but the smoke matrix contains no target with that trait. The mandatory matrix self-test consequently fails and prevents all builds from starting.

## Issue Context
Add `xm530_lite_anbiux-a8b-3mp` to `SMOKE_TARGETS` (or replace an existing smoke target only if all existing trait and shared-directory coverage remains intact), then run `python3 .github/scripts/ci-matrix.py --self-test`.

## Fix Focus Areas
- .github/scripts/ci-matrix.py[104-120]
- devices/xm530_lite_anbiux-a8b-3mp/br-ext-chip-xiongmai/configs/xm530_lite_anbiux-a8b-3mp_defconfig[38-38]

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

BR2_OPENIPC_SOC_MODEL="xm530"
BR2_OPENIPC_SOC_FAMILY="xm530"
# xm550 is firmware-identical to xm530 (same SOC_FAMILY, kernel, osdrv); it is
# built only as xm530 now and routed here for cameras still reporting xm550.
BR2_OPENIPC_SOC_ALIASES="xm550"
BR2_OPENIPC_VARIANT="lite"
BR2_OPENIPC_FLASH_SIZE="8"

# Packages
# ATBM60XX WiFi: AltoBeam ATBM6032 USB chip (007a:8888), PDN on gpio 96
BR2_PACKAGE_ATBM60XX=y
BR2_PACKAGE_ATBM60XX_MODEL_603X=y
BR2_PACKAGE_ATBM60XX_INTERFACE_USB=y
BR2_PACKAGE_DROPBEAR_OPENIPC=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_LINUX_FIRMWARE_OPENIPC=y
# BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U is not set
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_VTUND_OPENIPC=y
BR2_PACKAGE_XIONGMAI_OSDRV_XM530=y
BR2_PACKAGE_YAML_CLI=y
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/sh
#
# Perform basic settings on a known IP camera
#
#
# Set custom upgrade url
#
fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/xm530_lite_anbiux-a8b-3mp-nor.tgz'
#
# Set wlan device, its PDN gpio and credentials if need
#
fw_setenv wlandev atbm603x-xm530-usb
fw_setenv wifipdn 96
#fw_setenv wlanssid Router
#fw_setenv wlanpass 12345678
#
(sleep 3 ; reboot -f) &

exit 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# This device carries the AltoBeam ATBM6032 (USB) radio; prune the
# wifi stacks it does not use to leave room for the atbm60xx module.
/lib/modules/3.10.103+/xiongmai/xm711.ko
/lib/modules/3.10.103+/xiongmai/compat.ko
/lib/modules/3.10.103+/xiongmai/8188fu.ko