// HEISE ONLINE — LINUX & OPEN SOURCE
ESP-SDR: Open-Source-Firmware macht den ESP32 zum Funkscanner
Funkforscher aus Stuttgart haben im WLAN-Funkteil des ESP32 einen versteckten Debug-Modus entdeckt, der den Chip zum Software-Funkempfänger macht.
Der ESP32 steckt in unzähligen smarten Steckdosen, Lampen und Sensoren, und sein Funkteil hört nur auf die WLAN- und Bluetooth-Pakete, die für ihn bestimmt sind. Alles andere, was im 2,4-GHz-Band unterwegs ist, verwirft der Chip intern. Ein Team um Florian Euchner vom Institut für Nachrichtenübertragung der Universität Stuttgart hat nun einen undokumentierten Weg gefunden, an das ungefilterte Funksignal heranzukommen. Mit der von ihnen entwickelten Open-Source-Firmware ESP-SDR wird ein gewöhnliches ESP32-Board ohne zusätzliche Hardware zum Software Defined Radio (SDR). Dabei entscheidet die Software statt fester Schaltungen, welche Signale ausgewertet werden sollen.
Auf die Spur kamen die Entwickler, die bereits mit dem ESP32-Antennenarray ESPARGOSOne WLAN-Signale sichtbar gemacht hatten, über eine Funktion in Espressifs Testbibliothek librftest. Mithilfe von KI analysierten sie, wie diese Funktion das Funkteil konfiguriert. Vermutlich hätten Espressifs Ingenieure den Pfad für Tests in der Chipfertigung angelegt, schreibt das Team.
Öffentlich gemacht hatte die Funktion zuerst ein Reddit-Nutzer mit dem Handle h0m3us3r, der wenige Tage vor den Stuttgartern Quellcode für den ESP32-S3 veröffentlichte und mithilfe eines zusätzlichen FPGA dauerhaft 80 Millionen Messwerte pro Sekunde aus dem Chip holt. Das Stuttgarter Team arbeite nach eigenen Angaben bereits seit mehreren Monaten unabhängig davon an der Erfassung roher Funksignale und habe seine Ergebnisse deshalb ebenfalls veröffentlicht.
Laut Projektbeschreibung macht ESP-SDR „das WLAN- und Bluetooth-Funkteil eines gewöhnlichen ESP32-Boards zu einem reinen Empfangs-SDR“. Unterstützt werden zahlreiche Varianten vom klassischen ESP32 über S3 und C6 bis zum C5, der neben 2,4 auch 5 GHz abdeckt. Weil der Chip bis zu 80 Millionen Messwerte pro Sekunde nicht über USB weiterreichen kann, bleibt es bei den meisten Varianten bei kurzen Schnappschüssen. Damit eignet sich der ESP32 eher als Spektrumanalysator, der zeigt, was im Band funkt und wie stark. Einen der rund 30 Euro teuren RTL-SDR-Sticks, die auch UKW-Radio oder Flugzeugdaten empfangen, ersetzt er nicht.
In den vier Wochen seit der Veröffentlichung hat die Community bereits weitergebaut. Etwa das Projekt C5VRX empfängt mit einem ESP32-C5 und sechs Widerständen analoges 5,8-GHz-Video von FPV-Drohnen. Auf größere Distanz arbeitet es aber noch nicht zuverlässig.
Eine Sendefunktion gehört nicht zu ESP-SDR, dafür haben andere Entwickler unabhängig von den Stuttgartern eigene Firmware veröffentlicht. Ein Entwickler mit dem Handle marble ließ damit zwei ESP32 im 2,4-GHz-Band miteinander funken, und der Funkamateur Jochen Hammes (DA2JH) überträgt Sprechfunk in einem Amateurfunkband um 2,4 GHz, das sich teilweise mit dem WLAN-Bereich überschneidet.
Das Stuttgarter Team verzichtet dagegen bewusst auf einen Sender, weil er sich zum Stören fremder Funkverbindungen missbrauchen ließe. Was günstige SDR-Technik anrichten kann, zeigte im April ein Fall aus Taiwan: Ein Student hatte den TETRA-Funk der Eisenbahn mit einem SDR mitgehört und anschließend per Handfunkgerät vier Züge gestoppt. Solche Frequenzen deckt der ESP32 nicht ab. Eine Hintertür sehen die Entwickler ohnehin nicht, denn für den Modus muss eigene Firmware aufgespielt werden. Der ESP32-Hersteller Espressif hat sich bislang nicht geäußert.
Ganz neu ist das Muster nicht: Anfang der 2010er-Jahre entdeckten Bastler, dass sich Realtek-Chips in billigen DVB-T-Sticks als SDR nutzen lassen, woraus der RTL-SDR entstand. Dessen beliebte Version V4 wurde im Mai eingestellt, weil der verbaute Tuner-Chip nicht mehr hergestellt wird. Wie beim RTL-SDR steckt das Potenzial nun in einem Massenchip, der eigentlich für etwas anderes gebaut wurde.
ESP-SDR steht unter GPLv3 oder neuer auf GitHub. Ein Browser-Installer flasht die Firmware direkt auf di