RP ✔️ 🔥 Firmware-Downgrade: Ninebot MAX (G30D, G30D II, G30LD) <=> [BLE1.1.7/1.1.8 & DRV1.6.13/1.7.3] 01.03.2023

GeoBot

Moderator
Teammitglied
16 Juli 2021
2.509
3.486
Liebe zum Escooter
E-Scooter
G30D II, MAX G2
Telegram
@Geo_Bot_RP
Rollerplausch Downgrade G30 II Titel.png


Diese Anleitung wurde für den Ninebot MAX G30D, G30D II, G30LD geschrieben.

Firmware-Downgrade der BLE 1.1.7/1.1.8, DRV 1.6.13 und DRV 1.6.13/1.7.3 nach einem Hersteller-Update mit der Ninebot-App
Mit dieser Anleitung ist es möglich, den G30 MAX wieder downzugraden (englisch downgrade = zurückstufen).
Nach dem erfolgreichen Downgrade lässt sich mit dem Scooter beispielsweise wieder die GM-Funktion nutzen
und man kann auch wieder problemlos jede FW/CFW flashen.
Der Downgrade einer BLE1.1.8 erfolgt ebenfalls über die BLE1.1.7-COMPAT, sprich genau nach der selben Anleitung.

Dieses Tutorial wurde bereits Ende 2021 verfasst. Nach heutigen Erkenntnissen ist der Downgrade der BLE nicht mehr unbedingt erforderlich.

Eine DRV1.8.3 (oder je nach App dargestellt DRV1.7.13) und aufwärts lässt sich nicht mehr per App downgraden.
Diesen Downgrade kannst du nach den folgenden beiden Tutorials bewerkstelligen
9bot-Flasher / ScooterHacking ReFlasher.

WICHTIG! Beim Ninebot G30 Baujahr 2022 ist ein neuer Controllertyp (G30_New Generation_V1.1) aufgetaucht, der nicht mehr über den altbekannten STM32-Chip, sondern einen AT32-Chip verfügt. Durch das Auslesen der UUID findest du heraus, welcher Chip auf deinem ESC verbaut ist.
In der ScooterHacking Utility (SHU) verbindest du dich dazu mit deinem Scooter. Im INFO-Screen siehst du jetzt die Modellbezeichnung, die BLE-, die DRV- und die BMS-Version deines Scooters, sowie die Seriennummer, die Region und eventuell vorhandene Errorcodes. Nun drückst du mal oben rechts auf die drei Punkte und wählst dort Hardware details aus. Am Ende des nun angezeigten Textes, findest du nun die UID des Microchips auf deinem Controller.

Bei m365 downG wählt man dazu zuerst CONNECT aus und verbindet sich mit seinem Scooter. Zum Pairen wirst du wahrscheinlich aufgefordert, den Power-Button am Scooter zu drücken. Wenn das erfolgreich war, siehst du nun die Seriennummer, die DRV-, die BMS- und die BLE-Version deines Scooters.
Nun betätige mal den TOOLS Button in der App und voilà - du siehst jetzt u.a. auch deine UUID.

Hast du bei m365 downG an der 2. Stelle "FF" (Byte-Paar) oder in der SHU an der 1. Stelle das "FF", deutet das auf den alten (bisherigen) STM32 Microchip hin.

Diese Methode zum identifizieren des Mikrocontroller wurde von VooDooShamane ursprünglich für die Xiaomi Roller entwickelt, sie lässt sich jedoch auch hier hervorragend anwenden.
Der neue Artery AT32-Chip auf dem aktuellen ESC wird erst ab einer DRV-Version 1.7.0 (mom. Auslieferungszustand) und aktueller unterstützt.

NEW ESC RP.png

Zu diesem Beitrag auch bitte den Haftungsausschluss der Nutzungsbedingungen - Pkt.8 beachten!
Avoid-FW-Updates.gif

Benötigt:
Update: Die Scooter Hacking Utility (SHU) >v2.0 erkennt automatisch die restriktive Firmware und schlägt einen Downgrade vor.
Falls ihr das trotzdem von Hand erledigen wollt, folgt nun die Anleitung dazu.


Anleitung:


Zunächst einmal starten wir die Scooter Hacking Utility (im weiteren Verlauf SHU abgekürzt) auf unserem Android-Gerät.
Als nächsten Schritt verbinden wir die SHU via Bluetooth mit unserem Scooter.
Nun wählen wir im FLASH-Menü den Button "LOAD FROM REPO" aus, navigieren auf die "gepatchte" BLE117-COMPAT und flashen diese durch betätigen des "START FLASH" Buttons.

BLE117-COMPAT_ScooterHacking Utility.png

Nach erfolgreichem Flashen können wir nun wieder auf eine beliebige BLE-Version downgraden, aber ich würde einen Downgrade auf die BLE1.1.4 empfehlen.
If you upgraded to BLE117 and want to rollback, or if you want to install the update without having the downgrade capabilities disabled, use the ScooterHacking Utility app and install our release of BLE117 from Load original > BLE > BLE117. This version can be flashed over the Ninebot-provided BLE117 and doesn't contain any flashing restriction - allowing you to flash any BLE firmware if you wish to do so. Alternatively, you can download this firmware from our repos [Web|Github].

The DRV173 update seems to have been pulled from the update servers before we could dump it. If you installed it: you're currently stuck until they push it again and a patched version is published.

Jetzt widmen wir uns der DRV1.7.3.
Um diese Version downgraden zu können, müssen wir zunächst die DRV1.7.3 (gepatchte DRV1.6.13) auf den Scooter bringen.
Lt. Lothean vom Scooterhacking-Team überprüft diese neue (DRV1.6.13) des Ninebot-Updates, ob die ersten 16 Bytes des gesendeten Updates einem bestimmten Muster entsprechen. Bei der gepatchten DRV1.7.3 (DRV1.6.13) wurde diese Prüfung kurzerhand wieder entfernt.

Eine DRV1.7.1 kann aber auch auf die vorherige Verwendung der App ** Bezahlsoftware ** hinweisen.
Wenn der Downgrade nicht über den hier beschriebenen Weg funktioniert, wurde die DRV1.7.1 wahrscheinlich mit ** Bezahlsoftware ** erzeugt.
Die ** Bezahlsoftware **-Firmware-Versionen verhindern, dass andere ScooterHacking-Apps diese Firmware up- oder downgraden können.
In der App hat man jedoch die Möglichkeit "Return to Stock" auszuwählen und kann so die vorhandenen Einschränkungen wieder aufheben.

ReturnToStock.png


1.7.3.png

Um diese auf den Scooter zu bekommen, wählen wir erneut im FLASH-Menü den Button "LOAD FROM REPO" aus,
navigieren auf die "gepatchte" DRV173-COMPAT und flashen diese durch betätigen des "START FLASH" Buttons.

BLE173-COMPAT_ScooterHacking Utility.png

Möglicherweise wird nun die folgende Fehlermeldung eingeblendet.
Hier hilft ein Ausschalten des Android-Devices und oder des Scooters.
Diese Neustarts so oft durchführen, bis das Flashen wieder ordnungsgemäß funktioniert.

ScooterHacking-Utility.gif


Nach erfolgreichem Flashen können wir nun auch hier wieder auf eine beliebige DRV-Version downgraden;
ich würde einen Downgrade auf die DRV1.6.3 empfehlen.

Nun sollten wir wieder alle Freiheiten genießen können, die wir vor dem "bösen" Ninebot-Update auch gehabt haben.
If you are stuck on one of these versions, there is now a solution. Open ScooterHacking Utility, go to Load Original > DRV > DRV173 and flash it.
This firmware version is modified to allow downgrading to previous firmware versions. After you flash it, you can install whichever DRV firmware you desire.
You can also download the individual firmware files from our repos [Web|Github]

As always, please avoid updating your devices using the original app if possible.

Meine Versionsnummern am G30D II sind beispielsweise:
Empfehlung.png
Auf dem G30LD befindet sich im Auslieferungszustand eine BMS1.5.8.

Zukünftig sollte man die Hersteller-Updates besser meiden, denn großartige Verbesserungen sind meistens auch nicht zu erwarten.
Im Gegenteil. Der Funktionsumfang wird oft durch die unterschiedlichen Bestimmungen in den Regionen eingeschränkt.

DRV/ESC

DRV173
1. Improve the stability of electronic brake
2. Change: when the vehicle is locked, the vehicle is still locked after 3 hours of automatic shutdown.
3. Fixed known issues and optimized user experience.
DRV163
1. Optimize firmware compatibility
2. Improve firmware stability
DRV160
1. Optimize firmware compatibility
2. Improve firmware stability
DRV154
1. To adapt to German regulations, disabled the software lock function of German models.
2. Optimized vehicle power performance.
3. Improve firmware stability
DRV151
1. Adapt to European regulations 17128, Disabled the cruise control function for European models, updated the walk mode function (the headlights or taillights cannot be turned off in walk mode), the scooter cannot be turned off when the speed is over 4 km/h.
2. New button control function of front light switch for German models.
3. Optimize braking performance and improve the stability of braking function.
4. Improve firmware stability.
DRV145
1. Optimize the experience
2. Bluetooth speaker adaption
DRV126
1. Improve the system safety of scooters

BLE

BLE117
1.Fix known problems and optimize the experience
BLE114
1. Improved the stability of Bluetooth communication
2. Optimized throttle and brake performance in some cases
3. Improved firmware stability
BLE113
1. Optimize the riding experience of scooters

