xm530: add anbiux A8B-3MP (IPC-RB-BLK530AI, ATBM6032 USB WiFi) - #130
yatotoshka wants to merge 1 commit into
Conversation
PR Summary by QodoAdd XM530 Lite profile for the anbiux A8B-3MP camera
AI Description
Diagram
High-Level Assessment
Files changed (5)
|
Code Review by Qodo
1. Pinned builds never use the Wi-Fi fork
|
| BR2_PACKAGE_LIBEVENT_OPENIPC=y | ||
| BR2_PACKAGE_LIBOGG_OPENIPC=y | ||
| BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y | ||
| BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y |
There was a problem hiding this comment.
1. Remove unused mt7601u firmware 📘 Rule violation ⚙ Maintainability
5
The device defconfig enables MediaTek MT7601U firmware even though this board uses the AltoBeam ATBM6032 USB radio. This adds unrelated payload to an 8 MB image whose device-specific exclusions already prune other unused WiFi stacks for space.
Agent Prompt
## Issue description
The device defconfig selects MT7601U firmware that is not used by the board's ATBM6032 radio.
## Issue Context
The device is configured for `atbm60xx` over USB and uses `atbm603x-xm530-usb`; the extra MediaTek firmware conflicts with the requirement to keep device payload minimal, especially for the configured 8 MB flash.
## Fix Focus Areas
- devices/xm530_lite_anbiux-a8b-3mp/br-ext-chip-xiongmai/configs/xm530_lite_anbiux-a8b-3mp_defconfig[61-62]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
eb208b1 to
e8f06b6
Compare
|
Code review by qodo was updated up to the latest commit e8f06b6 |
|
Code review by qodo was updated up to the latest commit 826ab1d |
| BR2_PACKAGE_ATBM60XX=y | ||
| BR2_PACKAGE_ATBM60XX_MODEL_603X=y | ||
| BR2_PACKAGE_ATBM60XX_INTERFACE_USB=y |
There was a problem hiding this comment.
1. Nightly builders cannot make this image 📘 Rule violation ☼ Reliability
8
xm530_lite_anbiux-a8b-3mp_defconfig selects the ATBM60XX USB package supplied only by the stated unmerged firmware dependency, while builder.sh defaults to upstream OpenIPC firmware. When pull-request or nightly CI selects this target without OPENIPC_FW_REPO and OPENIPC_FW_REV, the required XM530 driver and bring-up path are unavailable and no functional archive can be produced.
Agent Prompt
## Issue description
The new device requires firmware changes that are not present in the upstream repository cloned by automated builds.
## Issue Context
The manual `build-one` workflow exposes repository and revision overrides, but the regular PR and nightly workflow invokes `builder.sh` without them. Ensure the dependency is merged upstream before this device is registered, or provide a suitably pinned compatible firmware source for this target in automated CI.
## Fix Focus Areas
- devices/xm530_lite_anbiux-a8b-3mp/br-ext-chip-xiongmai/configs/xm530_lite_anbiux-a8b-3mp_defconfig[49-51]
- .github/workflows/master.yml[189-217]
- builder.sh[129-143]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
|
Code review by qodo was updated up to the latest commit 826ab1d |
826ab1d to
61ab904
Compare
61ab904 to
4215239
Compare
|
Code review by qodo was updated up to the latest commit 61ab904 |
4215239 to
0986178
Compare
|
Code review by qodo was updated up to the latest commit 0986178 |
0986178 to
8d7b609
Compare
| OPENIPC_FW_REPO: ${{ matrix.platform == 'xm530_lite_anbiux-a8b-3mp' && 'https://github.com/yatotoshka/firmware.git' || '' }} | ||
| OPENIPC_FW_REV: ${{ matrix.platform == 'xm530_lite_anbiux-a8b-3mp' && 'xiongmai-atbm60xx-wifi' || '' }} |
There was a problem hiding this comment.
1. Pinned builds never use the wi-fi fork 🐞 Bug ≡ Correctness
builder.sh ignores OPENIPC_FW_REPO and clones OpenIPC/firmware even when the workflow supplies the fork URL. For this target, it then attempts to check out xiongmai-atbm60xx-wifi in the upstream clone, so the build cannot use the branch containing the required Wi-Fi support.
Agent Prompt
## Issue description
The device-specific CI pin sets a firmware fork URL, but builder.sh always clones the upstream repository.
## Fix Focus Areas
- .github/workflows/master.yml[317-318]
- builder.sh[129-138]
## Recommended Fix
Update builder.sh to clone `OPENIPC_FW_REPO` when set, falling back to the current upstream URL otherwise. Retain the revision checkout and make clone or checkout failures stop the build.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
|
Code review by qodo was updated up to the latest commit 8d7b609 |
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 case in firmware's /etc/wireless/usb and wifipdn to the PDN gpio the case reads at run time (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). This profile stays a draft until firmware#2316 merges; once it lands, the regular CI builds a functional image for this device from upstream firmware. 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.
8d7b609 to
6372b60
Compare
|
Code review by qodo was updated up to the latest commit 6372b60 |
Problem
No XM530 device exists in builder. This camera (anbiux A8B-3MP, board
IPC-RB-BLK530AI-0235P-AB0 V1.03, XM530AI + SmartSens SC3335) carries an
AltoBeam ATBM6032 USB WiFi (007a:8888) with power-down on gpio 96; the stock
xm530_liteimage has neither the driver nor a bring-up path for it.What this change does
Device profile
xm530_lite_anbiux-a8b-3mp(commit61ab904, rebased on31bbf17):xm530_lite_anbiux-a8b-3mp_defconfig— a snapshot ofxm530_lite_defconfigplus
atbm60xx(603x, USB), and with the MT7601U firmware dropped (thisradio is not an MT7601U).
customizer.sh— on first boot setswlandev=atbm603x-xm530(thebring-up case in firmware's
/etc/wireless/usb),wifipdn=96(the casereads the PDN gpio from the
wifipdnenv at run time), and the upgrade urlto this device's builder release, so the Web UI update keeps pulling this
device's image; reboots after 3 s.
xm530_lite.list— prunes the wifi stacks this radio does not use (xm711 +its compat shim) to leave room for the atbm60xx module in the 5M
rootfs.
ci-matrix.py— joinsSMOKE_TARGETS(thevendor:xiongmaitrait must becovered or the matrix self-test refuses to select a build matrix) and the
README device table gets its row.
The
OPENIPC_FW_REPObuilder.sh override and thefirmware_repobuild-oneinput (previously commit 826ab1d) were split out into a separate PR
(fork branch
firmware-repo-override) per review — they are a generalbuild feature, not part of this device.
Dependency
OpenIPC/firmware#2316
(rebased to a single commit
683a548b, 2026-09-30): without it the image hasno
atbm603x-xm530case in/etc/wireless/usb, nodepmodpass over themerged target (the vendor
modules.depleavesdwc_otg/wifi_pdninvisible to
modprobe), and no cfg80211 coexistence. Proposed merge order:#2316 first, then this profile — with both merged, the nightly builds a
functional image for this device. Until #2316 lands, the image can be built
with
OPENIPC_FW_REPO=https://github.com/yatotoshka/firmware.git OPENIPC_FW_REV=xiongmai-atbm60xx-wifi builder.sh xm530_lite_anbiux-a8b-3mp(or via
build-oneonce the splitfirmware_repoinput PR merges) — itpublishes
xm530_lite_anbiux-a8b-3mp-nor.tgz, the same name the customizer'supgrade url points at.
Hardware tested on
XM530AI (marking 30WX1), board IPC-RB-BLK530AI-0235P-AB0 V1.03, SmartSens
SC3335, AltoBeam ATBM6032 USB WiFi (007a:8888), PDN on gpio 96, 128GB FAT32
(SDXC) card.
Evidence
Re-verified 2026-09-06 from a factory-clean state (env wiped) on the current
nightly (
master+4c34a66): the chip, PDN gpio 96 and the load order(dwc_otg → wifi_pdn → atbm603x) are proven on this camera — it is associated
and takes a DHCP lease:
The Web UI is reachable over both the Ethernet address (192.168.1.242) and the
Wi-Fi address (192.168.1.243).
Status: the camera currently loads the driver from a prebuilt blob (built
from the same atbm_60xx revision firmware#2316 pins) plus a local init
script. The profile's clean-build path (customizer wlandev/wifipdn →
S40network → the
atbm603x-xm530case) will be verified end to end by abuild of this branch once firmware#2316 merges.
Scope
processor_flavor_vendor-modelnaming and the minimal-file layout from the READMEOPENIPC_FW_REPOchange is split out into its own PR