Kleine Mathematik-Aufgabe

Der chaotische Hauptfaden

Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese

Antworten
Benutzeravatar
Bastelbruder
Beiträge: 11566
Registriert: Mi 14. Aug 2013, 18:28

Kleine Mathematik-Aufgabe

Beitrag von Bastelbruder »

Ich hab da aktuell einen seriellen Kommunikations-Datenhaufen in dem diverse bekannte Daten in geheimnisvoller Weise versteckt sind. Es fängt an mit einer etwas ungewöhnlichen Bytelänge von 9 Bits, ohne Parity. Die Worte sind 4, 8,, 32 Bytes lang.

Zwischendurch kam die Idee, die wenigen Nutzdaten von vielen weniger informativen Werten zu trennen. Rauschen ist nicht zu vermuten, aber es gibt viele Bestandteile die vom ersten bis zum letzten Bit identisch sind. Ein großer Teil dieser konstanten Bits findet sich am Ende jedes Worts, gefolgt von 2 Bytes die überdurchschnittlich zufällige Werte beinhalten. Ich vermute daß in letzteren ein CRC versteckt sein könnte.

Gibts eine komfortable Möglichkeit, die CRC-Theorie mit einigen Beispielen zu überprüfen ohne daß der seed bekannt ist, hat vielleicht jemand ein Programm oder leakt eins irgendwo rum welches die paar möglichen Kombinationen in endlicher Zeit durchprobiert?

Eventuell noch eine kleine Schwierigkeit, es ist nicht unwahrscheinlich daß high und low vertauscht sind. Die fehlenden Stellen sind dann statt mit Nullen mit Einsen (1ff) aufzufüllen. Der kleine Unterschied 1bc 1b2 könnte auf ein anderweitiges Problem hinweisen, CRC sollte aber trotzdem stimmen.

Code: Alles auswählen

---Nutzdaten--- ------? --CRC--   Nochmal dasselbe in Binär, msb first
                15e 1bc 052 0ac                                           101011110 110111100 001010010 010101100
                15e 1b2 09d 0f3	           				  101011110 110110010 010011101 011110011
1bc 0f6 14a 18e 15e 1bc 0f4 1a5   110111100 011110110 101001010 110001110 101011110 110111100 011110100 110100101
1a9 0cb 184 191 15e 1bc 04e 124   110101001 011001011 110000100 110010001 101011110 110111100 001001110 100100100
1aa 1a6 0f3 155 15e 1bc 176 1b5   110101010 110100110 011110011 101010101 101011110 110111100 101110110 110110101
1ab 1bb 1bc 1bc 15e 1bc 0f3 0e6   110101011 110111011 110111100 110111100 101011110 110111100 011110011 011100110
1aa 1a6 0c3 18c 15e 1bc 143 0e5   110101010 110100110 011000011 110001100 101011110 110111100 101000011 011100101
virtexultra
Beiträge: 138
Registriert: So 9. Dez 2018, 11:30

Re: Kleine Mathematik-Aufgabe

Beitrag von virtexultra »

