"Lauschangriff" am CAN-Bus - Theorie und Praxis

S01, S02, S03, Mó
Antworten
Gerold
Beiträge: 443
Registriert: Fr 7. Feb 2020, 10:23
Roller: Silence S01
PLZ: 55*
Kontaktdaten:

Re: "Lauschangriff" am CAN-Bus - Theorie und Praxis

Beitrag von Gerold »

Von den beiden CAN-Bus Anschlüssen wird nur einer verwendet und zwar sowohl für die Konfiguration als auch die Kommunikation.

Rudi Ratlos
Beiträge: 225
Registriert: Di 1. Nov 2022, 08:12
Roller: Seat Mo 125 (2022)
PLZ: 79
Kontaktdaten:

Re: "Lauschangriff" am CAN-Bus - Theorie und Praxis

Beitrag von Rudi Ratlos »

Die Echtzeitdaten am Votol-Controller lassen sich mit 2 Frames der CAN-ID 0x3ff anfordern; über diese ID lässt sich der Controller auch komplett "remote" ansteuern, also Fahrmodus L/M/H/S, Throttle, Bremse, Reverse, Lock, Flux weakening, Voltage und Current calibration.

Angeforderte Echtzeitdaten liefert der Controller mit der ID 0x3fe zurück. Geschwindigkeit (bzw. rpm), Spannung, Strom, Fahrmodus usw.

Es gibt da noch einige (Checksummen-?) Bytes, die mir noch nicht ganz klar sind, aber die obigen Angaben sind gesichert. Über eine entsprechende Mimik würde sich so auch ein Mitloggen der Werte über Canbus anbieten; bei mir ist ja das Telemetriemodul de-aktiviert ;-)

Gruß Rudi Ratlos

Benutzeravatar
Pfriemler
Moderator
Beiträge: 1910
Registriert: Di 7. Mai 2019, 17:41
Roller: SEAT Mó 125 (Mj. 2021, Votol)
PLZ: 14513
Wohnort: Südrandberlin
Tätigkeit: Tonkünstler
Kontaktdaten:

Re: "Lauschangriff" am CAN-Bus - Theorie und Praxis

Beitrag von Pfriemler »

Ich bin ja noch immer auf der Suche nach einer Einstellmöglichkeit für die Displayhelligkeit. Mir wie einigen anderen ist die unterste Stufe ja nachts noch zu hell.
Ich habe heute mal die Displayhelligkeit im Takt des Warnblinkers variiert in der Hoffnung, auf dem CAN Botschaften dazu zu finden, leider Fehlanzeige. Dabei muss die Displaybeleuchtung zumindest von der ECU ausgeschaltet werden können, denn die Displaybeleuchtung geht aus und die Anzeigen wechseln, ohne dass die 12V-Versorgung unterbrochen wird, wenn man den eingeschalteten Roller mit Ladestrom versorgt. Es muss also einen Steuerbefehl geben.
Mein Ziel wäre, im Rahmen eines noch zu erstellenden "Universalhelpers", der dauerhaft am CAN stecken bleibt, neben geschwindigkeitsabhängigem Blinkpiepser auch die Displayhelligkeit prozentual zu senken, wenn ein Fahrlicht eingeschaltet ist (nicht aber bei Tagfahrlicht). Das wäre eine nette Alternative zum Hardwareingriff mit allen damit verbundenen negativen Folgen.

Hat da inzwischen jemand neue Erkenntnisse?

Pfriemlers Märchenstunde:
Ein weiteres Ziel (allerdings in noch weiterer Ferne) wäre, ähnlich wie es in der Servicesoftware im "God mode" möglich ist, das Bremslicht bei einer bestimmten Rekuperationsstufe automatisch einzuschalten (und auszuschalten, falls im Moment wegfallender Reku aktuell keine Bremse gezogen ist).
SuperSoco CUx '19-'21 (36Wh/km in 2000 km), Piaggio Medley 125 '20-'22 (26,6 ml/km in 5000 km). Seat Mó: Bild

Gerold
Beiträge: 443
Registriert: Fr 7. Feb 2020, 10:23
Roller: Silence S01
PLZ: 55*
Kontaktdaten:

Re: "Lauschangriff" am CAN-Bus - Theorie und Praxis

Beitrag von Gerold »

