From 1abeee3124c6a9c78be840f7d5e85a3e8077880e Mon Sep 17 00:00:00 2001
From: Paul Philippov <themactep@gmail.com>
Date: Fri, 31 Dec 2021 00:02:50 -0500
Subject: [PATCH] update references to openipc-2.1 (#2)

* update references to openipc-2.1.

* more manageable links. some formatting, some spelling correction.
---
 en/old-manual.md | 316 +++++++++++++++++++++++++++++------------------
 ru/discussion.md |   4 +-
 2 files changed, 196 insertions(+), 124 deletions(-)

diff --git a/en/old-manual.md b/en/old-manual.md
index 3f1ba32..f9970e3 100644
--- a/en/old-manual.md
+++ b/en/old-manual.md
@@ -1,8 +1,9 @@
-
-## Introduction
+Introduction
+------------
 
 This page describes OpenWRT-based firmware variant.
 
+
 ### Firmware features
 
 * RTSP, ONVIF, NETIP
@@ -19,69 +20,73 @@ This page describes OpenWRT-based firmware variant.
 * µVPN tunnel service
 * and more ...
 
+
 ### Supported devices
 
 We aim to develop **universal**, portable firmware supporting wide range of
 manufacturers and delivering updates and fixes which vendors oftentimes
 unable to deliver.
 
-The list is constantly updated, please visit often and/or follow our
-Telegram groups for new release notifications.
+The list is constantly updated, please visit often and/or follow our Telegram
+groups for new release notifications.
+
 
 #### OpenIPC 1.0 (OpenWRT based)
 
-| Processor   | Sensor          | Vendor     | SKU          | Board                          | Status |
-|-------------|-----------------|------------|--------------|--------------------------------|--------|
-| Hi3516Cv100 | IMX222_spi_dc   | XM         |              | [BLK18C-0222-38X38_S-V1.03](https://aliexpress.com/item/32493067946.html)  | 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    |
-| Hi3516Cv200 | IMX323_i2c_mipi | XM         |              |                                | ?      |
-| 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             | wip    |
-| Hi3518Ev200 | OV9732_         | XM         |              | BLK18EV-0732-0035-38X38-V1.01  | yes    |
-| Hi3518Ev200 | OV9732_i2c_dc   | Longse/HS  | LS-IP100/40  | 3518EV200-OV9732-V1.0          | yes    |
-| Hi3518Ev200 | OV9732_i2c_dc   | Rostelecom | QVC-IPC-136W | E305654 JX02 94V-0             | wip    |
-| 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_i2c_dc   | XM         |              | [IVG-HP201Y-AE](https://aliexpress.com/item/32851596596.html)             | yes    |
-| Hi3516Cv300 | IMX291_i2c_lvds | XM         |              | [IVG-HP203Y-AE](https://aliexpress.com/item/1005002315913099.html)             | 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    |
+| Processor   | Sensor          | Vendor     | SKU          | Board                           | Status |
+|-------------|-----------------|------------|--------------|---------------------------------|--------|
+| Hi3516Cv100 | IMX222_spi_dc   | XM         |              | [BLK18C-0222-38X38_S-V1.03][1]  | 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    |
+| Hi3516Cv200 | IMX323_i2c_mipi | XM         |              |                                 | ?      |
+| 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              | wip    |
+| Hi3518Ev200 | OV9732_         | XM         |              | BLK18EV-0732-0035-38X38-V1.01   | yes    |
+| Hi3518Ev200 | OV9732_i2c_dc   | Longse/HS  | LS-IP100/40  | 3518EV200-OV9732-V1.0           | yes    |
+| Hi3518Ev200 | OV9732_i2c_dc   | Rostelecom | QVC-IPC-136W | E305654 JX02 94V-0              | wip    |
+| 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_i2c_dc   | XM         |              | [IVG-HP201Y-AE][2]              | yes    |
+| Hi3516Cv300 | IMX291_i2c_lvds | XM         |              | [IVG-HP203Y-AE][3]              | 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    |
+
 
 #### OpenIPC 2.1 (Buildroot based)
 
-| Processor   | Sensor          | Vendor     | SKU          | Board                          | Status |
-|-------------|-----------------|------------|--------------|--------------------------------|--------|
-| Hi3516Ev200 | IMX307_i2c_mipi | XM         |              | [IVG-85HF20PY-S](https://aliexpress.com/item/1005002298832047.html) |  yes   |
-| Hi3516Ev200 | SC4239P_i2c_mipi | XM        |              | [IVG-85HF30PS-S](https://aliexpress.com/item/4000119561119.html)               |  yes   |
-| Hi3516Ev300 | IMX335_i2c_mipi | XM         |              | [IVG-85HG50PYA-S](https://aliexpress.com/item/4000054902736.html)  | yes |
-| SSC335      | SC3335          |            |              | [Uniview](https://aliexpress.com/item/1005001933429701.html)  | yes |
+| Processor   | Sensor           | Vendor | SKU | Board                | Status |
+|-------------|------------------|--------|-----|----------------------|--------|
+| Hi3516Ev200 | IMX307_i2c_mipi  | XM     |     | [IVG-85HF20PY-S][4]  | yes    |
+| Hi3516Ev200 | SC4239P_i2c_mipi | XM     |     | [IVG-85HF30PS-S][5]  | yes    |
+| Hi3516Ev300 | IMX335_i2c_mipi  | XM     |     | [IVG-85HG50PYA-S][6] | yes    |
+| SSC335      | SC3335           |        |     | [Uniview][7]         | yes    |
 
-More information about sensors (translated from Russian automatically) - [https://cctvsp.ru](https://translate.google.com/translate?sl=ru&tl=en&u=https://www.cctvsp.ru/articles/obzor-i-sravnenie-matrits-dlya-kamer-videonablyudeniya)
+More information about sensors: [https://cctvsp.ru][8] (translated from Russian
+with Google Translate).
 
 
 ### Web interface
 
-* [http://192.168.1.10](http://192.168.1.10) - Standard system interface based on OpenWrt Luci
+* <http://192.168.1.10/> - Standard system interface based on OpenWrt Luci
+
 
 ### Majestic streamer
 
 Majestic is a video streaming application, the heart of our firmware (in
-relation to camera/video surveillance functionality). It's configurable
-via file `/etc/majestic.yaml` and by default has many features/services
-enabled. Unneded options can be turned off for better security and
-performance.
+relation to camera/video surveillance functionality). It's configurable via
+file `/etc/majestic.yaml` and by default has many features/services enabled.
+Unneeded options can be turned off for better security and performance.
 
 To run `majestic` in debug mode:
 
@@ -95,50 +100,54 @@ To run `majestic` in production mode restart the camera or run command:
 killall -sigint majestic; export SENSOR=$(ipctool --sensor_id); majestic 2>&1 | logger -p daemon.info -t majestic &
 ```
 
+
 ### Camera related URLs in firmware
 
-
-Information on the streamer URL's and their description can be found in the [Wiki](https://github.com/OpenIPC/openipc-2.1/wiki/majestic_streamer)
+Information on streamer URLs and their description can be found in the [Wiki][9].
 
 
 ### Statistical data
 
-Software might do product usage data collection including SoC and sensor model name to gather statistics used in QA process.
+Software might do product usage data collection including SoC and sensor model
+name to gather statistics used in QA process.
 
-We guaranty that the data is fully anonymized, and does not contain anything that can arguably be considered data about an individual, that could be considered end-user data; or that could be sensitive or confidential to users.
+We guaranty that the data is fully anonymized, and does not contain anything
+that can arguably be considered data about an individual, that could be
+considered end-user data; or that could be sensitive or confidential to users.
 
 
-
-## Getting firmware
+Getting firmware
+----------------
 
 ### Downloads (latest dev)
 
-| Building status |    SoC    | U-Boot | Kernel | Rootfs |
-|-----------------|-----------|--------|--------|--------|
-|![Hi3516Cv100 images](https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv100_images.yml/badge.svg?branch=master)|Hi3516CV100|[uboot](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv100-u-boot.bin)|[kernel](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv100-default-uImage)|[rootfs](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv100-default-root.squashfs)
-|![Hi3516Cv200 images](https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv200_images.yml/badge.svg?branch=master)|Hi3516CV200|[uboot](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv200-u-boot.bin)|[kernel](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv200-default-uImage)|[rootfs](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv200-default-root.squashfs)
-|![Hi3516Cv300 images](https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv300_images.yml/badge.svg?branch=master)|Hi3516CV300|[uboot](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv300-u-boot.bin)|[kernel](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv300-default-uImage)|[rootfs](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv300-default-root.squashfs)
-|![Hi3516Ev100 images](https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv300_images.yml/badge.svg?branch=master)|Hi3516EV100|[uboot](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16ev100-u-boot.bin)|[kernel](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16ev100-default-uImage)|[rootfs](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16ev100-default-root.squashfs)
-|![Hi3518Av100 images](https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv100_images.yml/badge.svg?branch=master)|Hi3518AV100|[uboot](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18av100-u-boot.bin)|[kernel](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18av100-default-uImage)|[rootfs](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18av100-default-root.squashfs)
-|![Hi3518Cv100 images](https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv100_images.yml/badge.svg?branch=master)|Hi3518CV100|[uboot](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18cv100-u-boot.bin)|[kernel](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18cv100-default-uImage)|[rootfs](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18cv100-default-root.squashfs)
-|![Hi3518Ev100 images](https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv100_images.yml/badge.svg?branch=master)|Hi3518EV100|[uboot](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev100-u-boot.bin)|[kernel](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev100-default-uImage)|[rootfs](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev100-default-root.squashfs)
-|![Hi3518Ev200 images](https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv200_images.yml/badge.svg?branch=master)|Hi3518EV200|[uboot](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev200-u-boot.bin)|[kernel](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev200-default-uImage)|[rootfs](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev200-default-root.squashfs)
-|![Hi3518Ev201 images](https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv200_images.yml/badge.svg?branch=master)|Hi3518EV201|[uboot](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev201-u-boot.bin)|[kernel](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev201-default-uImage)|[rootfs](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev201-default-root.squashfs)
-|![Hi3520Dv100 images](https://github.com/openipc/chaos_calmer/actions/workflows/hi3520dv200_images.yml/badge.svg?branch=master)|Hi3520DV100| ! |[kernel](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-20dv100-default-uImage)|[rootfs](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-20dv100-default-root.squashfs)
-|![Hi3520Dv200 images](https://github.com/openipc/chaos_calmer/actions/workflows/hi3520dv200_images.yml/badge.svg?branch=master)|Hi3520DV200| ! |[kernel](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-20dv200-default-uImage)|[rootfs](https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-20dv200-default-root.squashfs)
+| Building status            | SoC         | U-Boot      | Kernel        | Rootfs        |
+|----------------------------|-------------|-------------|---------------|---------------|
+| ![Hi3516Cv100 images][b1]  | Hi3516CV100 | [uboot][u1] | [kernel][k1]  | [rootfs][r1]  |
+| ![Hi3516Cv200 images][b2]  | Hi3516CV200 | [uboot][u2] | [kernel][k2]  | [rootfs][r2]  |
+| ![Hi3516Cv300 images][b3]  | Hi3516CV300 | [uboot][u3] | [kernel][k3]  | [rootfs][r3]  |
+| ![Hi3516Ev100 images][b4]  | Hi3516EV100 | [uboot][u4] | [kernel][k4]  | [rootfs][r4]  |
+| ![Hi3518Av100 images][b5]  | Hi3518AV100 | [uboot][u5] | [kernel][k5]  | [rootfs][r5]  |
+| ![Hi3518Cv100 images][b6]  | Hi3518CV100 | [uboot][u6] | [kernel][k6]  | [rootfs][r6]  |
+| ![Hi3518Ev100 images][b7]  | Hi3518EV100 | [uboot][u7] | [kernel][k7]  | [rootfs][r7]  |
+| ![Hi3518Ev200 images][b8]  | Hi3518EV200 | [uboot][u8] | [kernel][k8]  | [rootfs][r8]  |
+| ![Hi3518Ev201 images][b9]  | Hi3518EV201 | [uboot][u9] | [kernel][k9]  | [rootfs][r9]  |
+| ![Hi3520Dv100 images][b10] | Hi3520DV100 | !           | [kernel][k10] | [rootfs][r10] |
+| ![Hi3520Dv200 images][b11] | Hi3520DV200 | !           | [kernel][k11] | [rootfs][r11] |
 
 
 ### Releases
 
-The **releases** of the OpenIPC firmware is hosted at https://github.com/OpenIPC/chaos_calmer/releases
+The **releases** of the OpenIPC firmware are hosted at <https://github.com/OpenIPC/chaos_calmer/releases>.
+
 
 ### Source code
 
-The **source code** of the OpenIPC firmware is hosted at https://github.com/openipc/chaos_calmer
+The **source code** of the OpenIPC firmware is hosted at <https://github.com/openipc/chaos_calmer>.
 
 
-
-## Building from source
+Building from source
+--------------------
 
 ### Build on Linux machine
 
@@ -151,6 +160,7 @@ cd OpenIPC
 ./Project_OpenIPC.sh 16cv300_DEFAULT
 ```
 
+
 ### Use Docker for building
 
 **Default Dockerfile.openipc**
@@ -185,8 +195,8 @@ docker build -t openipc -f Dockerfile.openipc .
 ```
 
 
-
-## Preparing to install
+Preparing to install
+--------------------
 
 ### Get access to U-boot
 
@@ -206,8 +216,6 @@ 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
 
 #### 8M Flash
@@ -244,11 +252,9 @@ tftp 0x82000000 fullflash.img 0x2000000
 ```
 
 
-
-
 ### Flash and memory layout
 
-We have developed a universal partition system for camera flash chips
+We have developed a universal partition system for camera flash chips,
 and it is now available as standard for all types of devices. (Note
 that it means it likely doesn't match vendor flash layout.)
 
@@ -282,14 +288,14 @@ loadaddr-$(CONFIG_TARGET_hi35xx_20dv200) := 0x80008000
 ```
 
 
+Flashing new firmware
+---------------------
 
-
-## Flashing new firmware
-
-**Attention !**
+**Attention!**
 
 All examples indicate the download of firmware components via the TFTP server. 
-If your device does not have an Ethernet port, replace in all lines the **tftp** command everywhere with **fatload mmc 0:1** For example:
+If your device does not have an Ethernet port, replace all `tftp` commands with
+`fatload mmc 0:1`. For example:
 
 ```txt
 tftp 0x82000000 openwrt-hi35xx-XXXXX-u-boot.bin
@@ -297,10 +303,10 @@ tftp 0x82000000 openwrt-hi35xx-XXXXX-u-boot.bin
 fatload mmc 0:1 0x82000000 openwrt-hi35xx-XXXXX-u-boot.bin
 ```
 
-
 ### Hi3516Cv100
 
-**This type of board has additional Ethernet control systems via GPIO and registers. Consult with experts !**
+**This type of board has additional Ethernet control systems via GPIO and
+registers. Consult with experts!**
 
 **Experimental devices:**
 
@@ -403,7 +409,8 @@ sf write 0x82000000 0x250000 ${filesize}
 
 ### Hi3518Cv100
 
-**This type of board has additional Ethernet control systems via GPIO and registers. Consult with experts !**
+**This type of board has additional Ethernet control systems via GPIO and
+registers. Consult with experts!**
 
 ```txt
 setenv ipaddr 192.168.1.10
@@ -428,7 +435,8 @@ sf write 0x82000000 0x250000 ${filesize}
 
 ### Hi3518Ev100
 
-**This type of board has additional Ethernet control systems via GPIO and registers. Consult with experts !**
+**This type of board has additional Ethernet control systems via GPIO and
+registers. Consult with experts!**
 
 ```txt
 setenv ipaddr 192.168.1.10
@@ -521,11 +529,13 @@ sf write 0x82000000 0x250000 ${filesize}
 ```
 
 
-## Updating parts of the firmware
+Updating parts of the firmware
+------------------------------
 
 If you already have OpenIPC firmware installed, you can update individual
 flash partitions from shell command line:
 
+
 ### Update u-boot
 
 ```bash
@@ -538,12 +548,14 @@ flashcp -v openwrt-hi35xx-XXXXX-u-boot.bin boot
 flashcp -v openwrt-hi35xx-XXXXX-u-boot.bin /dev/mtd0
 ```
 
+
 ### Update kernel
 
 ```bash
 flashcp -v openwrt-hi35xx-XXXXX-default-uImage kernel
 ```
 
+
 ### Update rootfs
 
 ```bash
@@ -551,13 +563,12 @@ flashcp -v openwrt-hi35xx-XXXXX-default-root.squashfs rootfs
 ```
 
 
-
-## Configuring system after installation
-
+Configuring system after installation
+--------------------------------------
 
 ### Format overlayfs partition
 
-**Must be executed on first run**
+**Must be executed on the first run!**
 
 ```txt
 flash_eraseall -j /dev/$(awk -F ':' '/rootfs_data/ {print $1}' /proc/mtd)
@@ -585,10 +596,12 @@ fw_setenv sensor imx291_i2c_lvds
 ```
 
 
-## Resetting configuration
+Resetting configuration
+-----------------------
 
 If something went wrong, you can reset configuration to defaults.
 
+
 ### Clean overlayfs (reset)
 
 **Restore to default Linux settings**
@@ -608,15 +621,16 @@ flash_eraseall -j /dev/$(awk -F ':' '/env/ {print $1}' /proc/mtd)
 reboot
 ```
 
+
 ### Recover backup firmware
 
 If something goes horribly wrong and you want back your backed up firmware
 
 **Restore backup up firmware via serial**
 
+Install kermit using [this instruction](https://glasstty.com/?p=662) or similar.
+Here are the sample commands for 8MB Flash.
 
-Install kermit using instructions [**here**](https://glasstty.com/?p=662) or similar.
-Here are the sample commands for 8MB Flash
 ```
 kermit
 Linux Kermit> CONNECT
@@ -652,7 +666,7 @@ OpenIPC #
 ```
 **Restore backup up firmware via TFTP**
 
-Here are the commands for 8MB Flash
+Here are the commands for 8MB Flash.
 
 ```
 setenv ipaddr 192.168.1.10
@@ -672,33 +686,91 @@ To be written...
 
 ### Vendors
 
-* [**ACTi**](https://www.acti.com/)
-* [**Anjvision**](http://www.anjvision.com/) | http://icamra.cn/
-* [**Ansjer / ZOSI**](https://www.ansjer.com/)
-* [**Anviz**](http://www.anviz.com)
-* [**Brovotech**](https://brovotech.com/)
-* [**Camasmart / Filsion**](http://www.camasmart.com)
-* [**Cantonk**](http://cantonk.com/)
-* [**CCDCAM**](http://www.ccdcam.com), maybe a trading house...
-* [**FSAN**](http://www.fsan.cn/)
-* [**Herospeed / Longse**](http://www.herospeed.net/en/index.php?m=content&c=index&a=lists&catid=11)
-* http://www.ipcam.xin/
-* [**Jovision**](http://www.jovision.com/)
-* http://www.jvt.cc/English/about.html
-* [**LENOTEL**](http://www.lenoteltechnology.com/), maybe a trading house...
-* [**Longse / Herospeed**](http://www.longse.com/)
-* [**Milesight**](http://www.milesight.com/product/product_menu)
-* [**Raysharp**](http://raysharp.cn/en/index.html)
-* [**Ruision**](http://www.ruision.com/col/70560?lang=en)
-* [**Safer**](http://www.safer.net.cn/), maybe a hardware assembler...
-* http://www.sunywo.com/cn/index.shtml
-* [**Tiandy**](http://en.tiandy.com/)
-* [**Topsee**](http://www.en.tpsee.com/)
-* [**TVT**](http://www.tvt.net.cn/)
-* [**UNIVIEW**](http://uniview.com)
-* [**VandSec / Yoosee**](http://vandsec.com/), maybe a trading house...
-* [**VStarcam**](http://www.vstarcam.com), maybe a trading house...
-* [**Wansview**](http://wansview.com)
-* [**XM**](http://www.xiongmaitech.com/en/index.php)
-* [**Z-BEN**](http://www.z-ben.cn), maybe a trading house...
-* [**ZOSI / Ansjer**](https://www.zositech.com/)
+* [ACTi](https://www.acti.com/)
+* [Anjvision](http://www.anjvision.com/), <http://icamra.cn/>
+* [Ansjer](https://www.ansjer.com/)
+* [Anviz](http://www.anviz.com/)
+* [Brovotech](https://brovotech.com/)
+* [Cantonk](http://cantonk.com/)
+* [CCDCAM](http://www.ccdcam.com/) th?
+* [Filsion/Camasmart](http://www.camasmart.com/)
+* [FSAN](http://www.fsan.cn/)
+* [Herospeed](http://www.herospeed.net/en/)
+* [IPCAM](http://www.ipcam.xin/)
+* [Jovision](http://www.jovision.com/)
+* [JVT](http://www.jvt.cc/)
+* [LENOTEL](http://www.lenoteltechnology.com/) th?
+* [Longse](http://www.longse.com/)
+* [Milesight](http://www.milesight.com/)
+* [Raysharp](http://raysharp.cn/en/)
+* [Ruision](http://www.ruision.com/?lang=en)
+* [Safer](http://www.safer.net.cn/) th?
+* [Synuwo](http://www.sunywo.com/)
+* [Tiandy](http://en.tiandy.com/)
+* [Topsee](http://www.en.tpsee.com/)
+* [TVT](http://www.tvt.net.cn/)
+* [UNIVIEW](http://uniview.com/)
+* [VandSec/Yoosee](http://vandsec.com/) th?
+* [VStarcam](http://www.vstarcam.com/) th?
+* [Wansview](http://wansview.com/)
+* [XM](http://www.xiongmaitech.com/en/)
+* [Z-BEN](http://www.z-ben.cn/) th?
+* [ZOSI](https://www.zositech.com/)
+
+_th? -- possibly a trading house_
+
+[1]: https://aliexpress.com/item/32493067946.html
+[2]: https://aliexpress.com/item/32851596596.html
+[3]: https://aliexpress.com/item/1005002315913099.html
+[4]: https://aliexpress.com/item/1005002298832047.html
+[5]: https://aliexpress.com/item/4000119561119.html
+[6]: https://aliexpress.com/item/4000054902736.html
+[7]: https://aliexpress.com/item/1005001933429701.html
+[8]: https://translate.google.com/translate?sl=ru&tl=en&u=https://www.cctvsp.ru/articles/obzor-i-sravnenie-matrits-dlya-kamer-videonablyudeniya
+[9]: https://github.com/OpenIPC/firmware/wiki/majestic_streamer
+
+[b1]: https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv100_images.yml/badge.svg?branch=master
+[b2]: https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv200_images.yml/badge.svg?branch=master
+[b3]: https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv300_images.yml/badge.svg?branch=master
+[b4]: https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv300_images.yml/badge.svg?branch=master
+[b5]: https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv100_images.yml/badge.svg?branch=master
+[b6]: https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv100_images.yml/badge.svg?branch=master
+[b7]: https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv100_images.yml/badge.svg?branch=master
+[b8]: https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv200_images.yml/badge.svg?branch=master
+[b9]: https://github.com/openipc/chaos_calmer/actions/workflows/hi3516cv200_images.yml/badge.svg?branch=master
+[b10]: https://github.com/openipc/chaos_calmer/actions/workflows/hi3520dv200_images.yml/badge.svg?branch=master
+[b11]: https://github.com/openipc/chaos_calmer/actions/workflows/hi3520dv200_images.yml/badge.svg?branch=master
+
+[u1]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv100-u-boot.bin
+[u2]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv200-u-boot.bin
+[u3]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv300-u-boot.bin
+[u4]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16ev100-u-boot.bin
+[u5]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18av100-u-boot.bin
+[u6]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18cv100-u-boot.bin
+[u7]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev100-u-boot.bin
+[u8]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev200-u-boot.bin
+[u9]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev201-u-boot.bin
+
+[k1]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv100-default-uImage
+[k2]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv200-default-uImage
+[k3]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv300-default-uImage
+[k4]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16ev100-default-uImage
+[k5]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18av100-default-uImage
+[k6]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18cv100-default-uImage
+[k7]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev100-default-uImage
+[k8]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev200-default-uImage
+[k9]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev201-default-uImage
+[k10]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-20dv100-default-uImage
+[k11]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-20dv200-default-uImage
+
+[r1]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv100-default-root.squashfs
+[r2]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv200-default-root.squashfs
+[r3]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16cv300-default-root.squashfs
+[r4]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-16ev100-default-root.squashfs
+[r5]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18av100-default-root.squashfs
+[r6]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18cv100-default-root.squashfs
+[r7]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev100-default-root.squashfs
+[r8]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev200-default-root.squashfs
+[r9]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-18ev201-default-root.squashfs
+[r10]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-20dv100-default-root.squashfs
+[r11]: https://github.com/OpenIPC/chaos_calmer/releases/download/latest/openwrt-hi35xx-20dv200-default-root.squashfs
diff --git a/ru/discussion.md b/ru/discussion.md
index 78aa5c4..890cf2c 100644
--- a/ru/discussion.md
+++ b/ru/discussion.md
@@ -61,7 +61,7 @@
   прошивки.
 
 
-Программный переход с openipc-1.0 (OpenWrt) на openipc-2.1 (Buildroot) 👻
+Программный переход с openipc-1.0 (OpenWrt) на openipc-2.x (Buildroot) 👻
 -------------------------------------------------------------------------
 
 Заходим на устройство со старым openipc-1.0 и останавливаем любыми способами
@@ -91,7 +91,7 @@
 
 `reboot -f`
 
-Загружается **недо**-openipc-2.1 с получением адреса по DHCP. После этого
+Загружается **недо**-openipc-2.x с получением адреса по DHCP. После этого
 выполняем команду для глобального и красивого обновления:
 
 `sysupgrade -k -r -n`