Переключение в FCC режим РУ и снятие лимитов для Mavic, Spark ,Phantom 4 , Inspire 2

DVishnevskiy
bobreshov:

Все подключения и полеты делал через кабель

При подключении кабелем окно смены региона не выпадает и у меня диапазон 5.8 не доступен. При этом мощность сигнала судя по устойчивости управления и видеолинка вроде сохраняется на уровне FCC, но замеров не делал - не чем.
Попробуйте соединить планшет с пультом по WiFi - все опять появится.

bobreshov
DVishnevskiy:

При подключении кабелем окно смены региона не выпадает и у меня диапазон 5.8 не доступен

Я никогда не пользовался вифи подключением. Всегда кабель пользовал. Окно выпадало.

DVishnevskiy:

Попробуйте соединить планшет с пультом по WiFi - все опять появится.

Не появилось…

Попробую заново активировать через 4.1.3 джигу US регион

versuher

Решил тут поделиться с энтузиастами опытом, почерпнутым у дружественных дроноломов.

DJI Firmware Module mixing на примере MavicPro.

Disclaimer - всё на свой страх и риск, а также спасибо товарищам с dji-rev.slack.com за наше счастливое детство, ну и прочий fly safe.

Преамбула.

*.bin файлы прошивки, доступные на странице github.com/MAVProxyUser/dji_system.bin/…/bins , являются, по сути, архивами (.tar), содержащими набор файлов с прошивками индивидуальных модулей железа дрона (пульта управления, очков). Интересующиеся могут ознакомиться с подробностями тут: github.com/MAVProxyUser/firm_cache

Известно, что по мере эволюции прошивок, DJI, с одной стороны, добавлял новые фишки (совместимость с очками, автоматические режимы съемки, и т.д.), а с другой - убирал возможности по редактированию параметров полёта (максимальная высота, NFZ).

Параметры полета используются модулями FlightController - wm220_0305_* и wm220_0306_*, модуль wm220_0905_* содержит базу данных NFZ.

