Про роутер Redmi AX6000 и его вскрытие, UART порт, прошивку под OpenWrt, восстановление из кирпича (на всякий случай)
Оглавление
- Лёгкий обзор роутера Redmi AX6000
- Разбор, UART порт.
- Прошивка OpenWrt Stock layout
- - Активация роутера
- - Откат на старую прошивку (для дальнейшей прошивки OpenWrt)
- - Применение Xmir-patcher (собственно прошивка OpenWrt)
- Прошивка OpenWrt U-boot mod layout
- Восстановление кирпича с помощью MIWIFIRepairTool
Лёгкий обзор роутера Redmi AX6000
Покупал на Озоне вот тут за 7 116 ₽ (не реклама, пишу для себя что бы не забыть)
Обозначение RB06
Уложен в довольно большую прочную коробку, укладка в коробке стандартная
Комплектация видна на снимке, она стандартная
Технические характеристики
- Процессор: MediaTek 7986A(V), Filogic 830 4 х 2 ГГц (ARM-процессор)
- ОЗУ: 512 МБ
- ПЗУ: 128 МБ
- Сеть: 2.4ГГЦ (1147бит/с), 5ГГц (4804Мбит/с)
- Антенны: 4 несъемные
- Стандарт протокола: 802.11g/n/ac/ax (Wi-Fi 6)
- Порт: LAN х 3, WAN 1Гбит/с
- Питание: 12V/2A
Китайская версия, вилка плоская, но продавец положил переходник.
Блок питания 12 вольт- 2А
Аппетиты роутеров растут и если раньше стандарт был 12 вольт- 1А, то как видим сейчас, уже 2А.
Частичный разбор роутера и подключение гребенки UART
Для дальнейших манипуляций совершенно не обязательно разбирать роутер и впаивать гребенку в плату. Дальнейшее представлено просто для ознакомления, делать все это не обязательно, можете просто пролистать до "Прошивка под OpenWrt"
Теплорассеивающая пластина снята, уже произведена интеграция гребенки под Serial порт
Сам Serial порт - впаяна гребенка
Еще раз, уже произведена его модификация, у вас будут только отверстия, а я уже впаял гребенку. А вот его распиновка
Распиновка TX-GND-RX-VCC. Она кстати, стандартная для Xiaomi. Подключаемся тремя проводками (всё кроме пина питания) к порту.
Прошивка под OpenWrt
Активация роутера
Происходит при первом включении. Нужно произвести начальные настройки, дать пароль роутеру и Wi-Fi сети, а все остальное не важно, так как все равно будем шить новой прошивкой OpenWrt. Сам роутер при активации обязательно должен быть подключен к сети Интернет через WAN-порт (даже если у вас локальная сеть где есть отдельный шлюз - роутер, все равно суйте провод Lan в WAN порт). После загрузки роутер начнет мигать синим и появится общедоступная Wi-Fi сеть "rb06_minet_344d"
IP адрес роутера по умолчанию: http://192.168.31.1. Подключаемся! Интерфейс на китайском поэтому просто запомним, что делать, это не так сложно (ну еще можно выучить китайские иероглифы). Это начальная страничка, просто жмете далее.
Это настройка сет Wi-Fi и пароля, просто введите простой пароль, например как на скриншоте, 12345678 и не забудьте имя сети предложенной по умолчанию, ну или придумайте свое.
Жмем дальше и все! Вот такое окно предлагает нам подключится к новой сетки, а это значит, что все прошло успешно.
Светодиод роутера сменится на вот такой
Если хотите подключайтесь к сети, пароль который мы вводили и он же будет паролем доступа к Web интрефейсу.
Подключаемся заходим на http://192.168.31.1 и видим вот
Сюда вводим пароль который вводили раньше от Wi-Fi и это же пароль доступа к роутеру, в нашем случае "12345678" Видим вот такое окно.
И видим номер прошивки (мы еще увидим этот номер далее), но сразу понимаем, что нам нужно делать откат на раннюю прошивку жмем вот сюда (см. выше на скриншоте) и далее попадаем вот сюда:
Жмем далее на самую крайнюю иконку и вот
Теперь загружаем прошивку и производим откат на 1.0.48 (https://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/rb06/miwifi_rb06_firmware_847e9_1.0.48.bin). На моем дискe (Яндекс.Диск, Гугл.Диск). Откат нужен для того чтобы через уязвимость роутера (уязвимость в функции set_sys_time Xiaomi) стало возможным открыть доступ для прошивки OpenWrt
И появляется вот такое окно, в вольном переводе оно как бы говорит "хрен вам, а не прошивка", а если серьезно, вот такой перевод: "Примечание по обновлению. По соображениям безопасности не допускается выбирать для обновления версию прошивки ниже текущего номера версии." Для того чтобы стал доступен откат на "нижнюю" прошивку нужно отредактировать URL-адрес, если там "0" в конце его изменить на "1", а если "1" то меняем на "2". Вот мой адрес: http://192.168.31.1/cgi-bin/luci/;stok=7217d7f81bc86ef627df7d86b3934abc/web/syslock?flashtype=upload&downgrade=1
На конце у меня "1", а значит вместо "1" ставлю "2" и enter
Теперь все сработало прошивка пошла.
Загорается красный светодиод, а затем синий, затем опять красный и синий, а потом белый. После прошивки все пароли сохранились, сеть осталось та же самая. Еще раз подключаемся и видим.
Номер прошивки стал меньше значит прошивка прошла успешно. Мы прошились на нужную прошивку с уязвимостью и можно двигаться дальше.
Xmir-patcher
Далее мы будем прошивать уже OpenWrt через Xmir-patcher он находится на Github (https://github.com/openwrt-xiaomi/xmir-patcher) На моем дискe (Яндекс.Диск, Гугл.Диск).
Разархивируем и в папку "firmware" положим прошивку уже OpenWrt. Через селектор прошивок выбираем "Xiaomi Redmi AX6000" нужно качать factory (на моем дискe Яндекс.Диск, Гугл.Диск) положить в паку "firmware" разархивированного "xmir-patcher".
Прошивка под OpenWrt есть двух типов:
- Stock layout
- U-boot mod layout
U-boot mod layout - лучше, используется U-Boot с автоматическим восстановлением TFT, дополнительные опции восстановления NAND. Более эффективное использование доступного пространства, но нельзя вернутся к оригинальной прошивке. При первом использовании нужно установит Stock layout, а затем перейти на U-boot mod layout, если вам это конечно, надо. Скачиваем прошивку "initramfs-factory". Запускаем скрипт через "!START.bat"
Выбираем:
1. IP адрес, по умолчанию 192.168.31.1
2. Connect to device (install exploit) - подключаемся к устройству и устанавливаем эксплойт который эксплуатирует уязвимость для разблокировки telnet и ssh - жмем Enter и дожидаемся окончания установки. В процессе разблокировки у вас спросят пароль от веб-интерфейса роутера: он все тот же, что и для Wi-Fi, в нашем случае 12345678.
7. Установка прошивки (bin-файл, который ОБЯЗАТЕЛЬНО должен быть скопирован в папку /firmware/) - жмем Enter и дожидаемся установки и перезагрузки роутера.
Собственно прошивка
ЕГГОГ (помните такой на калькуляторах) ERROR в конце это нормально.
Подключаемся по стандартному адресу для OpenWrt http://192.168.1.1. И видим такие сообщения:
Одно о том что нет пароля и оно нас не интересует, а вот другое: "System running in recovery (initramfs) mode. No changes to settings will be stored and are lost after rebooting. This mode should only be used to install a firmware upgrade" В переводе на русский язык: "Система работает в режиме восстановления (initramfs). Никакие изменения настроек не сохраняются и теряются после перезагрузки. Этот режим следует использовать только для установки обновления прошивки". А это значит, что мы должны накатить еще раз, еще одно обновление, но уже из под OpenWrt и установить Sysupgrade (на моем дискe Яндекс.Диск, Гугл.Диск), вот так:
Внимание!
Нужно устанавливать Sysupgrade из Stock layout. Если установите Sysupgrade из U-boot mod layout окирпичите девайс! Я именно так и окирпичил скачал Sysupgrade вот отсюда из U-boot mod layout, это не правильно, не делайте так! А он же (OpenWrt) предупреждал меня, скриншот ниже.
Что она не подходит, а я все равно установил и тем самым окирпичил девайс. Прислушивайтесь к сообщениям OpenWrt, она "дело говорит"! Итак, качаем Sysupgrade из правильного места, из "Stock layout" вот отсюда. Устанавливаем, все хорошо никаких предупреждений нет.
- Keep settings and retain the current configuration (Сохранить настройки и сохранить текущую конфигурацию) - галочку убираем так как у нас нет никаких настроек и конфигураций. И все установилось! Вам остается поставит пароль и пользоваться системой. Но существует еще одна прошивка с модификацией U-boot.
U-boot mod layout.
Но существует еще одна прошивка ubootmod - она связана с переформатированием памяти её сложнее установить, с нее невозможно перейти на сток, но сама по себе она лучше, больше памяти освобождается, быстрее загрузка, но устанавливать ее сложнее (так например я при установке стер загрузчик вообще и потом только прошивка через программатор) Так как стоком я не буду пользоваться, а аппарат должен использоваться на 100% - значит поехали!
Итак, наше устройство уже должно работать под OpenWrt. Инструкция по установка прошивки есть на страничке OpenWrt о нашем роутере, но там без картинок и иногда не совсем правильно указано, что делать (об этом ниже). Для работы нам понадобится доступ роутера в интернет так как мы будем качать некоторые нужные пакеты - программы. Поэтому, не забудьте выдать DNS server роутеру, ввести IPv4 gateway и вообще настроить интернет как надо. Кроме того понадобятся программы:
Putty (Официальный сайт, на моем дискe Яндекс.Диск, Гугл.Диск). Про работу с SSH и Putty у меня было в множестве статей, вот они:
Статьи на моем канале
На других ресурсах
Пожалуйста посмотрите эти статьи если у вас возникают вопросы относительно всего выше перечисленного, ну или по крайне мере первую статью, там на самом деле все очень подробно хоть и другой роутер, но смысл, подключение общий.
WinSCP (официальный сайт: https://winscp.net, на моем дискe Яндекс.Диск, Гугл.Диск) Вот тут в статье об этом: "Установка дополнительных программ для комфортной работы с роутером" очень подробно расписано что такое WinSCP и как им пользоваться.
Прошивки
- На сайте OpenWrt
Работаем через Putty с роутером
После подключение к роутеру делаем резервные копии, вводим:
cat /dev/mtdblock0 > /tmp/BL2.bin
cat /dev/mtdblock1 > /tmp/Nvram.bin
cat /dev/mtdblock2 > /tmp/Bdata.bin
cat /dev/mtdblock3 > /tmp/Factory.bin
cat /dev/mtdblock4 > /tmp/FIP.bin
Помните, что директория "tmp" это временная директория, файлы оттуда превратятся в тыкву в 12 часов исчезнут как только вы перезагрузите роутер. Поэтому их нужно оттуда извлечь и не просто в другую папку роутера, а на другой физический носитель, например ваш компьютер так как на роутере мы будем все менять и переформатировать. В том числе для перноса мы установим WinSCP
Устанавливаем часть WinSCP на роутер
opkg update
opkg install openssh-sftp-server
Загружаем WinSCP и работаем дальше. "Перетягиваем" файлы резервных копий из "tmp" роутера к себе на компьютер. Отлично! Сохранили все файлы. Далее работаем с файлами прошивке ubootmod, вот они на сайте OpenWrt
ubootmod-initramfs-factory.ubi
Загружаем файл xiaomi_redmi-router-ax6000-ubootmod-initramfs-factory.ubi в директорию tmp с помощью WinSCP
Вставляем строчку в терминал:
ubiformat /dev/mtd7 -y -f /tmp/openwrt-23.05.5-mediatek-filogic-xiaomi_redmi-router-ax6000-ubootmod-initramfs-factory.ubi
И запускаем её, ответ будет таким
Перезагрузка
reboot
Так как мы установили новую прошивку все выше сделанные настройки слетели. И опять IP адрес 192.168.1.1, настраиваем, организуем доступ к интернет, нам нужно будет качать пакеты. А в LuCI опять два предупреждающих окна
Но нас это особо не волнует, двигаемся дальше. Проверка что наши манипуляции были успешными
cat /proc/mtd
mtd5: 07a80000 00020000 ubi
Загружаем пакет kmod-mtd-rw
opkg update
opkg install kmod-mtd-rw
Очищаем все аварийные дампы в pstore
rm -f /sys/fs/pstore/*
Форматируем "ubi" и создаем новый том "ubootenv"
ubidetach -p /dev/mtd5; ubiformat /dev/mtd5 -y; ubiattach -p /dev/mtd5
ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB
Опять устанавливаем сервер WinSCP (старый стерся)
opkg update
opkg install openssh-sftp-server
Загружаем в директорию tmp файл xiaomi_redmi-router-ax6000-ubootmod-initramfs-recovery.itb
ubimkvol /dev/ubi0 -n 2 -N recovery -s 10MiB
ubiupdatevol /dev/ubi0_2 /tmp/openwrt-23.05.5-mediatek-filogic-xiaomi_redmi-router-ax6000-ubootmod-initramfs-recovery.itb
Скачиваем два файла:
Копируем в папку tmp с помощью WinSCP два этих файла
Еще раз инсталлируем пакет kmod-mtd-rw делаем доступными разделы загрузчика для записи (В официальной инструкции с сайта OpenWrt второй строчки не было, поэтому происходил затык на этом этапе)
opkg update && opkg install kmod-mtd-rw
insmod /lib/modules/$(uname -r)/mtd-rw.ko i_want_a_brick=1
Теперь прошьем новый U-Boot.
mtd write /tmp/openwrt-23.05.5-mediatek-filogic-xiaomi_redmi-router-ax6000-ubootmod-preloader.bin BL2
mtd write /tmp/openwrt-23.05.5-mediatek-filogic-xiaomi_redmi-router-ax6000-ubootmod-bl31-uboot.fip FIP
Копируем файл ubootmod-squashfs-sysupgrade.itb в папку tmp
Прошиваем
sysupgrade -n /tmp/openwrt-23.05.5-mediatek-filogic-xiaomi_redmi-router-ax6000-ubootmod-squashfs-sysupgrade.itb
Ждем роутер прошивается применяет изменения и все готово! Прошивка установлена. Но что делать если что то пошло не так и роутер у вас не загружается, для этого следующая часть инструкции.
Восстановление кирпича.
Роутер не грузится, что же делать все пропало? Нет! Читаем инструкцию ниже.
Xiaomi Recovery Tool
Поднимаем свой tftp сервер с помощью MIWIFIRepairTool, переходим на сайт (https://www1.miwifi.com/miwifi_download.html) Или на моем дискe Яндекс.Диск, Гугл.Диск.
Или вот, прямая ссылка на MIWIFIRepairTool.x86.zip. Google Chrome будет блокировать этот файл как "вредоносный", тогда нужно либо изменять настройки браузера или качать через другой, например MS Edge. Антивирусы так же нужно отключить, например штатный антивирус Microsoft Defender определяет программу как "вымогатель" или что то подобное. поэтому отключаем "защиту в режиме реального времени"
Выставляем настройки сетевого интерфейса на ПК:
IP: 192.168.31.100
Маска сети: 255.255.255.0
Работа с Xiaomi Recovery Tool
Загружаем программу MIWIFIRepairTool.x86.exe
Открывается окно на китайском, но так как в системе не установлен китайский все с знаками вопроса.
Выбираем прошивку. Прошивка должна быть 1.0.48 (https://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/rb06/miwifi_rb06_firmware_847e9_1.0.48.bin). Выбираем адрес 192.168.31.100 и далее
Роутер выключен! В Lan порт подключен сетевой кабель. Зажимаем кнопку Reset скрепкой и вставляем кабель питания, не отпускаем кнопку Reset пока не заморгает желтый светодиод system (периодически он будет моргать). Окно как бы намекает про Reset.
Начнется прошивка. После прошивки у меня часто мигал светодиод синим. Подождал, думал не прошился и просто вырубил и врубил роутер, но все прошилось, начинаем все сначала с активации роутера и далее см. выше, сначала.
На этом наше исследование роутеров не заканчивается, я полностью окирпичил данный агрегат стерев его загрузчик, пытаюсь восстановить его программатором, но пока не выходит, вполне возможно, что об этом появится следующая статья, но так или иначе...
Продолжение следует...
Подписывайтесь на мой канал TehnoZet-2, будет интересно! Мы активно развиваемся! Понравилась статья, хотите продолжения - пишите комментарии, ставьте лайк, жмите палец вверх!
Статьи и видео
Пользуйтесь рубрикатором по каналу, там все по разделам: "Страничка путеводитель по каналу TehnoZet-2"
Папка с программным обеспечением для этого роутера Яндекс.Диск, Гугл.Диск.
Роутеры
Последние статьи
Статьи по теме
OpenWrt