BMS

BMS158
1. Fix known problems and optimize the experience.
BMS156
1. Optimize firmware compatibility.
2. Improve firmware stability.
BMS155
1. Optimize battery performance.
2. Optimize charging logic
BMS153
1. Optimize battery performance.

Viel Vergnügen beim Ausprobieren!!!

Es gibt von den Jungs von Scooterhacking auch ein Video dazu.
Hier wird der Scooter allerdings auf andere Versionsnummern downgegradet als in diesem Tutorial.


Edit: Hier mal der Weg über die SHU, um weiterhin das "German Maneuver" nutzen zu können.

GM_ScooterHacking Utility.png

N E W S
2 8 . 0 3 . 2 2
Seit heute Nacht ist es endlich wieder möglich, die Ninebot E-Serie, sowie den G30/D/D II/LD mit der Scooter Hacking Utility (SHU) downzugraden.
Das SH-Team haben wieder ganze Arbeit geleistet und eine neue Version der SHU (v2.0.3) veröffentlicht.

Downgrade DRV170.png


Die App erkennt wieder automatisch die restriktive Firmware und startet einen Downgrade auf DRV 1.6.3.

ScooterHacking Utility v2.0.3 is now available.
This release includes an out-of-box activation flow [app will detect non activated scooter and prompt you to activate it], as well as a working downgrade flow for E-series DRV273 and Max DRV170. If you don't want to risk getting stuck on a particular version in the future, get rid of the official app!

Update available immediately for APK users through the self-updater or the official download link, still pending for Play Store users. If you are still using the Play Store version, make the switch now!

[Download]

