Skip to content

Add gk7202v300_lite_xm-rm1 (XM IPC-RM1-BLK7202V3-M43A-WIFI, SV6115C Wi-Fi) - #205

Merged
openipc-ai merged 2 commits into
OpenIPC:masterfrom
brunoamui:device-xm-rm1
Oct 15, 2026
Merged

openipc-ai merged 2 commits into
OpenIPC:masterfrom
brunoamui:device-xm-rm1

Conversation

@brunoamui

Copy link
Copy Markdown
Contributor

Device

Xiongmai IPC-RM1-BLK7202V3-M43A-WIFI: a pan/tilt dome board.

  • GK7202V300 + SC223A, 8 MB NOR (FM25Q64).
  • Wi-Fi only: iComm SV6115C on USB (8065:6011, efuse SKU 0x57F7FFFF).

This device is cloned from gk7202v300_lite_cootli_camv0103. That board shares the IR-cut / IR LED / speaker pins and the GPIO12/14/15 pinmux (S80pinworks) that the pan motor needs.

Pins (from the stock firmware)

Function GPIO Source
Pan motor (H connector) 13 15 14 12 loadpublic → XmMotor.ko gpio_pin=
Tilt motor (V connector) 55 54 53 52 same
IR-cut 56 / 58 LIBXMVIDEO.json
IR LED 16 same
Photoresistor 57 same
Speaker amp 51 same
Wi-Fi power (active low) 8 —
SD power 70 (S35pinworks) —

The stock driver steps the motors in the same 8-phase half-step sequence as gpio-motors. Travel: x_stepmax 3950 / y_stepmax 1000 half-steps; there are no limit switches.

Dependency

Wi-Fi needs OpenIPC/ssv6x5x#1. The current 11204 driver cannot bring up the SV6115C. The package builds ssv6x5x at HEAD, so nothing here changes when that PR merges.

