Skip to content
 
 

Latest commit

 

History

3,736 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

openipc-raptor

A fork of OpenIPC/firmware that builds camera images running Raptor as the streamer instead of Majestic.

Differences from OpenIPC

  • Raptor replaces Majestic as the streamer: a set of small daemons sharing frames through shared memory, all GPL-3.0 and rebuildable, where the stock image runs one closed binary.
  • Retuned ISP calibration on most of the sensors this fork has had on a bench -- the sensor table below marks which.
  • Sensor driver fixes. SC450AI reports its model ID, so the ISP loads its IQ tuning instead of none; and mirror/flip is applied on nine SigmaStar drivers that staged the register and then dropped it.
  • Wi-Fi setup portal. A camera with no network configured raises its own access point and serves a setup page instead of sitting unreachable.
  • A MAC address per camera, derived from the flash unique ID or the SoC die ID, so two cameras on one network do not arrive sharing one.
  • A hostname per camera, derived from the SoC and the sensor.

The Raptor configuration console

Boards

Rootfs is the partition the image has to fit, and what a Wi-Fi driver or an IQ tuning has to find room in. A driver is often 1.5 MB, which is why a camera with a radio is an image of its own and why the 8 MB boards carry one sensor's tuning rather than the family's.

An SoC target (<soc>_<variant>) is the chip, its flash layout and the software stack. A camera (<identity>_<soc>_<sensor>_<radio>) is what is soldered around one: a small directory under br-ext-chip-<vendor>/cameras/ that layers the sensor, the radio and the board's pins on an SoC target. Both build with make BOARD=<name>.

Board SoC · family Flash Rootfs Download
ssc377qe_raptor SSC377QE · infinity6c 16 MB NOR 8192 KB sysupgrade · whole-flash
ssc377d_raptor SSC377D · infinity6c 16 MB NOR 8192 KB sysupgrade · whole-flash
ssc30kq_raptor SSC30KQ · infinity6e 16 MB NOR 8192 KB sysupgrade · whole-flash
ssc333_raptor SSC333 · infinity6b0 8 MB NOR 5120 KB sysupgrade
t31_raptor T31X · ingenic 16 MB NOR 8192 KB sysupgrade
hi3516ev300_raptor Hi3516EV300 · hi3516ev200 16 MB NOR 10240 KB sysupgrade
hi3516ev200_raptor Hi3516EV200 · hi3516ev200 8 MB NOR 5120 KB sysupgrade
hi3516cv608_raptor Hi3516CV608 · hi3516cv6xx 8 MB NOR 5120 KB sysupgrade · whole-flash
Camera On Sensor · radio Status Download
h4cx-a0_hi3516cv608_os04d10_rtl8733bu hi3516cv608_raptor OS04D10 · RTL8733BU (USB) verified 2026-09-25 sysupgrade · whole-flash
tapo-d130_ssc377d_sc5239_rtl8192eu ssc377d_raptor SC5239 · RTL8192EU (USB) verified 2026-09-25 sysupgrade · whole-flash
kd110_ssc333_sc3336_rtl8188fu ssc333_raptor SC3336 · RTL8188FU (USB) verified 2026-09-25 sysupgrade
wyze-cam3_t31_gc2053_atbm6031 t31_raptor GC2053 · ATBM6031 (SDIO) verified 2026-09-25 sysupgrade · whole-flash

Status is what has run on the unit, kept in CAMERA_STATUS in .github/scripts/ci-matrix.py; the camera's own README says what was verified and what was not.

A whole-flash image carries the bootloader and a fresh U-Boot environment. On a camera with a radio the environment is where the Wi-Fi network is kept, so after one the camera comes up with no network and raises its own access point for setup, exactly as a new one does.

Sensors

Every image carries drivers for more sensors than have ever been in front of one. Bold is tested on a camera here and carries a tuning made for this fork; italic is tested on a camera but renders with the stock tuning; the rest ship a driver nobody here has run.

Family Images Sensors on the image
infinity6c ssc377qe_raptor, ssc377d_raptor (tapo-d130_ssc377d_sc5239_rtl8192eu pins sc5239 alone) imx335, sc450ai, sc5239, gc4653, imx415, os04a10, sc401ai, sc4336p, sc501ai, sc5235, sc830ai, sc850sl
infinity6e ssc30kq_raptor gc4653, gc2053, gc2093, imx307, imx335, imx347, imx415, os04a10, os04c10, sc501ai, sc8235
infinity6b0 ssc333_raptor (kd110_ssc333_sc3336_rtl8188fu pins sc3336 alone) sc3336, gc2053, gc4023, gc4653, imx307, imx335, jxf37, jxq03, os02g10, sc200ai, sc223a, sc2335, sc2336, sc3338, sc401ai
hi3516ev200 hi3516ev200_raptor, hi3516ev300_raptor imx307, imx335, gc2053, gc4653, jxf22, jxf23, jxf37, sc2231, sc2232h, sc2239, sc2315e, sc3235, sc3335, sc4236, sp2305, sp2308
hi3516cv6xx hi3516cv608_raptor, h4cx-a0_hi3516cv608_os04d10_rtl8733bu os04d10, cv2005 (hi3516cv608_raptor only)
ingenic t31 t31_raptor (wyze-cam3_t31_gc2053_atbm6031 pins gc2053 alone) gc2053, and on the base every sensor the T31 driver package carries

Before you flash

These are experimental builds. Have a recovery path before you write one to a camera.

A recovery path means a way to get the camera booting again when the image you just wrote does not: soldered UART leads you have already used once, or a SPI flash clip and a programmer. Not a plan to acquire one afterwards. Nothing in this fork is widely deployed, several targets have run on exactly one unit, and a rootfs is only discovered to be bad after it has been written to flash.

Read the wiki on flashing and serial/UART first if you have not done this before.

Installing

These images are ordinary OpenIPC sysupgrade archives. Upgrading an existing OpenIPC camera may or may not work depending on which variant it runs (lite, ultimate) and the partition layout it was flashed with.

ssh root@<board> 'sysupgrade --url=<link from the table>'

Configuring a running camera

The configuration console is at http://<camera>/.

A new camera ships unclaimed: root has no password, so nothing can be configured and anyone who can reach the camera can take it. Claiming it means setting that password, and it is what protects the console afterwards. Three doors do it, and any one is enough:

  • the console at http://<camera>/, which draws a claim card instead of its settings while the camera has no password;
  • the setup page on the camera's own access point, if it has no network yet;
  • SSH -- log in as root with an empty password and it prompts for one.

They all write the same file and read it live, so whichever you use, the other two see it immediately. sysupgrade -n wipes the overlay and returns the camera to unclaimed, which is also the way back from a forgotten password.

Licence and credit

This build tree is MIT, inherited from upstream OpenIPC. Raptor itself is GPL-3.0 -- all four of its repositories are -- so an image built here mixes the two, and the Raptor daemons carry GPLv3 obligations that the rest of the tree does not.

OpenIPC is the reason any of this boots at all: kernel, bootloader, vendor packaging and the Buildroot tree are theirs. See the project, the website and the wiki, and consider supporting them at Open Collective.

About

A fork of OpenIPC/firmware that builds camera images running Raptor as the streamer

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages