Xiaomi Router 3G: обновление LEDE (OpenWrt)

Xiaomi Router 3G: обновление LEDE (OpenWrt)

JustACat


Все, что вы делаете, вы делаете на свой страх и риск.
Я никакой ответственности за ваши действия не несу!


1.Вводная

02.01.2018 LEDE решили объединиться с OpenWrt. С этого момента упоминания LEDE и OpenWrt прошу считать равнозначными.

На самом деле это не руководство. Скорее просто собрание моих пометок по процессу обновления, которые, возможно, кому-то еще будут полезны. Сам процесс обновления не сложен и во всех красках и способах описан на сайте проекта LEDE.
Картинок не будет. Совсем не будет :)

Если вы не читали руководство по прошивке LEDE, то советую прочесть. В данном руководстве я буду исходить из того, что вы уже имеете некие знания по предмету (взятые из предыдущего руководства или откуда-то еще).

Важно: при обновлении любым способом (стандартными средствами):

  • невозможно сохранить установленные пакеты (после обновления их придется устанавливать заново), поэтому стоит задокументировать себе куда-нибудь, что у вас было установлено и зачем;
  • можно сохранить настройки и параметры как самой системы так и установленных пакетов (если они хранят параметры в стандартных расположениях), но все же рекомендуется производить чистое обновление (без сохранения настроек);
  • если вы добавляли какие-то нестандартные пакеты, программы или файлы, они тоже не сохранятся (если вы не приняли меры и не добавили о них записи в спец. файлы);
  • если к роутеру подключен дополнительный накопитель (жесткий диск, флешка, ...), то данные на нем не будут затронуты, но разработчики LEDE все же предупреждают, что стоит этот накопитель тоже забэкапить или отключить. В общем, никаких гарантий.


2.a.Обновление через CLI

CLI - интерфейс командной строки (англ. Command line interface, CLI).

Мне кажется, что это наиболее точный и гибкий способ обновления, так как позволяет лучше проконтролировать процесс. А так же он более защищенный, так как даже если не будет работать web-интерфейс (LuCI), доступ через командную строку по SSH скорее всего будет.
Первоисточник руководства находится здесь:
https://lede-project.org/docs/user-guide/sysupgrade.cli

NB: Для совершения следующих действий требуется подключение к роутеру по SSH (используйте, например, putty).
Если в тексте указываются какие-либо команды, то предполагается их выполнение на роутере именно из командной строки по SSH.
Если вы не знаете как или просто не хотите редактировать файлы через командную строку, вы можете воспользоваться клиентом WinSCP. Для подключения к LEDE в WinSCP необходимо выбирать протокол SCP. Так же с помощью WinSCP удобно копировать файлы с/на роутер.
В конце статьи есть ссылки на putty, WinSCP и статью с описанием команд командной строки (BusyBox).


2.a.1.Бэкап и восстановление настроек:

  • Просмотреть список файлов, которые будут бэкапиться перед обновлением, можно с помощью команды:
sysupgrade -l
  • Если не хватает в этом списке каких-то папок или файлов, которые добавляли сами и надо сохранить, то можно их дописать в этот файл:
/etc/sysupgrade.conf
  • Сделать бэкап можно с помощью команды (бэкап ляжет в папку /tmp в оперативной памяти роутера, т.е. при перезагрузке роутера удалится! сохраняйте файл на ПК):
sysupgrade -b /tmp/backup.tar.gz
  • Восстановление настроек из бэкапа:
sysupgrade -r /путь_к_файлу/имя_файла.tar.gz

Если вы хотите скидывать файлы с/на подключенную флешку/винт, то у вас должно быть настроено определение и монтирование накопителей. Почитать про это можно здесь:
https://lede-project.org/docs/user-guide/usb-drives


2.a.2.a.Обновление с сохранением настроек:

  • Заходим по ssh на роутер (IP - какой у вас был, если не меняли, то 192.168.1.1, порт 22). Логин root, пароль - какой ставили командой passwd или через веб-интерфейс.
  • Качаем обновление и файл с контрольными суммами прямо на роутер в папку /tmp. Выполняем команду (это одна строка, хотя можно разбить ее на несколько последовательных, разделять по ";"):
DOWNLOAD_LINK="http://downloads.lede-project.org/snapshots/targets/ramips/mt7621/openwrt-ramips-mt7621-mir3g-squashfs-sysupgrade.tar"; SHA256SUMS="http://downloads.lede-project.org/snapshots/targets/ramips/mt7621/sha256sums";cd /tmp;wget $DOWNLOAD_LINK;wget $SHA256SUMS;sha256sum -c sha256sums 2>/dev/null|grep OK
  • Все скачалось, не побилось, и можно продолжать, если на выходе увидели:
openwrt-ramips-mt7621-mir3g-squashfs-sysupgrade.tar: OK
  • Если что-то не так, проверьте для начала правильность путей: DOWNLOAD_LINK и SHA256SUMS в команде выше. Возможно, пути на сервере изменились, тогда их нужно скорректировать.
  • Можно (советую) сделать дополнительный бэкап настроек (через командную строку - см. выше, либо через LuCI - см. ниже, либо и так и так).
  • И само обновление, выполняем команду:
