Xiaomi router 3g openwrt

Check out how open source hardware and software collide in this tutorial for updating the OpenWRT firmware.

Join the DZone community and get the full member experience.

Having heard about the recent OpenWrt and LEDE projects merge back and unification under the OpenWrt name and the new rules taken from LEDE, we think it’s a good time to update firmware on your devices, as they are going to switch off old OpenWrt releases support in the near future.

Also, having one of the new cheap but quite powerful Xiaomi Mi Router 3G devices on hands, we found it to be a good opportunity to try it out, as its original “Made in China” firmware is based on the old OpenWrt as well. So, I took my time and opened the router shield. These are the beautiful internals I discovered:

The first step to work with that kind of device is to get full read+write control over the memory. That’s usually done by booting it into the service mode and the best way to do it is to have the UART connection to it. Luckily, there are connectors for that on the board, but unfortunately, they are not soldered. So, first of all, I had to get at least 3 pins and solder them into the RX/TX/GND hookups. Well, that’s exactly what I did and here is the result of my handiwork:

Looks nice, as now I can connect the board to the PC with an USB to Serial UART converter module! The only challenge here that I came across was that both of my CP2102/RS232 modules were found dead under unclear circumstances. But if you’re like me, that’s not a problem if you have one of those awesome Arduino boards as it has a built-in UART converter module on-board! All you have to do to use it is to connect RESET pin to GND pin with a “jumper” cable…

… and now you can hook up Arduino RX to the router RX and Arduino TX to the router TX. Yeah, not the RX TX cross-connection as we usually do with the conversion boards…For some reason, Arduino has them already swapped. Another warning is – NEVER connect the V+ pin on the router board to the voltage input. The router must be powered with the separate supply that came with the board and there should be no any other power source. So, that’s what we have now:

Mi router 3G pin#

Now, once Arduino board is connected to the PC, the new USB port should appear (in my case, /dev/ttyUSB0) and we can use any TTY COM application (cu, minicom, screen, putty etc.) at the baud rate equal to 115200 to see what’s going on with the UART port and send commands there. I just started the cu program:

When ready, just power up the router board and you should see its loading output similar to this:

In a second or so, the boot menu will appear! Just like on the multi-boot PC! Nice, isn’t it?

So, what we are interested in is the command line interface. All we have to do is type “4” and it will be loaded for us. Booting in that mode will grant us a full access to all segments of the board memory through the /dev/md* files. Now, there can be only one right first-thing-to-do once this point is reached – back up everything that’s already in there! I used a USB flash drive for that. Basically, mount it, switch to it and copy full memory dumps there:

Now, we finally can write the OpenWrt firmware. I’ve got my images from:

If for some reason you still need the LEDE images, as of March 2018 they are still available here.

Once they are copied on the same USB drive and the drive is mounted on the router, we can use the mtd tool to flush them into the device:

That’s it! Now the router will boot into the brand new firmware. My suggestion is to connect it with the wan port (marked with blue plastic) to a DHCP-enabled network and connect your PC to any of the remaining ports to control it. As usual, you can access it with the 192.168.1.1 IP via the telnet protocol.

Do not forget to set the root password and switch to ssh access on the first login. And after that full-functional GNU/Linux distro with the opkg package manager is available to you!

Also, do not be surprised to see the 4 CPU kernels on that little board.

It’s actually only 2 real ones, the other are only Multi-Threading ARM feature (Intel’s Hiber-Threading analog). Anyway, it has a lot of power to be used in any type of project that you want from that little box.

I hope this article can grow interest in open-source firmware and software in general, and I’ll be glad if it helps someone. In the next topic, I’ll share the first setup steps and my small research on an unexpected behavior that I came across with while setting up the router for a real-world usage.

Недавно компания Xiaomi дополнила линейку своих беспроводных маршрутизаторов, представив Xiaomi Mi Router 3G. К мобильной связи он по сути не имеет никакого отношения, он является продвинутой версией популярного и отличного маршрутизатора Xiaomi Mi Router 3 (с прошивкой Padavan). Пусть вас не вводит в заблуждение стоимость и простой внешний вид. Xiaomi Mi Router 3G — это, без преувеличения, дьявольское создание. Как бы вы его не использовали, у Xiaomi Mi Router 3G своя цель — карать за грехи любой маршрутизатор среднего ценового диапазона. Мощный SoC MediaTek MT7621AT (MIPS32 1004K) с двумя ядрами по 880 МГц и двумя потоками на каждое, 256 МБ ОЗУ DDR3, 3 порта Gigabit Ethernet, порт USB 3.0, 128 МБ флеш-памяти SLC, Wi-Fi 2,4 ГГц MIMO 2×2 (до 300 Мбит/сек) и 5 ГГц MIMO 2×2 (до 867 Мбит/с). Этот маршрутизатор поставляется в оковах специальной китайской версии OpenWrt (как и все маршрутизаторы Xiaomi). После выхода этого маршрутизатора я ждал и надеялся на появление прошивки Padavan (очень популярный проект прошивки на базе ПО ASUS для маршрутизаторов, который заслужил уважение и популярность за качество и великолепную функциональность). И она недавно появилась! Прошивка Padavan способна снять оковы с Xiaomi Mi Router 3G, позволяя использовать всю его мощь так, как хотите именно вы.


