У вас IP-камера не отвечает на запросы через веб, но всё еще живо пингуется? Или вдруг при попытке обновить прошивку что-то пошло не так, и теперь устройство висит в аварийном режиме? Если вы чувствуете, что камеру нужно "оживить", то вы попали в нужное место. Мы разберем всё: от входа в загрузчик U-Boot и управления командами до хитростей с прошивкой через TFTP и хитростей обхода ограничений размера файла. А еще расскажем, как не сжечь камеру насмерть неправильной прошивкой!


Веб-интерфейс не работает, но камера пингуется – что делать?

Знакомая ситуация: IP-камера молчит, веб-морда не отвечает, а пинг идет стабильно. Это часто признак того, что прошивка камеры повреждена или сервисы внутри камеры не запускаются. Однако аппаратная часть жива и камера всё еще подключена к сети.

Чтобы начать спасательную операцию, нужно получить доступ к загрузчику — чаще всего это U-Boot.


Знакомство с загрузчиком U-Boot

U-Boot — это как дверной сторож вашей камеры. Он запускается до того, как начинает работать основная операционная система, и позволяет залить новую прошивку, проверить память, настроить сеть и многое другое.

Чтобы попасть в U-Boot, при включении камеры нужно нажать Ctrl+C или любую другую клавишу в течение нескольких секунд, пока идет отсчет запуска (bootdelay).

В терминале вы увидите приветствие и список доступных команд. Вот несколько полезных:

Команда Описание
printenv Показать переменные окружения (настройки загрузки)
tftp Скачать файл прошивки по TFTP в память камеры
flwrite Записать файл из памяти в SPI-флеш (память камеры)
reset Перезагрузить камеру
sf probe Инициализация SPI-флеш памяти
help Показать список доступных команд

Как прошить камеру через TFTP: базовые шаги

TFTP — это простой протокол передачи файлов по сети. Камера в режиме загрузчика умеет скачивать прошивку по сети с вашего компьютера.

Общий порядок действий:

  1. Подключите камеру и компьютер к одной локальной сети.
  2. Запустите TFTP-сервер на компьютере и укажите папку с файлами прошивки.
  3. В U-Boot на камере настройте IP-адрес камеры и IP сервера:
hisilicon # sip 192.168.1.100   # IP вашего компьютера (TFTP-сервера)
hisilicon # lip 192.168.1.10    # IP камеры
  1. Проинициализируйте SPI-флеш:
hisilicon # sf probe 0
  1. Скачайте файл прошивки в память камеры (адрес 0x82000000, как правило):
hisilicon # tftp 0x82000000 имя_файла.img
  1. Запишите файл из памяти в SPI-флеш:
hisilicon # flwrite
  1. Перезагрузите камеру:
hisilicon # reset

Почему прошивка может не залиться? Размер имеет значение!

Частая проблема: стандартный TFTP-сервер и клиент ограничены на размер передаваемого файла (около 32 Мбайт). Если ваша прошивка весит 35 Мбайт и больше, она может не загрузиться или загрузится с ошибками.

Пример из жизни:

Прошивка Размер Загружается через стандартный TFTP? Работает после загрузки?
5.5.0 31 Мбайт Да Нет (несовместимая версия)
5.5.82, 5.5.83 35 Мбайт Нет Не загружается
5.6.2 >32 Мбайт Нет Нет

Как обойти ограничение на размер прошивки?

Есть два основных способа:

  • Использовать патченный TFTP-сервер на Python, который не ограничен стандартными 32 Мбайтами. Такой сервер можно запускать на Linux и Windows. В некоторых случаях это спасает без необходимости разбирать камеру.

  • Подключиться через UART/TTL (например, используя USB-адаптер CH341A) к последовательному порту камеры и заливать прошивку "ручками" с помощью консоли U-Boot. Да, немного "коварно", зато гарантирует контроль и диагностику в реальном времени.


UART/TTL — спасительный доктор для вашей камеры

Если камера висит в аварийном режиме или не загружается нормально, полезно подключиться к UART — последовательному порту, обычно через USB-UART адаптер на базе чипа CH340 или CH341A.

Подключившись к UART, вы получаете доступ к консоли U-Boot, где можно:

  • Следить за загрузкой камеры
  • Остановить автоматический запуск, чтобы залить прошивку
  • Запустить ручное обновление с помощью команды update (в некоторых загрузчиках)
  • Увидеть ошибки и логи, которые недоступны через сеть

Образ cramfs и его значение

В некоторых прошивках камера содержит несколько cramfs образов — это файловые системы, упакованные в отдельные части, например:

