Abo
  • Services:

Reverse Engineering: Wie ich Linux auf dem Oszilloskop installierte

Die Open-Source-Community liebt es, Linux selbst auf vermeintlich geschlossenen Systemen zu installieren. Ich habe Linux auf einem Digital-Oszilloskop zum Laufen gebracht.

Eine Anleitung von Christer Weinigel, übersetzt von veröffentlicht am
Linux auf einem Digital-Oszilloskop
Linux auf einem Digital-Oszilloskop (Bild: Christer Weinigel)

Ob Fernseher, Router oder Kinder-Handheld, die Liste der Geräte, auf denen Linux von Nutzern installiert wurde, ohne dass es der Hersteller vorgesehen hat, wird immer länger. Doch wieviel Aufwand steckt eigentlich dahinter? Welches Wissen ist notwendig, welche Software-Werkzeuge?

Christer Weinigel, freiberuflicher Ingenieur, hat in seinem Blog eine Artikelserie publiziert, in der er beschreibt, wie er ein Oszilloskop per Reverse Engineering analysiert hat und noch analysiert. Mit den dabei bereits erworbenen Kenntnissen über die Hardware und die Firmware gelang es ihm, eine lauffähige Linux-Installation aufzusetzen und auch die besonderen Fähigkeiten des Oszilloskops zur Signalanalyse unter Linux nutzbar zu machen.

Der Autor hat uns erlaubt, seine Artikel ins Deutsche zu übersetzen und dabei einige Kürzungen und Ergänzungen vorzunehmen, damit der Inhalt auch Einsteigern verständlich ist.

Ein Oszilloskop zum Hacken

Vor ein paar Jahren habe ich mir ein OWON-SDS7-102-Oszilloskop gekauft. Die Spezifikationen sahen gut aus: angemessene Bandbreite und Sampling-Raten, ein großes, helles Display, Akkubetrieb und Anschlüsse für USB und Ethernet. In der Praxis zeigten sich aber einige Macken, manches funktionierte nicht richtig.

  • Dieses Oszilloskop wird gehackt. (Foto: Christer Weinigel)
  • Frontseite des Mainboards (Foto: Christer Weinigel)
  • Rückseite des Mainboards (Foto: Christer Weinigel)
  • Serieller Anschluss (Foto: Christer Weinigel)
  • Serieller Anschluss und JTAG sind herausgeführt. (Foto: Christer Weinigel)
  • Linux läuft! (Foto: Christer Weinigel)
Dieses Oszilloskop wird gehackt. (Foto: Christer Weinigel)
Stellenmarkt
  1. BRZ Deutschland GmbH, Nürnberg
  2. ACP IT Solutions AG, Bielefeld

Trotzdem war es mir als Zweitgerät nützlich. Zumeist musste ich die Übertragung einer I2C- oder SPI-Verbindung prüfen und dabei störten die Einschränkungen des Gerätes nicht. Sein großes Display und die intuitiv angeordneten Bedienungselemente machen es hier zu einem guten Werkzeug. Außerdem passt es in eine alte Laptoptasche, und weil es preiswert war, mache ich mir auch keine Gedanken, dass es beim Transport kaputtgehen könnte. Für unterwegs ist auch der Akkubetrieb von Vorteil.

Ich habe es aber auch noch aus einem anderen Grund gekauft. Andere Nutzer haben es bereits auseinandergenommen und deshalb wusste ich, dass darin ein System-on-a-Chip (SoC) von Samsung steckt sowie ein Spartan-6-FPGA. Mit beiden bin ich vertraut. Im Hinterkopf hatte ich die Idee, einmal ein wenig Reverse Engineering zu betreiben und damit Verschiedenes auszuprobieren. Zwei Jahre nach dem Kauf setzte ich die Idee in die Tat um.

Was ist Reverse Engineering?

Die Idee hinter Reverse Engineering ist es, ein fertiges System von jemandem anzuschauen und dessen Funktion und Entwicklung zu verstehen.

Es gibt bereits eine große Diskussion zum Oszilloskop im Forum des EEVBlogs und große Teile des Gerätes wurden bereits analysiert. Allerdings konzentrieren sie sich stark auf die analogen Parts, meine Neugier galt hingegen der digitalen Verarbeitung und der Firmware.

Das Oszilloskop wird zerlegt

Am Anfang wird das Gerät zerlegt, um herauszufinden, aus welchen größeren Bestandteilen es besteht. Ich öffnete das Oszilloskop und entfernte Bauteile, bis ich auf das Mainboard stieß, das die eigentliche Arbeit verrichtet.

Als Nächstes galt es, die wichtigsten Bauelemente auf dem Mainboard zu finden und eine Vorstellung davon zu entwickeln, wie sie zusammenarbeiten.

Die Bauteile auf der Frontseite

Hier ist die Seite der Mainboard-Platine zu sehen, die der Vorderseite des Oszilloskops zugewandt ist.

  • Dieses Oszilloskop wird gehackt. (Foto: Christer Weinigel)
  • Frontseite des Mainboards (Foto: Christer Weinigel)
  • Rückseite des Mainboards (Foto: Christer Weinigel)
  • Serieller Anschluss (Foto: Christer Weinigel)
  • Serieller Anschluss und JTAG sind herausgeführt. (Foto: Christer Weinigel)
  • Linux läuft! (Foto: Christer Weinigel)
Frontseite des Mainboards (Foto: Christer Weinigel)

Der Anschluss zur LCD-Platine ist in der oberen linken Ecke, eine Steckverbindung zum Frontpanel des Oszilloskops mit all seinen Tastern und Knöpfen ist in der rechten oberen Ecke. Der quadratische Chip im oberen Teil ist mit "Chrontel 7026B-TF" beschriftet. Eine kurze Internetsuche bestätigt, dass es sich um einen 7026B TV/VGA Encoder der Firma Chrontel handelt. Ansonsten gibt es nicht hier nicht viel zu sehen. Die Schaltkreise, an die die Tastköpfe des Oszilloskops angesteckt werden (Analog-Frontend - AFE), sind durch eine Abschirmung verdeckt. Ich will die Abdeckung lieber nicht entfernen, wenn ich nicht muss. Jemand namens tinhead hat das im EEVblog bereits getan.

Die Bauteile auf der Rückseite

Für mich deutlich interessanter ist die Rückseite mit ihren elektronischen Chips. Das quadratische Bauteil im oberen Teil ist ein Samsung-S3C2416-SoC. Links von der CPU befindet sich ein Metallobjekt mit dem Aufdruck 12.0000M. Bei solchen Metallteilen handelt es sich immer um einen Quarz, hier um einen 12MHz-Quarz für den SoC. Auf dem Bauteil rechts vom SoC ist Samsung K9F1G08U0C aufgedruckt. Eine schnelle Suche sagt mir, dass es sich um einen 128M-x-8Bit-NAND-Flash-Speicher handelt. Den sichtbaren Leiterbahnen auf der Platine nach ist er mit dem SoC verbunden, darauf ist wahrscheinlich die Firmware gespeichert. Das Bauteil unter dem SoC ist ein Hynix H5PS5162GFR - entweder ein 32- oder 64-MByte-DDR2-Speicherbaustein. Dessen Leiterbahnen führen ebenfalls zum SoC.

  • Dieses Oszilloskop wird gehackt. (Foto: Christer Weinigel)
  • Frontseite des Mainboards (Foto: Christer Weinigel)
  • Rückseite des Mainboards (Foto: Christer Weinigel)
  • Serieller Anschluss (Foto: Christer Weinigel)
  • Serieller Anschluss und JTAG sind herausgeführt. (Foto: Christer Weinigel)
  • Linux läuft! (Foto: Christer Weinigel)
Rückseite des Mainboards (Foto: Christer Weinigel)

Der Chip rechts unterhalb des SoC ist ein Xilinx-Spartan-6-XC6SLX9-FPGA. Darüber befindet sich ein weiterer Hynix-DDR2-RAM-Baustein, dessen Leiterbahnen zum FPGA führen. Der Speicher nimmt vermutlich die analogen Messdaten auf. Eine große Anzahl von Leiterbahnen führen zu einem großen Bauteil mit einem National-Semiconductor-Logo darauf und den Bezeichnungen VE206ABE2 und S7002952. Eine direkte Internetsuche zu diesen Bezeichnungen ergibt zuerst keine Ergebnisse, aber nach einer intensiveren Recherche scheint es ein ADC08D500 zu sein, ein 8-Bit-Analog/Digital-Konverter (ADC). Er kann zwei Kanäle mit je 500 Msamples pro Sekunde oder einen Kanal mit 1 Gsample pro Sekunde analysieren. Das entspricht den Spezifikationen des Oszilloskops. Zwei verschiedene Paare von Leiterbahnen verschwinden unter der Abdeckung und scheinen die ADC-Daten vom Analog-Frontend zu liefern.

Links vom ADC befindet sich ein Bauteil, das mit ADF und 4360-7 beschriftet ist, es ist ein "350 to 1800MHz Integrated synthesizer and VCO" von Analog Devices. Die Bauteile darüber und links davon sind mit "0.100000" und "DCP1311 1315" markiert. Darüber konnte ich keine Informationen finden, aber ich vermute, es handelt sich um Quarzoszillatoren, die als Referenzquellen für den ADF4350-Synthesizer dienen.