Маршрутизатор для обзора предоставил магазин Tomtop. Сейчас в магазине можно приобрести Xiaomi Mi Router 3G за 38,99$ (на момент публикации обзора).

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

Содержание

Технические характеристики

Для удобства во втором столбце я дополнительно приведу технические характеристики Xiaomi Mi Router 3.

МодельXiaomi Mi Router 3GXiaomi Mi Router 3
КорпусПластикПластик
SoCMediaTek MT7621AT 880 МГц
2 ядра, 4 потока
MediaTek MT7620A 600 МГц
1 ядро
ОЗУ256 Мбайт DDR3128 Мбайт DDR2
ПЗУ128 Мбайт SLC128 Мбайт SLC
Ethernet1xWAN 1000 Мбит/с, 2xLAN 1000 Мбит/с1xWAN 100 Мбит/с, 2xLAN 100 Мбит/с
Wi-Fi2,4 ГГц, 802.11b/g/n, MIMO 2×2
до 300 Мбит/с

5 ГГц,802.11a/n/ac, MIMO 2×2
до 867 Мбит/с

2,4 ГГц, 802.11b/g/n, MIMO 2×2
до 300 Мбит/с

5 ГГц,802.11a/n/ac, MIMO 2×2
до 867 Мбит/с

USB1xUSB 3.01xUSB 2.0Антенны2 для 2,4 ГГц и 2 для 5 ГГц2 для 2,4 ГГц и 2 для 5 ГГцОСКитайская урезанная модификация OpenWrtКитайская урезанная модификация OpenWrtПитание12 В / 1,5 А12 В / 1 А

Комплектация

Маршрутизатор поставляется в крупной картонной коробке. Картон тонкий и мягкий, такие коробки всегда немного мнутся при транспортировке.


На обратной стороне коробки нанесены технические характеристики и рассказ о возможностях программы MiWiFi для смартфона.


Внутри коробки: маршрутизатор, блок питания и краткая инструкция на китайском языке.

Внешний вид

Корпус маршрутизатора выполнен из белого матового пластика. Вес около 260 г. Размеры:


Спереди лишь один светодиод, информирующий о режимах работы маршрутизатора.


Сбоку никаких значимых элементов нет.


Сзади: кнопка сброса, порт USB 3.0, 2 LAN порта, 1 WAN порт, коннектор питания DC 5,5 x 2,1 мм.


Нижняя крышка с вентиляционными отверстиями. Есть маленькие пластиковые ножки. Под наклейкой находится один винт.


Блок питания с китайской вилкой. Напряжение 12 В, ток до 1,5 А. Длина шнура около 120 см. Коннектор DC 5,5 x 2,1 мм.


Внешне Mi Router 3G легко спутать с Mi Router 3. Отличить можно по цвету USB порта и по Ethernet портам.


Разборка устройства

Разбирается маршрутизатор легко. Откручиваете саморез снизу и снимаете нижнюю крышку с помощью плоского пластикового инструмента (она на защёлках).


Почти половину платы занимает массивный радиатор. Отсоединяете антенны и откручиваете два самореза. Крепёжные винты радиатора находятся с обратной стороны платы.


На плате: SoC MT7621AT, MT7603E (Wi-Fi адаптер 802.11b/g/n, 2,4 ГГц, MIMO 2×2, PCIe), MT7612E (Wi-Fi адаптер 802.11a/b/g/n/ac, 2,4 ГГц, 5 ГГц, MIMO 2×2, PCIe).

MT7621AT поддерживает 5 портов Ethernet и 3 порта USB (1 USB 3.0 и 2 USB 2.0). Реализовать их полностью Xiaomi могла без особых проблем с незначительным увлечением стоимости, но тогда Mi Router 3G начал бы конкурировать Mi Router Pro, а это Xiaomi не нужно.

Получение SSH-доступа

