Восстанавливаем справедливость. Открытие портов Xiaomi Gateway

13 июля 2019, 13:52

Суть проблемы

Все мы любим Xiaomi. Хаб Xiaomi Gateway поистине может считаться народным хабом и билетом в мир умных домов. До недавнего времени он прекрасным образом интегрировался во всевозможные сторонние системы управления. И все было хорошо... Мы покупали хаб, обновляли его до последней версии прошивки, включали режим разработчика, тем самым открывая порты 9898 и 4321 видели свой MAC и пароль. Все было хорошо...

Однако, вдруг, появилась новая ревизия (см картинку ниже) + новая версия прошивки в которой независимо от включения режима разработчика порты 9898 и 4321 остаются закрыты. Положение переключателя меняется, но порты не открываются. Как следствие наш хаб невозможно присоединить к сторонним системам управления.

1600x_image.png?1563006681

Новая ревизия. Надписи по кругу. Проблемы и геморрой.

1600x_image.png?1563006679

Старая ревизия. Надписи в центре столбиком. Мир радость и счастье.

Что делать. 1 Способ. Не инвазивные манипуляции. 

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

  1. Включаем режим разработчика, ОТКАЗЫВАЯСЬ от всяческих обновлений. Этот шаг хорошо описан в этой статье у коллеги Zver на нашем портале.
  2. Пробрасываем гейт в альтернативной системе управления (Homey, Home Assistant, Domoticz, и т.п.).
  3. Обновляемся до самой свежей прошивки.
  4. Готово! Вы молодец!

Вероятно, этот способ сработает у людей у которых шлюз старой ревизии (надписи в центре, а не по кругу) и прошивка ДО 1.4.0 

ВНИМАНИЕ!!! Дальнейшие действия описанные в статье, могут привести к физическому повреждению устройства!!! Это  ОДНОЗНАЧНО ЛИШАЕТ ГАРАНТИИ! Все действия выполнять максимально аккуратно, на свой страх и риск.

Что делать. 2 Способ. Большая хирургия. 

Если первый способ вам не помог, придется воспользоваться более агрессивным методом. Для начала нам понадобится:

1600x_image.png?1563008314

USB-UART адаптер. Любой. Как правило продается в любом ближайшем магазине радиодеталей. Цена около 150 руб. У меня, как на фото, на базе CP2102 

1600x_image.png?1563008312

Отвертка с вот такой битой U2.6, просто, с прямой, тонкой битой. У меня они из набора  Wiha Xiaomi 24 в 1

1600x_image.png?1563008313

Паяльник, любой, с небольшим жалом. У меня самый дешевый из ближайшего радиомагазина

1600x_image.png?1563008313

набор "мама-папа" коннекторов по 5 руб штука, в том же радиомагазине, нужно минимум 3 шт. Но, лучше с запасом штук 6

1600x_image.png?1563008313

Олово. Я брал с флюсом по 1 метру 

1600x_image.png?1563008314

Куда же без них

Приступаем к вскрытию 

1600x_image.png?1563009284

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

Битой U2.6 выкручиваем винты, обратите внимание на пломбу под одной из резиновых заглушек. Это точка не возврата.

NB как я вычитал на буржуйских форумах, некоторые рукастые товарищи нагревают ее бытовым феном и аккуратно снимают иголочкой.

Я поступил по-честному. Сломаю - значит сломаю, будет на моей совести и кошельке.

1600x_image.png?1563009281
1600x_image.png?1563009280

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

NB Можно и не отстыковывать верхнюю часть с динамиком, но мне кажется, так более удобно.

Подготовка к основному этапу. "Железная" 

30% дела уже готово! Внимательно изучаем куда будем подпаивать наши коннекторы "ПАПА" частью.

На схеме я нарисовал 2 варианта: красный и зеленый. Выбирайте любой, или комбинируйте как хотите. Зачем это нужно? В виду своей криворукости и малого опыта пайки я почти сразу оторвал ножки помеченные красным вариантом, но на работоспособности шлюза это никак не скажется. В целом, Вам нужно подпаять 3 точки RX, TX, и GND. Буржуйские форумы пишут, что еще нужно подпаивать +3.3V, но это лишнее.  