Nahe des Ethernet-Anschlusses befindet sich ein Micrel-KSZ8851-Single-Port-Ethernet-MAC/PHY. Daneben befindet sich wieder ein Metallobjekt mit der Aufschrift L25.000M, von dem zwei Leiterbahnen zu den Taktpins des KSZ8851 führen. 25 MHz ist eine typische Frequenz für Ethernet-Chips - und das ist offensichtlich der zugehörige Taktquarz.

Schließlich gibt es noch ein Bauteil mit der Aufschrift AT88SC 0401CA, für das ich kein direktes Datenblatt finden konnte. Wahrscheinlich ist es ein Krypto-Chip von Atmel, der die Seriennummer des Gerätes enthält und verifizieren kann.

Auf der Suche nach neuen Kontakten 
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8.  


Anzeige
Top-Angebote
  1. (u. a. The Revenant, Spider-Man Homecoming, Jurassic World)
  2. (aktuell u. a. Intel NUC Kit 299€, ASUS ROG MAXIMUS XI HERO (WiFI) Call of Duty Black Ops 4...
  3. 3,79€
  4. (u. a. Shadow of the Tomb Raider Croft Edition 39,99€)

grslbr 22. Nov 2016

+1 Mehr davon und ich abonniere auch. Und wie laoladabamba sagt, die Weltraumartikel...

grslbr 22. Nov 2016

Aber ehrlich. Wenn's nur News über neue Grafikkarten gibt heulen die selben Leute über...

cherubium 22. Nov 2016

ich seh das ja auch immer mit einem zwinkernden Auge. Entwickler sollen entwickeln und...

maze_1980 22. Nov 2016

Die Chancen dass es ein Linux ist sind relativ gross. Würde es mich interessieren hätte...

okidoki 22. Nov 2016

Hier kann man mal sehen, was Fachkraft wirklich bedeutet. *Davon* haben wir zu wenige.


Folgen Sie uns
       


Padrone-Maus-Ring angesehen (CES 2019)

Der Ring von Padrone soll die Maus überflüssig machen - wir haben ihn uns auf der CES 2019 angesehen.

Padrone-Maus-Ring angesehen (CES 2019) Video aufrufen
Raspberry Pi: Spieglein, Spieglein, werde smart!
Raspberry Pi
Spieglein, Spieglein, werde smart!

Ein Spiegel, ein ausrangierter Monitor und ein Raspberry Pi sind die grundlegenden Bauteile, mit denen man sich selbst einen Smart Mirror basteln kann. Je nach Interesse können dort dann das Wetter, Fahrpläne, Nachrichten oder auch stimmungsvolle Bilder angezeigt werden.
Eine Anleitung von Christopher Bichl

  1. IoT mit LoRa und Raspberry Pi Die DNA des Internet der Dinge
  2. Bewegungssensor auswerten Mit Wackeln programmieren lernen
  3. Raspberry Pi Cam Babycam mit wenig Aufwand selbst bauen

Begriffe, Architekturen, Produkte: Große Datenmengen in Echtzeit analysieren
Begriffe, Architekturen, Produkte
Große Datenmengen in Echtzeit analysieren

Wer sich auch nur oberflächlich mit Big-Data und Echtzeit-Analyse beschäftigt, stößt schnell auf Begriffe und Lösungen, die sich nicht sofort erschließen. Warum brauche ich eine Nachrichten-Queue und was unterscheidet Apache Hadoop von Kafka? Welche Rolle spielt das in einer Kappa-Architektur?
Von George Anadiotis


    Elektromobilität: Der Umweltbonus ist gescheitert
    Elektromobilität
    Der Umweltbonus ist gescheitert

    Trotz eines spürbaren Anstiegs zum Jahresbeginn kann man den Umweltbonus als gescheitert bezeichnen. Bislang wurden weniger als 100.000 Elektroautos gefördert. Wenn der Bonus Ende Juni ausläuft, sind noch immer einige Millionen Euro vorhanden. Die Fraktion der Grünen will stattdessen Anreize über die Kfz-Steuer schaffen.
    Eine Analyse von Dirk Kunde

    1. NXT Rage Elektromotorrad mit Kohlefaser-Monocoque vorgestellt
    2. Elektrokleinstfahrzeuge Verkehrsminister Scheuer will E-Scooter zulassen
    3. Urteil Lärm-Tempolimits gelten auch für Elektroautos

      •  /