Repository navigation
Conversation
Device profile split out of OpenIPC/firmware#2411 per review: custom configuration profiles belong in builder, firmware keeps only generic changes. Adds rv1103_lite_luckfox-pico-mini-b: SPI NAND layout and kernel cmdline, RTL8812AU + iw + wifibroadcast selected in the defconfig, no telemetry section in wfb.yaml (mavfwd runs out of memory on this board), and the Mini B USB-host kernel image target. Registers the device as the Rockchip smoke target in ci-matrix.py. Hardware validation is pending. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LUgGwhWgAFEH2WaWWVxcUd
775a584 to
b925d3a
Compare
openipc-ai
left a comment
There was a problem hiding this comment.
Thanks for splitting this out of firmware #2411. I also looked at the two upstream dependencies: OpenIPC/linux #68 and OpenIPC/realtek-wlan #10 both look correct to me. (#ifdef CONFIG_TXPWR_LIMIT is the right fix, because drv_conf.h defines the macro with no value. The proc_ops shim produces the same code as before on kernels older than 5.6.) Three things need changing here, plus one CI issue outside this diff.
CI cache will keep the old driver after realtek-wlan #10 merges (not in this diff). The "Refresh moving-ref package downloads" step in .github/workflows/master.yml only clears cached downloads whose names end in -(HEAD|master|main|dist). rtl8812au-openipc is pinned to the branch rtl8812au_fpv, and its download is in the monthly builder-dl cache because the wfbng targets use it. So once #10 merges, CI would still build the pre-fix source until the cache key rolls over the next month, and this board would still fail. The same applies to the branch-named kernel download (rockchip-rv1106.tar.gz) once it gets cached. That regex needs widening (in this PR or a separate one) before the device comes out of NOT_BUILT.
| # directories. --self-test enforces that cover rather than the list, so these can | ||
| # be re-picked freely while it holds. | ||
| SMOKE_TARGETS = [ | ||
| "rv1103_lite_luckfox-pico-mini-b", # Rockchip lite, SPI NAND |
There was a problem hiding this comment.
This board can't build until OpenIPC/linux #68 and OpenIPC/realtek-wlan #10 merge. Both are still drafts. Without #68, rv1103g-luckfox-pico-mini-b-usb-host.img doesn't exist on rockchip-rv1106; without #10, rtl8812au_fpv doesn't compile against 5.10. Having a defconfig is enough to put the device in the nightly, and listing it here also builds it on every PR that touches master.yml, so both go red.
Please drop it from SMOKE_TARGETS and add it to NOT_BUILT until both upstream PRs land. Both changes are needed, because the self-test rejects a SMOKE target that isn't built.
| @@ -0,0 +1,4 @@ | |||
| #!/bin/sh | |||
| fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/rv1103_lite_luckfox-pico-mini-b-nand.tgz' | |||
There was a problem hiding this comment.
Self-update can't work with the -nand.tgz archive. For rockchip, repack puts only rootfs.ubi in the NAND archive. sysupgrade always uses the NOR-style package ("the updater uses the NOR package for updating NAND") and looks for /tmp/zboot.img.rv1103 + /tmp/rootfs.squashfs.rv1103. It would stop with File /tmp/zboot.img.rv1103 not found.
The defconfig enables squashfs, so the build also produces the NOR package; point this at that one:
| fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/rv1103_lite_luckfox-pico-mini-b-nand.tgz' | |
| fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/rv1103_lite_luckfox-pico-mini-b-nor.tgz' |
| Pass its absolute path as `BR2_PACKAGE_OVERRIDE_FILE` when running | ||
| `make BOARD=rv1103_lite_luckfox-pico-mini-b`. | ||
|
|
||
| `general/overlay/etc/wfb.yaml` has no `telemetry:` section, so telemetry (`mavfwd`) is not |
There was a problem hiding this comment.
Leaving out the telemetry: section doesn't disable telemetry. The wifibroadcast init calls start_telemetry on every start, whatever the config says. That starts the extra wfb_rx/wfb_tx pair on 14550/14551 (load_wfb 144 16 ...). Because $router is empty, it then falls into the else branch and starts msposd with -m /dev/, -r "" and -z "".
So every boot spawns a broken msposd plus two wfb processes, on the same board where mavfwd was dropped for running out of memory. Telemetry needs to be properly disabled: either an explicit opt-out that wifibroadcast honours (a firmware change), or a device-side override. After that, this paragraph needs updating.
Split out of OpenIPC/firmware#2411, following the review feedback there: custom configuration profiles belong in builder, and firmware keeps only the generic changes. That PR will be reduced to the generic parts (SD-card overlay in
/init).What this adds
devices/rv1103_lite_luckfox-pico-mini-b:wfb.yamlwithout atelemetry:section, so telemetry is not configured (mavfwdwas tried on this board and runs out of memory)customizer.shpointing sysupgrade at the-nand.tgzimageci-matrix.py(--self-testpasses)Dependencies
Status
Draft. A local build of an earlier revision of this profile succeeded (NAND and NOR images,
zboot.img); this exact revision has not been rebuilt and nothing has been validated on hardware yet (USB host role,88XXauloading, video, replug, persistence). No result is claimed.🤖 Generated with Claude Code
https://claude.ai/code/session_01LUgGwhWgAFEH2WaWWVxcUd