RP ✔️ VLT Firmwares, in DE 22Kmh⚡ mit Vanilla Firmware und vieles mehr

Hallo VoodooShamane, ich würde gerne den D-Modus auf meinem 1S anpassen, zum Nebenverfahren beim Joggen. Also dort die Max-Geschwindigkeit reduzieren von 15 auf 10kmh. Hast Du eine Adaption vom D-Modus in der DRV304?

Die vom Pro2 hab ich gar nicht gesehen?

Danke für die coolen Beiträge hier, echt super!

Assembler Code-auszug von der Pro 2 DRV236, DRV304 ist sehr ähnlich.
Rot makiert ist das was gesucht wird. (FIRM.bin Offsets hab ich eingefügt)
2F 72 strb r7, [r5, #8]
00 E0 b #6
2E 72 strb r6, [r5, #8]
95 F8 34 20 ldrb.w r2, [r5, #0x34]
16 21 movs r1, #0x16 (DE Sport Mode) Offsets: DRV236=00005EFA / DRV304=00005F02
4F F4 96 70 mov.w r0, #0x12c
4F F0 05 08 mov.w r8, #5 (DE Fußgänger Mode) Offsets: DRV236=00005F00 / DRV304=00005F08
01 2A cmp r2, #1
02 D1 bne #0x1e
95 F8 40 20 ldrb.w r2, [r5, #0x40]
1A B1 cbz r2, #0x26
95 F8 34 20 ldrb.w r2, [r5, #0x34]
6A B1 cbz r2, #0x40
10 E0 b #0x48
23 8E ldrh r3, [r4, #0x30]
41 F6 58 32 movw r2, #0x1b58
93 42 cmp r3, r2
01 D2 bhs #0x34
E3 85 strh r3, [r4, #0x2e]
00 E0 b #0x36
E2 85 strh r2, [r4, #0x2e]
A4 F8 22 80 strh.w r8, [r4, #0x22]
4F F4 FA 52 mov.w r2, #0x1f40
25 E0 b #0x8c
95 F8 40 20 ldrb.w r2, [r5, #0x40]
01 2A cmp r2, #1
06 D0 beq #0x56
22 8E ldrh r2, [r4, #0x30]
44 F2 68 23 movw r3, #0x4268
9A 42 cmp r2, r3
13 D2 bhs #0x7a
E2 85 strh r2, [r4, #0x2e]
12 E0 b #0x7c
22 8E ldrh r2, [r4, #0x30]
46 F2 A8 13 movw r3, #0x61a8
9A 42 cmp r2, r3
01 D2 bhs #0x64
E2 85 strh r2, [r4, #0x2e]
00 E0 b #0x66
E3 85 strh r3, [r4, #0x2e]
95 F8 43 30 ldrb.w r3, [r5, #0x43]
4D F2 D8 62 movw r2, #0xd6d8
01 2B cmp r3, #1
01 D0 beq #0x76
19 23 movs r3, #0x19
09 E0 b #0x8a
61 84 strh r1, [r4, #0x22]
08 E0 b #0x8c
E3 85 strh r3, [r4, #0x2e]
95 F8 43 30 ldrb.w r3, [r5, #0x43]
4F F4 FA 42 mov.w r2, #0x7d00
00 2B cmp r3, #0
F6 D0 beq #0x76
0F 23 movs r3, #0xf (DE Drive Mode) Offsets: DRV236=00005F78 / DRV304=00005F80
63 84 strh r3, [r4, #0x22]
E2 84 strh r2, [r4, #0x26]
E2 65 str r2, [r4, #0x5c]
60 85 strh r0, [r4, #0x2a]
A8 7F ldrb r0, [r5, #0x1e]
20 B1 cbz r0, #0xa0
B4 F9 22 00 ldrsh.w r0, [r4, #0x22]
14 28 cmp r0, #0x14
00 DD ble #0xa0
61 84 strh r1, [r4, #0x22]
20 7B ldrb r0, [r4, #0xc]
4F F0 0A 0B mov.w fp, #0xa
41 F2 88 3A movw sl, #0x1388
10 B1 cbz r0, #0xb2
01 28 cmp r0, #1
52 D1 bne #0x156

PS:
Finde die Idee echt gut mit einem Jogger Modus.
Am liebsten würde ich den Fußgänger Modus auf 10Kmh bringen.
Dann hätte man noch zusätzlich ein Super Energie-spar Mode.
Auserdem passt das irgendwie besser (10Kmh, 15Kmh, 20Kmh, +GM 25Kmh)
Den Fußgänger modus benutz ich eh nie.
Nur stört mich das man da das Licht nicht ausschalten kann.
Müsste man mal schauen ob man das noch irgendwie patchen kann.
 
Zuletzt bearbeitet:
So. Ich habe jetzt meine Tochter mit einem Voi Roller neben mir herfahren lassen. Sie wiegt etwa 65 kg, ich 82. Mein Akku bei 100 Prozent, der Voi bei 67. Ich war exakt genau so schnell wie sie. Die Voi Roller sind aktuell an der 22 km/h Grenze. Also was mein Navi da letztens von 23,5 angezeigt hat weiss ich nicht. Exakt der selbe Speed. Anzug auch absolut vergleichbar. Tacho zeigt wie gesagt bei hochgehobenem Vorderrad 21 an. Und während der Fahrt genau so. 21 und hin und wieder kratzt er an der 22. So muss es sein.
Also alle drei Assets sind integriert und der Speedwert steht im Asci Editor auf 16.
Ich kann so sagen, die perfekte Firmware.
 
Assembler Code-auszug von der Pro 2 DRV236, DRV304 ist sehr ähnlich.
Rot makiert ist das was gesucht wird. (FIRM.bin Offsets hab ich eingefügt)
2F 72 strb r7, [r5, #8]
00 E0 b #6
2E 72 strb r6, [r5, #8]
95 F8 34 20 ldrb.w r2, [r5, #0x34]
16 21 movs r1, #0x16 (DE Sport Mode) Offsets: DRV236=00005EFA / DRV304=00005F02
4F F4 96 70 mov.w r0, #0x12c
4F F0 05 08 mov.w r8, #5 (DE Fußgänger Mode) Offsets: DRV236=00005F00 / DRV304=00005F08
01 2A cmp r2, #1
02 D1 bne #0x1e
95 F8 40 20 ldrb.w r2, [r5, #0x40]
1A B1 cbz r2, #0x26
95 F8 34 20 ldrb.w r2, [r5, #0x34]
6A B1 cbz r2, #0x40
10 E0 b #0x48
23 8E ldrh r3, [r4, #0x30]
41 F6 58 32 movw r2, #0x1b58
93 42 cmp r3, r2
01 D2 bhs #0x34
E3 85 strh r3, [r4, #0x2e]
00 E0 b #0x36
E2 85 strh r2, [r4, #0x2e]
A4 F8 22 80 strh.w r8, [r4, #0x22]
4F F4 FA 52 mov.w r2, #0x1f40
25 E0 b #0x8c
95 F8 40 20 ldrb.w r2, [r5, #0x40]
01 2A cmp r2, #1
06 D0 beq #0x56
22 8E ldrh r2, [r4, #0x30]
44 F2 68 23 movw r3, #0x4268
9A 42 cmp r2, r3
13 D2 bhs #0x7a
E2 85 strh r2, [r4, #0x2e]
12 E0 b #0x7c
22 8E ldrh r2, [r4, #0x30]
46 F2 A8 13 movw r3, #0x61a8
9A 42 cmp r2, r3
01 D2 bhs #0x64
E2 85 strh r2, [r4, #0x2e]
00 E0 b #0x66
E3 85 strh r3, [r4, #0x2e]
95 F8 43 30 ldrb.w r3, [r5, #0x43]
4D F2 D8 62 movw r2, #0xd6d8
01 2B cmp r3, #1
01 D0 beq #0x76
19 23 movs r3, #0x19
09 E0 b #0x8a
61 84 strh r1, [r4, #0x22]
08 E0 b #0x8c
E3 85 strh r3, [r4, #0x2e]
95 F8 43 30 ldrb.w r3, [r5, #0x43]
4F F4 FA 42 mov.w r2, #0x7d00
00 2B cmp r3, #0
F6 D0 beq #0x76
0F 23 movs r3, #0xf (DE Drive Mode) Offsets: DRV236=00005F78 / DRV304=00005F80
63 84 strh r3, [r4, #0x22]
E2 84 strh r2, [r4, #0x26]
E2 65 str r2, [r4, #0x5c]
60 85 strh r0, [r4, #0x2a]
A8 7F ldrb r0, [r5, #0x1e]
20 B1 cbz r0, #0xa0
B4 F9 22 00 ldrsh.w r0, [r4, #0x22]
14 28 cmp r0, #0x14
00 DD ble #0xa0
61 84 strh r1, [r4, #0x22]
20 7B ldrb r0, [r4, #0xc]
4F F0 0A 0B mov.w fp, #0xa
41 F2 88 3A movw sl, #0x1388
10 B1 cbz r0, #0xb2
01 28 cmp r0, #1
52 D1 bne #0x156

PS:
Finde die Idee echt gut mit einem Jogger Modus.
Am liebsten würde ich den Fußgänger Modus auf 10Kmh bringen.
Dann hätte man noch zusätzlich ein Super Energie-spar Mode.
Auserdem passt das irgendwie besser (10Kmh, 15Kmh, 20Kmh, +GM 25Kmh)
Den Fußgänger modus benutz ich eh nie.
Nur stört mich das man da das Licht nicht ausschalten kann.
Müsste man mal schauen ob man das noch irgendwie patchen kann.
Sauberes Reverse Engineering, sehr cool.
Genau was ich gesucht habe. Vielen Dank :)
 
Hier auch ein kleiner Beitrag von mir (Achtung .... nur von mir getestet)

33km/h - Sport GM aktiv Offsets für die Pro 2 DRV326 Firmware: (nur von mir getestet)

offset 0x00005F60
01 D0 19 23 -> 01 D0 21 23

Für eigene Anpassung:

01 D0 [19] 23 (in [] der zu ändernde Wert)

HEX 19 | 1A | 1B | 1C | 1D | 1E | 1F | 20 | 21 | ...
DEC 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | ... (km/h)

P.S. Tolle Arbeit von VooDooShamane VooDooShamane, weiter so :D
 
Hier auch ein kleiner Beitrag von mir (Achtung .... nur von mir getestet)

33km/h - Sport GM aktiv Offsets für die Pro 2 DRV326 Firmware: (nur von mir getestet)



Für eigene Anpassung:



P.S. Tolle Arbeit von VooDooShamane VooDooShamane, weiter so :D
Die hatte ich auch schon gesehen, nur noch nicht getestet.
ist das hier, (markiert in grün mit Offsets für beide DRV236/DRV304 Firmwares)
2F 72 strb r7, [r5, #8]
00 E0 b #6
2E 72 strb r6, [r5, #8]
95 F8 34 20 ldrb.w r2, [r5, #0x34]
16 21 movs r1, #0x16 (DE Sport Mode) Offsets: DRV236=00005EFA / DRV304=00005F02
4F F4 96 70 mov.w r0, #0x12c
4F F0 05 08 mov.w r8, #5 (DE Fußgänger Mode) Offsets: DRV236=00005F00 / DRV304=00005F08
01 2A cmp r2, #1
02 D1 bne #0x1e
95 F8 40 20 ldrb.w r2, [r5, #0x40]
1A B1 cbz r2, #0x26
95 F8 34 20 ldrb.w r2, [r5, #0x34]
6A B1 cbz r2, #0x40
10 E0 b #0x48
23 8E ldrh r3, [r4, #0x30]
41 F6 58 32 movw r2, #0x1b58
93 42 cmp r3, r2
01 D2 bhs #0x34
E3 85 strh r3, [r4, #0x2e]
00 E0 b #0x36
E2 85 strh r2, [r4, #0x2e]
A4 F8 22 80 strh.w r8, [r4, #0x22]
4F F4 FA 52 mov.w r2, #0x1f40
25 E0 b #0x8c
95 F8 40 20 ldrb.w r2, [r5, #0x40]
01 2A cmp r2, #1
06 D0 beq #0x56
22 8E ldrh r2, [r4, #0x30]
44 F2 68 23 movw r3, #0x4268
9A 42 cmp r2, r3
13 D2 bhs #0x7a
E2 85 strh r2, [r4, #0x2e]
12 E0 b #0x7c
22 8E ldrh r2, [r4, #0x30]
46 F2 A8 13 movw r3, #0x61a8
9A 42 cmp r2, r3
01 D2 bhs #0x64
E2 85 strh r2, [r4, #0x2e]
00 E0 b #0x66
E3 85 strh r3, [r4, #0x2e]
95 F8 43 30 ldrb.w r3, [r5, #0x43]
4D F2 D8 62 movw r2, #0xd6d8
01 2B cmp r3, #1
01 D0 beq #0x76
19 23 movs r3, #0x19 (GM Sport Mode) Offsets: DRV236=00005F62 / DRV304=00005F6A
09 E0 b #0x8a
61 84 strh r1, [r4, #0x22]
08 E0 b #0x8c
E3 85 strh r3, [r4, #0x2e]
95 F8 43 30 ldrb.w r3, [r5, #0x43]
4F F4 FA 42 mov.w r2, #0x7d00
00 2B cmp r3, #0
F6 D0 beq #0x76
0F 23 movs r3, #0xf (DE Drive Mode) Offsets: DRV236=00005F78 / DRV304=00005F80
63 84 strh r3, [r4, #0x22]
E2 84 strh r2, [r4, #0x26]
E2 65 str r2, [r4, #0x5c]
60 85 strh r0, [r4, #0x2a]
A8 7F ldrb r0, [r5, #0x1e]
20 B1 cbz r0, #0xa0
B4 F9 22 00 ldrsh.w r0, [r4, #0x22]
14 28 cmp r0, #0x14
00 DD ble #0xa0
61 84 strh r1, [r4, #0x22]
20 7B ldrb r0, [r4, #0xc]
4F F0 0A 0B mov.w fp, #0xa
41 F2 88 3A movw sl, #0x1388
10 B1 cbz r0, #0xb2
01 28 cmp r0, #1
52 D1 bne #0x156
Der Opcode (Hex=19 23, Assembler=movs r3, #0x19) der dafür zuständig ist, hat nur 2 bytes, nicht wie bei dir 4. ;)
Kann er die 33 denn besser halten als mit standard CFW?
 
Der Opcode (Hex=19 23, Assembler=movs r3, #0x19) der dafür zuständig ist, hat nur 2 bytes, nicht wie bei dir 4. ;)
Das ist korrekt. Wie war das nochmal Flüchtigkeitsfehler sind ein Bonus :D

Kann er die 33 denn besser halten als mit standard CFW?
Hatte die CFW mit 33km/h, Current limit 27A und Current raising coefficient bei 600 laufen. Mir fallen gerade keine großen unterschiede auf.
Bei vollem Akku hält er seine Geschwindigkeit und fällt langsam. Unter 60% Akku pendelt er sich bei 27km/h ein.
Post automatically merged:

Achja ich glaube ich habe noch etwas gefunden:
000014e6 4f f4 7a 70 mov.w r0,#0x3e8 <- Tempomat verzögerung
000014ea 01 29 cmp r1,#0x1
Werde ich mir morgen mal genau anschauen.
 
Zuletzt bearbeitet:
Da das ganze ja Opensource ist,
Wäre das nicht ne Sache für Github?

Überrings finde ich es klasse, das das Public diskutiert wird

PS. Der GM Sportmode ist das so gemeint, dass im Gepatchten GM Mode
Der Roller 33 statt 25 läuft?
 
Achja ich glaube ich habe noch etwas gefunden:
Code:
000014e6 4f f4 7a 70 mov.w r0,#0x3e8 <- Tempomat verzögerung
000014ea 01 29 cmp r1,#0x1
Werde ich mir morgen mal genau anschauen.
Nice (y)
Hatte ich noch nicht gespottet.

Der GM Sportmode ist das so gemeint, dass im Gepatchten GM Mode
Der Roller 33 statt 25 läuft?
Ja richtig, ist mir persönlich zu viel.
Jedenfals momentan noch.
Auserdem frisst das natürlich ne menge Akku.
Aber muss jeder für sich selbst wissen.
Ich finde es auch klasse das man sich austauschen kann.
Allein die Mögligkeit zu haben DAS man es ändern kann ist schon super.
Post automatically merged:

KERS ausschalten:​

Xiaomi Mi Pro 2 DRV236
Von mir getestet, funktioniert!
Code:
Offset 0x0000134A
0A 20 ändern zu 01 20
Offset 0x0000148C
49 42 aändern zu FF 21
Xiaomi Mi 1s DRV304
Aktuell noch ungetestet!!!
Code:
Offset 0x00001352
0A 20 ändern zu 01 20
Offset 0x00001494
49 42 aändern zu FF 21
Beschreibung - Rekuperation (KERS) wird beim Ausrollen komplett entfernt.
Energierückgewinnung greift nur noch wenn die elektrische Bremse (Rechts) betätigt wird.
 
Zuletzt bearbeitet:

KERS ausschalten:​

Beschreibung - Rekuperation (KERS) wird beim Ausrollen komplett entfernt.
Energierückgewinnung greift nur noch wenn die elektrische Bremse (Rechts) betätigt wird.
Super Arbeit 👍.
Kannst du bitte mal sagen, wie sich das Vorderrad verhält, wenn man es in die Luft hält (Leerlauf) und KERS komplett entfernt ist? Verhält es sich dann genauso wie bei der CFW, wenn man da KERS deaktiviert ?
 
  • Hilfreich!
Reaktionen: Axxelfoley
Super Arbeit 👍.
Kannst du bitte mal sagen, wie sich das Vorderrad verhält, wenn man es in die Luft hält (Leerlauf) und KERS komplett entfernt ist? Verhält es sich dann genauso wie bei der CFW?

Rad in der Luft:
Wenn der Gashan einen moment auf Anschlag gehalten wird 2-3 sekunden und dann los gelassen wird,
rollt er ab der gehaltenen Geschwindigkeit langsam aus.

Wenn man den Gashan aber super schnell los lässt nach dem man super schnell auf vollgas gedrückt hat,
beschleunigt er bis ins Nirvana und rollt erst ab da langsam aus.

Ist mit Anti Clonk.
Anti Clonk raus nehmen sollte aber kein Problem sein.
Schaue ich mir noch an.
 
Zuletzt bearbeitet:

Motor Start Speed:​

Xiaomi Mi Pro 2 DRV236
Von mir getestet, funktioniert!
Code:
Offset 0x00006254
0-Kmh
40 F2 BD 62 ändern zu 40 F2 00 02
1-Kmh
40 F2 BD 62 ändern zu 40 F2 59 12
2-Kmh
40 F2 BD 62 ändern zu 40 F2 B2 22
3-Kmh
40 F2 BD 62 ändern zu 40 F2 0B 42
Xiaomi Mi 1s DRV304
Aktuell noch ungetestet!!!
Code:
Offset 0x0000627C
0-Kmh
40 F2 BD 62 ändern zu 40 F2 00 02
1-Kmh
40 F2 BD 62 ändern zu 40 F2 59 12
2-Kmh
40 F2 BD 62 ändern zu 40 F2 B2 22
3-Kmh
40 F2 BD 62 ändern zu 40 F2 0B 42
Beschreibung - Die Startgeschwindigkeit bei dem der Motor aktiviert wird.
Standard ist 5-Kmh. (0-Kmh braucht trotzdem einen winzigen stubser damit der Motor los geht)

-------------------------------------
Kleine Erklärung für den es interessiert:
Die Firmware der Xiaomi Roller ist mit einer little-endian Byte-Reihenfolge für einen ARM Prozessor codiert.
Wer genau hin schaut bei den Hex Werten für die Geschwindigkeiten erkennt ein Muster.

Der ARM Opcode des standard (5-Kmh) schaut so aus:
40 F2 BD 62 movw r2, #0x6bd
Hex Werte Assembler Code Werte im Assembler Code
Hier wird mit dem movw Befehl ein Registerwert gefüllt (variable).
Das Register heißt hier 2 und der wert mit dem es befüllt wird ist 6BD.
Wenn wir jetzt den Hex Code uns an schauen finden wir das dort wieder.
BD 62 Grün ist der Registername (2) und Rot unser Wert, nur in little-endian Byte-Reihenfolge.
Einfach gesagt dreht little-endian alles um, also aus dem wert BD 6 wird 6BD.
Hex=6BD ist 1725 in Dezimal und für jedes Kmh das wir abziehen wollen,
müssen wir den Wert Minus Hex=159 (Dezimal 345) rechnen und
dann wieder in die richtige Byte-Reihenfolge bringen.

Also 6BD-159=564 (4-Kmh)
In der Richtigen Byte-Reihenfolge, schaut das dann so aus.
40 F2 64 52

Auf diese Art können wir uns jeden beliebigen Motor start Speed setzen. (y)
 
Zuletzt bearbeitet:
Hier auch ein kleiner Beitrag von mir (Achtung .... nur von mir getestet)

33km/h - Sport GM aktiv Offsets für die Pro 2 DRV326 Firmware: (nur von mir getestet)



Für eigene Anpassung:



P.S. Tolle Arbeit von VooDooShamane VooDooShamane, weiter so :D
Wäre diese Anpassung auch so für den 1s möglich? Muss ja nicht gleich 33kmh sein aber 28 oder 30 bei aktivem GM wäre schon toll.

Vielen Dank an Euch für die tolle Arbeit 👍🏻
 
  • Hilfreich!
Reaktionen: VooDooShamane
Hat schon ein 1S Fahrer Tests gestartet?
Flashen und testen würde ich wieder. Allerdings an den Computer mit den Hexeditor traue ich mich nicht dran
Mach einfach mal.
Wenn du fertig bist mit dem erstellen deiner VLT Firmware,
lädst du deine info.txt hier hoch und sagst uns welche mods du benutzt hast.
Wir können dann an Hand der md5 Summe sehen ob du alles richtig gemacht hast.
Und du deine erstellte VLT Firmware gefahrenlos flashen kannst.
Post automatically merged:

Wäre diese Anpassung auch so für den 1s möglich? Muss ja nicht gleich 33kmh sein aber 28 oder 30 bei aktivem GM wäre schon toll.

Vielen Dank an Euch für die tolle Arbeit 👍🏻
Ja klar, das Offset hatte ich schon gepostet für den 1s.
Schau mal hier.

Ich habe mein GM auf 27kmh gestellt.
Das ist mir schon fast zu viel.
In Hex ist das 1B.

PS:
Ich werde in den nächsten Tagen nicht zu Hause sein.
Warscheinlich gibt es dann von mir in den Nächsten Tagen keine neuen Mod Offsets.
Wenn ich wieder da bin geht es weiter.
Folgende Dinge stehen auf meiner Agenda in dieser Reichenfolge.

  1. 10 Zoll Reifen Mod Offsets
  2. Tempomat (wenn E exroot es nicht macht)
  3. Zusatz Akku Mod Offsets (no charging Mode)
  4. App bzw. vorläufiges VLT Generator Script
  5. Ausschaltzeit verkürzen
 
Zuletzt bearbeitet:
Hi, hab deine Firmware mit allen Mods auf meinem Pro2. Tempomat welcher mit GM aktiviert wird, ohne jegliche anderen Änderungen zu machen ist so nicht möglich oder? Ich möchte die drv 2.3.6 mit den Mods nur per GM mit dem Tempomat aufwerten da auf längeren 40km Touren ich gerne mal den Daumen schonen möchte, jedoch den Tempomat nicht dauer aktiviert haben möchte... Ist das so möglich ohne per GM dann 25km/h zu fahren ?
 
Alexmin Alexmin
Ja auf längere Sicht ist es bestimmt möglich den Tempomat auch ohne GM zu aktivieren.
Das müsste ich mir mal anschauen.

Was du jetzt machen könntest,
wäre das Speedlimit von GM auf 22Kmh zu stellen und
in der SHU app dauerhaft auf eine globale Seriennummer zu spoofen.
Dann hast du immer den Tempomat zur Verfügung.
Quasi ein dauerhaftes GM mit 22kmh Speedlimit.
Das Offset dafür findest du auf Seite 5
Post automatically merged:

Hab es dir mal rausgesucht.

(GM Sport Mode) Offsets:
DRV236=00005F62 / DRV304=00005F6A

Um es auf 22kmh zu setzen:
Code:
19 23 ändern zu 16 23
 
  • Hilfreich!
Reaktionen: Dr.One
Hallo an alle, ich hab mir mal mittels dieser Anleitung eine Firmware füre meinen 1S gebastelt und würde fragen ob jemand Zeit hat die info.txt zu prüfen ob diese gefahrlos geflashed werden kann.

Xiaomi 1S
DRV304

Mods: 22 KM/h
Offset 0x00005F02 von 14 21 zu 16 21 geändert
 

Anhänge