sysupgrade /tmp/openwrt-ramips-mt7621-mir3g-squashfs-sysupgrade.tar
  • Соединение разорвется, роутер после обновления перезагрузится, через какое-то время можно будет снова постучаться на роутер по SSH.
  • Снова подключаемся по SSH, IP будет старый, пароль для root тоже будет старый.
    Факт обновления будет заметен по изменившемуся приветствию при подключении. Как минимум изменится номер сборки.
  • Если мы все еще обновляли на developer версию, у нас не будет LuCI (как и других пакетов, которые мы устанавливали вручную ранее, пакеты при обновлении не сохраняются).
    Ставим LuCI (подробнее):
opkg update
opkg install luci

Или (если хотим LuCI с поддержкой ssl):

opkg update
opkg install luci-ssl

Чтобы браузер не ругался на сертификат, при подключении к LuCI по SSL, можно сделать то, что описано в этой статье (проверял, работает).

  • Теперь можно стучаться на роутер через web-интерфейс (LuCI) по вашему старому IP роутера, например, так: http://192.168.1.1 (для ssl: https://192.168.1.1)
  • Далее ставьте все дополнительные пакеты, которые вам нужны и проверяйте настройки.


2.a.2.b.Обновление без сохранения настроек:

При обновлении с сохранением настроек возможны некоторые накладки в работе. Особенно если обновления серьезные. Поэтому есть смысл обновляться без сохранения настроек. В конце концов их обычно не так много. И не так сложно настроить все заново (особенно, если предварительно сохранить конфигурационные файлы и далее брать информацию из них).

Для обновления без сохранения настроек нужно запускать команду sysupgrade с ключом "-n" (do not save configuration over reflash):

sysupgrade -n /tmp/openwrt-ramips-mt7621-mir3g-squashfs-sysupgrade.tar

Важно: в таком режиме роутер после обновления потеряет все настройки, включая настройки сети!

То есть придет в состояние, в котором он оказался после того, как вы впервые прошили на него LEDE. Читаем (если еще не): с пункта 4 (а лучше полностью).

Будьте готовы к тому, что вам придется стучаться на роутер по другому IP адресу, ну и так далее.

Если у вас подключение к интернет от провайдера не просто по DHCP, а с использованием дополнительных модулей и механизмов (PPTP, L2TP и других, где требуется ввод логина и пароля), то и интернет-подключение автоматом тоже не восстановится (по-умолчанию в LEDE WAN подключение сконфигурировано на получение всего по DHCP).

Полезно сделать перед таким обновлением бэкап настроек - по сути это будет архив с файлами настроек. Вы сможете открыть его на ПК и уже частично скопировать из него обязательные настройки после обновления роутера, например, через WinSCP.


2.b.Обновление через LuCI (WEB-интерфейс)

Так же обновление можно производить и через LuCI. Я лично этого не делал. Но согласно официальной документации этот способ считается более простым и подходящим для новичков.

Первоисточник находится здесь:
https://lede-project.org/docs/guide-quick-start/sysupgrade.luci

А вот тут находится описание бэкапа и восстановления параметров:
https://lede-project.org/docs/user-guide/backingup

Авторы рекомендуют обновление без сохранения параметров. А значит, опять же, имейте ввиду: после обновления ваш роутер превратится в тыкву (восстановит все параметры по-умолчанию). То есть делаем бэкапы, готовимся к тому, что не будет интернета (подстраховываемся, например, мобильником с мобильным интернетом, чтобы было с чего почитать руководства, если что).

Итак:

  • Качаем отсюда:
    http://downloads.lede-project.org/snapshots/targets/ramips/mt7621/

    файл "mir3g-squashfs-sysupgrade.tar", возможно, название изменится, главное, чтобы в названии было: "mir3g" - это наш роутер и "sysupgrade" - это образ для обновления.
    Настоятельно рекомендую проверить контрольную сумму файла, сравнить ее с указанной там же в столбике "sha256sum".
  • Идем в веб-интерфейс роутера:
    SystemBackup/Flash Firmware → раздел "Flash new firmware image"
  • Снимаем галочку "Keep settings" (настройки после обновления сбросятся!).
  • Выбираем скачанный ранее "sysupgrade" файл.
  • Жмем "Flash image…".
  • Попадаем на страничку, где нам еще раз предлагают сверить контрольную сумму. Делаем это обязательно! Продолжаем только если совпала. Если нет - перекачиваем файл по новой.
  • Жмем "Proceed".
  • Ждем, пока все это дело прошивается, в конце роутер перезагрузится.
    Если была снята галочка "Keep settings", то все настройки сбросятся на настройки по-умолчанию. Значит роутер будет доступен по IP адресу по-умолчанию: 192.168.1.1. LuCI (и других пакетов) установлено не будет! Пароль root будет пустой. В общем, с 4 пункта.


*.Дополнительные материалы:


Всем бобра и успешных перепрошивок!

Report Page