Отвязка от Ростелеком камер DS-2CD2VC и DS-2CD3VC через UART

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

Камеры DS-2CD2VC и DS-2CD3VC – это те же HiWatch DS-I120 и HiWatch DS-I122, соответственно, но брендированные и с ещё более урезанной прошивкой. Настолько, что штатный хиковский механизм восстановления прошивки через TFTP не работает. Так что, хоть режь прошивку, хоть не режь – камера её не подхватит и сделать так, как описано в статье Отвязка камер от Ростелеком (DS-I120, DS-I122) не получится.

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

Есть вероятность, что железо внутри экземпляров одной модели может различаться и используемый загрузчик может оказаться несовместимым. В результате манипуляций получим кирпич.

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

Инструменты

Софт

  • HyperTerminal — терминальная программа, которая включалась в поставку Windows;
  • Putty — альтернативный вариант терминала помоднее.

Материалы

  • u-boot.zip – оригинальный хиковский загрузчик.
  • digicap.zip – оригинальная прошивка.

Прошивка

Основная проблема заключается в том, что в загрузчике от РТ сетевой интерфейс не поднят, соответственно, через TFTP ничего не передать, но это поправимо.

  1. Разобрать камеру и подключиться к порту UART.
  2. Подключить камеру к сетевой карте или коммутатору.
  3. Задать сетевой адрес 192.168.1.128
  4. Положить распакованный загрузчик в каталог TFTP-сервера и запустить его.
  5. Запустить Putty и открыть рабочий порт.
  6. Приготовиться нажать любую клавишу и подать питание на камеру.
  7. В загрузчике поменять адрес сервера и активировать сетевой интерфейс камеры
setenv serverip 192.168.1.128
setenv phyaddru 3
setenv phyaddrd 1
save
reset

или одной строкой:

setenv serverip 192.168.1.128;setenv phyaddru 3;setenv phyaddrd 1;save
reset

После перезапуска снова войти в загрузчик, загрузить образ в оперативку и прошить его на флешку.

mw.b 0x82000000 ff 0x1000000                   
tftp 0x82000000 u-boot.bin                       
sf probe 0                                     
sf erase 0x0 0x40000
sf write 0x82000000 0x0 0x40000
reset

или одной строкой:

mw.b 0x82000000 ff 0x1000000;tftp 0x82000000 u-boot.bin;sf probe 0;sf erase 0x0 0x40000;sf write 0x82000000 0x0 0x40000
reset

Если делаете в первый раз, то одной строкой не советую. Например, сотрётся бут, а новый не зальётся. Не поняв этого можно отправить камеру в перезагрузку и получить “кирпич”. Строчки эти добавил потому, что сам пользуюсь статьёй, как инструкцией и запарился копировать построчно. Но у меня то комп уже настроен под это дело и риск минимален. Опять же программатор под рукой – в случае чего можно и прямо вол флешку бут залить. Но на всякий случай reset всё же лучше вводить отдельно.

Если всё прошло удачно, то начнётся запустится родной загрузчик. Его нажатием любой клавиши уже не остановить, надо жать Ctrl+U. Дальше шьём с форматированием штатным образом стандартной прошивкой. Но перед этим надо поменять значение переменной ethaddr, иначе камера будет двоиться в SADP.

setenv ethaddr ab-cd-ef-12-34-56              //MAC-адрес с наклейки камеры          
save

Кладём в каталог TFTP-сервера распакованный файл прошивки, запускаем сервер и вводим в консоли команду прошивки.

upf

После завершения загрузки прошивки TFTP-сервер надо закрыть, иначе процесс будет продолжаться до бесконечности.

После прошивки и перезапуска камера перейдёт в неактивное состояние и станет доступна в SADP и по дефолтному адресу. Можно пользоваться!

Благодарю камрада Ийона Тихого за инфу насчёт активации сетевого интерфейса камеры. Есть и другой вариант, но так гораздо проще и быстрее.

Прошивка программатором

В сети есть вариант залить дамп через программатор, предварительно подкорректировав в шестнадцатеричном редакторе MAC-адрес и серийник, но, судя по отзывам, он не всегда работает. Или работает с DS-2CD3VC, она же DS-I122, поскольку распространяемый дамп от неё, но не работает с DS-2CD2VC, она же DS-I120. Может дело в разном железе, хотя прошивка одна и та же, может ещё в чем-то – точной не скажу.

