SoFlow SO4 Pro versteckte "SpeedModes"

Hallo zusammen,

habe es heute gewagt und das LED-Board abgelötet.

Board_top.webp

Bei dem Herzstück handelt es sich um einen der leider (wie schon befürchtet) über eine Read-out protection verfügt, die angeblich beim Lese-Versuch zur Sicherheit die Firmware löscht 😪. Ich vermute mal, dass SAMA-Kit auch so schlau war und die ROP aktiviert hat.

Hier der Auszug aus dem Datenblatt:
Read-out protection (ROP)
The read-out protection blocks reading and writing the Flash program memory and data
EEPROM memory in ICP mode (and debug mode). Once the read-out protection is
activated, any attempt to toggle its status triggers a global erase of the program and data
memory. Even if no protection can be considered as totally unbreakable, the feature
provides a very high level of protection for a general purpose microcontroller.

Der VINKA VK1S66C scheint nur für die LED Steuerung zuständig zu sein. Bei dem Hersteller findet man dazu leider kein Datenblatt. (Wobei der Microcontroller für mich auch nicht so interessant ist).

Und zum Schluss noch das Bluetooth Modul . Hier findet man einige Dokumente bei der . Aber auch dieses Modul ist für mich nicht besonders interessant.

Hat jemand von euch schon Erfahrungen mit dem STM8?
Bzw. kennt jemand vielleicht einen Weg die red-out protection zu deaktivieren? 😄
 
  • Hilfreich!
Reaktionen: Mätzchen
kennt jemand vielleicht einen Weg die red-out protection zu deaktivieren? 😄
Schau mal hier:


Also wenn du wirklich den Aufwand machen möchtest und das ding glitch Attacken willst um an die Firmware zu kommen, würde ich dir empfehlen einen baugleichen Mikrocontroller auf aliexpress zu holen. (Z.b. hier)
Den kannst du mit Daten beschreiben, das rop Byte setzen und damit den glitch hack machen.
Erst wenn du den glitch erfolgreich an deinem testexemplar durchgeführt hast würde ich den mit der firmware glitchen die du haben willst.

Es ist halt echt die Frage wie diese "sama-kit" Dinger bestehend aus Controller, akku/bms und Dashboard funktionieren.
Gut möglich das die Geschwindigkeit Begrenzung genau in dieser stm8 Firmware sitzt.
Denkbar und fast wahrscheinlicher wäre aber auch das sie in einem weiteren Mikrocontroller auf dem Controller pcb sitzt.

Aber insgesamt ist es ein sehr cooles Projekt.
Außerdem werden diese Sama-kit Kombination anscheinend sehr viel verbaut.
In e-bikes, diversen Rollern usw...
Wäre schon sehr nice wenn man einen Weg kennt um alle diese sachen zu modifizieren.
 
Zuletzt bearbeitet:
Schau mal hier:

Danke, das habe ich tatsächlich auch schon gesehen; und jetzt Mal eine Hand voll Chips bestellt. 🥴

Mal schauen, ob ich das reproduzieren kann.


Gut möglich das die Geschwindigkeit Begrenzung genau in dieser stm8 Firmware sitzt.
Denkbar und fast wahrscheinlicher wäre aber auch das sie in einem weiteren Mikrocontroller auf dem Controller pcb sitzt.
Ich vermute auch fast, dass die Begrenzung in einem Chip im Motor sitzt und dort einfach die maximale RPM hardkodiert ist.

Vielleicht schaue ich mir die Teile auch Mal genauer an. Der Controller ist leider gut versteckt und unter der Gummimatte verklebt. Und beim Motor hab ich bisher noch nicht näher hingeschaut.
 
Oh Gott, was für ein Aufwand wird hier nur betrieben, nur das der S04 Pro eventuell ein Paar Kmh schneller fahren könnte?
 
Kurzes Update:
Habe nun tatsächlich ein Dump der Display Firmware. Mache mich jetzt ans Disassemblen.

Bevor ich dann eine modifizierte Version testen kann, benötige ich jedoch vermutlich ein neues Display 🥴

Habe inzwischen herausgefunden, dass der Controller doch leichter zugänglich ist als erwartet. Dort ist ein STM32-Fake names "CKS32F 031C6T6 NMG8Q" von CKS verbaut. Ich schaue Mal, ob ich diese Firmware auch besorgen kann.
 
Jetzt wird es richtig interessant.
Glückwunsch zum erfolgreichen dump. (y)

Was ist mit deinem Display?
Warum braucht du ein neues?
Danke, hatte tatsächlich Glück bei dem Chip, da er nicht read out protected war.
Bei den 4 Pins handelt es sich um ein SWIM Interface worüber sich die Firmware und der EEPROM auslesen lässt.

Hab den hex Dump jetzt mit annotieren lassen und versuche jetzt Mal nachzuvollziehen was der Code macht.

Hast du vielleicht schon Erfahrungen mit STM8 Assembler Code bzw. kennst du jemanden?

Habe bei meinem Display eine Leiterbahn zu den LEDs beschädigt. Schaue Mal, ob ich die wieder hinbekomme.

Des Weiteren hat mein Scooter, nachdem ich den Controller und Motor ausgebaut und zerlegt hatte, das Gas nicht mehr angenommen. Bin gerade auf der Suche woran das genau liegt 😬
 
Zuletzt bearbeitet:
  • Hilfreich!
Reaktionen: Dr.One
Ja, bin einen kleinen, aber entscheiden Schritt weiter:

Habe die Leiterbahn auf dem Display gefixt und und das LED-PCB wieder drauf gesteckt.

Über naken_asm konnte ich den hex dump in besser lesbaren Assembler code umwandeln. Parallel kann ich mich mit OpenOCD auf den Chip schalten und zur Laufzeit durch den Assembler Code debuggen.

Ich hoffe dadurch den Assembler Code schneller zu verstehen.

Grüße