Ich könnte mir vorstellen das es mit CRC RevEng (https://sourceforge.net/projects/reveng/) möglich ist.
Benutzeravatar
Alexander470815
Beiträge: 2396
Registriert: So 11. Aug 2013, 15:42
Wohnort: D:\Hessen\Gießen

Re: Kleine Mathematik-Aufgabe

Beitrag von Alexander470815 »

Gefühlt kommt da doch immer nur Grütze raus wenn die Polarität vertauscht ist.
Gerade weil 9 Bit eben schon seltsam ist könnte es nicht umgekehrte Polarität, 8 Bit und ein Paritätsbit sein?
Benutzeravatar
sukram
Beiträge: 3118
Registriert: Sa 10. Mär 2018, 18:27
Wohnort: Leibzsch

Re: Kleine Mathematik-Aufgabe

Beitrag von sukram »

Alexander470815 hat geschrieben: Mi 16. Mär 2022, 22:19 Gefühlt kommt da doch immer nur Grütze raus wenn die Polarität vertauscht ist.
Gerade weil 9 Bit eben schon seltsam ist könnte es nicht umgekehrte Polarität, 8 Bit und ein Paritätsbit sein?
Das mit dem Paritätsbit geht nicht auf, wenn man die ersten zwei Zeilen überfliegt, sieht man, dass die Wörter unterschiedliche Anzahl 1en haben und trotzdem das erste oder letzte Bit gleich bleibt - das würde sich bei anderer Polarität oder Odd/Even auch nicht ändern.
Benutzeravatar
ferdimh
Beiträge: 9430
Registriert: Fr 16. Aug 2013, 15:19

Re: Kleine Mathematik-Aufgabe

Beitrag von ferdimh »

Es gab da auch mal ein Protokoll, wo das 9. Bit als Command/Daten-Umschalter verwendet wurde....

Ich kenne kein solches Programm, würde aber gucken, ob ein Telegramm mal 1:1 wiederholt wurde. Dann MUSS sich auch die gleiche CRC ergeben. Die ersten beiden Telegramme sehen so aus, als könnte man hier mit längerem Mitschneiden wirklich zwei genau gleiche finden.
Man könnte der CRC auch mit einer statistischen Analyse zu Leibe rücken: in einer echten CRC müssen an allen stellen 1er und 0er gleich häufig sein... Die sichtbaren Daten sind zu wenige, als dass man da Statistik drauf werfen könnte.
Benutzeravatar
Fritzler
Beiträge: 12604
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Kleine Mathematik-Aufgabe

Beitrag von Fritzler »

ferdimh hat geschrieben: Mi 16. Mär 2022, 23:59 Es gab da auch mal ein Protokoll, wo das 9. Bit als Command/Daten-Umschalter verwendet wurde
Oder um zwischen Adresse und Daten zu unterscheiden für mehrere Slaves an einem Uartbus.
(STM32 können das zB in Hardware!)

Aber das MSB ergibt hier iwie absolut keinen Sinn.
Weder eine Adrdress/Data noch eine Command/Data Umschaltung ist ersichtlich.
Das MSB ist absolut willkürlich mal 0/1, auch in den vermuteten CRC Daten.

irgendwie muss hier wirklich mal noch nachgeforscht werden ob die Daten richtig empfangen werden.
Benutzeravatar
Finger
Administrator
Beiträge: 7485
Registriert: Di 12. Jun 2012, 20:16
Kontaktdaten:

Re: Kleine Mathematik-Aufgabe

Beitrag von Finger »

Vielleiht gibt die Quelle der Daten und deren Kontext ein wenig Aufschluss?
Benutzeravatar
sukram
Beiträge: 3118
Registriert: Sa 10. Mär 2018, 18:27
Wohnort: Leibzsch

Re: Kleine Mathematik-Aufgabe

Beitrag von sukram »

Ich hatte kurz den Verdacht, dass die Bits anders gruppiert werden müssten, dann könnten z.b. CAN Frames draus werden?
Benutzeravatar
Bastelbruder
Beiträge: 11566
Registriert: Mi 14. Aug 2013, 18:28

Re: Kleine Mathematik-Aufgabe

Beitrag von Bastelbruder »

Erstmal muß ich mich über die prompte Antwort mit der gesuchten Weichware bedanken. 5 (fünf) Minuten ist ein sportliches feature dieses Forums.
Leider hat das Programm bisher keinen bekannten Algorithmus gefunden der meine Theorie bestätigt.
Die oben genannten Daten sind vollständige Worte aus dem Redeschwall eines Sensors moderner Kutschen mit dem zugehörigen Steuergerät, der natürlich dem Anspruch "security by obscurity" entspricht. Die häufig auftretenden kurzen Worte, scheinbar ohne Nutzdateninhalt, gibts tatsächlich nur in den 2 jederzeit reproduzierbaren Varianten die wahrscheinlich bloß "ack" oder so bedeuten. Ein paar etwas längere Worte enthalten irgendwie gut verschwurbelt vorangestellt wenige anderswo menschenlesbar notierte Werte. Ich würde halt gerne wissen wie das Versteck organisiert ist. Auch um damit die in dynamisch noch viel längeren Sprechblasen verpackten, eigentlichen Meßwerte lesen zu können.
Der exklusiv bepreiste originale Sensor-Gesprächspartner ist vielleicht zum Jahresende wieder lieferbar. :(

Was noch auffällt, ist die Eigenheit daß es absolut nicht mehr als 4 aufeinanderfolgende bits identischer Polarität gibt.
ch_ris
Beiträge: 3055
Registriert: Mo 30. Nov 2015, 10:08

Re: Kleine Mathematik-Aufgabe

Beitrag von ch_ris »

ist security da ein thema? vielleicht hat das so ein firegewalltes vorauseilendes token....? (name der technik vergessen)
nero
Beiträge: 740
Registriert: Mo 12. Aug 2013, 11:58
Wohnort: Oberbayern

Re: Kleine Mathematik-Aufgabe

Beitrag von nero »

Ist der Idle Pegel 0 oder 1?
Schrauber
Beiträge: 156
Registriert: Di 5. Aug 2014, 08:05

Re: Kleine Mathematik-Aufgabe

Beitrag von Schrauber »

Was für ein Sensor ist es denn ?
Wenn der Sensor und das angeschlossene SG von demselben Hersteller sind haben die oft ein eigenes Bussystem.
Ansonsten bleibt nur noch CAN oder Flexray bei 2-Draht Systemen.
berlinerbaer
Beiträge: 1063
Registriert: Di 22. Aug 2017, 05:19
Wohnort: Berlin

Re: Kleine Mathematik-Aufgabe

Beitrag von berlinerbaer »

Mit den üblichen verdächtigen Decodern in WireShark hast Du vermutlich schon probiert?
KalleGrabowski
Beiträge: 362
Registriert: Di 13. Aug 2013, 20:34

Re: Kleine Mathematik-Aufgabe

Beitrag von KalleGrabowski »

Bit stuffing nach 4 Bit und Automotive: Das riecht sehr nach CAN.
In der einfachen Variante hat die ID da 11 Bits, und es gibt einen Acknowledge Slot...

Von der Fa. Vector gibt es eine Tapete, auf der schön grafisch das ganze Protokoll bis auf Bitebene runtergebrochen ist.
Der Saleae Logic Analyzer can auch CAN.
berlinerbaer
Beiträge: 1063
Registriert: Di 22. Aug 2017, 05:19
Wohnort: Berlin

Re: Kleine Mathematik-Aufgabe

Beitrag von berlinerbaer »

KalleGrabowski hat geschrieben: Do 17. Mär 2022, 14:57 Der Saleae Logic Analyzer can auch CAN.
Alternativ auch diese superbilligen Cypress-chip-basierten Logic Analyzer 8 Kanäle, 24 MHz, die es beim Ali für einstellige Eurobeträge gibt, dazu dann sigrok als software, ist open source und kann CAN (und vieles mehr: https://sigrok.org/wiki/Protocol_decoders).
Benutzeravatar
Bastelbruder
Beiträge: 11566
Registriert: Mi 14. Aug 2013, 18:28

Re: Kleine Mathematik-Aufgabe

Beitrag von Bastelbruder »

Die Kombination Saleale - sigrok ist hier in Gebrauch und geht wirklich einwandfrei, die Freeware hat bloß ein paar zeitraubende Einschränkungen. Wenn ich da an den Logikanalyzer 1980 im Reisekofferformat denke, hat sich in der Richtung schon echt was getan.

Die mitgelieferten Decoder haben allesamt keine sinnvollen Ergebnisse abgesondert, erst mit statistischer Auswertung der Null/Eins-Verteilung wurde der schon vorher am Scope ausgezählte Neuner deutlich erkennbar, der zu allen anderen Dingen wie Wortlängen und statisch/dynamischer Verteilung des Inhalts der einzelnen Bytes paßt. Es hat sich ein einfacher, in der Länge variabler Bit-Mitschrieb als Optimum herausgestellt.

Die Auswertung in Excel/calc ist zwar mühsam, aber die Blondinenweichware ist da und überall verfügbar. Richtig blöh(!)d finde ich an der Stelle, daß alle binären Operationen in Excel/calc nur mit Textformatierten (Hex)DezimalZahlen funktionieren. Ein Binärstring läßt sich nicht verwursten.

Die Datenleitung zwischen den ASICs ist natürlich ein proprietäres Geheimnis, die gemessenen Signale wurden erst viel später an unscheinbarer Stelle in einem Flyer bestätigt. Es handelt sich um eine bidirektionale Eindraht-Schnittstelle bei der eine Seite mit Spannung spricht und die Gegenstelle mit Strom antwortet. Der ehemalige Kutschenfabrikant hat es geschafft, trotz Nichteinhalten von Herstellervorschriften und Mißachtung allgemeiner EMV-Grundsätze um einen Rückruf der neuesten Ökokarre (mit etwas aufwendigeren Korrekturmaßnahmen) herumzukommen. Ziemlich unerwartet gabs nach längerem Herumdoktern an nicht Fahrzeugspezifischen Problemen plötzlich eine neue Steuergeräte-Firmware, die viele vorher zuverlässig gemeldete Ungereimtheiten überhaupt nicht mehr findet. :?

Die Verwendung von high und low (bei miesens wurden in den 70er Jahren die Großbuchstaben L und O verwendet :lol: ) ist nicht bekannt, bloß beim Auswerten entsteht immer häufiger der Verdacht daß die hier verwurstete Pegelzuordnung nicht der aktuell üblichen Vorstellung entspricht. Das ist aber wirklich das allerletzte Problem.
Zuletzt geändert von Bastelbruder am Sa 19. Mär 2022, 10:16, insgesamt 1-mal geändert.
Schrauber
Beiträge: 156
Registriert: Di 5. Aug 2014, 08:05

Re: Kleine Mathematik-Aufgabe

Beitrag von Schrauber »

Also zu Eindraht-Bus ältern Baujahres fällt mir spontan K-Line ein.
Wenn die "Kutsche" neuer ist dann wohl LIN.
Benutzeravatar
Weisskeinen
Beiträge: 3950
Registriert: Di 27. Aug 2013, 16:19

Re: Kleine Mathematik-Aufgabe

Beitrag von Weisskeinen »

Und der geneigte Leser weiß immer noch nicht, um was für einen Sensor in was für einer Kutsche es sich handelt. Auch nicht, wie schnell sich der Redeschwall ergießt. Sorry, aber wenn man ein Protokoll entschlüsseln soll, ist jedes Fitzelchen an Information wertvoll, wird aber zurück gehalten...
Gary
Beiträge: 4903
Registriert: Mo 12. Aug 2013, 01:02

Re: Kleine Mathematik-Aufgabe

Beitrag von Gary »

Weisskeinen hat geschrieben: Fr 18. Mär 2022, 00:39 Und der geneigte Leser weiß immer noch nicht, um was für einen Sensor in was für einer Kutsche es sich handelt. Auch nicht, wie schnell sich der Redeschwall ergießt. Sorry, aber wenn man ein Protokoll entschlüsseln soll, ist jedes Fitzelchen an Information wertvoll, wird aber zurück gehalten...
Eine doppelte Verschlüsselung und schon der Titel ist irreführend..
Benutzeravatar
Bastelbruder
Beiträge: 11566
Registriert: Mi 14. Aug 2013, 18:28

Re: Kleine Mathematik-Aufgabe

Beitrag von Bastelbruder »

Spekulationen über inzwischen 20 Jahre alte Bussysteme sind zwar nett, aber hier wirklich nicht hilfreich. Das aktuelle System ist bei den deutschen Fahrzeugherstellern erst seit etwa 4 Jahren angekommen und es finden sich dazu wirklich noch keine Details im Netz. Und nochmal: es handelt sich in diesen speziellen Fall nicht um einen Bus sondern um eine Direktverbindung zwischen zwei ASICs, keine Ähnlichkeit mit K oder LIN. Ein in Entwicklung befindlicher EindrahtBUS der ziemlich autark arbeitende Sensoren ohne spezielles "Steuer"gerät mit dem Fahrgehirn verbinden soll und wahrscheinlich zuerst im Tesla eingebaut werden wird, wurde wurde übrigens erst dieses Jahr angedroht.

Mit LIN werden aktuell nur noch der Arschtrittsensor ("Virtuelles Pedal" zum Öffnen der Heckklappe) und diverse Kühlluft- oder Auspuffklappen angesteuert.
Kurzzeitig gabs mal Klaufix-Antennenmodule (Ready to go, oder Keyless ...) mit LIN. Alle sind inzwischen auf CAN umgeschwenkt, sicherheitskritische Radarsysteme von CAN auf Flexray.
Hauptverwendung von LIN ist inzwischen die Fahrerbespaßungsorgie "Las Vegas" - oder eher Stenkelfeld?

Zurück zum Ursprungsthema: Leider hat das CRC-Tool keinen passenden Algorithmus in seiner Datenbank gefunden, aber mein Gefühl bleibt bei CRC. Den Rest kriegen wir auch noch raus. Ich werde berichten.
Benutzeravatar
Fritzler
Beiträge: 12604
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Kleine Mathematik-Aufgabe

Beitrag von Fritzler »

Bastelbruder hat geschrieben: Fr 18. Mär 2022, 08:44 aber mein Gefühl bleibt bei CRC
Solange da aber noch das 9.bit rumnervt wirds schwierig mit der CRC Entschlüsselung.
Das könnte eine der vielen CRC16 sein, aber manchmal ist bit 9 0 oder 1, das ist doof beim Rätseln.
CRC17 wird bei CAN genutzt, aber ne CRC18 wär mir nicht bekannt.
Ollie Garch
Beiträge: 83
Registriert: Di 27. Okt 2020, 01:59

Re: Kleine Mathematik-Aufgabe

Beitrag von Ollie Garch »

Ist das vielleicht mit ROT13 verschlüsselt?

ach nee, das ist ja wer anders...
Benutzeravatar
Bastelbruder
Beiträge: 11566
Registriert: Mi 14. Aug 2013, 18:28

Re: Kleine Mathematik-Aufgabe

Beitrag von Bastelbruder »

ROT13 ist eine nette Idee, das Spiel hat schon meine Mutter anno '50 gespielt und sie hat sich zuletzt dran erinnert wie er drum ging an ihrem neuen Fernseh-Kabelmodem (sie hat weder Händi noch Komposter) ein gesichertes WLAN für Besucher einzurichten. Sogar in der M$-Registry wird ein Teil mit ROT13 vor dem durch den User unerwünschten Zugriff verborgen.

Heute Nachmittag wollte ich eigentlich noch mit etwas älteren Firmwareversionen des Steuergeräts spielen, aber das ist an inzwischen inkompatiblen Speichermedien gescheitert. M$-W10 ist echt zum Kotzen!

Mit zunehmender Zahl mitgeschriebener Sprechblasen (inzwischen über 120 verschiedene Sensoren) wurde die einfache Korrelation bekannter Daten mit Teilen des Redeschwalls immer schlechter, doch beim Experimentieren mit der Bitmathematik der Blondinenweichware (es funktionieren in Excel/calc nur Dezimalzahlen die als Text formatiert und maximal 10 Bits lang sind) ist plötzlich ein korrelierendes Zahlenpärchen aufgetaucht, daraufhin wurden gezielt zwei weitere Pärchen gefunden und die Rechenformel bestätigt. :D

Nach etwas überzogener Arbeitszeit - Ihr kennt das sicher auch: "Wenn's gerade läuft" - habe ich abgebrochen und bin in den Stammbesen umgezogen der heute nach einem Jahr endlich wieder mal offen ist. Die Kultur muß auch gepflegt werden.

Die Glaskugel wird langsam durchsiuchtig. Natürlich sind Eisen und Nullen vertauscht, Zahlen sind nicht BCD sondern binär versteckt, und die Neunertheorie verhärtet sich. Irgendwo rollt da vielleicht noch ein weiterer Würfel, eventuell sind auch bloß zwei Bitwertigkeiten vertauscht.

Ich denke daß Montagabend die Trübungen zumindest einem schwarzweißen Bild gewichen sind. Wenn das Protokoll sicher geklärt ist, kann ich die Idee vielleicht mit ein paar Beispielen erklären, Ähnlichkeiten mit bekannten Hardwareherstellern sind rein zufällig und nicht beabsichtigt. Vielleicht ist diese Art der Datenübertragung auch für andere Anwendungen intererssant, die Schnittstellenhardware ist jedenfalls mit relativ wenigen Standardbauteilen primitiv zu realisieren.

Bloß der mit 18Bit bestärkte CRC-Generator bleibt ein Rätsel.
Benutzeravatar
video6
Beiträge: 6797
Registriert: Mi 23. Sep 2015, 09:18
Wohnort: Laage bei Rostock

Re: Kleine Mathematik-Aufgabe

Beitrag von video6 »

Ich verstehe hier leider immer nur Bahnhof 🙁
Rot 13?
Soll ein Steuergerät belauscht werden vom Auto neueren Baujahres?
Gibt es dafür keine Dokumentation oder ist das militärisches Geheimnis?
Benutzeravatar
Bastelbruder
Beiträge: 11566
Registriert: Mi 14. Aug 2013, 18:28

Re: Kleine Mathematik-Aufgabe

Beitrag von Bastelbruder »

Ich habe keine selbst erfundenen Abkürzungen verwendet wie es manchen Fragestellern immer wieder passiert.

Drei eigentlich unnötige Fragen, darauf drei Antworten:
[*]Die Erklärung zu Rot13 findet man unter Anderem bei Google und Wikipedia.
[*]Es soll nicht belauscht werden, es wird selbstverständlich von Anfang an von einigen Mitbewerbern eifrig mitgehört, bloß scheint noch niemand das Puzzle gelöst zu haben. Die Produktion einiger beteiligter Autos soll endlich begonnen werden. Mehr dazu weiter unten.
[*]Im zweiten Beitrag hatte ich bereits "security by obscurity" erwähnt, diese Redewendung kennen nicht nur die üblich verdächtigen Auskunfteien des Internets, die sollte seit DRM (Digitalem RestriktionsManagement, ist auch nicht neu aber mehrdeutig) jeder kennen.

Den gemeinsamen Rahmen der Einzelpuzzles hatte ich schon mit dem Oszilloskop gefunden, alle Ränder sind ein Vielfaches von neun Klötzchen breit, der in der Schule gelehrte Achter paßt nicht, auch nicht mit Zusatzzahl "Parity". Sogar die 5 Bit Tickersprache Baudot und 6 Bit Blindenschrift wurden in Betracht gezogen und verworfen. In einer Ecke jedes Bilds habe ich dann eine immer ähnliche Zufallsstruktur gefunden, die irgendwie garnicht zu den erwarteten Bildern passen will, aber sie ist bei gleichen Bildern ebenfalls identisch und enthält wieder die Neun. Nur darauf bezog sich meine Frage, ich vermute weiterhin ein CRC dessen Algorithmus auf Grund der völlig unüblichen Abmessungen kaum bekannt ist. Ich bin etwas älter und war bloß auf der Mittelschule und weil Bleihaltiges Lötzinn meine tatsächlich bevorzugte Programmiersprache ist, habe ich eine einzige Frage gestellt. Die wurde bereits nach fünf Minuten mindestens mit Schulnote "Gut" beantwortet, die wiederum führte leider bloß (noch) nicht zum Ergebnis, das scheint aber auch kaum noch relevant weil es im Fall von CRC wirklich keine Zusatzinformation enthält. Aktuell ist der Bereich nicht mehr unter Beobachtung. Alle Telegramme können für den hier beabsichtigten Zweck einfacher zweimal abgefragt und auf Konsistenz geprüft werden, das dauert in der Praxis eine viertel Sekunde.

Der Hersteller des Systems wird nicht genannt werden, das ist absolut vertraulich, einen der deutschen Anwender habe ich erwähnt, da war tatsächlich mal was mit einer Kutsche.

Das Auspacken weiterer Bilder des Puzzlepakets hat die anfängliche Euphorie stark gedämpft, es fanden sich immer weniger Gemeinsamkeiten. :(
Gestern aber haben sich ein paar Puzzleteile im Inneren der Sammlung zusammengefunden, mit deren Struktur ich nach kurzer Suche Duplikate in anderen Bildern zusammenfügen konnte und die geben einen Sinn. Achja, alles Neunerblöcke, und die Codierung diverser Ziffernfolgen ist jetzt auch ziemlich geklärt. Ziemlich sicher finde ich auch noch den Rest, es wurden doch hoffentlich alle Puzzles der Sammlung mit derselben Stanzform zerschnitten. 8-)

Es handelt sich um ein Sensorsystem, das vor der Fahrzeug-Endmontage natürlich geprüft werden muß. Nein, auch den Sensortyp kann ich nicht nennen, ok - es ist ein etwas ungewöhnliches Radar mit für die verwendete Technik unglaublichen Rafinessen wie Chirp, Doppler, Amplitudenkorrelation zur Erkennung und Unterscheidung der gefundenen Ziele. Es wird hier keiner der üblichen Suchmaschinenbegriffe erscheinen, sonst muß ich abbrechen. Vielleicht gibts auch einen Beitrag zur nächsten Postille. Die zehn Spezialisten im Forum und bei den anonymen Lesern ahnen längst was es ist, bloß kann ich meine Arbeit nicht an Google verschenken, auch Trollinger kostet Geld.

Der Hersteller hat für die Prüfung ein spezielles Steuergerät gebaut welches nicht nur ziemlich exklusiv (fünfstellig) bepreist ist, sondern auf absehbare Zeit auch nicht geliefert werden kann. Wenn alle Systemlieferanten diese Bremspolitik weiterverfolgen, können nächstes Jahr in Deutschland vielleicht wieder Pferdekutschen produziert werden. Das paßt dann auch zu Öko und Tempo 30, und Hufeisen haben wir gewiß noch ein paar in Reserve.

Die sehr sparsamen Diagnoseausgaben der Testmimik die natürlich etwas häufiger als hochsporadisch falsche/irrelevante Fehler absondern, haben in der Vergangenheit bei einigen Kunden deren Schlagzahl nennenswert verringert und mir in Folge in 2019 mehrere Dienstreisen durch ganz Deutschland beschert die ich weder den Kunden noch dem Verursacher Rechnung stellen konnte. Im Gegenteil, der Verursacher stritt seine Zuständigkeit ab, obwohl eine andere Abteilung desselben Ladens die Fahrzeugsteuergeräte zwangsweise etwas justiert hat. Erst ein halbes Jahr nach meiner Meldung des weiter oben beschriebenen Unfalls wurde die Test-Firmware an das eigentlich nicht zulassungsfähige Oberklassen-Fahrzeug angepaßt. Naja, das fährt erstmal bloß in China, die Konstruktionszeichnungen sind aber alle mit deutschen Namen gezeichnet.
Ich bin immer noch leicht angesäuert, aber die Selbstmedikation entfaltet langsam ihre Wirkung und läßt in Kürze vollständige Heilung erwarten.

Ach nochwas, der Sensordatenstrom ist wirklich nicht geheim oder nur von Geheimnisträgern abzurufen, man kann ihn jederzeit mit identisch raubkopierten Befehlen auslösen. Bloß lesen und bewerten darf den bisher nur das bis zum Jahresende nicht lieferbare Spezialsteuergerät. Ich bin dran das zu ändern, meine aus Pollin-Surplus zusammengestupfte 30€- Hardware funktioniert seit zwei Wochen.

Im Gegensatz dazu muß beim weiter oben erwähnten, LIN-konformen Arschtrittsensor vom Steuergerät innerhalb 100 ms eine immer andere Matheaufgabe gelöst werden damit der Sensor überhaupt reagiert und nicht gleich wieder einschläft.

Ich hoffe daß das nicht zu lang war, mich ruft der Trollinger zum Besen, Mahlzeit!
Benutzeravatar
Bastelbruder
Beiträge: 11566
Registriert: Mi 14. Aug 2013, 18:28

Re: Kleine Mathematik-Aufgabe

Beitrag von Bastelbruder »

Soodele, CRC wurde mit dem empfohlenen Programm bestätigt, nochmal Dank an virtexultra! Und Dank an alle die die Kugel poliert haben.

Schwierigkeiten waren tatsächlich durch die ungewöhnliche Bytelänge von 9 Bit bedingt.
Tatsächlich gibt es da einen Trick, um die ebenfalls erwähnte Bauvorschrift des Datenstrings
Was noch auffällt, ist die Eigenheit daß es absolut nicht mehr als 4 aufeinanderfolgende bits identischer Polarität gibt.
zu gewährleisten.

Details muß ich allerdings noch ein paar Tage zurückhalten, Beschreibungen gibt es zwar aber sie sind nicht der Allgemeinheit zugänglich. Mir auch nicht, wahrscheinlich sitzt da irgendeine der NoSuchAgencys drauf. Ich denke daß die Postille ein geeigneter Ort für solch ungewöhnliche und doch vollkommen logische Tricks ist.

Also CRC funktioniert und etwa die Hälfte des Puzzle ist gelöst. :mrgreen:
Ollie Garch
Beiträge: 83
Registriert: Di 27. Okt 2020, 01:59

Re: Kleine Mathematik-Aufgabe

Beitrag von Ollie Garch »

Bin ja sehr gespannt. Muss ja irgendwie hiermit zusammen hängen (der deutsche WP-Artikel ist recht kurz; EN ist ausführlicher):

https://en.wikipedia.org/wiki/Run-length_limited

aber weiter hineingeforscht hab ich jetzt auch nicht.
TDI
Beiträge: 2641
Registriert: Fr 28. Jun 2013, 09:43
Wohnort: plattdeutsches Nordland

Re: Kleine Mathematik-Aufgabe

Beitrag von TDI »

Hab zwischendurch schon gedacht, ob da ein Code im Einsatz ist, der eine bessere Taktrückgewinnung ermöglicht.
Aber ob das zwischen zwei Chips auf einer Platine nötig / üblich ist? Hm...
Benutzeravatar
ferdimh
Beiträge: 9430
Registriert: Fr 16. Aug 2013, 15:19

Re: Kleine Mathematik-Aufgabe

Beitrag von ferdimh »

Wenn das ganze tatsächlich asynchron ist, dann sind die Start/Stop-Bits für die Taktrückgewinnung schon da.
Solche Tricks werden nur interessant, wenn man synchron überträgt...
Aber ich will nicht ausschließen, dass dieses kleine Detail in mittleren Ebenen einer Automotivebastelbude unbekannt ist...

Mindestens ich habe schon offensichtlichen Bockmist gemacht, weil der Chef darauf bestanden hat, dass man Sachen hier ORDENTLICH macht. Und ORDENTLICH heißt halt, man baut Dinge so, dass Probleme, die der Chef sieht, im Horizont des Chefs sichtbar gelöst wurden (selbst wenn das Problem nicht existiert, oder man sogar zusätzliche Fehler einbauen muss).
Benutzeravatar
8051fan
Beiträge: 596
Registriert: Fr 16. Aug 2013, 21:06

Re: Kleine Mathematik-Aufgabe

Beitrag von 8051fan »

Früher gab es bei 8-Bit uCs (z.B. 8051) einen 9-Bit Modus.
Das 9. Bit wurde gerne gesetzt, wenn am Anfang vom Telegramm die Adresse gesendet wurde.
Interrups konnten so programmiert werden, das das gesetzte 9. Bit einen Interrupt auslöst.
Die Slaves konnten dann prüfen, ob das Telegram für sie interessant ist um dann erst auf jedes UART-Zeichen zu reagieren.
Damit konnte bei langsamen uCs die Interrupt-Last reduziert werden.
Ollie Garch
Beiträge: 83
Registriert: Di 27. Okt 2020, 01:59

Re: Kleine Mathematik-Aufgabe

Beitrag von Ollie Garch »

@TDI: Na ja, im gegebenen Fall geht es ja aus dem Sensor heraus in das Steuer/Prüfgerät. Da kann ziemlich viel Dreck einstreuen, nicht zuletzt aus anderen Geräten im selben Vehikel. Das gilt in beide Richtungen, d.h. die Datenübertragung muss schon ordentlich robust sein.

Ich fabuliere mal so dahin:

10101111+0 heißt "Achtung, gleich kommt was" + Parity. Dieses Signal darf nirgendwo sonst im Datenstrom auftauchen, weil der Empfänger darauf synchronisiert.

Danach kommt ein Kommando und eine Adresse ("Nummer 2, schreib mal deinen XY-Wert"). Länge der Teile: noch offen.

Es gibt lange und kurze Kommandos, siehe die Zeilenumbrüche im ersten Posting.

Die Lauflängenkodierung (Taktrückgewinnung) ist der oberste Layer (ich sach mal "n") der Codierung. Sie darf nicht an die Wortgrenzen gebunden sein. Das wär ja Unsinn, es können im nächst niedrigen Layer 5 Einsen oder Nullen auch über die Wortgrenzen entstehen, und dann ist der Takt weg. Wenn sie zuschlägt (irgendwelche Bits verändert), erwischt sie gelegentlich auch die Parity-Bits. D.h. da, wo die Parity nicht aufgeht, wurden Serien von 1en oder 0en ersetzt (kann aber aber anderswo passieren). Dadurch kann auch das "Achtung"-Signal irgendwo mittendrin entstehen. Macht aber nichts, weil der Empfänger zuerst den obersten Layer aufdröseln muss. Aber: überall wo die Parity nicht aufgeht, oder ein "Achtung" zustande kommt, hatte der Originalstrom 1er oder 0er-Sequenzen. Jetzt ist die Frage, wie der Empfänger weiß, was er wieder zurück kippen muss, damit Layer n-1 rauskommt. Mindestens die 'kaputten' Parity-Bits werden da bei sein.
Aber wenn just die Parity durch einen Fehler gekippt wurde ...?
Und wenn das einfach nur die erste Bastler- und CopyCat-Bremse darstellt (man will ja das eigen edle Steuer/Prüfgerät verscherbeln)?
Fragen, Fragen ...
Benutzeravatar
Bastelbruder
Beiträge: 11566
Registriert: Mi 14. Aug 2013, 18:28

Re: Kleine Mathematik-Aufgabe

Beitrag von Bastelbruder »

Hier ist das noch etwas intelligenter(?) gelöst. Der Sensor kriegt erstmal ein paar Päckchen Sync-Bytes und darf darauf seinen RC-Taktgenerator abgleichen. Dann werden nur zur Funktionsprüfung alle möglichen Daten ausgelesen und ganz zum Schluß darf der Sensor wirklich messen und seine Erkenntnisse übermitteln.
Damit das alles konsistent ist, wird jede Antwort mit CRC abgeschlossen. Parity gibts wirklich nicht. Auch die Telegramme mit Meßdaten sehen aus wie alle vorhergegangenen Antworten, bloß funktioniert der ursprüngliche Schlüssel :lol: nicht, obwohl die Bytes augenscheinlich dasselbe Format haben. Weit gefehlt!
Immerhin weiß ich seit heute daß der Sensor nicht bloß mit ack sondern auf sinnfreie Befehle auch mit nack antworten kann, selbstverfreilich mit korrekter CRC! :D

Beim Werken mit (crc)reveng.exe kommt plötzlich ein komischer Fehler - die Datei sei (mit W10) nicht ausführbar - ich möge mich beim Entwickler nach einer neuen Rev erkundigen. Ist es möglich, daß die echse zwischenzeitlich von irgendwelchen Schlangenölfabrikanten durch eine Null-Byte-Datei ersetzt wird?

Das Thema gärt noch. Kryptologie, Security, Statistik, Obscurity und wie die Begriffe alle heißen sind ein wirklich interessantes Thema. Und ich dachte ich sei bloß für Hardware zuständig, aber die ist längst fertig und scheint zu funktionieren.
virtexultra
Beiträge: 138
Registriert: So 9. Dez 2018, 11:30

Re: Kleine Mathematik-Aufgabe

Beitrag von virtexultra »

Ich habe hier unter Win10 19042.1526 keine Probleme. Habe auch im Bugtracker nichts gefunden, dafür das Ganze als Online-Version: https://crc-reveng.septs.app/
Benutzeravatar
Bastelbruder
Beiträge: 11566
Registriert: Mi 14. Aug 2013, 18:28

Re: Kleine Mathematik-Aufgabe

Beitrag von Bastelbruder »

Nochmal zur reveng.exe, die Arbeitskopie hatte plötzlich nur noch null Bytes. Win-popup hat was von "auf diesem BS nicht ausführbar" und "guck nach neu" gefaselt, in der Konsole kam anschließend "Zugriff verweigert". Ich hab dann (Freitag ca. 18:00) auf dem nächsten Rechner weitergespielt. Bis ich den Fehler gespannt habe, hat's eine Weile gedauert, auch der Sysadmin hat sich gewundert. Irgendwie schwer zu erklären, am Programm liegts nicht.

Nochmal zur Kommunikation: Der Sensor ist absolut hörig, er antwortet nur auf spezielle Anfragen (und sehr ähnliche auch mal mit nack).

Noch ist das Puzzle nicht vollständig gelöst, etwa 1/4 der Daten sind irgendwie komisch. Die Telegramme sehen auf den ersten und zweiten Blick genau so aus wie alle anderen. Scheinbar 2 Byte Header, 10, 14, 18 (oder so) Bytes Daten gefolgt von 4 Bytes Header+CRC, aber das ist alles fake. Der offensichtlichste Fehler ist Nichteinhalten der Bauvorschrift "nicht mehr als 4 gleiche Bits". Es stehen auch mal 11, 12, 14 und sogar 16 Einsen direkt hintereinander. Trotzdem sieht das Auge immer wieder Regelmäßigkeiten, wenn man viele solcher Binärstrings untereinander schreibt.
Ich denke daß die Statistik hier wieder mal hilfreich werden könnte, bloß geht das mit dem Blondinen-Office wirklich nicht.

Gibts irgendein Programm, das mit bis 255 Bit langen Strings umgehen kann und beispielsweise die Verteilung der Zahlenwerte in beliebig verschobenen 6..16 bit Teilstrings ausgibt?
Benutzeravatar
sukram
Beiträge: 3118
Registriert: Sa 10. Mär 2018, 18:27
Wohnort: Leibzsch

Re: Kleine Mathematik-Aufgabe

Beitrag von sukram »

Bastelbruder hat geschrieben: Mo 4. Apr 2022, 15:00 Gibts irgendein Programm, das mit bis 255 Bit langen Strings umgehen kann und beispielsweise die Verteilung der Zahlenwerte in beliebig verschobenen 6..16 bit Teilstrings ausgibt?
Hast du Perl griffbereit?
z.B. damit kann man das auf Fusspilzbene bauen
https://perldoc.perl.org/functions/pack
Benutzeravatar
Bastelbruder
Beiträge: 11566
Registriert: Mi 14. Aug 2013, 18:28

Re: Kleine Mathematik-Aufgabe

Beitrag von Bastelbruder »

Auweh!
Ich sehe erstmal daß mit pack in perl die vielen unterschiedlichen String-Schreibweisen problemlos untereinander konvertiert werden können. Das sieht schonmal genial einfach aus.

Bloß muß ich mich wohl irgendwie mit einigen in der Konsole verfügbaren Programmen anfreunden. Ob ich das alles irgendwann noch begreife? Mit Siemens-(um 1982) und Atari-Basic (um 1988) hab ich mal etwas länger gespielt. Und ein paar elementare Befehle in DOS, CP/M, (Apfel-)Unix waren vor 30 Jahren immer wieder hilfreich. Ein paar PICs habe ich letztes Jahrhundert mal programmiert, in Assembler von Hand und ohne IDE.
Seither bin ich Konsument bei Windoze. :(

Ich befürchte daß ich die Aufgabe an jüngere Kollegen deligieren muß, da kann ich bloß meine paar Ideen beisteuern.
Benutzeravatar
Hightech
Beiträge: 11497
Registriert: So 11. Aug 2013, 18:37

Re: Kleine Mathematik-Aufgabe

Beitrag von Hightech »

Zahlen und so Zeug machen die meisten mit python.
In python wird ja auch das ganze KI Zeug gemacht, das sind mal echt viele Daten.
Antworten