Отвязка от Ростелеком камеры IPC8232SWC-WE

Отвязка от Ростелеком

Оригинальное название препарируемой модели Uniview C1L-2WN-G и оригинальная прошивка доступна. К тому же на 4PDA есть мануал, так что отвязать от Ростелекома будет несложно.

На сайте уже есть статья про отвязку другой, но очень похожей модели: Отвязка от Ростелеком камеры IPC8232SWC-WE-B. Названия отличаются одной буквой, но платформы разные и материалы для восстановления тоже разные. Будьте внимательны!

Производитель озаботился безопасностью подключения к облаку и ввёл дополнительную меру защиты: Код регистрации или ACTIVE CODE. Оригинальный серийник можно распознать из QR-кода на пятке, но вот код регистрации взять негде, по крайней мере пока, а без него работать в облаке камера не будет.

Инструменты

Материалы

  • C1L-2WN.zip – распакованная прошивка.

Утилиты

  • TFTP-сервер Tftpd64 — TFTP-сервер для передачи файлов.
  • Putty — программа для работы через UART.
  • EZTools — поисковая утилита для камер Uniview.
Для написания статьи была использована информация форума 4PDA

Исходные данные

u-boot
System startup

Uncompress Ok!

U-Boot 2016.11 (May 19 2020 - 08:03:57 +0000)hi3516ev300

Relocation Offset is: 0774f000
Relocating to 47f4f000, new gd at 47eeeef0, sp at 47eeeed0
SPI Nor:  Boot Media isn't SPI Nor
NAND:  hifmc_ip_ver_check(44): Check Flash Memory Controller v100 ...hifmc_ip_ve   r_check(50):  Found
SPI Nand ID Table Version 2.7
SPI Nand(cs 0) ID: 0xef 0xaa 0x21 Name:"W25N01GV"
Block:128KB Page:2KB OOB:64B ECC:4bit/512
Chipsize:128 MiB
MMC:   Card did not respond to voltage select!
No SD device found !
hisi-sdhci: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   eth0
Warning: eth0 (eth0) using random MAC address - 02:4a:de:c3:c8:80