Tested (local make BOARD=gk7202v300_lite_xm-rm1, firmware 468eccc + ssv6x5x#1)

  • builds and fits: uImage 1855/2048 KB, rootfs 4964/5120 KB;
  • ci-matrix.py --self-test ok;
  • boots, the sensor is auto-detected, majestic streams (JPEG snapshots OK);
  • Wi-Fi comes up on cold boot and on reboot, gets DHCP with the hostname, sysupgrade works over Wi-Fi.

Untested, because the board was on the bench without the motors, IR board or speaker attached:

  • pan/tilt direction;
  • IR-cut / IR LED;
  • photoresistor polarity;
  • speaker.

The README status says so.

🤖 Generated with Claude Code

Xiongmai pan/tilt dome board: GK7202V300 + SC223A, 8 MB NOR, Wi-Fi only
(iComm SV6115C on USB, 8065:6011). Cloned from the Cootli CAMV0103 board,
which shares the IR-cut/IR LED/speaker pins and the pan-motor pinmux.

- GPIOs from the stock firmware (loadpublic gpio_pin=, LIBXMVIDEO.json):
  pan 13 15 14 12, tilt 55 54 53 52 (gpio-motors), IR-cut 56/58,
  IR LED 16, photoresistor 57, speaker amp 51.
- Drops wireguard, vtund and the non-gpio motor tools to fit 8 MB.

Wi-Fi needs OpenIPC/ssv6x5x#1 (WSDK 12148, SV6115C support).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@openipc-ai

Copy link
Copy Markdown
Contributor

/review

@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (2) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Action required

1. Camera loses its SC223A driver 📘 Rule violation ≡ Correctness
Description
The new exclude list removes both the SC223A four-lane sensor configuration and
libsns_sc223a_4l.so even though the device uses an SC223A sensor and the selected Goke driver
package installs that library. Any build using this list reaches the camera without the sensor files
needed for SC223A detection and streaming.
Code

devices/gk7202v300_lite_xm-rm1/general/scripts/excludes/gk7202v300_lite.list[1]

+/etc/sensors/4l_sc223a_i2c_1080p.ini
Evidence
The checklist prohibits excluding required sensor files. The new list excludes the SC223A four-lane
configuration and library, while the selected Goke driver package installs libsns_sc223a_4l.so for
sensor support.

CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity: CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity: CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity: CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity: CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity: CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity: CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity: CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity: CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity: CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity: CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity: CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity: CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity: CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity: CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity: CLAUDE.md: Preserve Required Drivers and Sensors While Keeping Images Within Flash Capacity
devices/gk7202v300_lite_xm-rm1/general/scripts/excludes/gk7202v300_lite.list[1-1]
devices/gk7202v300_lite_xm-rm1/general/scripts/excludes/gk7202v300_lite.list[35-35]
devices/gk7202v300_lite_xm-rm1/br-ext-chip-goke/configs/gk7202v300_lite_xm-rm1_defconfig[47-49]
devices/gk7202v300_lite_xg521/general/package/goke-osdrv-gk7205v200/goke-osdrv-gk7205v200.mk[65-67]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The device-specific exclude list removes the SC223A four-lane configuration and shared library required by this board's SC223A sensor.
## Fix Focus Areas
- devices/gk7202v300_lite_xm-rm1/general/scripts/excludes/gk7202v300_lite.list[1-1]
- devices/gk7202v300_lite_xm-rm1/general/scripts/excludes/gk7202v300_lite.list[35-35]
## Recommended Fix
Remove the `/etc/sensors/4l_sc223a_i2c_1080p.ini` and `/usr/lib/sensors/libsns_sc223a_4l.so` entries from the exclude list, then verify that the resulting image still fits within the 8 MB flash layout.

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


2. The clone inventory omits this board 📘 Rule violation ⚙ Maintainability
Description
The README adds the XM IPC-RM1 board to the device table but does not map it in the compatibility
and clones table to the existing Cootli board it was cloned from. Readers using the published
inventory cannot discover that this rebrand shares the supported Cootli implementation.
Code

README.md[120]

+XM IPC-RM1-BLK7202V3     GK7202V300   SC223A    SV6115C_USB      NOR_8M    video-yes, wifi-yes (ssv6x5x#1), pan/tilt+ir+audio untested
Evidence
The checklist requires rebranded devices to appear in both the device inventory and the clones
table. The new device is present only in the main inventory, while the compatibility and clones
table has no corresponding XM IPC-RM1-to-Cootli mapping.

CLAUDE.md: Document New Devices in the README Tables: CLAUDE.md: Document New Devices in the README Tables: CLAUDE.md: Document New Devices in the README Tables: CLAUDE.md: Document New Devices in the README Tables: CLAUDE.md: Document New Devices in the README Tables: CLAUDE.md: Document New Devices in the README Tables: CLAUDE.md: Document New Devices in the README Tables: CLAUDE.md: Document New Devices in the README Tables: CLAUDE.md: Document New Devices in the README Tables: CLAUDE.md: Document New Devices in the README Tables: CLAUDE.md: Document New Devices in the README Tables: CLAUDE.md: Document New Devices in the README Tables: CLAUDE.md: Document New Devices in the README Tables: CLAUDE.md: Document New Devices in the README Tables: CLAUDE.md: Document New Devices in the README Tables: CLAUDE.md: Document New Devices in the README Tables
README.md[120-142]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The new board is documented in the main device table, but its rebrand relationship to `gk7202v300_lite_cootli_camv0103` is absent from the README compatibility and clones table.
## Fix Focus Areas
- README.md[120-120]
- README.md[124-142]
## Recommended Fix
Add a compatibility-table row mapping the XM IPC-RM1-BLK7202V3-M43A-WIFI board to the existing Cootli CAMV0103 firmware/device entry, using the repository's established clone-table format.

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


Grey Divider

Tip of the day
💡 Did you know, you can hide the parts of a finding you never read, like the evidence or the agent prompt

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@@ -0,0 +1,45 @@
/etc/sensors/4l_sc223a_i2c_1080p.ini

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. Camera loses its sc223a driver 📘 Rule violation ≡ Correctness

The new exclude list removes both the SC223A four-lane sensor configuration and
libsns_sc223a_4l.so even though the device uses an SC223A sensor and the selected Goke driver
package installs that library. Any build using this list reaches the camera without the sensor files
needed for SC223A detection and streaming.
Agent Prompt
## Issue description
The device-specific exclude list removes the SC223A four-lane configuration and shared library required by this board's SC223A sensor.

## Fix Focus Areas
- devices/gk7202v300_lite_xm-rm1/general/scripts/excludes/gk7202v300_lite.list[1-1]
- devices/gk7202v300_lite_xm-rm1/general/scripts/excludes/gk7202v300_lite.list[35-35]

## Recommended Fix
Remove the `/etc/sensors/4l_sc223a_i2c_1080p.ini` and `/usr/lib/sensors/libsns_sc223a_4l.so` entries from the exclude list, then verify that the resulting image still fits within the 8 MB flash layout.

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

Comment thread README.md
ZTE K545 T31X SC4336 ATBM6012B_USB NOR_16M done
4G Camera XG521 V1.2 GK7202V300 GC1054 EC800E-CN_USB NOR_8M done
XM IPG-G3-WR GK7202V300 JXH63 ATBM60321S_USB NOR_8M done
XM IPC-RM1-BLK7202V3 GK7202V300 SC223A SV6115C_USB NOR_8M video-yes, wifi-yes (ssv6x5x#1), pan/tilt+ir+audio untested

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. The clone inventory omits this board 📘 Rule violation ⚙ Maintainability

The README adds the XM IPC-RM1 board to the device table but does not map it in the compatibility
and clones table to the existing Cootli board it was cloned from. Readers using the published
inventory cannot discover that this rebrand shares the supported Cootli implementation.
Agent Prompt
## Issue description
The new board is documented in the main device table, but its rebrand relationship to `gk7202v300_lite_cootli_camv0103` is absent from the README compatibility and clones table.

## Fix Focus Areas
- README.md[120-120]
- README.md[124-142]

## Recommended Fix
Add a compatibility-table row mapping the XM IPC-RM1-BLK7202V3-M43A-WIFI board to the existing Cootli CAMV0103 firmware/device entry, using the repository's established clone-table format.

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

The list was copied from cootli_camv0103 and had drifted from the
package. Seven entries named files that are no longer installed
(60fps/, WDR/ x2, iq/f23.ini, iq/gc2053.ini, libsns_f23.so,
libsns_h63.so), while high-fps/*, iq/ov2735.ini, iq/sc2239.ini, the
gc1054/gc4023/gc5603/imx327/mis2008/os02g10/sp2308 profiles and 19
opensdk-built sensor libraries shipped unlisted. It now lists every
installed sensor file except the two this board uses:
sc223a_i2c_1080p.ini and libsns_sc223a.so. Both IMX335 name layouts
are listed, because which one a build produces depends on the SoC.

The three wildcard lines are removed. rootfs_script.sh tests each
entry as a literal path, so they never matched anything, and the
generic gk7202v300 kernel config builds no i2c, scsi or f2fs modules
for them to strip anyway.
@openipc-ai

Copy link
Copy Markdown
Contributor

I pushed ea8b75d to this branch: it refreshes gk7202v300_lite.list against what the gk7205v200 osdrv and hisilicon-opensdk install today. The list copied from cootli had seven entries that matched no installed file and missed 19 sensor libraries plus the high-fps/ profiles. It now strips every sensor file except sc223a_i2c_1080p.ini and libsns_sc223a.so. The * lines are gone too: the exclude script never expands them, and the generic kernel builds no i2c/scsi/f2fs modules. The same fix for cootli is in #206. Nothing else in the PR changed.

openipc-ai added a commit that referenced this pull request Oct 15, 2026
…s today (#206)

The list had drifted from the package. Seven entries named files that
are no longer installed (60fps/, WDR/ x2, iq/f23.ini, iq/gc2053.ini,
libsns_f23.so, libsns_h63.so), while high-fps/*, iq/ov2735.ini,
iq/sc2239.ini, the gc1054/gc4023/gc5603/imx327/mis2008/os02g10/sp2308
profiles and 19 opensdk-built sensor libraries shipped unlisted. It
now lists every installed sensor file except the two this board uses:
sc223a_i2c_1080p.ini and libsns_sc223a.so. Both IMX335 name layouts
are listed, because which one a build produces depends on the SoC.

The three wildcard lines are removed. rootfs_script.sh tests each
entry as a literal path, so they never matched anything, and the
generic gk7202v300 kernel config builds no i2c, scsi or f2fs modules
for them to strip anyway.

Same list as gk7202v300_lite_xm-rm1 (#205), the other SC223A board on
this SoC.
@openipc-ai
openipc-ai merged commit 214075f into OpenIPC:master Oct 15, 2026
7 checks passed
@openipc-ai

Copy link
Copy Markdown
Contributor

Merged. On Qodo's two notes: the board's SC223A loads libsns_sc223a.so through sc223a_i2c_1080p.ini, which the camera finds by its name prefix, so excluding the 4-lane _4l files is intended (your original list did the same). And the RM1 has its own firmware rather than being a rebrand of the Cootli board, so it doesn't belong in the clones table. Thanks for the board!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants