Skip to content

Commit e8f06b6

Browse files
committed
xm530: add anbiux A8B-3MP (IPC-RB-BLK530AI, ATBM6032 USB WiFi)
The defconfig selects the atbm60xx driver (603x, USB) on top of xm530_lite, and drops the MT7601U firmware this radio does not use. The customizer sets wlandev to the atbm603x-xm530-usb case in firmware's /etc/wireless/usb and wifipdn to the PDN gpio (after which S40network applies the MAC and runs ifup), and points the upgrade url at this device's builder release. Depends on OpenIPC/firmware#2316: it provides the bring-up case, the depmod pass that makes the driver stack resolvable by modprobe, and the cfg80211 coexistence (the vendor rewrite ships as cfg80211_xm711.ko, atbm60xx uses the in-tree module). xm530_lite_anbiux-a8b-3mp joins SMOKE_TARGETS: the vendor:xiongmai trait must be covered or ci-matrix.py's self-test refuses to select a build matrix.
1 parent 6fef62c commit e8f06b6

5 files changed

Lines changed: 97 additions & 0 deletions

File tree

.github/scripts/ci-matrix.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@
117117
"ssc30kq_rubyfpv_generic", # devices/common, rubyfpv
118118
"gk7205v200_otg_generic", # otg
119119
"ssc338q_apfpv", # devices/apfpv
120+
"xm530_lite_anbiux-a8b-3mp", # Xiongmai
120121
]
121122

122123
# LICENSE and README anchored to whole filenames; unanchored they would also

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ _(based on Buildroot)_
1515
### List of known and supported devices
1616

1717
```
18+
anbiux A8B-3MP XM530AI SC3335 ATBM603X_USB NOR_8M in progress
1819
Aoni EP01J05 T31L ? RTL8188FU_USB NOR_16M new
1920
Azarton C1 T20X JXF23 RTL8189FS_SDIO NOR_16M done
2021
Azarton C1 T31X GC2053 RTL8189FS_SDIO NOR_16M done
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Architecture
2+
BR2_arm=y
3+
BR2_cortex_a5=y
4+
BR2_ARM_INSTRUCTIONS_THUMB2=y
5+
6+
# Toolchain
7+
BR2_TOOLCHAIN_EXTERNAL=y
8+
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
9+
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz"
10+
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-musleabi"
11+
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
12+
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
13+
BR2_TOOLCHAIN_EXTERNAL_CXX=y
14+
15+
# Kernel
16+
BR2_LINUX_KERNEL=y
17+
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
18+
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_KERNEL).tar.gz"
19+
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
20+
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/xm530.generic.config"
21+
BR2_LINUX_KERNEL_UIMAGE=y
22+
BR2_LINUX_KERNEL_XZ=y
23+
24+
# Filesystem
25+
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config"
26+
BR2_PACKAGE_UBOOT_TOOLS=y
27+
BR2_PACKAGE_ZLIB=y
28+
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
29+
BR2_PACKAGE_WIRELESS_TOOLS=y
30+
BR2_PACKAGE_WPA_SUPPLICANT=y
31+
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
32+
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
33+
BR2_TARGET_ROOTFS_CPIO=y
34+
BR2_TARGET_ROOTFS_SQUASHFS=y
35+
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
36+
37+
# OpenIPC
38+
BR2_OPENIPC_SOC_VENDOR="xiongmai"
39+
BR2_OPENIPC_SOC_MODEL="xm530"
40+
BR2_OPENIPC_SOC_FAMILY="xm530"
41+
# xm550 is firmware-identical to xm530 (same SOC_FAMILY, kernel, osdrv); it is
42+
# built only as xm530 now and routed here for cameras still reporting xm550.
43+
BR2_OPENIPC_SOC_ALIASES="xm550"
44+
BR2_OPENIPC_VARIANT="lite"
45+
BR2_OPENIPC_FLASH_SIZE="8"
46+
47+
# Packages
48+
# ATBM60XX WiFi: AltoBeam ATBM6032 USB chip (007a:8888), PDN on gpio 96
49+
BR2_PACKAGE_ATBM60XX=y
50+
BR2_PACKAGE_ATBM60XX_MODEL_603X=y
51+
BR2_PACKAGE_ATBM60XX_INTERFACE_USB=y
52+
BR2_PACKAGE_DROPBEAR_OPENIPC=y
53+
BR2_PACKAGE_IPCTOOL=y
54+
BR2_PACKAGE_LIBCURL_OPENIPC=y
55+
BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
56+
# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set
57+
# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set
58+
# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set
59+
BR2_PACKAGE_LIBEVENT_OPENIPC=y
60+
BR2_PACKAGE_LIBOGG_OPENIPC=y
61+
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
62+
# BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U is not set
63+
BR2_PACKAGE_MAJESTIC_FONTS=y
64+
BR2_PACKAGE_MAJESTIC_WEBUI=y
65+
BR2_PACKAGE_MAJESTIC=y
66+
BR2_PACKAGE_MBEDTLS_OPENIPC=y
67+
BR2_PACKAGE_MOTORS=y
68+
BR2_PACKAGE_OPUS_OPENIPC=y
69+
BR2_PACKAGE_VTUND_OPENIPC=y
70+
BR2_PACKAGE_XIONGMAI_OSDRV_XM530=y
71+
BR2_PACKAGE_YAML_CLI=y
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/sh
2+
#
3+
# Perform basic settings on a known IP camera
4+
#
5+
#
6+
# Set custom upgrade url
7+
#
8+
fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/xm530_lite_anbiux-a8b-3mp-nor.tgz'
9+
#
10+
# Set wlan device, its PDN gpio and credentials if need
11+
#
12+
fw_setenv wlandev atbm603x-xm530-usb
13+
fw_setenv wifipdn 96
14+
#fw_setenv wlanssid Router
15+
#fw_setenv wlanpass 12345678
16+
#
17+
(sleep 3 ; reboot -f) &
18+
19+
exit 0
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# This device carries the AltoBeam ATBM6032 (USB) radio; prune the
2+
# wifi stacks it does not use to leave room for the atbm60xx module.
3+
/lib/modules/3.10.103+/xiongmai/xm711.ko
4+
/lib/modules/3.10.103+/xiongmai/compat.ko
5+
/lib/modules/3.10.103+/xiongmai/8188fu.ko

0 commit comments

Comments
 (0)