1600x_image.png?1563010464
1600x_image.png?1563011245

Для наглядности: картинка с буржуйского форума, тут видно где +3.3V брать

1600x_image.png?1563011242

Благодаря этой картинке с 4pda (пользователь dunlion), я понял что еще не все потерянно когда оторвал пятаки в стандартном месте. 

1600x_image.png?1563011238

Желающим сохранить гарантию, и тем кто не умеет паять на заметку:  вот тут, один человек не подпаивался, а на скотч подклеил проводки.

Как говорится: если ты что то не исправил с помощью скотча - ты взял слишком мало скотча.

Подготовка к основному этапу. "Софт" 

  1. Качаем и устанавливаем PUTTY (если у вас его еще нет) вот отсюда.
  2. Включаем наш USB-UART адаптер в USB 2.0 (это важно) гнездо, желательно, что бы в соседнее ничего не было воткнуто, постарайтесь не использовать USB удлинители и хабы, при их низком качестве это вызовет помехи.
  3. Качаем драйвера под наш USB-UART стик. У меня Windows 10, но там и под другие системы есть. Если ваш стик на базе CP210х (у меня  CP2102), то вам подойдет моя ссылка.
  4. Перезагружаем комп (я этого не делал, но так правильнее).
  5. Щелкаем правой кнопкой мыши по значку пуск, выбираем "Диспетчер устройств" там нас интересует вкладка "Порты (Com и LTP)" Там появится наше устройство "Silicon Labs CP210x USB to UART Bridge" и в скобочках будет написан порт который ему присвоила система (В моем случае это COM4).
  6. Дважды щелкаем по названию устройства левой кнопкой мышки, открываем вкладку "Параметры порта" и ставим там скорость "Бит в секунду" 115200. нажимаем ОК. На всякий случай см скриншот, параметры должны быть как на нем.

1600x_image.png?1563013736

Основной этап. Подключение

Вот мы все и припаяли, прилепили и подсоединили. Настроили софт. Поздравляю 60% работы готово. Собираем ж*пу в кулак, вытираем пот со лба, выпиваем кружку чая. Нас ждет самый важный этап. Выполняем все действия строго по очереди, так как написано

  1. Вытаскиваем наш стик из из USB порта (мы его вставляли на "софтовой" подготовке).
  2. Подключаем Tx гейтвея на Rx нашего стика, Gnd на Gnd. Rx гейтвея в этот момент никуда не соединяем. ЭТО ВАЖНО!
  3. Контролируем то что написано в пункте 2!
  4. Включаем гейтвей в розетку. Если всё правильно, он несколько раз моргнет синим. Если не мигает, то что-то пошло не так.
  5. Теперь, вставляем наш USB стик в тот же порт где он был при настройке софта. Запускаем ярлык Putty. (именно PUTTY) от имени администратора. 
  6. В открывшемся главном окне, в разделе "Session" выбираем "Connection type" вот такой "Serial". пишем наш com порт, который мы узнали раньше. В моем случае 4.
  7. Слева в списке выбираем меню "Serial" там меняем параметр "Speed(baud)" на 115200 если не изменили его на предыдущей вкладке. и параметр "Flow control" ставим "None". Смотрите скрины ниже.
  8. Нажимаем "Open".

1600x_image.png?1563013737
1600x_image.png?1563018746

Параметры вкладки "Session" 

1600x_image.png?1563018745

Параметры вкладки "Serial"

Основной этап. Кодирование

  1.  Продолжаем. Если мы все сделали правильно, у нас откроется окно терминала и через 5-10 сек мы получим ЧИТАЕМУЮ информацию. Например такую как на скрине справа. 
  2. Если у вас пишется всякая билеберда, не читаемые символы и прочее - проверяйте подключение, мне помогла смена USB порта.
  3. Если все хорошо, двигаемся дальше. Помните, у нас остался один не подключенный провод - Rx гейтвея. Подключаем его к Tx USB стика. Если на этом этапе в консоли начинает происходить адЪ и Израиль, сыпятся ошибки и не читаемые символы, то поменяйте USB порт. У меня он конфликтовал с клавиатурой.
  4. Вводим вот такую команду psm-set network.open_pf 3 нажимаем на клавиатуре Enter.
  5. Проверяем что порты открыты, вводим команду psm-get network.open_pf нажимаем на клавиатуре Enter
  6. Если все хорошо, мы должны получить ответ psm-get network.open_pf = 3 (1 bytes). Если вы это видите, то все получилось.
  7. Отсоединяем провода, отключаем шлюз из розетки.