Поэтому, желающим заполучить актуальные “фишки” новых прошивок, но при этом сохранить полный контроль над параметрами полёта, имеет смысл установить прошивку-“франкенштейн”, используя модули 0305 и 0306 из прошивки 1.03.0700 (или 1.03.0400), а прочие модули - из прошивки 1.04.0000 (без модулей 0305, 0306 и 0905). В принципе, удалять модуль 905 наверное, не обязательно, раз уж NFZ редактированием параметров отрубается (на версиях прошивок <=1.03.0700). Но, по слухам, в процессе полетов вылезает меньше назойливых поп-апов (#ноэтонеточно).

К сожалению, нельзя “просто так взять и” сразу создать версию “всё нужное в одном” - в архиве dji_system.bin, загруженном на дрон при помощи DUMLDore, находится файл wm220.cfg.sig. Он содержит информацию о конфигурации для модулей прошивки из архива dji_system.bin для данной версии прошивки. При этом, нельзя заменить модули wm220_0305 и wm220_0306 в прошивке 1.04.0000 на более ранние версии из прошивки 1.03.0700, т.к. информация о “старых” версиях отсутствует в wm220.cfg.sig

Когда файл dji_system.bin загружен на дрон, он распаковывается, дешифруется, подписи модулей сверяются с wm220.cfg.sig, и происходит обновление модулей, прошивки для которых содержались в архиве. Если в архиве отсутствует файл прошивки для определенного модуля, updater-скрипт оставляет текущую установленную версию и продолжает далее по списку.

Амбула.

Алгоритм на примере микса модулей из 1.03.0700 и 1.04.0000 для MavicPro.

  1. Убеждаемся, что батарейка полностью заряжена

  2. Скачиваем:

  1. Откатываем прошивку дрона на 1.03.0700 (см пункт 4 здесь: dji.maximlord.ru) при помощи DUMLDore.

Процедура с перепрошивкой не всегда проходит гладко, и может напугать зависанием на 86% или 61%, если наблюдать за прогрессом в Assistant2. Важный критерий - передние красные диоды в процессе прошивки мигают, и в этот момент питание дрона ни в коем случае нельзя выключать. Если передние диоды мигать перестали и всё время горят красным, задний диод быстро мигает желтым (дрон пытается связаться с пультом управления), а ассистент2 залип на xx% и/или при перезапуске вообще не видит дрон, помогает включить пульт и подождать установления соединения. В некоторых случаях может потребоваться несколько циклов включения-выключения (#ноэтонеточно).

  1. Распаковываем 7-зипом архив прошивки V01.04.0000_Mavic_dji_system.bin

  2. Удаляем из директории с распакованной прошивкой файлы модулей wm220_0305, wm220_0306 и wm220_0905, выделяем оставшиеся файлы и тем же 7-зипом упаковываем в архив формата tar с расширением .bin (например, “V01.04.0000(-305_306_905)_Mavic_dji_system.bin”). Пакуем не саму “облегченную” директорию, а именно выделенные файлы!

Также имеет смысл создать версию прошивки V01.04.0000, содержащую модуль wm220_1100 (ну и wm220.cfg.sig, разумеется) - это пригодится людям, у которых несколько аккумуляторов для мавика, т.к. можно будет поочередно по-быстрому обновить прошивку только батареек.

  1. Накатываем модифицированную на предыдущем шаге прошивку 1.04.0000 на дрон при помощи DUMLDore

  2. Profit!

Возможны другие последовательности шагов - например, откат до 1.03.0400 (в ней вообще изначально отсутствует NFZ модуль wm220_0905), затем апгрейд до 1.03.0700 с удаленным wm220_0905, затем апгрейд до 1.04.0000 с удаленными 0305, 0306, 0905.
Главное - модифицированный архив *dji_system.bin ДОЛЖЕН содержать wm220.cfg.sig и МОЖЕТ содержать меньше (хоть один-единственный, например - для батарейки wm220_1100) либо столько же модулей, как и оригинальная версия, но не должен содержать “неродных” версий прошивок модулей.

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

———————

А вот гражданин со слэка уже сделал кастомы:

Some stripped back fw

  1. 1.3.400 fc 305 & 306 to load old fc (только модули 305 306 от 1.03.0400)
  2. 1.4.0000 gim 400 to set version back to 0000 (если ставили то, что в 1) поверх 1.04.0000, общая версия в Assistant2 будет 1.03.0400, а накатив 2), будет 1.04.0000)
  3. 1.4.0000 nofc -305 & 306 to update to 0000 -fc (1.04.0000 без 305, 306 и, на самом деле, 905)
  4. 1.4.0000 bat 1100 to update additional batteries (толко модуль батарейки, чтоб по-быстрому обновлять только его, у кого несколько аккумов)

…google.com/…/1fynM3evNpF8Enepljjj4ertNbJxB-stW

jkson

Информация интересная. А Вы сами пробовали такие частичные заливки?
Смущает что такие продвинутые дроноломы не знают что у нескольких батареек прошивка и так обновляется “по быстрому”, без всяких костылей, родной джигой, стоит только выйти на главный экран и дождаться сообщения о несовместимых модулях.
И на мой взгляд эти манипуляции очень рискованны, ведь может случиться что один модуль пошлет другому команду, которая ему неизвестна, либо синтаксис изменился и т.д.

versuher
jkson:

А Вы сами пробовали такие частичные заливки?

Да, как раз сегодня, когда ваял инструкцию, пересобрал по пути 1.04.0000->1.03.0400->1.03.0700(-905 NFZ)->1.04.0000(-305,-306,-905).

jkson:

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

Это не всегда так - не все используют родную джигу. Некоторые используют патченную DJI GO 4, которой запретили лезть проверять обновления и оставили интернеты только для карт и первичного логина. Ну или Flight Mode на телефоне/планшете.

jkson:

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

Риск, конечно, есть. Но пока никаких сообщений о таинственных крэшах или улётах от попробовавших не поступало.

andrey_by

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

Sergey1187

Сегодня провел небольшой эксперимент. Дрон Phantom 4 + антенны Argtek, на iPad установлена DJI Go 4 версия 4.1.12 + конфиг fcc boost, на iPhone установлена DJI Go 4 версия 4.1.17 без конфигов. Полёт в поле без помех, практически прямая видимость.
На iPad отлетел на 4 км. Сигнал управления и видео 100%.
На iPhone отлетел на 4 км. Сигнал управления и видео 100%.
Вот теперь и думаю, а надо ли мне эти конфиги?

Covax

