"Lauschangriff" am CAN-Bus - Theorie und Praxis

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

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

Beitrag von Gerold »

Rudi Ratlos hat geschrieben:
Mo 6. Mai 2024, 16:01
Weiterhin erscheinen als 0x310er CAN-Telegramm die Meldungen
hex 5349C4455354C14E, ASCII für "SI?EST?N" (was wohl etwas mit dem Seitenständer zu tun hat) und
hex 53C5C1D4204FD045, ASCII für "S??? O?E" (was ich noch gar nicht deuten kann).

"S??? O?E" steht vermutlich für SEAT OPEN, die Meldung wird beim Öffnen der Sitzbank im Display angezeigt.

Rudi Ratlos
Beiträge: 252
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:
Mo 6. Mai 2024, 20:09
"S??? O?E" steht vermutlich für SEAT OPEN, die Meldung wird beim Öffnen der Sitzbank im Display angezeigt.
Super, danke, den hatte ich gar nicht auf dem Schirm ;)

Weißt du oder irgendwer in den Weiten dieses Forums, warum die Meldungen über die CAN-ID 0x310 aber "verstümmelt" werden? Warum macht ein Entwickler so was?

[Spassmodus]
Vielleicht waren es dieselben, die die Votol-Software geschrieben haben
[/Spassmodus]

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

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

Beitrag von Gerold »

Keine Ahnung warum man so was macht. Die nicht lesbaren Zeichen werden hier erzeugt, in dem man den lesbaren einen Offset von 0x80 addiert . Warum man aber z.B. das "A" bei "DCHARGING" oder "CHARCHED" mit 0x41 und bei "SIDESTAND" und "SEAT OPEN" mit 0xC1 (= 0x41 + 0x80) kodiert, ist mir auch rätselhaft.

Wenn ich Zeit habe, werde ich mal selbst mit einem kleinen Programm einige ASCII-Zeichen über den CAN-Bus mit der ID 0x310 senden. Mal sehen, was dann auf dem Display erscheint.

Interessant wäre auch noch herauszufinden, wie das neunte Byte von "SIDESTAND" und "SEAT OPEN" an das Display übertragen wird.

Rudi Ratlos
Beiträge: 252
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:
Di 7. Mai 2024, 10:37
Wenn ich Zeit habe, werde ich mal selbst mit einem kleinen Programm einige ASCII-Zeichen über den CAN-Bus mit der ID 0x310 senden. Mal sehen, was dann auf dem Display erscheint.

Interessant wäre auch noch herauszufinden, wie das neunte Byte von "SIDESTAND" und "SEAT OPEN" an das Display übertragen wird.
Ich glaube dass die ganzen Fehlermeldungen/Anzeigetexte in der Displayeinheit enthalten sind - damit auch dort das neunte Byte. Die 0x310 kann der Trigger sein, bestimmte (fest in der Displayeinheit vorgegebene) Meldungen anzuzeigen. Das würde das Experiment zeigen, etwas "Beliebiges" mit der 0x310 zu senden (ich vermute, dann erscheint nichts im Display) oder eine der erwarteten/bekannten Nachrichten wie eben "WARN UV " (beachte das Leerzeichen als achtes Byte), die dann im Display erscheint.

So wird z.B. das gute alte "GOODBYE" bei mir nie über CAN übertragen, wenn ich aber irgendwas mit der CAN-ID 0x220 sende, erscheint "GOODBYE" im Display, bei der ID 0x222 schaltet er zusätzlich ab.

Gerold
Beiträge: 453
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 mittlerweile herausgefunden, was es mit den "verstümmelten Zeichen" bzw. dem Offset von 0x80 auf sich hat.

Mit der ID 0x310 kan man über den CAN-Bus bei einem Aufruf maximal 8 Zeichen auf das Display übertragen. Für Ausgaben wie z.B "SIDESTAND" werden aber 9 Zeichen benötigt. Diese neunte Zeichen wird mit Hilfe des Offsets wie folgt übertragen.

Die Zeichen werden in dem Datenstring in 7 Bit ASCII Code als Hexbytes übertragen. So wird der Buchstabe "A" als 0x41 gesendet, in Binärform ist es ein '0100 0001'. Die Addition von 0x80 zur 0x41 ergibt 0xC1, binär 1100 001. Es wird so durch die Addition von 0x80 immer ein achtes Bit gesetzt, welches bei der Ausgabe auf dem Display aber ignoriert wird.