1600x_image.png?1563018747
1600x_image.png?1563018748

Заключение

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


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Дмитрий Батюшин (ReD)
    Дмитрий Батюшин (ReD) 4 месяца назад

    Отличная статья. Несколько человек задавали мне этот вопрос.

  2. Андрей Дмитриев (Nebr)
    Андрей Дмитриев (Nebr) 4 месяца назад

    Мега спасибо за статью!!! С моими кривыми руками на удивление не убил хаб и всё получилось)

  3. Антон Киселёв (Whilser)
    Антон Киселёв (Whilser) отредактировано 4 месяца назад

    Оригинальный способ включения режима разработчика :) Однако, у меня вторая ревизия (надписи кругом) и все прекрасно прокидывается и в Domoticz и в HomeAssistant и управляется, прошивка 1.4.1. Не надо панику наводить )))))

    • Василий Подорванов (oksibutch)

      К сожалению проблема имеет место быть. Для тех у кого все ок, в начале статьи рекомендуется попробовать 1 способ :)

  4. (meta11ist87)
    (meta11ist87) 4 месяца назад

    Круто. На форуме с циферкой 4 в названии много кто сталкивался с этой проблемой.

  5. (Wanderer)
    (Wanderer) отредактировано 4 месяца назад

    Спасибо, замечательная статья. А нет ли такого-же способа прокинуть акаровский хаб в homebridge и ежи сним ?

  6. (aanestdoc)
    (aanestdoc) 4 месяца назад

    а можно ли подобное повторить на aqara?

  7. (pphilonenko)
    (pphilonenko) 3 месяца назад

    Спасибо за труд! У меня все получилось до консоли и отображения в ней читаемой информации. Но ввести в консоль я ничего не могу, как не пытаюсь. На клавиатуру, мышь - не реагирует. Сменил комп, тоже самое. Может, кто знает, где поискать ответ... Спасибо!

    • Антон Власов (freenetwork)
      Антон Власов (freenetwork) 2 месяца назад

      Надо правильно настроить терминал. lr/cr и всякие флоу контрол выключить или включить. Ну и есть плохие терминалы. Я на macOS испробывал 3 разных. На 3 только завелось норм

  8. Антон Власов (freenetwork)
    Антон Власов (freenetwork) отредактировано 2 месяца назад

    Провозился пол ночи. Добавьте что надо выключить и включить с розетки хаб после этого. И не забывайте что надо проверять udp порты!

  9. (epolinom)
    (epolinom) 2 месяца назад

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

К списку статей

Скидки для сообщества

MI-DOM

+7 977 282-80-53
Промокод:
SPRUTAI
Размер скидки:
5%

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

Похожие статьи

09 ноября 2018, 20:54
Кейс создания умного дома без каких либо прокладок в виде Raspberry pi
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
19 марта 2019, 22:19
Обзор долгожданного 2х канального zigbee реле от Aqara, сравнение с конкурентами и небольшой тест на Deconz, Mi Hub и Aqara Hub.
30 августа 2019, 07:28
Несколько нетривиальных способов использования датчика открытия окон/дверей от Xiaomi/Aqara.
01 ноября 2018, 09:27
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
29 декабря 2018, 07:22
Ну что, в канун Нового года. Предлагаю небольшой провокационный список. Не надо его рассматривать как руководство к действию - это мои "мысли на тему". Позитива не ждите, но может кто-то сделает ответочку в позитивном стиле.
01 декабря 2018, 18:27
Получение токена устройств Xiaomi с помошью Windows или MacOs
03 апреля 2019, 04:29
Разбираем простейшую задачу по электрическому подключению светодиодной ленты к источнику питания и управлению через Умный дом.
04 апреля 2019, 08:22
Личная жизнь мешает увлечению "умным домом"? Есть решение!
11 мая 2019, 19:57
Как активировать русский язык в Google Assistant для Google Home