Антенны и прочий стафф обсуждается в теме тюнинга моддинга, не оффтопим

maximlord
jkson:

Информация интересная. А Вы сами пробовали такие частичные заливки?

Я прошил сначала 700, потом 0000. Все работает

jkson
maximlord:

Все работает

Т.е. Вы вырезали полетные модули из 0000, запаковали и прошили поверх 700? Новые полетные режимы остаются при этом?

maximlord
jkson:

Т.е. Вы вырезали полетные модули из 0000, запаковали и прошили поверх 700? Новые полетные режимы остаются при этом?

Да. Если прошить прошивку полетника, то будут новые режимы полета.

deeplock

Интересно, а фиксы от новых прошивок, тоже появляются
И кстати для новых полетных режимов нужна последняя немодифицированная джига.

versuher
deeplock:

Интересно, а фиксы от новых прошивок, тоже появляются

Есть фиксы, а есть “фиксы” - например, допиливание модуля камеры или подвеса - это фикс, а “повышение безопасности полетов”, с урезанными настройками макс. высоты или НФЗ - это “фикс”.

deeplock:

И кстати для новых полетных режимов нужна последняя немодифицированная джига.

У меня на Франкеншивке с 305&306 модулями из 01.03.0700 и всем остальным, кроме 305, 306, 905 из 01.04.0000, новые интеллектуальные режимы quickshot работают на оригинальной 4.1.10 на андроиде.

Кстати, к выходным отцы со слака обещают выкатить что-то новое интересное для патчинга apk

deeplock
versuher:

а есть “фиксы” - например, допиливание модуля камеры или подвеса - это фикс

Я имел ввиду вот эти “фиксы”

versuher

DJI, странное дело, не радует пользователей помодульным changelog’ом. Но интуитивно понятно, что с физикой полета, прописанной внутри Flight Controller’a, особо ничего не сделаешь. Разве что - уберешь какие дополнительные параметры из списка доступных для редактирования пользователем.

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

taishy
versuher:
  1. Удаляем из директории с распакованной прошивкой файлы модулей wm220_0305, wm220_0306 и wm220_0905, выделяем оставшиеся файлы и тем же 7-зипом упаковываем в архив формата tar с расширением .bin (например, “V01.04.0000(-305_306_905)_Mavic_dji_system.bin”). Пакуем не саму “облегченную” директорию, а именно выделенные файлы!

Не очень понял этот пункт.
Зачем удалять wm220_0305, wm220_0306 и wm220_0905, если мы создаем архив только с оставшимися выделенными файлами?

Почему нельзя просто пометить все файлы, кроме wm220_0305, wm220_0306 и wm220_0905 и создать архив?
Или почему “пакуем не саму облегченную директорию”, а выделенные оставшиеся файлы, кроме которых больше ничего нет?

Covax

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

taishy

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

Описание модулей есть где-нибудь?

  1. Судя по содержимому файла “wm220.cfg.sig” существуют как минимум 3 модификации мавиков с разным железом
  2. В том же файле пугает строчка "expire=“2018/09/19"” (или expire=“2018/05/05” для версии .700)
versuher
taishy:

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

taishy:

Описание модулей есть где-нибудь?

например, здесь: github.com/MAVProxyUser/firm_cache

taishy:
  1. Судя по содержимому файла “wm220.cfg.sig” существуют как минимум 3 модификации мавиков с разным железом

wm220 - это и есть мавик, но вот перечень самих модулей (за исключением базовых) не всегда постоянен - например, в 01.03.0400 нету 0905 (NFZ DB-).
Модуль модулю рознь - какие-то к железу конкретно относятся, какие-то - базы данных вон.

taishy:
  1. В том же файле пугает строчка "expire=“2018/09/19"” (или expire=“2018/05/05” для версии .700)

Эту строчку туда DJI вписал, редактирование подписанных файлов (*.sig) недопустимо. Т.е. он(файл)/она(строчка) в любой оригинальной прошивке присутствует (в каждой версии - свой).

Artem19
versuher:

Эту строчку туда DJI вписал, редактирование подписанных файлов (*.sig) недопустимо. Т.е. он(файл)/она(строчка) в любой оригинальной прошивке присутствует (в каждой версии - свой).

а если WinHex`ом каким-неть поменять? по идее не нарушится целостность файла