Xiaomi Gateway (Версия Для Ес — Lumi.gateway.mieu01) Взломан

Взлом Xiaomi Zigbee Gateway В этой статье я хочу поделиться с вами своим опытом и успехами, достигнутыми при разборке шлюза Xiaomi (версия с евровилкой от beru.ru).

Расскажу, как на него установить альтернативное ПО, как восстановить шлюз с устаревшим ПО и даже оживить шлюз с устаревшим u-boot. ---------МНОГО ИЗОБРАЖЕНИЙ------------

Xiaomi Gateway (версия для ЕС — Lumi.gateway.mieu01) взломан

Первым делом расскажу как подключиться к плате шлюза и получить root. Сначала несколько подробностей о шлюзе.

В данной статье рассматривается версия шлюза, построенного на процессоре.

imx6ull .

Некоторые технические характеристики платы:

Wifi RTL8723BS - почему-то драйвер для него загружается отдельно.

Процессор IMX6ULL ОЗУ 256 МБ ПЗУ 256 Мб Модуль ZIgbee на базе JN5169. На плате имеются служебные пятаки P2 и P4. В идеале они подходят под погопины, но их легче припаивать.

P2 — это Uart 0 процессора, где отображается вся служебная информация, журнал загрузки uboot и управление системой, можно использовать любой переходник usb-uart. P4 — USB OTG, который используется для заливки прошивки в nand. (Поскольку ОТГ полноценный, мне не удалось его запустить до конца, при подключении устройство определяется, но видимо чего-то еще не хватает).



Xiaomi Gateway (версия для ЕС — Lumi.gateway.mieu01) взломан

Китайская плата USB-адаптера идеально подходит для монет P4.

Xiaomi Gateway (версия для ЕС — Lumi.gateway.mieu01) взломан

После того как все спаяно и подключено, в первую очередь необходимо получить root. Я сделал это по этой инструкции (ссылка на мануал) но с небольшими уточнениями, после пункта 5 нужно набрать команду ботинок В противном случае система сидит и ждет команды, инструкции видимо писались с надеждой, что все понимают Linux. Почему-то SSH-сервер тоже не включался по инструкции и включался только путем запуска его вручную, командой запуска /etc/init.d/dropbear начало Следующим шагом после получения root я скопировал содержимое системы с помощью WinScp (при создании соединения выберите режим SCP).

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



Xiaomi Gateway (версия для ЕС — Lumi.gateway.mieu01) взломан

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



Xiaomi Gateway (версия для ЕС — Lumi.gateway.mieu01) взломан

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

Выполняйте действия только если у вас есть кирпич! Процессор Imx6ULL содержит всю информацию в открытом виде, все паспорта и справочные руководства доступны на сайте производителя после регистрации.

U-boot у меня все еще загружался.

Но пока пытался восстановить, случайно скопировал лишнюю команду и стер весь нанд. А u-boot, как оказалось, был в Нанде.

И я получил кирпич.

Процессор поддерживает различные режимы загрузки.

Все они описаны в справочном руководстве.



Xiaomi Gateway (версия для ЕС — Lumi.gateway.mieu01) взломан

Платы разработчика обычно имеют переключатели, но здесь ничего подобного нет. В даташите описано, что это за конкретно процессорные пятаки.



Xiaomi Gateway (версия для ЕС — Lumi.gateway.mieu01) взломан

И тут китайцы тоже сделали очень приятный подарок.

Отвезли в очень удобное место и почти подписали) На плате рядом с процессором припаяны два резистора, куда подходят контакты режима загрузки.



Xiaomi Gateway (версия для ЕС — Lumi.gateway.mieu01) взломан

Эти два резистора и являются переключателями режима загрузки; по умолчанию они установлены на nand, но сдвинув каждый из них в сторону, мы получим режим последовательной загрузки.

Я переключил свой шлюз в режим последовательной загрузки; в некотором смысле этот режим более удобен для тестирования различных прошивок.

Для заливки прошивки используется фирменная утилита mfgtools от NXP. Единственное в нем нужно подготовить профиль для процессора.

Скачать mfgtools .

В архиве находится подготовленная версия со всеми необходимыми настройками.

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

Mfgtools в свою очередь сообщит, что видит новое устройство.



Xiaomi Gateway (версия для ЕС — Lumi.gateway.mieu01) взломан

Иногда компьютер этого не видит, но я не могу сказать, что именно является причиной этого.

После того, как утилита его увидит, нажмите «Пуск», и начнется процесс загрузки прошивки.

Утилита отформатирует нанд, загрузит новый бут, ядро, dtb и rootfs. Рутфс, входящий в архив, собирал товарищ Александр Фаронов, он собирал чистую сборку линукса на Yocto. Разделы U-boot, Kernel и DTB были вынесены из родной прошивки шлюза.

В этой сборке линукса будет загружаться только чистая система, больше ничего там не будет( Зигби тоже пока не работает ).

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

Поэтому ему нужно дать загрузочный образ U-boot. В архиве с mfgtools есть дополнительная утилита uuu, которая загружает U-boot в плату Рам, заходим в папку с ней.

Закройте mfgtools и снова подключите шлюз, HID-устройство должно снова обнаружиться, затем выполните команду.

  
   

uuu u-boot-small.imx

Плата начнет загружаться, но так как у нее нет env, то после загрузки U-boot она остановится.

В консоли шлюза выполняем две команды, прописываем ENV для загрузки.



setenv bootargs 'console=ttymxc0,115200 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs cma=96M mtdparts=gpmi-nand:3m(boot),7m(kernel),1m(dtb),-(rootfs)'

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



Xiaomi Gateway (версия для ЕС — Lumi.gateway.mieu01) взломан

По большому счету, это все.

В mfgtools в папке \Profiles\Linux\OS Firmware\files находятся все файлы прошивки, заменив которые можно загрузить любую совместимую систему.

Я попробовал скачать openwrt.

Xiaomi Gateway (версия для ЕС — Lumi.gateway.mieu01) взломан

Система загружается, но я так и не разобрался до конца, как вставить нужное ядро и где его взять.

Надеюсь совместными усилиями мы все-таки доведем этот шлюз до логического завершения) Резервное копирование каталогов шлюза .

Телеграмм для обсуждения .

Теги: #linux #Сделай сам или Сделай сам #Умный дом #zigbee #root #шлюз xiaomi

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.