(https://utility.cfw.sh/)Side-note: there are no standalone releases of the newly added downgrade methods, as they won't work with other apps that do not contain a special flashing routine. If you develop a free community app and would like the required implementation, please contact me.
 
Zuletzt bearbeitet:
Im Flash-Dialog der ScooterHacking Utility ist mittlerweile ein neuer Button hinzugekommen.
Bei Betätigung dieses Buttons soll eine eventuell vorhandene Sicherheitslücke in der Firmware ausgenutzt werden.
Wenn der Vorgang ohne Fehlermeldung vonstatten geht, steht dem späteren Downgrade nichts mehr im Weg.

Im Falle der DRV1.8.x => hilft allerdings nur noch ein Downgrade mit einem ST-Link Programmer.

Exploit_ScooterHacking Utility.png DowngradeExploit_ScooterHacking Utility.jpg

Aktueller Stand 01/2023
Jan2023_ScooterHacking Utility.jpg
 
Zuletzt bearbeitet:
Verzeihen Sie mir die Frage, aber warum ist eine Herabstufung notwendig? Überschreibt eine benutzerdefinierte Firmware die installierte Firmware sowieso nicht? Was ist auch so schlimm an der kürzlich veröffentlichten .13-Firmware?

====
Forgive me for the question but why is downgrading necessary? Won’t a custom firmware override the installed firmware anyway? Also what is so bad about the .13 firmware that was recently released?
 
Forgive me for the question but why is downgrading necessary? Won’t a custom firmware override the installed firmware anyway? Also what is so bad about the .13 firmware that was recently released?
After the stock update, the german maneuver (GM) function and flashing a CFW is no longer possible.
It's like Der Dirk Der Dirk wrote, these updates were only released to block our possiblities.
 
Zuletzt bearbeitet:
  • Hilfreich!
Reaktionen: Soldier
Was sind also in Bezug auf die oben genannten Ratschläge, BLE auf 114 zu halten, was sind die Nachteile, wenn die Hersteller nach dem Laden des CFW auf 117 aktualisiert werden? Gibt es so etwas, um BLE-Versionen zu fälschen, wie es DRV gibt? Danke.
 
Hallo,
Vorab ich bin komplett neu hier im Forum, also bitte macht mich nicht direkt fertig :D oder verweißt auf die Suchfunktion, das ist sehr kompliziert für mich.

Ich habe einen G30 LD. Mit diesem habe ich ab und zu GM über die Extra App ausprobiert. Dadurch wurde er in der Segway App nicht mehr als LD sondern als normaler G30D angezeigt. Ich wollte, dass er wieder als G30LD erkannt wird. Hatte aber bereits das neueste Update drauf. Ich habe diese Anleitung hier befolgt um in downzugraden und habe dann unter change Region in SHU auf DE G30LD gestellt. Er wurde in der Segway App wieder als LD erkannt und ich habe über die Segway App das update wieder durchgeführt. Das Problem ist jetzt nur, dass das hintere Licht, beim Bremsen Blinkt, ich in der App, trotz Update den Spritztour Modus (Tempomat) auswählen kann und er im Eco Modus nur 15kmh fährt. Auch das Anfahrverhalten kam mir langsamer vor und er fuhr laut Tacho 21-22 kmh. Kann mir jemand sagen, was ich falsch gemacht habe bzw wie ich einfach die komplett orginale G30LD firmware da wieder drauf bekomme, an der nichts verändert wurde? Ich dacht bei Load orginal handelt es sich um orginale firmwares?



Würde mich echt freuen, wenn mir jemand weiterhelfen kann.
Vielen Dank.
 
Wenn man keinen Tau / Plan von etwas hat, sollte man die Griffel davon lassen! Wie immer bei der EDV (und eigentlich auch allen anderen Dingen im Leben) gilt es, sich schlau zu lesen, denn sonst gehen diese Ruck-zuck-Versuche nun mal daneben! In diesem Falle hast Du wohl die Seriennummer auf eine nicht-deutsche geändert, weswegen sich der G30 eben auch so verhält. Also wirst Du diese z.B. mittels des SHU wieder auf den korrekten Wert setzen müssen.

Die Seriennummer selbst hat ja nichts mit der Software für den Controller (aka DRV) zu tun, sondern ist eben nur dahingehend ausschlaggebend, dass die zur Seriennummer passenden regionalen Einstellungen (wie z.B. für das Rücklichtverhalten beim Bremsen, den Tempomat, das Frontlicht(verhalten) sowie die Höchstgeschwindigkeit) geladen werden.
 
Wenn man keinen Tau / Plan von etwas hat, sollte man die Griffel davon lassen! Wie immer bei der EDV (und eigentlich auch allen anderen Dingen im Leben) gilt es, sich schlau zu lesen, denn sonst gehen diese Ruck-zuck-Versuche nun mal daneben! In diesem Falle hast Du wohl die Seriennummer auf eine nicht-deutsche geändert, weswegen sich der G30 eben auch so verhält. Also wirst Du diese z.B. mittels des SHU wieder auf den korrekten Wert setzen müssen.

Die Seriennummer selbst hat ja nichts mit der Software für den Controller (aka DRV) zu tun, sondern ist eben nur dahingehend ausschlaggebend, dass die zur Seriennummer passenden regionalen Einstellungen (wie z.B. für das Rücklichtverhalten beim Bremsen, den Tempomat, das Frontlicht(verhalten) sowie die Höchstgeschwindigkeit) geladen werden.
Danke für die Antwort!
Werde es mal probieren mit der Seriennummer.
Ja ich weiß, dass man das nicht tun sollte, wenn man kein Plan davon hat. Hab es auch sehr lange ignoriert, wollte ihn aber unbedingt als LD wieder in der App haben. Dachte mit der Schritt für Schritt Anleitung klappt das. Naja aus Fehlern lernt man.
 
Habt ihr auch das Problem nach dem tuning etc, das der scooter nicht mehr das normale ladeverhalten hat sprich die rückleuchte blinkt nicht mehr dabei und es wird nicht mehr als Prozent angegeben wie viel Akku geladen ist. und es schaut aus als würde er überhaupt nicht laden. Wie bekomme ich das ladeverhalten zurück und oder ist das normal

Und wie bekomme ich die segway app wieder zum laufen sprich Verbindung mit scooter
 
Lasst die Griffel von den Hersteller-Apps, die ohnedies nichts können (außer Euch irgendwelche unerwünschten Updates unter die Nase zu halten), was nicht auch zahlreiche andere Apps zumindest gleich gut, und fast immer auch noch deutlich besser können; zumindest wenn man nicht gerade das unpassende, inakzeptable OS (kurz iOS) am Smartphone hat.
 
  • Hilfreich!
Reaktionen: Mc Kuc und Der Dirk
Sobald der Roller nicht mehr die registrierte Seriennummer/Region besitzt, wird er auch in der Original-App nicht mehr erkannt.

Ich kann es nicht oft genug sagen, daher mache ich es noch einmal in aller Deutlichkeit...

F i n g e r___w e g___v o n___d e r___N i n e b o t - A p p__! ! !

Diese App verschlimmbessert euren Scooter nur unnötig.
Wenn ihr eure Scooter im Originalzustand belassen würdet, bräuchten wir hier solche Anleitungen nicht zu verfassen.
Ninebot App.png
Ergo - Griffel weg von dieser App. Braucht kein Mensch, kann nix, bringt nix, kann wech...
 
Jau, nur das sich das Update bei der Erstaktivierung nicht mehr wegdrücken lässt, bzw er dann einfach nicht aktiviert wird. Heißt alle unbedarften, die mit der Segway Ninebot App aktivieren bekommen das Update nun zwangsweise. 2x E25D und ein G30LD in den letzten 4 Tagen, alles Android. War für mich auch neu.