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

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

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

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

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

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

Инструменты

Софт

  • Putty — терминальный клиент.
  • Tftpd64 – TFTP-сервер.

Материалы

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

Разборка камеры

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

Собирался сделать видосик, но всё никак не организую хорошее съёмочное место, поэтому получается не очень. Хотя, с другой стороны, всё становится понятнее и так.

Прошивка

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

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

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

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

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

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 serverip 192.168.1.128
setenv ethaddr ab-cd-ef-12-34-56              //MAC-адрес с наклейки камеры          
save

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

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

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

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

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

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

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

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

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

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

  1. Антон

    Класс!!!!

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

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

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

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

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

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

      Ответить
      1. Андрей

        Вот посмотри переписку на форуме
        https://vlab.su/viewtopic.php?f=270&t=130629&p=977057#p977057
        Я там задавал вопрос про дамп камеру DH-IPC-HFW1230SP-0360B,
        дали прошивку, но мой программатор не видит флеш.

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

          fobos скидывал мне дамп, правда на другом форуме – возможно даже этот, но ничего не вышло. И дело не в циклической перезагрузке – даже бут не запускался. Просто потому, что дамп был не тот, либо я что-то не так делал, но результат отрицательный. Если это другой дамп, то всё может получиться, но надо пробовать. Дело ещё в том, что камера 1230SP от РТ и камера 1230SP от Dahua – это разные камеры. Программатор эти флеши не видит, точнее вроде бы читает, но не пишет. Может выпаивать надо, может другой программатор надо — тут возможны варианты, но это всё не важно, потому что эта камера в этом смысле очень удачная. Даже “кирпич” можно прошить через UART посредством программы HiTool. И именно поэтому я испробовал все дампы, которые нашёл и которые давали камрады. Подробнее писать лениво, т.к. есть в планах написать статью про этот процесс. Подписывайся на Телеграм 🙂 Думаю до НГ сделаю. В крайнем случае в новогодние каникулы.

          Ответить
          1. Андрей

            Буду ждать, вашу статью. К камере по UART подключился через программатор CH341A. Дальше боюсь лопатить, что бы не снести всё. На Телеграмм подписался.

          2. mixatronik автор

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

    2. mixatronik автор
      Ответить
  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,Тип А по третьей и шестой жиле минус питания передаётся. Может в этом дело.

      Ответить
  14. Андрей

    Здравствуйте.
    Камера DS-2CD2VC, пытаюсь отвязать по инструкциям в статье. Процесс стопорится на этапе загрузки загрузчика в ОЗУ. Логи ниже:

    U-Boot 2010.06 (Oct 26 2018 – 08:06:19)

    Check spi flash controller v350… Found
    Spi(cs1) ID: 0xC2 0x20 0x18 0xC2 0x20 0x18
    Spi(cs1): Block:64KB Chip:16MB Name:”MX25L128XX”
    MMC: MMC FLASH INIT: No card on slot!
    In: serial
    Out: serial
    Err: serial
    Hit any key to stop autoboot: 0
    hisilicon # setenv serverip 192.168.1.128
    hisilicon # setenv phyaddru 3
    hisilicon # setenv phyaddrd 1
    hisilicon # save
    Saving Environment to SPI Flash…
    Erasing SPI flash, offset 0x00030000 size 64K …done
    Writing to SPI flash, offset 0x00030000 size 64K …done
    hisilicon # mw.b 0x82000000 ff 0x1000000
    hisilicon # tftp 0x82000000 u-boot.bin
    Hisilicon ETH net controler
    MAC: 68-6D-BC-4E-9D-38
    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
    hisilicon # tftp 0x82000000 u-boot.bin
    Hisilicon ETH net controler
    miiphy_register: non unique device name ‘0:3’
    miiphy_register: non unique device name ‘0:1’
    MAC: 68-6D-BC-4E-9D-38
    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
    hisilicon #
    В чем может быть проблема? Помогите, пжл.

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

      Привет! Загрузчик не видит TFTP-сервер. Если адрес указан верно, то самая вероятная причина – подключение блокирует Брандмауэр Защитника Windows или другой файрвол.

      Ответить
      1. Андрей

        Все получилось, спасибо. Появились другие вопросы: про “двоение” в SADP и отсутсвие видео в браузере…

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

          Про двоящийся MAC в статье есть – нужно задать переменную ethaddr в загрузчике. А не показывает в браузере, потому что браузер нужен IE, либо Edge в режиме совместимости с IE. И плагин поставить.

          Ответить
  15. Андрей

    Здравствуйте. Хорошая статья, спасибо. Отвязать камеру получилось, даже вышел на нее через браузер, смог поменять сетевые настройки. Есть пара проблем:
    1. Камера в SADP “двоится”, второй MAC: 00-00-23-34-45-66. MAC менял через UART, всю статью и комментарии перечитал несколько раз, как убрать двоение так и не понял… 🙁
    2. В браузере отсутствует изображение с камеры, просит загрузить плагин. Гружу, устанавливаю – бестолку. Надпись о необходимости загрузки плагина не пропадает.
    Помогите, пжл, кто сможет.

    Ответить
    1. Андрей

      С видео разобрался, остался “двоящийся” MAC

      Ответить
  16. scowl

    Здравствуйте.
    Подскажите, удастся ли при помощи этой инструкции отвязать камеру DS-2CD2VC, выпущенную 08/2019?

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

      Привет! Да, конечно – это универсальный метод.

      Ответить
  17. Евгений

    Добрый день! Ткните меня носом, где находится разъём UART в камере DS-2CD2VC ? При вскрытии единственный похожий на описание имеется, но к нему что-то подключено. Коннектор ZH 1,5 4p при этом туда не лезет!

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

      Добрый! Да, я уже понял, что этой инфы не достаёт. В чате группы в Телеге есть видосик, как камеру разобрать, чтобы до разъёма добраться. Не очень удачно получилось, как мне кажется, чтобы на сайт выкладывать, но видимо придётся. 🙂
      З.Ы. Добавил видосик в статью…

      Ответить
  18. Евгений

    Видео или не открывается или его нету.

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

      Может быть ещё не было загружено. Сейчас проверил в двух браузерах – всё есть и грузится. Ну и в группе тоже есть.

      Ответить
  19. Евгений

    Спасибо, всё появилось!!! Ещё один вопрос. В каком положении должна быть перемычка на адаптере USB-TTL? Какие ножки адаптера должна она замыкать?

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

      VCC и 3V3

      Ответить
  20. Евгений

    5. Запустить Putty и открыть рабочий порт.

    Непонятно. Какой порт открыть? На котором работает tftp – сервер, поднятый на компе?? Какой тип соединения должен быть в Putty ? Не могу подключиться ни так ни эдак. Можно подробнее ?

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

      Putty, в данном случае, работает через COM-порт, поэтому его и нужно открыть. Тип соединения Serial, скорость порта 115200, а сам порт тот, который система присвоила адаптеру. У меня это COM3, например.

      Ответить
  21. Евгений

    первая же команда
    setenv serverip 192.168.1.128

    выдаёт uknown command setenv -try help

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

      Интересно… А printenv что выдаёт?

      Ответить
  22. Евгений

    hisilicon # printenv
    bootargs=mem=96M console=ttyAMA0,115200 rootfstype=ramfs mtdparts=hi_sfc:256K(boot),64K(tech),4096K(kernel),8192K(app),-(config) hw_type=609
    bootcmd=hi_gpio $(hi_gpios); sf probe 0; fwupdate mmc 0:1 firmware.bin –enable-legacy-fw –with-props; sf read 0x82000000 0x50000 0x400000; bootm 0x82000000; setenv bootargs $(bootargs) bkp=1; sf read 0x82000000 0x450000 0x400000; bootm 0x82000000
    bootdelay=1
    baudrate=115200
    ethaddr=00:00:23:34:45:66
    ipaddr=192.168.1.10
    serverip=192.168.1.2
    netmask=255.255.255.0
    bootfile=”uImage”
    hi_gpios=52!:ir 6 5
    stdin=serial
    stdout=serial
    stderr=serial
    verify=n
    ver=U-Boot 2010.06 (Oct 26 2018 – 08:06:19)

    Environment size: 639/65532 bytes

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

      Странно… а help?

      Ответить
  23. Евгений

    help выдаёт setenv в списке команд. На этом всё.

    Ответить
  24. Евгений

    Постоял, подумал, заработал. Вопрос. 192.168.1.128 ДОЛЖЕН пинговаться из загрузчика? У меня НЕ пингуется!

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

      Если на сетевой карте компьютера задан этот адрес и если отключен брандмауэр Windows, то должен.

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

    Всем привет ребята, не знаю еще живая статья, в момент пункта выполнения mw.b 0x82000000 ff 0x1000000
    tftp 0x82000000 u-boot.bin
    sf probe 0
    sf erase 0x0 0x40000
    sf write 0x82000000 0x0 0x40000
    reset
    после reset пробежал кот и снес блок питания от камеры, теперь при включение загарается программатор будто на земле +, но я вот думаю она окерпичилась, не могу понять где флешка чтобы программатор к ней подцепить, и если у кого есть рабочий дамп boot кто нить поделитесь пытался разлочить камеру DS-2CD3VC

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

      + еще при подачи питания на камеру, загорается инфокраска и больше не каких действий не происходит

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

      Привет! Статья живее всех живых и останется таковой, т.к. новых аппаратных ревизий рассматриваемых камер нет и не будет, поскольку сняты с производства.
      Что касается сбоя – вряд ли это произошло после reset, потому что после него уже всё сделано и ломаться нечему. Скорее всего после erase… Либо по какой-то причине не произошло скачивания загрузчика и ничего не записалось в стёртую область, тогда да – после reset, но котик ни при чём!
      Камера 2CD3VC – это DS-I122 и это пока единственная модель, про которую собрал все нужные материалы и ссылки в одном месте: HiWatch DS-I122 / Ростелеком DS-2CD3VC
      Ну и в этой статье загрузчик ведь есть. Собственно, с помощью него отвязка и осуществляется: u-boot.bin – это и есть дамп загрузчика 😉

      З.Ы. Кстати на фото рубрики Услуги как раз видно флешку этой камеры с подключенными к ней зажимами. Она располагается над разъёмом UART.

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

        тоесть если я подключу програматор и через нее залью U-boot.bin все зальется отлично? хочу эту тему прям изучить заинтересовало, дофига таких камер. но пооялся трогать другие что вот такая фигня вышла xD

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

          После работы попробую, а то программатор на работе оставил)

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

          Да, всё верно. Если этот бинарник залить во флешку, то камера оживёт. Ну если больше ничего не поломалось. Насчёт самого процесса – важно контролировать результат и переходить к следующему шагу, только в случае успеха. То есть, если бинарник не скачался, то не надо затирать память, а надо разобраться почему не скачивается и скачать. Иначе – кирпич.

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

            Все по инструкции делал после как вёл reset и видать не загрузился бинарник и питания улетело с камеры) сегодня попробую отпишусь, или поставлю как ралитет)

          2. mixatronik автор

            Важно, чтобы было в консоли после ввода tftp 0x82000000 u-boot.bin. Вообще, при наличии программатора, эти камеры восстанавливаются из любого состояния.

  26. Александр

    вообщеем может я что-то начудил, я сначало почистил память, после залил u-boot потом почистил опять залили бэкап xD Ну суть какая я не знаю что я зделал но uart ожил я попытался прошить камеру прошивка прошла по tftp но после перезапуска
    U-Boot 2010.06-242433 (Dec 19 2016 – 18:33:20)

    Flash: 16 MiB
    MMC: MMC FLASH INIT: No card on slot!
    DRAM: 128 MiB
    Hit Ctrl+u to stop autoboot: 0
    auto update with sd is not supported
    load kernel to 0x80007fc0 … Done!
    ## Booting kernel from Legacy Image at 80007fc0 …
    Image Name: Linux-3.0.8
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 3502244 Bytes = 3.3 MiB
    Load Address: 80008000
    Entry Point: 80008000
    XIP Kernel Image … OK
    OK

    Starting kernel … и все starting kernel и больше не чего, я так понял ядро где-то не прошито и стартануть не может

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

      Загрузчик правильный. Должно быть всё в порядке. Делал upf? Прошивка до конца прошла?

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

        Так точно, прошла до конца все перезагрузилось и вот starting kernel и все малчек

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

          о повторно прошил и запустилось ядро

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

            А в SADP камера увиделась?

          2. Александр

            Огромное спасибо камера фарцает как обычная)

          3. mixatronik автор

            Пожалуйста!

          4. Александр

            на всякий случай поснимал бэкапы) чтобы успокоить себя xD

          5. mixatronik автор

            Бэкапы – дело хорошее!

  27. Александр

    Вопрос еще такой, В файлах у вас u-boot он для всех камер hiwatch подходит?

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

      Нет конечно. Это загрузчик только для одной серии – R2, если не ошибаюсь.

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

        а не подскажите где искать для других моделий к примеру таких как ds-i100?

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

          Сложно сказать. Самое надёжное и простое – вытащить из оригинальной камеры. Насчёт DS-I100 – не исключено, что это та же серия, но надо смотреть. Другой момент – не всегда восстановление таким образом необходимо. Если камера виджна в SADP, то можно поступить проще.

          Ответить
  28. TutuEdu

    Цилиндрическая камера от Ростелекома DS-2CD6012-IM. Это аналог чего? Циклически перезагружается, можно ли ее перепрошить, починить, а заодно и отвязать от Ростелекома?

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

      Непонятно, что это такое., поэтому и ответить однозначно нельзя.

      Ответить
  29. Евгений

    Камера 2CD2VC. Всё сделал как в инструкции. Работает, пишет на NAS накопитель. Но. ПОЧЕМУ она периодически “отваливается”? Ни в SADP не видно, ни по вебке на неё зайти нельзя, при этом линк на роутере горит, связь с ней есть….? Пока не дёрнешь по питанию, ничего не происходит. Это возникает ПОСТОЯННО. Как победить?!

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

      Возможно какая-то аппаратная проблема. Можно попробовать сделать сброс на заводские настройки, если не делали этого. Ещё варианты – питания не хватает или стоит на металле и поэтому землит. В первом случае – поставить блок питания помощнее, во втором – изолировать.

      Ответить
      1. Евгений

        Питание подаётся через тот же самый Poe инжектор, что и тогда, когда она работала в облаке РТК. При этом ни разу за два года в облаке РТК она так себя не вела (не уходила в даун и прочее). Стоит на штатном кронштейне, который закреплён на стене частного деревянного дома (из бруса). Попадание воды исключено, т.к. находится ПОД краем крыши дома.

        Ответить
        1. Евгений

          Скачки напряжения исключены, т.к. стоит реле напряжения и стабилизатор на вводе в дом.

          Ответить
          1. Евгений

            А также камера и стек маршрутизирующих коммутаторов подключены через ИБП с встроенным стабилизатором.

          2. mixatronik автор

            Если намёк на то, что прошивка какая-то неправильная, то вряд ли. Таким макаром прошиты десятки камер и, в основном, полёт нормальный. Хотя именно такой сбой был однажды. Тоже – то работает, то не работает.
            Во-первых, после прошивки надо сделать сброс на заводские настройки. Если это не было сделано или было, но не помогло, то надо разбираться дальше. Снять камеру и потестить – в иделае с подключенным UART-ом, чтобы понять, зависает ли система в целом или просто ethernet отваливается.

  30. Вадим

    Здравствуйте. А нет у Вас опыта по отвязке от Ростелекома Hikvision DS-2CD2023GO-I?

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

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

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

    “Не все так плохо со вторым и это не второе, а крайнее..
    R2 серия решается подрезкой прошивки и готовых файлов достаточно.
    R6 серия спокойно восстанавливается из загрузчика.
    G1 серия спокойно восстанавливается из загрузчика.

    DS-2CD2345F-IS отдельный случай, но так же до хика восстанавливается из загрузчика.”
    iTuneDVR » 11 авг 2021, 13:18

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

    Прочитал “iTuneDVR » 11 авг 2021, 13:18” и подумал может не всё так плохо?

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

      Всё может быть… iTuneDVR врать не будет! Если загрузчик там родной, то может всё и получится. Надо пробовать.

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

    Пробовал.
    Первоначальная загрузка.
    Boot 3.1.6-540659 (Jun 4 2019-17:55:37)
    boards:518302
    Boot From: NAND 2048 RC BCH 6bit
    SYS_CONFIG: 0x00070053 POC: 001
    Cortex freq: 816000000
    ENET freq: 50000000
    iDSP freq: 348000000
    Dram freq: 660000000
    Core freq: 288000000
    AHB freq: 144000000
    APB freq: 72000000
    UART freq: 24000000
    SD freq: 50000000
    SDXC freq: 50000000
    dev_model:DS-2CD2023G0-I
    [boot] In release mode!
    Hit Ctrl+u to stop autoboot: 0
    |RCV UDP pack timeout|
    cmd ‘null’ is not supported.
    flash booting …
    booting from pri part…
    load kernel…
    [ 1.546645] Card authentication succeeded
    init started: BusyBox v1.19.3 (2019-06-25 10:00:13 CST)
    starting pid 60, tty ”: ‘/etc/init.d/rcS’
    Starting udev: [ OK ]
    create static device nodes under /dev dir
    >>>run pre_app_hook
    UBI device number 1, total 272 LEBs (34537472 bytes, 32.9 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB)
    waiting for /dev/ubi1_0.
    waiting for /dev/ubi1_0.
    pri_iUpgSuccCnt:2, sec_iUpgSuccCnt:2
    UBI device number 3, total 48 LEBs (6094848 bytes, 5.8 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB)
    waiting for /dev/ubi3_0.
    Check dir /davinci ok! (0)
    UBI device number 4, total 48 LEBs (6094848 bytes, 5.8 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB)
    waiting for /dev/ubi4_0.
    waiting for /dev/ubi4_0.
    Check dir /config ok! (0)
    >>>run post_app_hook
    find net_node, loop : 1
    Not find initrun.sh!
    starting pid 359, tty ”: ‘-/bin/psh’
    BusyBox v1.2.1-390993 Protect Shell (psh)
    Enter ‘help’ for a list of davinci system commands.

    #
    Загрузка с остановкой:
    Boot 3.1.6-540659 (Jun 4 2019-17:55:37)
    boards:518302
    Boot From: NAND 2048 RC BCH 6bit
    SYS_CONFIG: 0x00070053 POC: 001
    Cortex freq: 816000000
    ENET freq: 50000000
    iDSP freq: 348000000
    Dram freq: 660000000
    Core freq: 288000000
    AHB freq: 144000000
    APB freq: 72000000
    UART freq: 24000000
    SD freq: 50000000
    SDXC freq: 50000000
    dev_model:DS-2CD2023G0-I
    [boot] In release mode!
    Hit Ctrl+u to stop autoboot: 2
    HKVS # printenv
    ipaddr=192.168.1.69
    serverip=192.168.1.128
    gatewayip=0.0.0.0
    netmask=255.255.255.0
    ethaddr=ac:cb:51:57:03:d0
    loadaddr=0x00208000
    bootfile=hImage
    bootcmd=null
    bootargs=console=ttyS0
    bootdelay=2
    chip_id=0
    HKVS # help
    The following commands are supported:
    trspt boot erase help
    reset saveenv printenv setenv
    upbs format update upfusb
    upf updatebusb updateb gos
    go mii gpio ping

    Use ‘help’ to get help on a specific command
    HKVS #
    Прошивка с tftp:
    Boot 3.1.6-540659 (Jun 4 2019-17:55:37)
    boards:518302
    Boot From: NAND 2048 RC BCH 6bit
    SYS_CONFIG: 0x00070053 POC: 001
    Cortex freq: 816000000
    ENET freq: 50000000
    iDSP freq: 348000000
    Dram freq: 660000000
    Core freq: 288000000
    AHB freq: 144000000
    APB freq: 72000000
    UART freq: 24000000
    SD freq: 50000000
    SDXC freq: 50000000
    dev_model:DS-2CD2023G0-I
    [boot] In release mode!
    Hit Ctrl+u to stop autoboot: 0
    Starting udev: [ OK ]
    create static device nodes under /dev dir
    modprobe: chdir(): No such file or directory
    iptables v1.4.18: can’t initialize iptables table `filter’: Table does not exist (do you need to insmod?)
    Perhaps iptables or your kernel needs to be upgraded.
    >>>run pre_app_hook
    find net_node, loop : 1
    Formatting ……………………………………………………………………………………………………………………………………………………………………………… done!
    [ INFO][MIN]TFTP: TFTP from server 192.168.1.128
    [ INFO][MIN]TFTP: Filename: ‘digicap.dav’
    tftp: falling back to blocksize 512
    ##############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################tftp: timeout
    [ INFO][MIN]TFTP: Download File [FAIL] error: tftp.
    !!!!! UPDATE FAIL !!!!!

    BusyBox v1.2.1 Protect Shell (psh)
    Enter ‘help’ for a list of davinci system commands.

    #

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

    “Help” после попытки прошивки:
    [ INFO][MIN]TFTP: Download File [FAIL] error: tftp.
    !!!!! UPDATE FAIL !!!!!

    BusyBox v1.2.1 Protect Shell (psh)
    Enter ‘help’ for a list of davinci system commands.

    # help
    Support Commands:
    taskShow printPart prtHardInfo
    getPreviewStatus setIp setV6ip
    setGateway dspStatus outputClose
    outputOpen getDebug setDebug
    debugLog getIrstate getMtu
    camCmd getCamVer getIrstate
    getLux getMcuInfo getMotion
    getRawdata setIrcmd setRectFrame
    updateCamera setLaserMode getLaserMode
    setIrMode getIrMode setBaiguangMode
    getBaiguangMode setYTLock InquireFanSwitch
    StartLaser CloseLaser LaserMotReset
    EnlargeCur ReduceCur SetCur
    LaserMotDirect LaserTeleOffset LaserWideOffset
    InqSwitch InqCurrent InqCurMotDirect
    getMcuStateInfo setFastFocus getTrackStatus
    getSelfcheckResult setLdcMode getLdcMode
    getPreviewStatus appCmd camCmd
    ezoomlens_start_t2_test prtLensCurve getLensCurve
    getIp gdbcfg {Test1}
    {Test2} {Test3} {Test4}
    {TestN} {TestY} getIsp
    getISP getisp setIsp
    setISP setisp regread
    regwrite setAgingMode getAgingMode
    setAgingTime getAgingTime setLensZoomPos
    getLensZoomPos dm365 ss
    showKey showServer showUpnp
    showStatus showDefence setLBS
    setAlarm cloudService t1
    ifconfig netstat ping
    ping6 top iostat
    mpstat ps reset
    dmesg exit getDateInfo
    diagnose help
    #

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

      Файл прошивки отсюда IPC_G1_EN_STD_5.6.820_220519.zip ?

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

    Да. Пробовал разные с одним результатом.
    Попытка через upf:

    Boot 3.1.6-540659 (Jun 4 2019-17:55:37)
    boards:518302
    Boot From: NAND 2048 RC BCH 6bit
    SYS_CONFIG: 0x00070053 POC: 001
    Cortex freq: 816000000
    ENET freq: 50000000
    iDSP freq: 348000000
    Dram freq: 660000000
    Core freq: 288000000
    AHB freq: 144000000
    APB freq: 72000000
    UART freq: 24000000
    SD freq: 50000000
    SDXC freq: 50000000
    dev_model:DS-2CD2023G0-I
    [boot] In release mode!
    Hit Ctrl+u to stop autoboot: 2
    HKVS # upf
    ‘upf’ is a ambiguous command! Exec the shortest command
    ***** UPDATE START *****
    MAC: ac:cb:51:57:03:d0
    TFTP from server 192.168.1.128; our IP address is 192.168.1.69
    Filename: ‘mImage_g1’
    Load address: 0x02000000
    do_tftp_load:bld_udp_recv RRQ ok,opcode=5
    do_tftp_load:bld_udp_recv RRQ failed!rval=FFFFFFFF
    do_tftp_load:bld_udp_recv RRQ failed!rval=FFFFFFFF
    failed!
    error: tftp.
    error: upm.
    error: upf.
    ***** UPDATE FAIL *****
    HKVS #

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

      Там, судя по всему, как-то по-другому делается…

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

    И ещё вопрос. Вы задаёте адрес сервера “setenv serverip 192.168.1.128”. Почему на 5-6 фото адрес сервера 192.168.1.219?

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

      Действительно… Видимо скрин сделал позже, когда по какой-то причине адрес сетевой карты был отличным от 192.168.1.128. На самом деле адрес важен только при штатном автоматическом восстановлении, а когда команды отдаются вручную, то адрес – дело десятое. Главное, чтобы адреса камеры и сервера были в одной подсети.

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

        А если в printenv камера даёт:
        ethaddr=00:00:23:34:45:66
        ipaddr=192.168.1.10
        serverip=192.168.1.2
        netmask=255.255.255.0
        bootfile=”uImage”
        hi_gpios=52!:ir 6 5
        указывать 128 или 2?

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

          serverip должен совпадать с адресом компьютера, на котором запущен tftp-сервер – это единственое условие.

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

            Спасибо ещё раз за статью, с картинками стало понятнее. В этот раз две 2CD3VC прошились влёт. Ну а 2023 пока пусть лежат.

          2. mixatronik автор

            Уже не первый запрос про такую камеру. Надо попробовать заняться. Прям интересно стало.

  37. Павел

    Добрый день! У нас имеется камера QTECH QVC-IPC-406P2 с прошивкой от ростелекома. Возможно вы сможете, хотя бы советом помочь ее прошить. Ничего не получается найти в интернете

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

      Добрый! Такая камера не попадалась, но возможно это какая-то OEM-Dahua. Надо только понять какая. В этом могут помочь различные номера и коды, которые есть на плате. Как минимум, нужно фото платы с двух сторон и крупно фото процессора и памяти, чтобы были видны наименования. Ещё полезно проанализировать лог загрузки системы Ростелеком. Там проскакивает название модели или линейки. Бывает даже ссылка на прошивку, по которой тоже можно сделать какие-то выводы.

      Ответить
      1. Иван

        Здравствуйте, спасибо за очень полезные материалы. Скажите когда новая статься выйдет по отвязке от Ростелекома?) и какая камера будет?)

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

          Здравствуйте! Пожалуйста!
          Неожиданно 🙂 Есть несколько нетронутых камер разных производителей – Uniview, Dahua, QTech. Камрады присылали для исследований. Пора бы уже заняться, а то неудобно как-то…

          Ответить
  38. Евгений

    Здравствуйте!
    Камера DS-2CD2VC 05/2019.
    Подключил UART на CH340 в PUTTY не останавливается загрузчик, хотя в логе видно, что нажатие клавиш идет.
    Подскажите пожалуйста, в чем может быть проблема.
    Лог PUTY:
    -Boot 2010.06 (Oct 26 2018 – 08:06:19)

    Check spi flash controller v350… Found
    Spi(cs1) ID: 0xC2 0x20 0x18 0xC2 0x20 0x18
    Spi(cs1): Block:64KB Chip:16MB Name:”MX25L128XX”
    MMC: MMC FLASH INIT: No card on slot!
    *** Warning – bad CRC, using default environment

    In: serial
    Out: serial
    Err: serial
    Hit any key to stop autoboot: 1 0
    Set gpio: 52->0
    Set gpio: 6->1
    Set gpio: 5->1
    16384 KiB hi_sfc at 0:0 is now current device
    No mmc found

    ## Booting kernel from Legacy Image at 82000000 …
    Image Name: Linux-3.0.8
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 2665264 Bytes = 2.5 MiB
    Load Address: 80008000
    Entry Point: 80008000
    Loading Kernel Image … OK
    OK

    Starting kernel …

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

      Здравствуйте!
      А где видно, что нажатие есть? Что-то всё-таки с TX думаю, либо не успеваешь.

      Ответить
  39. Евгений

    Добрый вечер!
    При копировании спецсимволы исчезают, не подумал. вот:
    =~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2024.10.06 23:58:59 =~=~=~=~=~=~=~=~=~=~=~=

    U-Boot 2010.06 (Oct 26 2018 – 08:06:19)

    Check spi flash controller v350… Found
    Spi(cs1) ID: 0xC2 0x20 0x18 0xC2 0x20 0x18
    Spi(cs1): Block:64KB Chip:16MB Name:”MX25L128XX”
    MMC: MMC FLASH INIT: No card on slot!
    *** Warning – bad CRC, using default environment

    In: serial
    Out: serial
    Err: serial
    Hit any key to stop autoboot: 1 bsbsbs 0
    Set gpio: 52->0
    Set gpio: 6->1
    Set gpio: 5->1
    16384 KiB hi_sfc at 0:0 is now current device
    No mmc found

    Ответить
  40. Евгений

    В промежутке между 1 и 0 в логе трижды успевает прописаться BS при нажатии backspase:
    Hit any key to stop autoboot: 1 bsbsbs 0

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

      Это вообще странно. Там ничего не должно быть. Или не замечал… Но обычно просто стоп, а символы появляются уже в командной строке.

      Ответить