Образ Назначение
user-x.cramfs.img Основной пользовательский раздел
romfs-x.cramfs.img Системный раздел
web-x.cramfs.img Веб-интерфейс
logo-x.cramfs.img Логотипы и графика
custom-x.cramfs.img Пользовательские настройки

В U-Boot важно правильно шить каждый из них по отдельности — иначе можно "убить" загрузчик камеры.


Как сбросить настройки камеры через U-Boot

Если камера загружается, но настройки "плывут", можно почистить настройки вручную из U-Boot:

hisilicon # sf probe 0
hisilicon # sf erase 0xec0000 0x140000
hisilicon # reset

Это очистит раздел настроек в SPI-флеш и заставит камеру начать с дефолтных параметров.


Подводные камни и советы по разным моделям камер

  • Иногда веб-интерфейс перестает работать после неудачной прошивки — тогда работать только через UART и TFTP.
  • Разные модели и производители (Hikvision, Polyvision, RTK) имеют свои нюансы в версиях прошивки и методах восстановления.
  • Версии прошивок несовместимы между собой: заливка слишком старой или слишком новой прошивки может заблокировать устройство.
  • Лучше иметь под рукой оригинальные прошивки с сайта производителя.
  • Для подключения к UART потребуется USB-UART адаптер (CH340, CH341A).
  • Не пренебрегайте документацией U-Boot и комментарием printenv — там часто есть подсказки для восстановления.

Таблица основных команд U-Boot для восстановления камеры

Команда Что делает Пример использования
printenv Показывает переменные окружения загрузчика printenv
sip Устанавливает IP адрес сервера TFTP sip 192.168.1.100
lip Устанавливает IP адрес камеры lip 192.168.1.10
sf probe 0 Инициализирует SPI флеш память sf probe 0
tftp 0x82000000 имя_файла Загружает файл по TFTP в память tftp 0x82000000 user-x.cramfs.img
flwrite Записывает файл из памяти в SPI флеш flwrite
sf erase Стирает часть SPI флеша sf erase 0xec0000 0x140000
reset Перезагружает устройство reset
update Обновление прошивки (в некоторых загрузчиках) update

FAQ: Часто задаваемые вопросы

Q: Что делать, если камера не отвечает по сети, но пинг идет?
A: Подключайтесь к UART и проверьте состояние загрузчика. Вероятно, нужна прошивка через TFTP.

Q: Как узнать IP камеры в аварийном режиме?
A: По умолчанию многие камеры используют IP вроде 192.168.1.10 или 192.168.1.64. Используйте сканеры сети или посмотрите переменные окружения U-Boot.

Q: Почему после прошивки камера не загружается?
A: Возможна несовместимость версии прошивки или повреждение загрузчика. Вернитесь к UART и попробуйте другую версию.

Q: Какую прошивку лучше использовать?
A: Лучше официальную с сайта производителя. Если она больше 32 Мбайт, используйте патченный TFTP или подключение через UART.

Q: Нужно ли отключать питание при прошивке?
A: Нет, питание должно оставаться включенным, чтобы устройство не выключилось во время записи.


Чек-лист восстановления IP-камеры

  • [ ] Убедитесь, что камера физически включена и пингуется
  • [ ] Подключитесь к UART через USB-UART адаптер
  • [ ] Перехватите загрузку U-Boot, нажмите Ctrl+C
  • [ ] Выведите переменные printenv для проверки настроек
  • [ ] Настройте IP-адреса камеры и TFTP-сервера (sip и lip)
  • [ ] Запустите TFTP-сервер на ПК, положите туда файлы прошивки
  • [ ] Инициализируйте SPI флеш sf probe 0
  • [ ] Загрузите прошивку в память tftp 0x82000000 имя_файла
  • [ ] Запишите в флеш flwrite
  • [ ] Очистите настройки при необходимости sf erase
  • [ ] Перезагрузите камеру reset
  • [ ] Проверьте работу веб-интерфейса

Советы для успешной прошивки

  • Используйте оригинальные прошивки и проверяйте их размер. Если файл больше 32 Мбайт, ищите патченный TFTP.
  • Записывайте прошивку по частям, если это требуется (cramfs образы).
  • Обязательно имейте под рукой UART-адаптер — это спасение в случае аварий.
  • При работе с командной строкой U-Boot будьте внимательны — одна ошибка и можно "загубить" загрузчик.
  • Делайте резервные копии оригинальной прошивки, если есть возможность.
  • Следите за логами в терминале, они помогают понять, на каком этапе возникают ошибки.

Прокачайте свои навыки восстановления камер, и никакой "кирпич" не будет страшен! А если что — всегда можно вернуться к UART и пройти этот квест заново. Удачи!