Pfriemler hat geschrieben:
Mi 28. Jun 2023, 15:53
Iin weiteres Ziel (allerdings in noch weiterer Ferne) wäre, ähnlich wie es in der Servicesoftware im "God mode" möglich ist, das Bremslicht bei einer bestimmten Rekuperationsstufe automatisch einzuschalten (und auszuschalten, falls im Moment wegfallender Reku aktuell keine Bremse gezogen ist).[/i][/size]
Das steht bei mir auch ziemlich weit oben auf der Wunschliste, zumal ich die Reku im City-Modus erheblich erhöht habe und die auch intensiv nutze.

Man müsste halt irgendwie an die Servicesoftware herankommen, am besten noch auf den Sourcecode, um herauszufinden, wie das Bremslicht über den CAN-Bus angetriggert werden kann. Das Schalten des Bremslicht bei Reku könnte man dann recht einfach mit etwas Programmierung z.B. auf einem ESP32 mit zugehörigem CAN-Transceiver realisieren.

Benutzeravatar
Pfriemler
Moderator
Beiträge: 1910
Registriert: Di 7. Mai 2019, 17:41
Roller: SEAT Mó 125 (Mj. 2021, Votol)
PLZ: 14513
Wohnort: Südrandberlin
Tätigkeit: Tonkünstler
Kontaktdaten:

Re: "Lauschangriff" am CAN-Bus - Theorie und Praxis

Beitrag von Pfriemler »

Gerold hat geschrieben:
Mi 28. Jun 2023, 20:39
... Servicesoftware herankommen ... am besten noch auf den Sourcecode ...
Nein, was haben wir gelacht gerade ... :D

Ernstlich: Würde es nicht schon reichen, wenn wir jemanden im Forum hätten, der mit dem originalen Softwarezeugs im God Mode an einem Roller herumspielt und dabei einen CAN-Logger mitlaufen lässt? Die Outputs müssten ja relativ zeitnah über die bekannten Kanäle antworten.
Das Schalten des Bremslicht bei Reku könnte man dann recht einfach mit etwas Programmierung z.B. auf einem ESP32 mit zugehörigem CAN-Transceiver realisieren.
Genau das, bzw. mglw. reicht dafür sogar ein 8266, wenn er sonst nix zu tun hat (mit Tasmota wäre er ja schon zu gut ausgelastet). Ich bin gerade dabei, da was aufzubauen (wird aber noch Wochen dauern, Bauteile, Urlaub etc), was neben diesen Jobs auch mir wichtige Daten sammelt und auf Anforderung ausliefert. Oder doch gleich ein ESP32 mit Hotspot, in den sich das Handy einloggen kann.

Wegen meines Displayanliegens: Vielleicht übermittelt das Display die Änderung der Hintergrundbeleuchtung erst im Zusammenhang einer anderen Abfrage? vielleicht wird die Änderung auch gar nicht übertragen und die ECU schaltet nur ein oder aus?
SuperSoco CUx '19-'21 (36Wh/km in 2000 km), Piaggio Medley 125 '20-'22 (26,6 ml/km in 5000 km). Seat Mó: Bild

Gerold
Beiträge: 443
Registriert: Fr 7. Feb 2020, 10:23
Roller: Silence S01
PLZ: 55*
Kontaktdaten:

Re: "Lauschangriff" am CAN-Bus - Theorie und Praxis

Beitrag von Gerold »

Einen Teil des Sourcecodes wurde ja schon hier veröffentlicht. Diesen teil habe ich genutzt, um die ECU Konfiguration auszulesen und dann die Anzeige der Restreichweite im Display auf realistischere Werte abzuändern.

Unter Umständen reicht zur Programmausführung auch ein Arduino oder ESP8266 mit MCP2515. Der ESP32 ist aber deutlich schneller und deshalb evtl. besser geeignet, da man für die Erkennung der Reku permanent den CAN-Bus lesen muss. Muss man halt ausprobieren.

Benutzeravatar
Pfriemler
Moderator
Beiträge: 1910
Registriert: Di 7. Mai 2019, 17:41
Roller: SEAT Mó 125 (Mj. 2021, Votol)
PLZ: 14513
Wohnort: Südrandberlin
Tätigkeit: Tonkünstler
Kontaktdaten:

Re: "Lauschangriff" am CAN-Bus - Theorie und Praxis

Beitrag von Pfriemler »

