Firmware

Introduction

Supported devices

We specifically develop universal firmware that doesn’t depend on fucking manufacturers.

The list is constantly updated, follow the releases !

Processor Sensor Vendor SKU Board Satus
Hi3516Cv100 IMX222_spi_dc XM BLK18C-0222-38X38_S-V1.03 test
Hi3518Ev100 OV9712_i2c_dc CamHi/Xin IPC18E_9712_V2.0/V3.1 test
Hi3516Cv200 IMX323_i2c_dc XM BLK16CV-0323-38X38-V1.01 yes
Hi3516Cv200 IMX323_i2c_dc JVT S323H16VF IPS323-H16V-38X38-V2 yes
Hi3518Ev200 AR0130_i2c_dc XM BLK18EV-0732-0035-38X38-V1.01 yes
Hi3518Ev200 JXF22_i2c_dc XM BLK18EV-0002-2035-38X38-V1.01 yes
Hi3518Ev200 JXF22_i2c_dc XM BLK18EV-0022-0130-38X38-V1.01 yes
Hi3518Ev200 OV2735_i2c_dc Dahua DH-IPC-C22P E305654 JX02 94V-0 vip
Hi3518Ev200 OV9732_ XM BLK18EV-0732-0035-38X38-V1.01 yes
Hi3518Ev200 OV9732_i2c_dc Rostelecom QVC-IPC-136W E305654 JX02 94V-0 vip
Hi3518Ev200 SC2135_i2c_dc XM BLK18EV-0035-0042-38X38_S-V1.01 yes
Hi3518Ev200 SC2235_i2c_dc XM BLK18EV-0235-38X38-B-V1.01 yes
Hi3516Cv300 AR0237_i2c_dc XM BLK16CV3-0237P-38X38-S-V1.01 yes
Hi3516Cv300 IMX307_i2c_lvds Raysharp RS-CM-188D 2018-03-16 E150111 yes
Hi3516Cv300 IMX323_i2c_dc Longse/HS HI3516CV300-IMX323-POE-TF V1.1 yes
Hi3516Cv300 IMX323_i2c_dc Sunywo ZB6323 IPG5020A-T-N6-V0.1 yes
Hi3516Cv300 IMX323_spi_dc JVT S323H16XF IPS323-H16X-38X38-V2/V3 yes
Hi3516Cv300 JXF22_i2c_dc XM BLK16CV3-0022-38X38-S-V1.01 yes
Hi3516Ev100 IMX323_i2c_dc XM BLK16E-0323-38X38-B-V1.01 yes
Hi3516Ev100 SC2235P_i2c_dc XM 80HE20PS-S BLK16E-0235-38X38-S-V2.03 yes

More information about sensors (in Russian) - https://cctvsp.ru

Firmware

Need write short informex message

Downloads (latest development)

Need write short informex message

Building status SoC U-Boot Kernel Rootfs Maintainer
Hi3516Cv100 images Hi3516CV100 uboot kernel rootfs IZ
Hi3516Cv200 images Hi3516CV200 uboot kernel rootfs IZ
Hi3516Cv300 images Hi3516CV300 uboot kernel rootfs IZ+DI
Hi3516Cv300 images Hi3516EV100 uboot kernel rootfs IZ+DI
Hi3516Cv100 images Hi3518CV100 uboot kernel rootfs IZ
Hi3516Cv100 images Hi3518EV100 uboot kernel rootfs IZ
Hi3516Cv200 images Hi3518EV200 uboot kernel rootfs IZ
Hi3516Cv200 images Hi3518EV201 uboot kernel rootfs IZ

Releases

Need write short informex message

The releases of the OpenIPC firmware is hosted at https://github.com/OpenIPC/chaos_calmer/releases

Soure code

Need write short informex message

The source code of the OpenIPC firmware is hosted at https://github.com/openipc/chaos_calmer

Build manually

Build on Linux machine

Usage example for Debian 8/9

git clone --depth=1 https://github.com/OpenIPC/chaos_calmer.git OpenIPC
cd OpenIPC
./Project_OpenIPC.sh update
./Project_OpenIPC.sh 16cv300_DEFAULT

Use Docker for building

Default Dockerfile.openipc

FROM debian:stretch