Стоковая прошивка полностью на китайском языке (на самом деле это не такая большая проблема, разобраться в настройках легко, если вы не в первый раз работаете с маршрутизаторами). Маршрутизатор по умолчанию доступен по адресу 192.168.31.1 (внутренний). У стоковой прошивки достаточно ограниченная функциональность и ограниченные настройки, но для базовых сценариев её хватит. Нам, естественно, такое не нужно. Тот, кто хоть раз использовал прошивку Padavan, другое использовать не будет. На Mi Router 3G ещё можно установить LEDE и PandoraBox, прошивки от этих проектов тоже уже появились.

В первую очередь нужно получить SSH-доступ для возможности установки сторонних прошивок. Делается это через официальную процедуру. Детально процесс описан здесь.

Заходите на сайт MiWiFi и загружаете прошивку для разработчиков (для маршрутизатора 3G) — ROM > ROM for R3G (правая колонка).


Устанавливаете загруженную прошивку, файл bin, через соответствующее меню в настройках. Это займёт несколько минут.

Регистрируйте учётную запись Xiaomi, если у вас её ещё нет, на официальном сайте. С помощью программы Xiaomi MiWiFi для Android или Xiaomi MiRouter для Windows привязываете свой маршрутизатор к учётной записи Xiaomi. Заходите на сайте http://d.miwifi.com/rom/ssh, авторизуетесь с помощью свой учётной запись Xiaomi. Увидите в списке свой маршрутизатор, пароль root доступа и ссылку на файл miwifi_ssh.bin для активации SSH-доступа.


Записываете файл miwifi_ssh.bin на флешку с файловой системой FAT32. Отключаете питание от маршрутизатора, подключаете к нему флешку. Зубочисткой нажимаете и не отпускаете кнопку Reset. Подключаете питание к маршрутизатору. Когда индикатор начнёт мигать оранжевым цветом, кнопку Reset можно опустить. Ждёте окончания прошивки и перезагрузки маршрутизатора.

Всё, SSH-сервис активирован на маршрутизаторе (для доступа из локальной сети). Логин (root) и пароль для входа у вас есть.

Установка прошивки Padavan

Много информации о прошивке Pаdavan можно получить в wiki проекта, в теме на форуме iXBT, в теме PROMETHEUS на 4PDA (скрипт для компиляции прошивки от Padavan и её модификации). Ну, и в профильных темах маршрутизаторов, на которые эта прошивка устанавливается.

Краткая инструкция по установке…

Загружаете готовый образ виртуальной машины с ПО PROMETHEUS. Запускаете и выбираете конфигурацию mi-r3g.


В главном меню обновляете скрипты (1), обновляете исходный код (2) и собираете Toolchain (3).


В настройках скрипта (S) указываете IP-адрес маршрутизатора, логин и пароль SSH. Выбираете Firmware (4) в главном меню. Собираете Firmware (3). Этот этап достаточно долгий. Чем мощнее компьютер, тем лучше.


Прошиваете Firmware (4). Готово! После прошивки и перезагрузки ваш маршрутизатор будет доступен по адресу 192.168.1.1 (admin, admin).

Обзор возможностей маршрутизатора

Маршрутизатор с прошивкой Padavan может практически всё, что может только понадобится для SOHO использования. При этом всё просто и понятно. Конечно, вся эта функциональность целиком не нужна, но вы всегда можете выбрать только то, что нужно именно вам. Применение настроек не требует перезагрузки самого маршрутизатора, а перезагрузка происходит за считанные секунды. Кратко перечислю некоторые возможности.

Работа в режиме маршрутизатора со всеми стандартными WAN-подключениями, точки доступа, WDS моста и репитера. В разных комбинациях.


Может выступать в роли VPN сервера и клиента по протоколам PPTP, L2TP, OpenVPN (независимо от WAN подключения).


Поддержка RAS и NDIS для USB модемов. Настройка автоматического резервного подключения на базе «интернет-детектора».


Поддержка моста между WAN и LAN для IPTV. Встроенные сервисы UPD proxy и eXtensible UPnP для IPTV.

Файловые сервисы: SMB, NFS, FTP, DLNA, Transmission (великолепный торрент-клиент с удалённым управлением), Aria2 (файловый загрузчик с удалённым управлением).


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

Тонкая настройка работы Wi-Fi интерфейсов.


И большое количество приятных мелочей.

Тестирование скорости работы

Скорость работы Wi-Fi у Xiaomi Mi Router 3G по сути не должна значительно отличаться от Xiaomi Mi Router 3, т.к. модули Wi-Fi схожие, а детальных обзоров на третью версию вы в сети найдёте множество. Конечно, нужно учитывать, что в 3G нет ограничения в 100 Мбит/с и процессор мощнее (что ускорит работу с зашифрованными данными). Так что я не буду делать детальное тестирование Wi-Fi, а затрону другие важные моменты. Для тестирования (и для дальнейшей работы) я буду использовать жесткий диск 2.5" Seagate объёмом 750 ГБ в боксе с USB 3.0. Диск отформатирован с файловой системой EXT4. Конечно, можно было бы вставить SSD в бокс для теста, чтобы оценить максимальные возможности маршрутизатора, но я решил, что с рядовым HDD будет правильнее.

