Repository navigation
Installing and Switching
Rule: flash complete OTA images only (kernel plus rootfs together). Partial rootfs-only updates can pair a driver with the wrong userspace.
Select the stack in menuconfig or in a scoped local.fragment:
# open stack
BR2_PACKAGE_THINGINO_ISP_OPEN=y
# open driver, vendor libimp (debugging)
BR2_PACKAGE_THINGINO_ISP_OPEN=y
BR2_PACKAGE_THINGINO_ISP_OPEN_VENDOR_LIBIMP=y
# vendor stack
BR2_PACKAGE_THINGINO_ISP_PROPRIETARY=y
Switching means building and flashing a new full image. There is no runtime switch between vendor and open modules; the boot guard below only decides whether the ISP stack is loaded at all.
For a clean A/B test of the two stacks, build two images that differ only in this choice (same streamer revision, same configuration) and compare, see Testing.
BR2_PACKAGE_THINGINO_ISP_GUARD installs /etc/init.d/S10isp-guard, a crash-loop guard for the open modules. It runs before the module loader and before the streamer.
The U-Boot variable isp_open selects the behaviour:
| Value | Behaviour |
|---|---|
auto (default when unset) |
Load the modules; the boot counts as stable after 300 s uptime with the streamer running. If the camera reboots before that, the next boot skips the ISP and sensor modules and the streamer (the camera stays reachable over SSH and the web UI). |
manual |
Do not load the ISP/sensor modules or start the streamer. Load by hand with /etc/init.d/S10isp-guard load while watching the kernel log (load --no-timps skips the streamer). |
off |
Never load them. |
Change it with fw_setenv isp_open auto|manual|off (effective at the next boot) or from the U-Boot prompt (setenv isp_open off; boot).
Commands:
/etc/init.d/S10isp-guard status # mode, pending/tripped marks, loaded modules
/etc/init.d/S10isp-guard clear # re-arm after the guard tripped
/etc/init.d/S10isp-guard load # load the modules now (manual mode)State lives in /etc/isp-guard/ (pending, tripped). Modules and streamer are suppressed for one boot only by bind-mounting empty files; nothing on flash changes. A clean reboot (including sysupgrade and OTA) clears the pending mark; a crash, watchdog reset or power loss within the first 300 s keeps it.
Caveats:
- Meant for development and bring-up. Two reboots within five minutes leave the streamer off until someone runs
clear, so do not use it on cameras that must keep streaming through repeated power loss. - A flash reboot less than 300 s after a restart can trip the guard; run
clear.
- Boot with
isp_open=manual(oroff) so the camera comes up with SSH. - Check
dmesgand the streamer log, see Troubleshooting. -
S10isp-guard loadand watch the kernel log, or flash a known-good image.