RUN DEBIAN_FRONTEND=noninteractive apt-get update \
    && apt-get --no-install-recommends -y install bc bison build-essential \
    ca-certificates cmake cpio curl dos2unix file flex gawk gcc-multilib \
    gettext gettext-base git intltool libc6-dev liblocale-gettext-perl \
    libncurses-dev libssl-dev locales mc openssl python rsync subversion \
    time tofrodos unzip upx wget zlib1g-dev \
    && localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias \
    en_US.UTF-8 && rm -rf /var/lib/apt/lists/*

ENV LANG en_US.utf8

WORKDIR /src/openipc

RUN git clone --depth=1 https://github.com/OpenIPC/chaos_calmer.git /src/openipc
RUN ./Project_OpenIPC.sh update
RUN ./Project_OpenIPC.sh 18ev200_DEFAULT  # <= Change this ID to you profile

Start building

#!/bin/bash

docker build -t openipc -f Dockerfile.openipc .

Get access to U-boot

Need write short informex message

  • Dahua | Press Shift 8 in U-boot start
  • JVT | Press Ctrl+Q in U-boot start
  • XM | Press Ctrl+C in U-boot start

Backup original MAC

You should definitely write the original MAC of your device on the eth0 port.

This is important and will be necessary at the final stage of device configuration.

Backup original firmware

Need write short informex message

8M Flash

setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.254
sf probe 0
mw.b 0x82000000 ff 1000000
sf read 0x82000000 0x0 0x800000
tftp 0x82000000 fullflash.img 0x800000

16M Flash

setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.254
sf probe 0
mw.b 0x82000000 ff 1000000
sf read 0x82000000 0x0 0x1000000
tftp 0x82000000 fullflash.img 0x1000000

Burn Flash at

Need write short informex message

Hi3516Cv100

Experimental devices:

  • 00:12:16:FA:F3:52
  • 00:12:12:10:31:54 - BLK18C_0222_38x38_S_v1.03
setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.254
sf probe 0; sf lock 0

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-16cv100-u-boot.bin
sf erase 0x0 0x50000
sf write ${fileaddr} 0x0 ${filesize}

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-16cv100-default-uImage
sf erase 0x50000 0x200000
sf write ${fileaddr} 0x50000 ${filesize}

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-16cv100-default-root.squashfs
sf erase 0x250000 0x500000
sf write ${fileaddr} 0x250000 ${filesize}

Hi3516Cv200

setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.254
sf probe 0; sf lock 0

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-16cv200-u-boot.bin
sf erase 0x0 0x50000
sf write ${fileaddr} 0x0 ${filesize}

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-16cv200-default-uImage
sf erase 0x50000 0x200000
sf write ${fileaddr} 0x50000 ${filesize}

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-16cv200-default-root.squashfs
sf erase 0x250000 0x500000
sf write ${fileaddr} 0x250000 ${filesize}

Hi3516Cv300

setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.254
sf probe 0; sf lock 0

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-16cv300-u-boot.bin
sf erase 0x0 0x50000
sf write ${fileaddr} 0x0 ${filesize}

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-16cv300-default-uImage
sf erase 0x50000 0x200000
sf write ${fileaddr} 0x50000 ${filesize}

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-16cv300-default-root.squashfs
sf erase 0x250000 0x500000
sf write ${fileaddr} 0x250000 ${filesize}

Hi3516Ev100

Experimental devices:

  • 00:12:13:02:d7:2c
setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.254
sf probe 0; sf lock 0

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-16ev100-u-boot.bin
sf erase 0x0 0x50000
sf write ${fileaddr} 0x0 ${filesize}

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-16cv300-default-uImage
sf erase 0x50000 0x200000
sf write ${fileaddr} 0x50000 ${filesize}

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-16cv300-default-root.squashfs
sf erase 0x250000 0x500000
sf write ${fileaddr} 0x250000 ${filesize}

Hi3518Av100 will be soon…

Hi3518Cv100 will be soon…

setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.254
sf probe 0; sf lock 0

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-18cv100-u-boot.bin
sf erase 0x0 0x50000
sf write ${fileaddr} 0x0 ${filesize}

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-16cv100-default-uImage
sf erase 0x50000 0x200000
sf write ${fileaddr} 0x50000 ${filesize}

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-16cv100-default-root.squashfs
sf erase 0x250000 0x500000
sf write ${fileaddr} 0x250000 ${filesize}

Hi3518Ev100

setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.254
sf probe 0; sf lock 0

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-18ev100-u-boot.bin
sf erase 0x0 0x50000
sf write ${fileaddr} 0x0 ${filesize}

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-18ev100-default-uImage
sf erase 0x50000 0x200000
sf write ${fileaddr} 0x50000 ${filesize}

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-18ev100-default-root.squashfs
sf erase 0x250000 0x500000
sf write ${fileaddr} 0x250000 ${filesize}

Hi3518Ev200

setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.254
sf probe 0; sf lock 0

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-18ev200-u-boot.bin
sf erase 0x0 0x50000
sf write ${fileaddr} 0x0 ${filesize}

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-18ev200-default-uImage
sf erase 0x50000 0x200000
sf write ${fileaddr} 0x50000 ${filesize}

mw.b 0x82000000 ff 1000000
tftp 0x82000000 openwrt-hi35xx-18ev200-default-root.squashfs
sf erase 0x250000 0x500000
sf write ${fileaddr} 0x250000 ${filesize}

Hi3518Ev201 will be soon…

XM510 will be soon…

XM530 will be soon…

Update parts of the firmware

Update u-boot

flashcp -v openwrt-hi35xx-XXXXX-u-boot.bin boot

or

flashcp -v openwrt-hi35xx-XXXXX-u-boot.bin /dev/mtd0

Update kernel

flashcp -v openwrt-hi35xx-XXXXX-default-uImage kernel

Update rootfs

flashcp -v openwrt-hi35xx-XXXXX-default-root.squashfs rootfs

Commands after installation

Need write short informex message

Clean u-boot env

Restore to default u-boot env

flash_eraseall /dev/mtd1
reboot

Clean overlayfs

Restore to default settings

firstboot
reboot

Format overlayfs partition

flash_eraseall -j /dev/mtd4
reboot

Change MAC

U-boot ENV and Linux UCI

fw_setenv ethaddr 00:01:02:03:04:05
uci set network.lan.macaddr=00:01:02:03:04:05
uci commit
reboot

Reference Book

Vendors

Contents