Seit einer Weile bin ich nun auch unter den HD Piloten. Und vor kurzem hat mich die Meldung ereilt, das es inzwischen ein paar Jungs gelungen ist, dass DJI System zu rooten. Da ich keine deutsche Anleitung gefunden habe, dachte ich mir ich dokumentiere meinen Prozess gleich mal.
Auf den DJI Geräten läuft eine Mischung aus Linux mit Android Kernel. Auf diesen lassen sich Root rechte einrichten (Adminrechte) um Customcode ausführen zu können sowie auf das Root Dateisystem
zuzugreifen um grundlegende Änderungen vornehmen zu können (Änderungen am OSD, etc…)
Benötigt:
ACHTUNG !!
Wenn irgendwas nicht klappt, ihr nicht alle Dateien geladen habt, euer Virenscanner (warum auch immer) einzelne Dateien löscht/Verändert/Sperrt, lauft ihr Gefahr eure Brille zur bricken!
FPV-Team übernimmt keine Haftung für Ausfälle und Bricks! Diese anleitung ist nur als Leitfaden gedacht für alle Interessierten.
Nachahmung auf eigen Gefahr!!
Seit ein paar tagen ist es dem DEV-Team um fpv.wtf gelungen eine einfache Möglichkeit zu veröffentlichen mit der sich die FPV HD V1 und V2 rooten lassen um Zugriff auf die Hardware zu ermöglichen (ADB etc…) Kurz gesagt damit lassen sich die Daten auf der Brille modifizieren sowie custom Befehle ausführen (Aktuell ist es auch schon möglich unregistrierte Airunits und Vistas ohne die DJI-APP zu binden, also somit den Updatezwang zu umgehen.
Vorbereitung:
Ladet euch (falls noch nicht geschehen) die neueste Version von NodeJS für Windows und installiert sie:
NodeJS Installer <– Nehmt die .msi Version für volle Integration in die Windows PowerShell
Clont und entpackt das Git-Repo auf euren PC (Klickt oben Rechts in die Grüne Box wo “Code” steht und dann da auf “Download ZIP”):
Margerine Github Repro
- Ladet den Brillen Akku sowie den Akku mit dem ihr die Airunit oder die Vista versorgt!
- Euer PC sollte eine Internetverbindung haben (Magerine lädt Payload vom wtf.fpv server während des Prozesses)
- Nehmt ein ordentliches USB-C Kabel für das Flashen! Am besten das mitgelieferte Kabel. Billig zeug kann schnell teuer werden, wenn was schief geht!
- Für den Flashprozess muss die SD Karte aus der Brille/Airunit entnommen werden.
- Falls ihr eine V2 Brille habt, muss diese auf FW Version 01.00.0606 (Downgrade geht wohl über einen DIY Mode im Menü und das passende .bin file. Habe es aber, da ich eine V1 habe nicht selber testen können)
- Bei den Airunits bzw. Vista unbedingt Thermal Protection deaktivieren, und für ausreichend Kühlung sorgen (Ventilator, Lüfter) wie bei einem FW Update.
Haltet die Shift Taste und klickt mit einem Rechtsklick in den margerine ordner, wählt “PowerShell-Fenster hier öffnen”
In der PowerShell angekommen geht es jetzt ans Updaten und anschließend ans flashen mit
npm install
Installiert ihr die javascript dependencys die ihr für das Skript benötigt.
Anschließend:
node margerine.js unlock
um eure Brille/Airunit/Vista zu rooten. Falls ihr (Für Garantieansprüche, Softwareupdates [Aktuell keine Updates installieren!! Evtl. wird der Zugang in neueren FW Versionen gesperrt!!] etc…) die Brille wieder locken wollt einfach
node margerine.js lock
Etwas warten, keine Angst, die Reboots sind normal, auch das es rund 5 Minuten dauert.
Fertig 😀
In dem readme des github Repros findet ihr auch einen Link zum Projekt Discord-Server, dort könnt ihr aktiv mitarbeiten, oder auch einfach nur checken, was so der aktuelle Arbeitsstand ist, bzw. auch bei Problemen wird dort einem schnell und kompetent geholfen.