Betrachtet man bei der Zeichenfolge hex 53C5C1D4204FD045, ASCII für "S??? O?E (SEAT OPE)" nur das jeweils achte Bit und hängt die aneinander, erhält man binäre Folge von '0111 0010'. Umgedreht wir daraus ein '0100 1110' das einem Hexwert von 4E und dem ASCII-Zeichen "N" entspricht. Dieses wir als neunter Buchstabe an die Zeichenkette angehängt, auf den Display erscheint deshalb ein "SEAT OPEN". Genauso wird das fehlende "D" bei "SIDESTAND" und das "F" bei Kpluss OFF" generiert.

Mann kann also eine beliebige Zeichenfolge von max 9 Zeichen an das Display über die ID 0x310 senden. Der Text wird solange angezeigt, bis man ihn durch Senden von "0000000000000000" über die ID 0x310 zurückgesetzt wird. Ich habe jetzt aber nicht gecheckt, welche Zeichen der Zeichensatz des Display enthält.

Ich habe jetzt auf die Schnelle das Programm meines Zusatzdisplays viewtopic.php?p=270575#p270575 so erweitert, dass ich beim Einschalten des Roller mit einem "Guude" im Display begrüßt werde.

Rudi Ratlos
Beiträge: 252
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 »

Boah, ey!

Hab ich das nicht schon mal irgendwo hier gelesen: Uneinholbar, der Guude!

Erstens hätte ich das bei den bisherigen Erkenntnissen den Entwicklern gar nicht zugetraut und zweitens keimt so langsam in mir die Hoffnung, dass der S01/Mo irgendwann doch noch so was wie ein Community-Projekt wird :)

Benutzeravatar
Pfriemler
Moderator
Beiträge: 1961
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 »

habe meinen CAN-Parser aktualisiert - Anzeigetexte stimmen jetzt :-)
Ich habe nicht viel Mitschnitte. Gerade einen "SIDESTAND"; bei einem Anschluss des Ladekabels im eingeschalteten Zustand finde ich auch ein "Kplus OFF" mit Kleinbuchstaben (das Display zeigt aber meines Wissens ausschließlich Großbuchstaben). Beim darauffolgenden Ladebeginn habe ich zwischen 42 und 49 Meldungen "CHARGING" an das Display - pro Sekunde, insgesamt über 600x in weniger als 20 Sekunden. Da will wohl jemand auf Nummer sicher gehen... :D

EIn Community-Projekt wird der Silence, wenn es uns gelingt, die ECU nachzubauen und mit einer eigenen Firmware auszustatten...
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: 252
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:
Fr 10. Mai 2024, 21:09
auch ein "Kplus OFF" mit Kleinbuchstaben (das Display zeigt aber meines Wissens ausschließlich Großbuchstaben).
Gehen wir mal davon aus, dass @Geralds Logik stimmt (woran ich nicht zweifle ;-)), dann wird jeweils das achte Bit in jedem Byte des des CAN-Telegramms benötigt, falls ein neuntes Zeichen angezeigt werden soll (wie bei KPLU$ OFF). Und das kann halt das Bit 0x20 sein, was dem Offset zwischen Groß- und Kleinbuchstaben entspricht.

CHARGING bzw. CHARGED wird auch bei mir andauernd übertragen während das Ladekabel steckt.

Gruß Rudi.

Benutzeravatar
Pfriemler
Moderator
Beiträge: 1961
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 »

Die Segmentanzeige kann sowieso Kleinbuchstaben nicht richtig darstellen. Es wäre nicht die erste Anzeige, die Ascii-Kleinbuchstaben kurzerhand auf Großbuchstaben mappt. Wir sind gerade die ersten, denen der abweichende Text überhaupt auffällt 🙃
SuperSoco CUx '19-'21 (36Wh/km in 2000 km), Piaggio Medley 125 '20-'22 (26,6 ml/km in 5000 km). Seat Mó: Bild

Antworten

Zurück zu „Silence / SEAT“

Wer ist online?

Mitglieder in diesem Forum: Klaona, Semrush [Bot], wbdz14 und 6 Gäste