Пример установки OpenWrt на роутер Xiaomi Redmi AX6000 из под Linux
Приветствую!

В этой заметке расскажу, как я выбирал роутер и устанавливал на него основанную на Linux прошивку — OpenWrt 🧑💻. Все действия выполнялись в среде дистрибутива LMDE6 (Debian 12).

Предисловие

Недавно у меня возникла необходимость в замене роутера, т.к. старый не удовлетворял потребности в плане функциональности. Одна из таких — возможность подключения роутера к защищенной сети по протоколу OpenConnect. Мне было известно, что такой функционал имеется у прошивки OpenWrt😎.

OpenWrt — это open source операционная система на базе Linux, разработанная для работы на роутерах и других встраиваемых устройствах. В отличие от стандартных прошивок, OpenWrt предоставляет полноценную файловую систему с возможностью установки и управления пакетами, что позволяет изменять и расширять функциональность устройства.

openwrt.org

Основная причина выбора данной прошивки — конечно же Linux под капотом🔥.

Что касается выбора роутера для OpenWrt, то тут я сильно не заморачивался. Быстрый поиск в гугле привел меня на статью с Habr, где приводится перечень устройств с подробным описанием, которые умеют работать с этой прошивкой. Выбор пал на роутер от Xiaomi: Redmi AX6000, т.к. это топ за свои деньги разумное соотношение цены и производительности🚀.

Вот некоторые его характеристики:

ModelRedmi AX6000
CPUMediaTek MT7986A
CPU MHz2000
CPU Cores_numcores4
Flash MB128
RAM MB512
WLAN HardwareMediaTek MT7976GN, MediaTek MT7976AN
Ethernet 1Gbit ports4

Источник

Покупал я роутер на одном из маркетплейсов несколько месяцев назад за 7400 р. Сейчас его ценник несколько подрос (в районе 9000 р.), тем не менее эта модель остается хорошим выбором в своем сегменте.

Из минусов: роутер выпускался для Китайского рынка, соответственного его родная прошивка на китайском языке🤯. А еще продавец может не положить вам адаптер для европейской розетки, его придется докупить💰:

Адрес веб интерфейса роутера по умолчанию:

BASH
http://192.168.31.1
Нажмите, чтобы развернуть и увидеть больше

боль

Найти какие-либо пункты мне было проблематично🤕.

Подготовка

Установку OpenWrt на купленный роутер я выполнял с помощью скриптов проекта на GitHub — XMiR-Patcher. Данный проект предназначен для прошивки роутеров от Xiaomi альтернативной прошивкой, такой как OpenWrt.

Коротко про основные скрипты из репозитория:

Если что, то XMiR-Patcher работает как на Linux, так и MacOS с Windows. Требуется интерпретатор языка Python🐍 версии 3.8 и выше.

Приступаем к подготовке. Открываем терминал и устанавливаем систему контроля версий git и модуль python для работы с виртуальным окружением:

BASH
sudo apt install git python3-venv
Нажмите, чтобы развернуть и увидеть больше

Теперь клонируем файлы репозитория xmir-patcher и выполняем настройку виртуального окружения (venv):

BASH
git clone https://github.com/openwrt-xiaomi/xmir-patcher

cd xmir-patcher

python3 -m venv venv

source ./venv/bin/activate

python3 -m pip install -r requirements.txt
Нажмите, чтобы развернуть и увидеть больше

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

Если все прошло гладко, выходим из venv командой:

BASH
deactivate
Нажмите, чтобы развернуть и увидеть больше

Теперь необходимо определить последнюю версию OpenWrt, поддерживаемую роутером. В случае с Redmi AX6000, переходим на страницу роутера на сайте OpenWrt и находим строку « Supported Current Rel «. На момент написания статьи это версия OpenWrt 23.05.4:

Узнав версию переходим в раздел загрузок, на страницу нужного релиза:

Тут нас интересует flogic — mediatek:

Если что, вот нужная страница для версии 23.05.4.

На этой странице нам нужна ссылка на файл с именем xiaomi_redmi-router-ax6000-stock-initramfs-factory.ubi:

Скачиваем нужный файл в директорию firmware родительской директории xmir-patcher с помощью curl:

BASH
curl -fLO https://archive.openwrt.org/releases/23.05.4/targets/mediatek/filogic/openwrt-23.05.4-mediatek-filogic-xiaomi_redmi-router-ax6000-stock-initramfs-factory.ubi \
    --output-dir ./firmware/
Нажмите, чтобы развернуть и увидеть больше

Подготовка завершена, переходим непосредственно к прошивке⬇️.

Установка OpenWrt

Находясь в директории ./xmir-patcher запускаем скрипт run.sh, который должен вызвать интерактивное меню:

BASH
./run.sh
Нажмите, чтобы развернуть и увидеть больше

Выбираем пункт 1. Тут нас попросят ввести IP адрес роутера:

BASH
1

# адрес по умолчанию
192.168.31.1
Нажмите, чтобы развернуть и увидеть больше

Далее выбираем 2 для подключения к устройству и установки эксплойта😱:

BASH
2
Нажмите, чтобы развернуть и увидеть больше

Скрипт попросит ввести пароль от веб интерфейса роутера, вводим:

Далее скрипт должен активировать SSH сервер на роутере для его дальнейшей настройки:

Возможно стоит выполнить полный бэкап (пункт 4), но я его если честно не делал🫣.

После завершения предыдущего шага переходим к установке файла прошивки из директории firmware, которую мы скачали ранее с помощью curl. Выбираем пункт 7:

BASH
7
Нажмите, чтобы развернуть и увидеть больше

⚠️Ни в коем случае не отключайте питание роутера в момент обновления!

В конце вывода команды вы должны увидеть « The firmware has been successfully flashed » и сообщение об отправке команды перезагрузки роутера через SSH:

В моем случае скрипт вывел сообщение о таймауте ожидания ответа команды перезапуска:

Но роутер успешно перезагрузился и при переходе в веб браузере по адресу роутера (адрес изменился) я увидел уже знакомый интерфейс Luci😌:

BASH
http://192.168.1.1
Нажмите, чтобы развернуть и увидеть больше

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

Установка системных обновлений

Следующим шагом будет установка системных обновления OpenWrt. Для этого переходим страницу, где мы ранее брали прошивку и скачиваем в веб браузере файл с именем xiaomi_redmi-router-ax6000-stock-squashfs-sysupgrade.bin:

Или копируем ссылку и скачиваем через терминал:

BASH
curl -fLO https://archive.openwrt.org/releases/23.05.4/targets/mediatek/filogic/openwrt-23.05.4-mediatek-filogic-xiaomi_redmi-router-ax6000-stock-squashfs-sysupgrade.bin
Нажмите, чтобы развернуть и увидеть больше

Далее переходим в веб роутера, вот сюда: http://192.168.1.1/cgi-bin/luci/admin/system/flash:

И загружаем файл с обновлениями в разделе Flash new firmware image:

Подтверждаем:

❗️Ни в коем случае не отключайте питание роутера в момент обновления!

Готово:

Установка OpenWrt завершена😌.

Послесловие

Я ожидал более сложного процесса прошивки роутера, а оказалось все довольно просто, ведь бОльшую часть работы сделали скрипты проекта xmir-patcher. После установки OpenWrt я успешно настроил клиентское подключение роутера к серверу OpenConnect, который разворачивал в docker в одной из прошлых статей. Возможно сделаю заметку по этой теме, чтобы самому не забыть. Также настроил выборочную маршрутизацию через OpenConnect по-заданному списку DNS адресов… но это уже другая история😎.

Всех благ!

Используемые материалы

Авторские права

Автор: Иван Чёрный

Ссылка: https://r4ven.me/hardware/primer-ustanovki-openwrt-na-router-xiaomi-redmi-ax6000-iz-pod-linux/

Лицензия: CC BY-NC-SA 4.0

Использование материалов блога разрешается при условии: указания авторства/источника, некоммерческого использования и сохранения лицензии.

Начать поиск

Введите ключевые слова для поиска статей

↑↓
ESC
⌘K Горячая клавиша