Ссылку на это вариант давал камрад Андрей в комментариях к прошлой статье. На случай, если кому-то надо, а искать лениво, да и может пропасть файл из облака за ненадобностью – скопировал архив к себе. В нём и необходимые файлы и инструкция, как и что делать.

На самом деле, шить весь дамп необязательно. Можно прошить только загрузчик, тогда и править ничего не придётся. Есть даже специальная команда bootp, но для неё бинарник загрузчика должен быть соответствующим образом подготовлен.

Этот вариант подойдёт и если камера нечаянно окирпичилась.

Оцените статью
( 2 оценки, среднее 5 из 5 )
МихаТроник
Добавить комментарий

  1. Антон

    Класс!!!!

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

      Судя по всему, получилось…

      Ответить
  2. Александр

    Ну когда же уже будет отвязка от Ростелеком камеры DH-IPC-HFW1230SP?
    Купили пару таких камер, потом “продали” другому юзеру, а он привязал их к своей учётной записи Ростелеком и отдал обратно, не понравилось ему. Теперь лежат два куска бесполезного хлама.

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

      Сложно всё с этой камерой. Оригинальной прошивки найти не удалось, хотя она существует. Я бы даже денег заплатил за такую, но не знаю кому. Статью вот пишу, дабы избежать лишних вопросов и в надежде на то, что она попадётся на глаза человеку, у которого есть доступ к прошивке. А там уж договоримся, тем более, что Dahua нам теперь не бро, т.к. официально ушли из страны.
      Можно отвязать и запустить OpenIPC и всё заработает. Но есть один косяк – что-то не то с драйвером сенсора и картинка выглядит так, как будто она без ИК-фильтра, хотя на самом деле, с ним.
      В вашем случае, вполне реально камеру от аккаунта отвязать и хотя бы использовать её в облаке РТ.

      Ответить
  3. 111052

    Здравствуйте Mixatronik.
    Камера HiWatch DS-I120. На микрухе надпись VS16. В программаторе не смог найти такую, подскажите полное название.
    Окирпичилачь после
    mw.b 0x82000000 ff 0x1000000
    tftp 0x82000000 u-boot.bin
    sf probe 0
    sf erase 0x0 0x40000
    sf write 0x82000000 0x0 0x40000
    reset

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

      Добрый день!
      А передача файла по tftp прошла успешно?
      Насчёт микрухи навскидку не скажу – у меня прога определяла её автоматом. Если у тебя не определяет, то вероятнее всего, плохой контакт.

      Ответить
    2. Snowperson

      залил dump через програматор, не меняв mac, думаю поменяю через uart , но при вводе команд setenv ethaddr ab-cd-ef-12-34-56
      save
      Смена mac не происходит

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

        С маками всё индивидуально. Вообще, я так понял, что в этих моделях он берётся из крипты, но если не прописать в буте его же, то в SADP будет видеться два устройства. Но после бута есть область, где тоже прописывается мак и если шить просто бут, то он остаётся невредимым. А какой сейчас то показывает? В дампе он обнулён же.

        Ответить
        1. Snowperson

          FE:FE:FE:FE:FE:FE
          Выпаивать уже не буду еще раз конечно, в след раз буду в дампе меня пробовать менять, на этом бы конечно командами в pytty хотелось бы)

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

            Выпаивать необязательно. Во-первых, можно подпаяться прям к лапкам, хоть это и не очень правильно, но способ рабочий. А, во-вторых, теперь ведь камера живая и можно всё сделать через UART. Надо то всего лишь изъять блок из памяти, подправить его и обратно залить. Причём, возможно, что можно и просто стереть и тогда будет браться из крипты. Кстати, а может ты крипту грохнул? 🙂

          2. Snowperson

            Какой командой затереть блок?и какой?

          3. mixatronik автор

            Затереть можно командой sf erase. С адреса 0x0 до 0x40000 – бут, его трогать не надо. А вот дальше, до 0x50000 – та самая область данных и есть. Но это не точно, над смотреть дамп. В любом случае, родные данные ты уже затёр, так что хуже не будет.
            sf probe 0
            sf erase 0x40000 0x10000

          4. Snowperson

            Самое интересное что в вебморде мак показан( но окошко зафиксино для редактирования есть команды разблочить?) , А sadp да двоит камеру одна с маками FE а второй нормальный мак, но не тот который я командой сношу

          5. Snowperson

            второй показывает заводской мак

          6. Snowperson

            нет такой команды “sf”: Unknown command ‘sf’ – try ‘help’
            Собственно и в хелпе нет такой команды

          7. mixatronik автор

            Действительно. В этом буте её нет. В двух словах – надо передать другой бут (от OpenIPC) средствами HyperTerminal и запустить его. В нём есть всё, что надо. Методу изложу в статье. Постараюсь сегодня дописать, хотя бы без картинок пока.

          8. Snowperson

            Написали статью?

          9. mixatronik автор

            В процессе…

    3. Snowperson

      Не ту микросхему смотрите, эта на 8 ножек, вам нужна с другой стороны платы 16 ножек маркировка MX25L12835F

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

        Кстати, да.

        Ответить
  4. Игорь

    Пробую подключение к DS-2CD2VC (i120 она) по UART. Просит логин и пароль, хотя строка логина неясно выглядит – (none) login:. Кто сталкивался с таким?

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

      В какой момент просит? Может ты не успел остановить загрузку и войти в бут и это уже линукс загрузился?
      З.Ы. Чувствую, нужен видосик…

      Ответить
      1. Игорь

        Спасибо, всё получилось, перепрошил!

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

          Отлично!

          Ответить
    2. Snowperson

      Как только дал питание на камеру в putty жмешь Ctrl+u

      Ответить
      1. Игорь

        Спасибо, буду пробовать!

        Ответить
  5. Константин

    Доброго времени суток.
    Имеется камера hikvision ds-2cd2723g0-izs с прошивкой ростелекома
    Распространяется ли на неё эта инструкция?

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

      Доброго! Точно сказать не могу – сам не пробовал. Теоретически, алгоритм должен быть тот же, но дело в том, что это камера другого поколения на другом железе и выложенный здесь бут для неё вряд ли подойдёт. Прежде всего надо проверить – видится ли камера в SADP. Если да, то пробовать залить родную прошивку без правок, а если нет, то надо искать родной для неё бут.

      Ответить
      1. Константин

        В SADP не видится, tftp видит, пытается залить прошивку, но в конце выдаёт ошибку. И при подключении через UART в терминале совсем другой набор команд

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

          А если прошивать через tftp при подключении через UART, то какую ошибку в терминал выдаёт?
          З.Ы. У меня на складе есть камера DS-2CD2043G0-I. По идее, та же серия и бут должен быть одинаковый. Попробую вытащить его.

          Ответить
  6. Вадим

    Добрый день. Не получилось у меня прошить камеру DS-2CD2VC новым способом. Не пойму где накосячил, вроде все команды проверял, но в результате камера ушла в перезагрузку и не вернулась. Пришлось по старинке, сдувать флеш и доставать программатор. Всё заработало, но камера стала двоиться в SADP. Этим способом я уже перешивал камеры DS-2CD2VC и DS-2CD3VC и таких двоений не было. Подскажите как убрать двоение в SADP ?

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

      Добрый! Цикличная перезагрузка бывает, когда отключен шлейф платы с матрицей. А насчёт двоения в статье написано – надо сделать setenv ethaddr с правильным MAC-ом.

      Ответить
      1. Вадим

        Про шлейф я в курсе. Не тот вариант. МАС надо было менять до прошивки. Если я сейчас сделаю “setenv ethaddr с правильным MAC-ом” и заново прошью камеру это устранит двоение?

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

          А что было в консоли при перезагрузке? Просто способ рабочий, т.к. сам постоянно шью по своей же статье. Вот буквально только что очередную прошил.
          Задать ethaddr можно в любое время. Хоть до перепрошивки, хоть после и заново шить не нужно. Задал ethaddr, сохранил через save и после перезагрузки останется один MAC.

          Ответить
          1. Вадим

            Не меняется. Так и остаются 2 МАСа. В printenv показывает неправильный МАС. Хотя и МАС и серийник менял в программаторе.

          2. mixatronik автор

            А второй MAC какой в SADP? Типа 00-11-22 и т.д.? MAC задаёте через тире, а не через двоеточия?

          3. Вадим

            В консоли появилось resetting… и всё на этом зависло. После этого ни в SADP ни в UART ничего не было.

          4. mixatronik автор

            Прошивку tftp посредством upf делали? Она прошла без ошибок?

          5. Вадим

            В SADP МАСи отличаются только последними четырьмя символами. МАС задавал через тире.
            Прошивку какую Вы имели ввиду? последняя без ошибок.

          6. mixatronik автор

            Если Вы не дочитали статью, а похоже на то 🙂 и просто прошили бут, а после этого отправили камеру в перезагрузку, то вполне ожидаемо, что камера зависла. Бут – это только бут. После его прошивки надо прошивать и всё остальное.
            Но, в конце концов, каждый сам выбирает, как поступать. У меня пайка, тем более феном, выходит не очень хорошо, поэтому прибегаю к этому способу в последнюю очередь. В первую очередь – чисто программные методы, во вторую – UART, в третью – прищепка или зажимы и только в последнюю – пайка.

          7. Вадим

            В меню камеры стоит правильный МАС.

          8. mixatronik автор

            Если MAC правильный, значит неправильный MAC на коробке. Попробуйте задать в ethaddr по Вашему мнению, неправильный MAC. Дело в том, что прошивка Ростелеком читает MAC из памяти, а SADP читает его и из крипты и из памяти или из ethaddr. Если адреса одинаковые, то в SADP будет одно устройство, а если разные, то два.
            Надо понимать, что точно я этого знать не могу, поскольку доступа к исходным кодам не имею, но могу делать выводы на основании опыта.

  7. Алексей

    Спасибо огромное! Работает метод) Не с первого раза НО все получилось)))

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

      Пожалуйста! Бывает что-то упустишь и не выходит, но если не сдаваться и пытаться разобраться, как правило, всё получается.

      Ответить
  8. Дмитрий

    Нужна видео инструкция руки чешутся Адаптер CH340G уже в пути, но боюсь ничейно окерпичить камеру. А фена и программатора нет 🙂

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

      Фен не нужен точно. А программатор, если только CH341A. Как и с любой другой камерой, главное не убить загрузчик, он же бут. Всё остальное поправимо через UART.
      Скажи ещё, раз так топишь за видео: неужели видеоролик удобнее и доходчивее текстового мануала с картинками?

      Ответить
  9. Олег

    Привет. Пробую прошить DS-I120, после ввода tftp 0x82000000 u-boot.bin не подгружает загрузчик
    UP_PORT : phy status change : LINK=UP : DUPLEX=FULL : SPEED=100M
    TFTP from server 192.168.1.128; our IP address is 192.168.1.10
    Download Filename ‘u-boot.bin’.
    Download to address: 0x82000000
    Downloading: *
    Abort
    Не случалось так?

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

      Привет! Либо адрес сервера не тот, либо tftp сервер не запущен, либо на компе включен брандмауэр.

      Ответить
  10. Олег

    Вроде все подрузилось, прошилось, конечно долго, 16 минут. После ресета не загрузилась… И прогер только 866 и ISP, буду заказывать 341 с прищепкой.

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

      16 минут – это слишком долго. Льётся пару минут и потом ещё пару прошивается. И то это полная прошивка, а если речь про бут, то залетает за секунду. Сдохла камера, получается? Вместо прищепки советую Зажим Upmely Micro IC.

      Ответить
  11. Вадим

    Можно вопрос не по теме? Почему у многих камер сильно страдает третий контакт в разъёме RJ-45 на хвосте? Крепление камеры к заземлённым металлоконструкциям?

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

      Никогда такого не замечал, если честно. Бывает пыхает, при проблемах с PoE, но не сичтал специально какой конкретно контакт страдает, да и не так часто это происходит.

      Ответить
  12. Вадим

    Нечасто, но на четырёх камерах уже пришлось менять хвосты из-за этого контакта( не знаю как они эксплуатировались до этого). И на трёх видел почернение.

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

      Питались по PoE?

      Ответить
  13. Вадим

    Скорее всего.

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

      По стандарту 802.3af,Тип А по третьей и шестой жиле минус питания передаётся. Может в этом дело.

      Ответить