hdparm

Консольная программа запускалась на маршрутизаторе с ключом direct для оценки линейной скорости чтения с диски без кэширования, независимо от файловой системы диска.


dd

Консольная команда выполнялась на маршрутизаторе для оценки линейной скорости чтения и линейной скорости записи диска.

dd if=/dev/zero of=tempfile bs=4M count=256 conv=fsync,notrunc
echo 3 | tee /proc/sys/vm/drop_caches
dd if=tempfile of=/dev/null bs=4M count=256


Samba

Копирование большого файла (10 ГБ) между компьютером с Windows 10 и маршрутизатором по сети Gigabit Ethernet.



Transmission

Загрузка файлов через торрент маршрутизатором на подключённый диск.


iperf (Ethernet)

Скорость между двумя компьютерами по Gigabit Ethernet.


iperf (Wi-Fi)

Xiaomi Mi Box 3 Enchanced (Android-бокс с самым мощным Wi-Fi), приём (ключ R), 5 ГГц 802.11ac, 8 метров через 1 ж/б стену. iperf запущена на маршрутизаторе (ограничение 100 Мбит/с на Mi Router 3 не действует, т.к. Ethernet не используется).


По тестам реализация USB 3.0 честная. Мощности процессора хватает для любых задач. Нагружал — загрузка торрента через Transmission + 1 клиент с IPTV по Wi-Fi + 1 Ethernet клиент с просмотром видео по Samba (BDRip 12 Гб) Ethernet + 2 клиента по Wi-Fi веб-браузерами — как семечки.

Важное замечание. В настройках есть функция отключения USB 3.0, USB интерфейс будет работать по стандарту 2.0. Эта же функция есть и в стоковой прошивке, и в маршрутизаторе Xiaomi Router Pro. Это связано с тем, что работа USB 3.0 может ухудшить работу Wi-Fi в диапазоне 2,4 ГГц. Я с этим не столкнулся. Но на форумах встречаются отзывы людей, которые с такой проблемой столкнулись.

Заключение

Xiaomi Mi Router 3G — это очень мощный маршрутизатор за небольшую цену (с подобным процессором на рынке нет ничего дешевле). Наличие сторонних авторитетных прошивок (Padavan, LEDE, PandoraBox) делает из него отличный конструктор и игрушку не только для гиков. Единственное, к чему можно придраться — это три порта Gigabit Ethernet, которых не всем хватит. SoC позволяет реализовать 5 портов, но из маркетинговых соображений Xiaomi этого не стала делать — будьте добры, встаньте в очередь за более продвинутыми и дорогими моделями. Конечно, при необходимости за 12$ можно докупить Gigabit Ethernet коммутатор на 5 портов. У меня почти год в качестве основного домашнего беспроводного маршрутизатора работает Xiaomi Mi Router 3 с прошивкой Padavan (за проводную сеть отвечает другой маршрутизатор с портами Gigabit Ethernet и выключенными Wi-Fi модулями). За всё это время у меня к нему не возникло ни одной претензии, он обеспечивает очень достойное покрытие и скорость Wi-Fi в обоих диапазонах. Теперь его место займёт версия 3G, а к задачам добавятся NAS и загрузка торрентов через Transmission.

Напомню, что маршрутизатор Xiaomi Mi Router 3G можно приобрести в магазине Tomtop за 38,99$ (на момент публикации обзора).

小米路由器3G (Mi Wifi Router 3G/MIR3G/MI3G)刷机教程

CPU: MediaTek MT7621A (880 MHz, 2 cores)
FLASH: 128 MiB
RAM: 256 MiB
USB: 1 (usb3.0)
WI1 chip1: MediaTek MT7603EN (2×2:2)
WI2 chip1: MediaTek MT7612EN (2×2:2)
LAN: 2x 10/100/1000
WAN: 1×10/100/1000

13.SSH成功登陆后,执行下列命令:
cd /extdisks/sda1
mtd write lede-ramips-mt7621-mir3g-squashfs-kernel1.bin kernel1
mtd write lede-ramips-mt7621-mir3g-squashfs-rootfs0.bin rootfs0
nvram set flag_try_sys1_failed=1
nvram commit
reboot

2.U盘插入路由器USB,SSH登陆192.168.1.1执行命令:
fw_setenv flag_try_sys2_failed 1
reboot

Оцените статью
Ремонт оргтехники
Добавить комментарий