Chaospott Logo

CO₂-Sensor WLAN-Upgrade

Bei Aufräumaktionen tauchen immer wieder spannende Technikrelikte auf, die ihren Weg in den Club finden. Diesmal fiel uns ein älterer CO₂-Sensor in die Hände, der offensichtlich schon seit Jahren unbeachtet in einem Schrank lag. Schnell stellte sich die Frage, ob sich das Gerät in unser Home Assistant integrieren lässt. Unsere Erfahrungen im Umgang mit Home Assistant haben wir in unserem Podcast in der Folge SN053 festgehalten.

Digitales CO₂-Messgerät auf einer Werkbank. Das Display zeigt einen CO₂-Wert von 758 ppm und eine Temperatur von 21,4 Grad Celsius. Im Hintergrund sind unscharf verschiedene Messgeräte und Kabel zu sehen. Rechts daneben ist das geöffnete Gerät sichtbar. Umgebautes PCE AC-1000. Chaospott CC-BY-SA 4.0

Ein erster Blick auf das Gehäuse machte Hoffnung: Dort war eine RS232-Schnittstelle aufgedruckt. Damit schien der Weg zunächst klar zu sein. Ein ESP8266 mit ESPHome sollte die seriellen Daten einlesen und per WLAN an Home Assistant weiterreichen.

Bei genauerer Betrachtung der Platine fiel uns jedoch auf, dass dort keine RS232-Hardware zum Einsatz kommt. Die Daten werden stattdessen über einen Optokoppler ausgegeben. Um die Sensorwerte auszulesen, muss man das Open-Collector-Design berücksichtigen und den Eingang des ESP8266 mit einem Pull-up-Widerstand versehen. Da das Auslesen serieller Daten per UART zu den Standardfunktionen von ESPHome gehört, stellte dies keine besondere Herausforderung dar. Lediglich zum Parsen der Sensorwerte musste ein kleines Lambda-Skript erstellt werden.

So wurde aus einem vergessenen beziehungsweise ungenutzten Gerät ein weiterer Sensor für die Raumluftüberwachung. Gleichzeitig zeigt das Projekt, dass sich ein genauer Blick auf ältere Hardware oft lohnt. Hinter vermeintlich veralteten Geräten steckt nicht selten Technik, die sich mit wenig Aufwand modernisieren und weiterverwenden lässt.

Wer sich für weitere Details interessiert, ist herzlich zum nächsten Chaostreff oder zu unserem Repaircafé eingeladen. Wir freuen uns über alle Interessierten, die sich für Technik, Nachhaltigkeit und gemeinsames Lernen begeistern.

> Weiterlesen


Nächstes Repaircafé: 19.05.2026

Auch im Jahr 2026 setzen wir unser Repaircafé fort und bieten eine Möglichkeit zur Reparatur von diversen Gerätschaften und beschädigten Dingen. Unsere Räume bieten Werkzeuge zur Reparatur von Elektronik und Holz sowie für den 3D-Druck. Wir helfen gerne bei Reparaturen aller Art, ganz besonders freuen wir uns auch auf Besucher, die sich gerne selbst an der Reparatur versuchen möchten und zum Beispiel bei uns – mit etwas Anleitung – das erste Mal selbst Löten wollen. Dieses Jahr findet das Repaircafé an folgenden Terminen statt:

  • Dienstag, 27. Januar 2026, 18–20 Uhr
  • Dienstag, 17. März 2026, 18–20 Uhr
  • Dienstag, 19. Mai 2026, 18–20 Uhr
  • Dienstag, 23. Juni 2026, 18–20 Uhr

Wenn möglich, bitten wir um eine vorherige Anmeldung per Mail an repaircafe@chaospott.de um den Werkzeugbedarf abschätzen zu können.


Der Endgegner: Kaffeevollautomat

Es gibt Geräte, bei denen selbst erfahrene Repaircafé-Helfer kurz innehalten. Der Kaffeevollautomat gehört definitiv in diese Kategorie. Viele Repaircafés lehnen solche Geräte grundsätzlich ab, weil sie stark verbaut und schwer zu öffnen sind, voller Kaffeeprött stecken und auch das Thema Dichtigkeit seine Tücken hat. Arbeitsplätze und Werkzeuge werden dabei schnell mal überflutet und müssen entsprechend vorbereitet werden.

In diesem Fall hatten wir wenig Betrieb und konnten uns die Zeit nehmen, einen defekten Smeg BCC12 Kaffeevollautomaten anzusehen.

Fehlerbild

Die Fehlerbeschreibung klang zunächst simpel: „Die Maschine zieht kein Wasser.“ Häufig wird dies durch eine verstopfte Düse verursacht. Ein erster Funktionstest zeigte jedoch ein differenzierteres Bild. Beim Einschalten blieb die Maschine im Startvorgang hängen und die LEDs des Bedienfelds blinkten unbegrenzt in ihrer Startanimation. Ein Reset übersprang Teile des Startprogramms, sodass die Auswahltasten freigeschaltet wurden. Nun ließ sich über die Heißwassertaste Wasser ausgeben, es war allerdings kalt.

Damit war klar, dass die Pumpe und die Zuleitung funktionierten und das Problem beim Heizelement zu suchen war.

Auf der Spur des Heizelements

Bei diesem Fehlerbild liegt der Verdacht nahe, dass etwas mit dem Heizelement nicht stimmt. Diese Komponente sorgt dafür, dass das Wasser auf Temperatur gebracht wird. Beim Starten versucht die Maschine vorzuheizen, da die Temperatur nicht stieg, blieb sie stecken. Technisch gesehen ist das Heizelement ein elektrischer Verbraucher, genauer gesagt eine ohmsche Last mit sehr geringem Widerstand, durch die viel Strom fließt, um Wärme zu erzeugen.

Um das Heizelement zu überprüfen, musste das Gerät geöffnet werden. Ein Schritt, der bei Kaffeevollautomaten selten schnell geht.

Erste Runde: Relais und Widerstand des Heizelements

Zunächst wurden die Relais überprüft. Ein Relais ist ein elektrisch gesteuerter Schalter, der hohe Ströme schalten kann. Damit kann der Controller das Heizelement aktivieren. Gerade bei Geräten mit vielen Betriebsstunden sind diese Bauteile anfällig für Verschleiß. In diesem Fall zeigte sich jedoch, dass die Relais wie erwartet arbeiteten und sauber schalteten.

Die Kollage zeigt in drei Bildern einen geöffneten Kaffeevollautomaten, der auf einer Werkbank steht. Sicht auf Platine, Verkabelung, Pumpe und Thermoblock. Ein roter Pfeil markiert zwei abgezogene, mit Steckverbindern versehene Kabel. Dort befinden sich zwei Sicherungen, die man auf einem der Bilder in einer Nahaufnahme gezeigt werden. Geöffneter Kaffeevollautomat. Chaospott CC-BY-SA 4.0

Der nächste Schritt war die Messung des Heizelements. Mithilfe eines Multimeters wurde der Widerstand geprüft. Erwartet wird normalerweise ein niedriger Wert im Bereich weniger Ohm. Stattdessen ergab die Messung keinen Durchgang im Heizelement, wie es etwa der Fall ist, wenn es durchbrennt. Dies schien allerdings nicht der Fall gewesen zu sein, da keine Überhitzungsspuren sichtbar waren.

Nichtsdestotrotz war der Fehler damit auf das Heizelement eingegrenzt.

Zweite Runde: Tiefer ins Gerät

Da das Heizelement selbst nicht direkt zugänglich war, wurde das Gerät weiter zerlegt. Nach einigem Aufwand konnte die Heizspule schließlich direkt gemessen werden. Überraschenderweise lag der Widerstand im erwarteten fehlerfreien Bereich, das Heizelement war also vermutlich in Ordnung.

Da nun der Fehler nur vor, aber nicht hinter den Zuleitungen messbar war, wurden diese genauer untersucht. Auf einem der beiden Kabel, dem blauen, war kein Durchgang messbar. Ein klassischer Kabelbruch schien zwar unwahrscheinlich, da die Leitungen im Inneren des Geräts kaum mechanischer Belastung ausgesetzt sind, trotzdem untersuchten wir die Leitung auf Beschädigungen.

Die Lösung fand sich schließlich an einer kaum sichtbaren Stelle. Unter zwei Schichten Kabelschutzschlauch befand sich eine Feinsicherung, integriert in die Leitung selbst. Diese hatte ausgelöst und damit die Stromversorgung des Heizelements vollständig unterbrochen.

Später stellte sich heraus, dass in die andere, braune Leitung ebenfalls eine Feinsicherung integriert ist, welche in diesem Fall unbeschädigt war.

Kleine Ursache, große Wirkung

Nachdem Ersatz für die Sicherung bestellt worden war, lief die Reparatur am Ende vergleichsweise unspektakulär. Die defekte Feinsicherung wurde ersetzt, mit neuen Crimpverbindungen in das Kabel eingesetzt und das Gerät wieder sorgfältig zusammengebaut. Danach funktionierte die Maschine wieder wie vorgesehen und heizte das Wasser.

Insgesamt war der Aufwand jedoch nicht zu unterschätzen: rund drei Stunden für das Öffnen und die Fehlersuche, ein Ersatzteil für etwa sechs Euro und nochmals zwei Stunden für den Austausch und den Zusammenbau.

Fazit

Kaffeevollautomaten gelten nicht ohne Grund als schwierig zu reparieren. Sie sind kompakt gebaut, schwer zugänglich und vereinen Mechanik, Elektronik sowie Wasser und Thermik auf engem Raum.

Dieser Fall zeigt aber, dass sich auch scheinbar komplexe Geräte mit Geduld und einem strukturierten Vorgehen reparieren lassen. Wichtig ist, sich nicht von ersten Vermutungen leiten zu lassen, sondern systematisch vorzugehen und Messergebnisse kritisch zu hinterfragen.

Nicht immer ist das offensichtlichste Bauteil defekt. Manchmal liegt die Ursache gut versteckt und ist am Ende überraschend einfach zu beheben.

> Weiterlesen


Digital Independence Day am 3. Mai

Auch dieser Monat startet wieder mit einem Digital Independence Day im Chaospott. Bei Kaffee und Kuchen beraten wir euch gerne zu allen Fragen rund um den Ausstieg aus dem Überwachungsalbtraum, den wir unsere aktuelle IT-Service-Landschaft nennen.

Kommt einfach diesen Sonntag, 3. Mai, zwischen 16 und 18 Uhr in den Räumen des Chaospotts in der Sibyllastraße vorbei. Eine Anmeldung ist nicht erforderlich. Sofern ihr direkt etwas einrichten wollt, bringt bitte euer Laptop/Smartphone samt Ladekabel mit.


Fixen eines Firmware-Updaters

Wer einem alten Laptop aus dem Keller noch einmal neues Leben einhauchen will, findet dabei nur selten eine Batterie in gutem Zustand vor. So ist es uns ergangen, als wir einen Dell XPS17 L702x mit Windows 7 (etwa aus dem Jahr 2010) wiederverwenden wollten. Für einen frischen Start wird zuerst kurz™ die neuste Firmware aufgespielt. Dafür stellt uns Dell den Firmware-Updater L702X_A19.exe für Windows von 2020 auf ihrer Website bereit. Doch ganz so leicht sollte es nicht sein.

Fehlermeldung

Das Bild zeigt eine Fehlermelung: Das Firmwareupdate wird nur ausgeführt, wenn die Batterie über 10% geladen ist. Fehlermeldung verhindert Update. Chaospott CC-BY-SA 4.0