Hit any key to stop autoboot:  0
help
?       - alias for 'help'
base    - print or set address offset
bdinfo  - print Board Info structure
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootelf - Boot from an ELF image in memory
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootvx  - Boot vxWorks from an ELF image
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
dcache  - enable or disable data cache
ddr     - ddr training function
dhcp    - boot image via network using DHCP/TFTP protocol
dm      - Driver model low level access
echo    - echo args to console
editenv - edit environment variable
env     - environment handling commands
erase   - erase FLASH memory
exit    - exit script
false   - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fatsize - determine a file's size
flinfo  - print FLASH memory information
fwupdate- fwupdate command allows to flash vc camera firmware from file on mmc or from memory.
getinfo - print hardware information
go      - start application at address 'addr'
gzwrite - unzip and write memory to block device
help    - print command description/usage
hi_gpio - set hisilicon gpio states
icache  - enable or disable instruction cache
iminfo  - print header information for application image
imxtract- extract a part of a multi-image
itest   - return true/false on integer compare
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loadx   - load binary file over serial line (xmodem mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
md      - memory display
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mmc     - MMC sub system
mmcinfo - display MMC info
mw      - memory write (fill)
nand    - NAND sub-system
nboot   - boot from NAND device
nm      - memory modify (constant address)
part    - disk partition related commands
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv  - set environment variables
setexpr - set environment variable as the result of eval expression
sf      - SPI flash sub-system
showvar - print local hushshell variables
sleep   - delay execution for some time
source  - run script from memory
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true    - do nothing, successfully
ugzip   - Compress gzipfile with hardware IP
unzip   - unzip a memory region
version - print monitor, compiler and linker version
printenv
arch=arm
baudrate=115200
board=hi3516ev300
board_name=hi3516ev300
bootargs=mem=70M console=ttyAMA0,115200 rootfstype=ramfs mtdparts=hinand:1024K(boot),1024K(tech),8192K(kernel),16384K(app),-(config) hw_type=1202 ubi.mtd=3,2048
bootcmd=hi_gpio $hi_gpios; mmc part; fwupdate mmc 0:1 firmware.bin --enable-legacy-fw --with-props; nand read 0x42000000 0x200000 0x800000; bootm 0x42000000; setenv bootargs $bootargs bkp=1; nand read 0x42000000 0xA00000 0x800000; bootm 0x42000000
bootdelay=1
cpu=armv7
ethact=eth0
hi_gpios=10! 63! 7 28! 38 67!
soc=hi3516ev300
stderr=serial
stdin=serial
stdout=serial
vendor=hisilicon
verify=n

Environment size: 655/131068 bytes

Подготовка

Перед тем, как приступать непосредственно к прошивке, нужно подготовить инструменты, софт и произвести подключение.

Вскрытие

Первым делом камеру нужно разобрать. Для этого нужно снять переднюю панель, сдавив пальцами корпус камеры с боков и подцепив панель за щель над сетевым разъёмом. Дальше открывать аккуратно, чтобы не сломать защёлки и не оторвать провода подсветки и микрофона.

UART-адаптер

Далее нужно подключить коннектор к контактным отверстиям UART-интерфейса. Ножки разъёма болтаются в отверстиях, поэтому надо либо их чуть подогнуть, либо наклонить сам коннектор, чтобы добиться надёжного соединения. Затем можно подключать адаптер к компьютеру. Исхожу из того, что драйверы уже установлены и номер порта известен.

Цвета букв и проводов не совпадают, но вот такие уж провода…

Putty

При запуске Putty нужно выбрать тип соединения Serial, скорость 115200, прописать COM-порт, который система выделила UART-адаптеру и нажать кнопку Open.

Отвязка от Ростелеком камеры IPC8232SWC-WE

Сеть

Передача данных происходит по сети, поэтому кроме UART, камера должна быть ещё подключена и по Ethernet – либо в тот же коммутатор или роутер, к которому подключен компьютер, либо напрямую к сетевой карте компьютера.

TFTP-сервер

TFTP-сервер Tftpd64 нужно извлечь из архива и запустить. Речь идёт про портативную версию. Далее нужно распаковать файлы прошивки program.bin, u-boot.bin, uimage.bin и manuinfo.txt в ту же папку или в отдельную, но тогда эту отдельную папку надо указать в настройках Tftpd64. Нажатием на кнопку Show Dir можно открыть окно с содержимым текущей папки и убедиться, что файлы видны сервером.

Отвязка от Ростелеком камеры IPC8232SWC-WE

Брандмауэр или антивирус с функцией брандмауэра должен быть отключён, либо в их настройках должен быть открыт UDP-порт 69.

Правка manuinfo.txt

Параметры камеры задаются посредством файла manuinfo.txt. В нём нужно отредактировать параметры DEVICE_SERIAL_NUMBER и MAC_ADDRESS. Редактировать или нет ACTIVE CODE решайте сами. Серийный номер можно взять и ростелекомовский, но я беру родной, распознавая QR-код на пятке. MAC-адрес тоже берётся с пятки, но уже без распознавания и вносится в файл в особом формате.

@@
DEVICE_NAME:C1L-2WN
DEVICE_SERIAL_NUMBER:210235C453320A000000

MAC_ADDRESS:E4F1-4C1B-0000
MANUFACTURING_DATE:2020-05-29
VENDOR_NAME:UNIVIEW
##
REGION_CODE:FF
BUILD_INFO:ENC-0302C2VE;SEN-0302C2VE;LENS-4801C0AK
CUSTOMER_CODE:09
TEST_TRACKING_NUMBER:100
E_LABEL_VER:1.10
PROTOTYPE_NAME:C1L-2WN
%%
ACTIVE_CODE:0000000000000000000000000
$$

REGION_CODE – это код региона, использующийся для выбора языка голосовых сообщений или их отключения:

  • IN – голосовые сообщения на английском.
  • NONE – голосовые сообщения на китайском.
  • FF – без голосовых сообщений

В прилагаемом файле сообщения отключены, т.к. полезны только при беспроводном подключении к камере, а зачем извращаться, если есть Ethernet? Да и пугаются их люди 😉

Резервная копия прошивки

На всякий случай нужно сделать бэкап. Через tftp не выйдет, т.к. он работает только на приём, поэтому единственный вариант – через карту памяти. Больше 32 мегабайт сохранять нет смысла, т.к. ростелекомовская прошивка совсем небольшая и дальше лишь пустота.

Нужно вставить карточку и выполнить следующие команды:

mw.b 0x42000000 0xff 0x1000000;nand read 0x42000000 0x0 0x1000000;mmc write 0 0x42000000 0x0 0x8000
mw.b 0x42000000 0xff 0x1000000;nand read 0x42000000 0x1000000 0x1000000;mmc write 0 0x42000000 0x8000 0x8000

После записи дампа нужно в Linux проделать следующие операции, чтобы получить файлы, пригодные для дальнейшего использования, в случае необходимости.

sudo dd bs=512 count=32768 if=/dev/sdd of=./ipc8232swc-we0.bin
sudo dd bs=512 skip=32768 count=32768 if=/dev/sdd of=./ipc8232swc-we1.bin

Прошивка

Подать питание на камеру и сразу же нажать любую кнопку. Отпустить можно тогда, когда запуск остановится и на экране появится приглашение ввода команд. Дальше нужно задать адреса камеры и компьютера с запущенным TFTP-сервером и прошить родной загрузчик.

setenv serverip 192.168.1.128
setenv ipaddr 192.168.1.10
mw.b 0x42000000 0xff 0x100000
tftp 0x42000000 u-boot.bin
nand erase 0 0x100000
nand write 0x42000000 0 0x100000

reset

После завершения прошивки загрузчика вводим reset и снова прерываем запуск нажатием сочетания клавиш Ctrl+B. Снова задаём адреса камеры и компьютера и вводим команды прошивки и конфигурирования. Прошивка завершена, перезагружаем.

setenv serverip 192.168.1.128
setenv ipaddr 192.168.1.10
update all
manuinfo manuinfo.txt
config ethaddr E4:F1:4C:1B:00:00:00

reset

После перезапуска камера будет с родной прошивкой. Дефолтного адреса нет – сразу включено автоматическое получение по DHCP, поэтому определить адрес можно либо в роутере, либо запустив поисковую утилиту EZTools. Данные для входа: admin / 123456

Отвязка от Ростелеком камеры IPC8232SWC-WE

Использование

Как уже было сказано выше, установить в камеру карту памяти и использовать её, как одноканальный регистратор с удалённым облачным подключением не выйдет. Точнее удалённое подключение организовать можно, но без облака. Есть, как минимум два варианта – подключение по белому IP и настройка VPN. Подробно на этом останавливаться не буду, т.к. для тех кто знает, что это такое и так всё понятно, а для остальных проще выбрать другую камеру, где с облаком таких заморочек нет. Эту же камеру можно использовать либо как автономный регистратор и смотреть только находясь в локальной сети, либо подключать её к регистратору – ONVIF и RTSP поддерживаются.

Поскольку камера настроена на автоматическое получение адреса, то для работы адрес нужно задать статический. Делается это через EZTools или в веб-морде.

Автономный видеорегистратор

Работать с регистратором можно в браузере либо через приложение в смартфоне. Любой браузер не подойдёт, а подойдёт только Internet Explorer или Edge в режиме Internet Explorer и придётся установить плагин и разрешить его работу. Дальше ничего сложного, разве что интерфейс англоязычный либо китайский.

Отвязка от Ростелеком камеры IPC8232SWC-WE

Для подключения через смартфон используется приложение EZView для Android или IPhone. Добавлять камеру в него нужно вручную по IP-адресу или автопоиском. После добавления можно будет смотреть трансляцию и архив с карты памяти.

Подключение к регистратору

Протокол ONVIF поддерживается камерой, поэтому, если он поддерживается и регистратором, то всё просто – указывается IP-адрес камеры, логин и пароль и соединение произойдёт. Если регистратором ONVIF не поддерживается или с подключением по нему возникают проблемы, то можно воспользоваться протоколом RTSP. Ссылки для подключения:

  • rtsp://admin:123456@192.168.0.174/media/video1 – 1-й поток;
  • rtsp://admin:123456@192.168.0.174/media/video2 – 2-й поток.
Оцените статью
( 2 оценки, среднее 3.5 из 5 )
МихаТроник
Добавить комментарий

  1. Bazrum

    много непонятно.
    такому ламеру как я во всяком случае

    например


    Резервная копия прошивки

    На всякий случай нужно сделать бэкап. Через tftp не выйдет, т.к. он работает только на приём, поэтому единственный вариант – через карту памяти. Больше 32 мегабайт сохранять нет смысла, т.к. ростелекомовская прошивка совсем небольшая и дальше лишь пустота.

    Нужно вставить карточку и выполнить следующие команды:
    ” (конец цитаты)

    и тут начинаются недопонимания
    “вставить карточку…” куда. в комп? в камеру? в ухо? еще куда нибудь
    “и выполнить команды …” где выполнить? в терминале? tftp? на спортплощадке? в бою?

    но тем не менее афтору спасибо и всяческий респект. мы обязательно дорастем до вашего уровня и начнем понимать все с полубуквы и на лету …

    Ответить
    1. mixatronik автор

      Опыт – дело наживное. Насчёт некоторых непонятных моментов – он, понятное дело, могут быть, но перегибать палку тоже не стоит. Часть этих вопросов легко решаются самостоятельно с помощью элементарной логики, в том числе и озвученные.
      В любом случае, благодарю за критику!

      Ответить
  2. Buk

    Спасибо за статью, все ясно и понятно!А я по началу полез 4pda , и к сожелению о кирпичал камеру(( загрузщик слетел ….вопрос: может знаете если у этой камеры “тест поинт”?

    Ответить
    1. mixatronik автор

      Эту модель пока сам не кирпичил и соответственно не восстанавливал, но это HiSilicon, поэтому должна завестись через HiTool или Burn. Про HiTool есть статья Восстановление камеры IPC-HFW1230SP/IPC-HDW1230SP. Про Burn пока нет, но есть видео от разработчиков. А насчёт 4PDA – за основу его и брал, только структурировал по своему.

      Ответить