Das mit dem Sourcecode stimmt, aber für mich sind das ja nur Auszüge zu Demo-Zwecken im Rahmen des Berichts über die Softwareerstellung, die Gänze wird für das Volk wohl nie sichtbar werden, sonst wären ja Registrierung und Lizenzgebühren obsolet...
Mein Arduiono liefert nach einer Komprimierung der Ausgaben des Minimal-Sketches CAN_Receive schon ganz nett viele Daten am Stück. Will das dann mal am ESP8266 mit serialconnect auf 921xxx versuchen - ich vermute ja die Ausgabe der CAN-Daten als Falschenhals und Ursache für das Verschlucken etlicher CAN-Nachrichten und nicht die Kommunikation zwischen Arduino und MCP selbst. Aber eigentlich gibt es keinen Grund, nicht gleich auf einen ESP32 zu wechseln, so teuer sind die auch nicht mehr und auch im Formfaktor des WEMOS D1 verfügbar.
SuperSoco CUx '19-'21 (36Wh/km in 2000 km), Piaggio Medley 125 '20-'22 (26,6 ml/km in 5000 km). Seat Mó: Bild

Rudi Ratlos
Beiträge: 225
Registriert: Di 1. Nov 2022, 08:12
Roller: Seat Mo 125 (2022)
PLZ: 79
Kontaktdaten:

Re: "Lauschangriff" am CAN-Bus - Theorie und Praxis

Beitrag von Rudi Ratlos »

Gerold hat geschrieben:
Mi 28. Jun 2023, 21:31
Einen Teil des Sourcecodes wurde ja schon (...) veröffentlicht.
Zwar ist dieser Softwareentwickler bei LinkedIn zu finden, aber zumindest auf meine eher unprofessionelle Anfrage hat er nicht reagiert ;-)

https://es.linkedin.com/in/pablo-ruiz-martinez

Rudi Ratlos
Beiträge: 225
Registriert: Di 1. Nov 2022, 08:12
Roller: Seat Mo 125 (2022)
PLZ: 79
Kontaktdaten:

Re: "Lauschangriff" am CAN-Bus - Theorie und Praxis

Beitrag von Rudi Ratlos »

Pfriemler hat geschrieben:
Mi 28. Jun 2023, 15:53
Ich bin ja noch immer auf der Suche nach einer Einstellmöglichkeit für die Displayhelligkeit. Mir wie einigen anderen ist die unterste Stufe ja nachts
Das geht vermutlich nicht ohne Eingriff in das Display. Ich habe sehr intensiv nach Änderungen auf dem CAN-Bus beim Drücken der "Set"-Taste gesucht und nix gefunden. Ich denke, die Displayhelligkeit wird ausschließlich lokal im Display eingestellt. Anders als das grundsätzliche Ein- und Ausschalten der Displaybeleuchtung.

Nächste Frage: Uhrzeit und Datum werden ja im BMS gespeichert. Beides erhält der Roller aus dem Telemetriemodul - falls das vorhanden ist. Falls das jedoch fehlt oder defekt ist, kann die Uhrzeit ja wie im Handbuch beschrieben eingestellt werden. Und das Datum?

Gruß Rudi Ratlos

Gerold
Beiträge: 443
Registriert: Fr 7. Feb 2020, 10:23
Roller: Silence S01
PLZ: 55*
Kontaktdaten:

Re: "Lauschangriff" am CAN-Bus - Theorie und Praxis

Beitrag von Gerold »

Ich habe geschafft, die Sitzbank des Rollers mit Hilfe eines CAN-Befehls zu öffnen. Dafür muss über den Bus das Datenbyte 0x01 mit der ID 0x2A0 gesendet werden.
Den Befehl habe ich gefunden, indem ich zunächst die Bank über das Telemetriemodul mit dem $TCOP Befehl geöffnet und dabei den CAN Traffic mitgeschnitten habe. Letzteres war aber nur mit dem ESP32 erfolgreich, mit dem Arduino hat das nicht funktioniert.
Danach habe ich mit einem kleinen ESP-Sketch das Byte 0x01 mit der ID 0x2A0 über den Bus gesendet und damit auch die Sitzbank geöffnet.
Ich vermute mal, das die ID's, mit denen die anderen ECU-Schalter betätigen werden, in der Umgebung von 0x2A0 liegen.

Nachtrag: Über eine ID könne bis zu 8 Datenbytes gesendet werden. Zum Öffnen der Sitzbank muss Byte 0 auf 0x01 gesetzt werden.
Byte 1 = 0x01: Warnblinker an, = 0x00: Warnblinker aus.

Antworten

Zurück zu „Silence / SEAT“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste