Перейти к содержанию

Вопрос

Опубликовано

Возможно, глупый вопрос. Но сейчас озадачился периодическим сохранением прошивки из роутера по cron. 

Соответственно, для этого использую команду cli наподобие:

copy flash:/firmware USBFLASH:/firmware-cli

Также для сравнения сохраняю прошивку через веб (Система-Файлы). Прошивки по размеру получаются одинаковыми, но почти в самом конце 6 байт отличаются. Пробовал несколько раз. Байты одни и те же различаются, их содержимое также не изменяется (что для CLI, что для веба):

Сравнение файлов firmware-web и firmware-cli
00BB0030: 10 7C
00BB0031: CE 91
00BB0032: 99 91
00BB0034: E0 68
00BB0035: 3E F5
00BB0036: C1 95

Это нормально? По какой причине это происходит? Безопасно ли восстанавливаться с прошивки, сохраненной через CLI (не дают мне покоя различия в этих 6 байтах:-?)?

Рекомендуемые сообщения

  • 0
Опубликовано
59 минут назад, gvan сказал:

Возможно, глупый вопрос. Но сейчас озадачился периодическим сохранением прошивки из роутера по cron. 

Соответственно, для этого использую команду cli наподобие:


copy flash:/firmware USBFLASH:/firmware-cli

Также для сравнения сохраняю прошивку через веб (Система-Файлы). Прошивки по размеру получаются одинаковыми, но почти в самом конце 6 байт отличаются. Пробовал несколько раз. Байты одни и те же различаются, их содержимое также не изменяется (что для CLI, что для веба):


Сравнение файлов firmware-web и firmware-cli
00BB0030: 10 7C
00BB0031: CE 91
00BB0032: 99 91
00BB0034: E0 68
00BB0035: 3E F5
00BB0036: C1 95

Это нормально? По какой причине это происходит? Безопасно ли восстанавливаться с прошивки, сохраненной через CLI (не дают мне покоя различия в этих 6 байтах:-?)?

Если затем попробовать прошить через Web, он принимает оба файла без ошибок?

  • 0
Опубликовано
5 минут назад, Le ecureuil сказал:

Если затем попробовать прошить через Web, он принимает оба файла без ошибок?

Так я и не пробовал файл, полученный через CLI файл, засовывать через веб. Пока такой необходимости не было. А различие в содержимом меня как раз и насторожило, т.к. опасаюсь испортить роутер.

  • 0
Опубликовано
24 минуты назад, gvan сказал:

Так я и не пробовал файл, полученный через CLI файл, засовывать через веб. Пока такой необходимости не было. А различие в содержимом меня как раз и насторожило, т.к. опасаюсь испортить роутер.

Web валидирует прошивку и подпись, поэтому он не даст вам засунуть испорченную, а также просто неправильный файл. Можете попробовать.

  • 0
Опубликовано
8 минут назад, Le ecureuil сказал:

Web валидирует прошивку и подпись, поэтому он не даст вам засунуть испорченную, а также просто неправильный файл. Можете попробовать.

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

Будем считать изменения в 6 байтах неважными, но подозрительными...

  • 0
Опубликовано

Апну тему.

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

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

Делаю две копии одной и той же прошивки с разницей в пару секунд и сравниваю:

ndmq -p 'copy flash:/firmware ADATA:/backup/firmware-cli' -P message
ndmq -p 'copy flash:/firmware ADATA:/backup/firmware-cli2' -P message
cmp -l firmware-cli firmware-cli2
	12124209  44  14
	12124210   0 270
	12124211 145 144

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

Но если сохранять через веб, то бинарные файлы получаются одинаковыми байт в байт.

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

  • 0
Опубликовано
9 часов назад, gvan сказал:

Апну тему.

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

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

Делаю две копии одной и той же прошивки с разницей в пару секунд и сравниваю:


ndmq -p 'copy flash:/firmware ADATA:/backup/firmware-cli' -P message
ndmq -p 'copy flash:/firmware ADATA:/backup/firmware-cli2' -P message
cmp -l firmware-cli firmware-cli2
	12124209  44  14
	12124210   0 270
	12124211 145 144

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

Но если сохранять через веб, то бинарные файлы получаются одинаковыми байт в байт.

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

Ага, проблема найдена, и исправлена.

Исправление появится во всех следующих сборках всех веток.

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.