und doch noch zu Erkenntnissen und Bildern aus dem Inneren führte.
Inhalt
tl;dr
Wie das Verbot das Innenleben eines fast-nicht-zu-glauben-teuren Thermomix zu erforschen über Bande ausgehebelt wurde und doch noch zu Erkenntnissen und Bildern aus dem Inneren führte.
The S in IoT stands for Security
Kürzlich hielt ein Thermomix TM5 Einzug in den Haushalt. Das führte bei mir zu hektischer Betriebsamkeit, denn er verfügt über eine Wifi-Schnittstelle und möchte gern ins Internet.
Bedingt durch Hypponen's Law und die Erkenntnis The S in IoT stands for Security.
war klar was zu tun ist: der Thermomix muss ordentlich eingehegt in ein eigenes Netz, das
jede Kommunikation ins Internet erst mal unterbindet.
Hypponen's law:
— Mikko Hypponen (@mikko) December 12, 2016
Whenever an appliance is described as being "smart", it's vulnerable.
Das Aufsetzen dieses Netzes hatte eigentlich eine hohe Priorität, bis ich vor die Aufgabe gestellt wurde mit zwei kranken, quengelnden Kindern schnell mal den Milchreiskochprozess zu starten. Dafür ist der Thermomix denkbar gut geeignet, denn man spart sich 40 Minuten den Kochtopf zu überwachen und hat Zeit für andere Dinge. Wenn Mensch denn alles richtig macht.
Der Milchvorfall™
Und da kommen wir zum Problem: die Einzelteile lagen verstreut im Geschirrspüler und beim Zusammenbau übersah ich einen unscheinbaren Dichtungsring. Das führte bei mir zu dem Zeitpunkt zu Fragezeichen, als ich aufgefordert wurde, 1000 g Milch in den Topf zu gießen. Nachdem die Packung alle war, dachte ich kurz darüber nach, warum denn 1 l Milch nur 750 g sind und vor allem warum es weniger wird. Als ich dann aber die große, weiße Pfütze auf dem Fußboden sah, war klar, dass irgendwas schlecht ist.
Ich spülte kurz die Milch kurz mit Wasser ab und machte mich ans Milchreis machen. Dabei kam dann raus, dass der Thermomix zwar noch funktioniert, jedoch das Touchdisplay nicht mehr so richtig wollte. Es fühlte sich wie ein Telefon-Display an, was durch ein paar Wassertropfen verwirrt wird und immer eine Eingabe in einer Ecke registriert.
Abends konnte ich dann mal in Ruhe schauen, was denn da nicht in Ordnung sein könnte. Es stellten sich ein paar sehr frustrierende Dinge raus:
- Wasserschaden gibt recht viele Treffer.
- Typischer Anwendungsfehler, der nicht von der Gewährleistung gedeckt ist.
- Passiert häufiger und dann gerade zu Beginn.
- Reparatur kostet ca. 560 €
Wenigstens war ich nicht alleine und es gab tatsächlich zwei hilfreiche Teardown-Videos.
Das sah nicht wirklich anspruchsvoll aus und für 560 € kann ich da eine ganze Weile dran forschen.
Mit dem Einzug des Thermomix' war ich instantan neugierig was denn da drin ist und wie das mit dem Wifi funktioniert.
Das führte mich zu einem Thread bei mikrocontroller.net wo schon rausgeforscht wurde, dass der Anschluss für den WLAN-Dongle
ein magnetischer USB-Anschluss ist, eine Tastatur nicht unterstützt wird, ein Linux drauf läuft und der WLAN-Dongle irgendwie verschlüsselt ist. Mir kam spontan in den Sinn, dochmal zu schauen, ob da nicht irgendwo Zugang zu einer UART auf der Platine ist. Kaum sprach ich
den Gedanken aus, untersagte mir B.
jegliche invasive Forschungsvorhaben an ihrem Thermomix. Auf der anderen Seite wurde in meiner
Peergroup mein Ansinnen als völlig normaler Vorgang gewertet.
Dank des Milchvorfalls™ konnte ich jetzt doch mal genauer schauen. Das Zerlegen war dank der Videos von gauster-haus.de kein Problem.
B.
war ob meines Aktionismus nur minder begeistert und hatte Angst um ihr Gerät. Ich versuchte ihre Bedenken mit folgenden Argumenten
zu zerstreuen:
- Ich fingere sonst souverän an einigen Größenordnungen teureren Satellitenelekroniken rum.
- Selbst ein Macbook Pro lief noch, nachdem ich es komplett zerlegte um die Wärmeleitpaste zu ersetzen.
- Im Ernstfall gibt's Stecker und Komponenten bei Farnell oder Digikey.
Nachdem ich noch einen Rest eingetrockneter Milch am Connector zwischen Display und Mainboard mit Isopropanol beseitigte und sonst nichts Bedenkliches mehr finden konnte, war ich zuversichtlich, dass alles wieder funktioniert. Dem war tatsächlich so.
Spaß am Gerät
Der Ausflug ins Innere des Gerätes brachte ein paar Erkenntnisse. Unter anderem waren viele Bauteile mit einem transparenten Coating versehen, das das Ablesen der Beschriftungen etwas mühsam machte. Unter UV-Licht leuchtet der Lack aber sehr schön.
Steuerplatine
Es gibt ein großes Board im hinteren Bereich des Thermomix'. Dort sind die Motor- und Temperatursteuerung und Spannungswandler untergebracht.
Es gibt mindestens zwei Mikrocontroller:
- STM32F100R8 (ARM Cortex-M3 MCU, 64 Kb Flash, 24 MHz CPU, motor control)
- ATxmega16D4 (8/16-bit AVR)
Außerdem ist da noch ein unbestückter 2x10 (CN710
) Pin Connector neben dem STM32
. Ein kurzer Vergleich des Datenblatts mit dem
ARM-20 pinout ergibt, dass das die JTAG Schnittstelle für den STM32
ist.
Displaymodul
Das Displaymodul besteht aus dem Touchdisplay und einem System on Module (SOM).
Auf dem SOM sind folgende Komponenten zu finden:
- NXP MCIMX283DVM4B (i.MX28 32-bit MPU, ARM926EJ-S core, 454MHz)
- Nanya NT5TU64M16HG-AC (1 Gbit DDR2 SDRAM)
- Toshiba TC58NVG0S3HTAI0 (1 Gbit NAND EEPROM)
Auch das SOM ist mit einem Coating versehen, SDRAM und i.MX sind aber ausgespart. Das Display ist über einen kleinen Flachbandstecker mit dem SOM verbunden.
Sonst ist da noch ein unbestückter Connector CN601
und jede Menge Testpunkte. CN601
ist wahrscheinlich eine weitere USB-Schnittstelle oder eine serielle Schnittstelle.
Auf dem i.MX28 läuft das Linux, die Mikrocontroller auf der Steuerplatine sind nur für die Ansteuerung der Motoren usw. zuständig.
Auf dem Display selbst stehen noch die Kennzeichnungen U.R.T. 745875900
und U.R.T. 7168759003
, das scheinen
aber keine MPNs zu sein.