Dank diesem eingebauten Schutzmechanismus lässt sich die Firmware nur mit eingestecktem Netzteil und eingesteckter Batterie ausführen, die außerdem auch noch zu mehr als 10% geladen sein muss. Der seit Jahren tiefentladene Akku lässt jedoch nur noch eine maximale Ladung von 2% zu. Auch ein online beschriebener Bypass mit der Flag /forceit lässt hier leider kein Update zu.

Selbstverständlich will man dem Gerät hier trotzdem seinen Willen aufzwingen. Dazu reichten die Problemlösungsstrategien im Club von Firmware-Update via fwupd, über Patch der .exe-Datei mit Ghidra, bis hin zum Jumpstart des alten Akkus. Da ein Update via fwupd für dieses Gerät nicht verfügbar ist, haben wir uns dafür entschieden, den Umgang mit Ghidra zu lernen und etwas zu frickeln.

Strategie

Die Idee ist, die Prüfung des Batteriezustandes im Programm zu finden und das Ergebnis zu invertieren oder die Prüfung im Ganzen zu überspringen. Ghidra zeigt uns die zugrunde liegenden Assembly-Instruktionen der kompilierten Datei und erzeugt dazu dekompilierten C-Programmcode, der eine einfachere Interpretation ermöglicht.

Mit der Suche des Texts der Fehlermeldung ließ sich der Code-Abschnitt des Pop-up-Fensters finden, der für den Klick auf OK mutmaßlich auch den Retry der Batterie-Prüfung auslöst. Da im Executable keine der ursprünglichen Funktionsbezeichnungen mehr erhalten sind, stochert man dabei etwas im Dunkeln und erschließt sich den Kontext nach und nach.

Umsetzung

In mehreren Versuchen haben wir den Rückgabewert der Batterieprüfung ausgetauscht und den Vergleichswert überschrieben, haben damit aber zunächst nur neue Fehlermeldungen oder gar keine Änderung bewirkt.

Mehr Erfolg hatten wir schließlich mit einem switch-case-Statement, mit dem die verschiedenen Fehler-cases und auch der Erfolgs-case verarbeitet werden. Dort konnten wir den Initialwert so überschreiben, dass immer der Erfolgs-case ausgelöst wird.

Die konkrete Änderung wird im Assembly umgesetzt und muss der gleichen Größe der ursprünglichen Anweisungen entsprechen. In unserem Fall sieht die Anweisung vor der Änderung so aus:

  004031ac 8b 85 04 f3 ff ff    MOV    EAX,dword ptr [EBP + int_for_case_switching]

Nach der Änderung auf den konstanten Wert 7 so:

  004031ac c7 c0 07 00 00 00    MOV    EAX,0x7

Nach Einbau der Änderung lässt sich eine .exe exportieren und wir konnten so die neue Firmware doch noch installieren.

Zum Nachmachen

Dell stellt das Executable “Dell XPS L702X System BIOS” für das Firmware-Upgrade auf die Version A19 von 2020 online bereit. Um sicherzugehen, dass es sich um die identische Datei handelt, sollte die MD5-Checksum abgeglichen werden:

md5sum L702X_A19.exe
e2c30fa6285242a6a56f9b5371ddb2fc

Die geänderten 6 Byte können direkt auf die Datei angewendet werden:

cp L702X_A19.exe L702X_A19_patched.exe
echo -ne '\xc7\xc0\x07\x00\x00\x00' | dd of=L702X_A19_patched.exe obs=1 seek=12716 conv=notrunc

Die seek-Position ist hier die zu patchende Adresse und resultiert aus der in Ghidra angezeigten Adresse minus der Basisadresse (0x004031ac - 0x00400000) als Dezimalwert.

Hier die neue MD5-Prüfsumme:

md5sum L702X_A19_patched.exe
ea0d4df025d55bb3d0ac039bc9b872c7

Fazit

Rückblickend ließ sich der Updater also doch noch überreden und hat sich super angeboten, um als Anfänger mit etwas Unterstützung zu basteln und Neues zu lernen.

> Weiterlesen