Unter einer Firmware versteht man Software, die in elektronischen Geräten eingebettet ist. Damit ist sie nicht nur zentral für die Funktionsweise dieser Hardware, sondern erweckt sie förmlich zum Leben.

Der LEGO® Mindstorms® EV3 ist beim Thema Firmware keine Ausnahme. Auch der EV3-Brick besitzt intern einen Flash-Speicher, auf dem diese spezielle Art Software gespeichert ist. Sie wird, mehr oder weniger regelmäßig, von LEGO® Education angepasst und als neue Version veröffentlicht. Beim Anschließen des Bricks erscheint dann die euch sicherlich bekannte Meldung, dass ihr die Firmware aktualisieren sollt.

Wenn ihr diesen Dialog mit „Firmware aktualisieren“ beantwortet, erscheint der nachfolgende Dialog. Darin könnt ihr die Firmware auswählen und den Update-Vorgang starten.

Der Dialog stammt aus der Desktop-Version der LEGO® Mindstorms® EV3 Education Software – in diesem Fall aus der Windows-Version. Inzwischen hat LEGO® Education außerdem eine webbasierte Lösung veröffentlicht. Der sogenannte EV3 Device Manager besteht aus einer Website und einer kleinen Anwendung, die heruntergeladen und installiert werden muss. Anschließend können darüber Informationen zum angeschlossenen LEGO® Mindstorms® EV3 abgefragt werden. Ein Update der Firmware ist ebenfalls möglich.

Der EV3 Device Manager unterstützt allerdings nur die Browser Chrome (von LEGO empfohlener Browser), Safari, Edge und Internet Explorer.

Aber was steckt hinter den Änderungen? In der Community der EV3-Fans gibt es viele Meldungen darüber, dass eine Firmware-Aktualisierung fehlgeschlagen ist. Dann ist es (etwas) mühsam, den Brick wieder zum Laufen zu bekommen. Lohnt sich ein Update der Firmware also? Sollte jede Version direkt aufgespielt werden oder kann die ein oder andere Version übersprungen werden?

Um diese Fragen beantworten zu können, ist es wichtig zu wissen, welche Änderungen ein Update enthält. In der Softwareentwicklung gibt es dafür das sogenannte Changelog, was wörtlich übersetzt „Änderungsprotokoll“ heißt. Darin sind alle Änderungen einer Version aufgelistet. LEGO® Education pflegt dieses Protokoll für den LEGO® Mindstorms® EV3 ebenfalls – allerdings etwas versteckt. Daher klären wir euch in diesem Artikel auf, was die bisherigen Firmware-Versionen für Änderungen enthalten haben und aktualisieren diesen Beitrag, wenn eine neue Version erscheint.

Das Changelog

Auf der Download-Seite von LEGO® zum LEGO® Mindstorms® EV3 wird unter anderem der Download der EV3-Firmware angeboten und zwar in einer Developer Edition und auch als Source Code. Letzterer Download-Link enthält also alle Quelldateien, um eine neue Firmware für den EV3 zu erzeugen. Darin versteckt sich auch das Changelog mit den bisherigen Änderungen der Firmware-Versionen. Wer selbst einen Blick riskieren möchte: Die Datei mit dem Changelog trägt den schlichten Namen „Implementation“ (ohne Dateiendung) und befindet sich im Verzeichnis lms2012/doc. Der Einfachheit halber bieten wir euch einen eigenen Download der Datei an. Wir haben die Datei in Changelog.txt umbenannt. Leider ist das Changelog noch von der Version 1.09D, da es den Quelltext der Firmware aktuell nur in dieser Version zum Download gibt. LEGO® Education ist beim Aktualisieren ihrer Downloads leider nicht besonders schnell.

Ganz grundsätzlich hat LEGO® eine ganze Weile lang zwischen der Home- und der Education-Version des EV3 unterschieden. Das spiegelt sich auch in den Firmware-Versionen wider. Die Home-Version hat in der Versionsangabe ein H hintenangestellt. Die Education-Version ist mit einem E markiert. Unseres Wissens nach waren die Änderungen aber jeweils identisch. Einzige Ausnahme ist die Firmware-Version mit einem D in der Versionsnummer. Dies kennzeichnet die Developer-Version, also eine spezielle Ausgabe für Entwickler*innen.

Seit der aktuellen Version 1.10, die beim Schreiben dieses Artikels Mitte April 2019 aktuell ist, gibt es nur noch eine E-Version für beide EV3-Produktlinien. Das ergibt Sinn, seit die Education-Software für den LEGO® Mindstorms EV3 für die Allgemeinheit freigegeben wurde. Früher war dieses Software-Paket für Schulen und andere Bildungseinrichtungen kostenpflichtig, so dass nicht jede*r Zugriff auf die Education-Firmware-Version hatte.

Die Änderungen

Die folgende Tabelle listet einige der Änderungen der letzten umfangreicheren Versionen auf. LEGO® Education hat in den letzten Versionen ein paar kleinere Fehler behoben, hauptsächlich aber die Unterstützung für zum Beispiel Bluetooth-Dongles erweitert. Das Changelog enthält noch viele weitere Änderungen, die bis zur Firmware-Version 0.01 zurückgehen. Diese alle aufzuführen sprengt allerdings den Rahmen dieses Artikels.

v1.10E

Unterstützung für Microsoft MakeCode

v1.09H/E

Deaktivierung des Telnet-Services, um Sicherheitsprobleme zu vermeiden
v1.09D Developer-Version der Firmware mit aktiviertem Telnet-Service
v1.08H/E Unterstützung für den beliebten Edimax EW-7811UN WiFi Dongle
v1.07H/E Unterstützung für den neuen Bluetooth-Chip, der im LEGO® Mindstorms® EV3 seit Juli 2015 ausgeliefert wird
v1.06H/E Fehlerbehebung für den EV3-Farbsensor im RGB-Modus

 

Wie ihr seht, arbeitet LEGO Education kontinuierlich an Verbesserungen für den LEGO® Mindstorms® EV3. In letzter Zeit geschah das etwas weniger regelmäßig, was aber verständlich ist, da erstens andere Produktlinien auf den Markt kommen und zweitens mittlerweile viele anfängliche Fehler beseitigt sind.

Auswirkungen des jüngsten Updates (Version 1.10E)

Zum Schluss noch einige Anmerkungen zum aktuellen Update 1.10E für den LEGO® Mindstorms® EV3. Die Unterstützung für die Programmierumgebung MakeCode von Microsoft ist sehr zu begrüßen. Dafür war eine interessante Anpassung notwendig: Vor dem Update wurde der EV3 als sogenanntes USB HID-Gerät (Human Interface Device) erkannt. Das sind USB-Geräte, mit denen Benutzer*innen direkt interagieren können, zum Beispiel Tastatur und Maus. Nach dem Einspielen der Version 1.10E wird der EV3 zwar immer noch als HID-Gerät erkannt, bekommt aber zudem einen Laufwerksbuchstaben zugewiesen. Die beiden Screenshots zeigen das (links vor dem Update, rechts danach).

Der LEGO® Mindstorms® EV3 ist in beiden Fällen am Port 3 angeschlossen. Im rechten Screenshot ist der Laufwerksbuchstabe L zu sehen. Zur Anzeige der USB-Anschlüsse nutzen wir übrigens das Tool USB Tree View von Uwe Sieber. Damit lassen sich alle USB-Anschlüsse und die Geräte anzeigen, die dort angeschlossen sind. Das ist sehr nützlich, wenn der EV3 mal nicht erkannt wird und wir überprüfen wollen, ob er am USB-Anschluss überhaupt angeschlossen ist.

In Windows Explorer wird der LEGO® Mindstorms® EV3 ebenfalls als Laufwerk angezeigt (wie auf dem linken Bild zu sehen).

Der Name scheint immer „EV3“ zu sein. Wir haben verschiedene EV3-Bricks mit verschiedenen selbstgewählten Namen getestet, der Name des Laufwerks blieb aber immer „EV3“. Der angezeigte Inhalt, den ihr im rechten Bild seht, ist etwas kryptisch. Wichtig ist im Grunde nur der Ordner mit Namen „Projects“. Darin können EV3-Projekte bzw. Programme abgelegt werden. Diese Anpassung war wichtig, da MakeCode darauf angewiesen ist, dass ein Programm auf den EV3 kopiert wird und zwar genau in den Ordner Projects. Anschließend kann es über die Programmauswahl im EV3-Brick gestartet werden.

Fazit – Update einspielen oder nicht?

Ganz eindeutig kann diese Frage nicht beantwortet werden. Einige der aufgeführten Änderungen in der Versions-Historie sind wichtig und schließen mitunter schwerwiegende Sicherheitslücken, wie zum Beispiel die Deaktivierung des Telnet-Service in der Version 1.09H/E. LEGO® Education hat hier auf ein Problem im Zusammenhang mit Malware reagiert, die auf dem EV3 gefunden wurde. Das Magazin heise Security hat vor einigen Jahren darüber berichtet.

Grundsätzlich empfehlen wir, ein Update einzuspielen, wenn es erscheint. In der Regel werden Fehler behoben oder Features hinzugefügt. Daher ist es sicherer, ein Update einzuspielen, als es zu verpassen.

Falls ihr nicht wisst, wo ihr das Firmware-Update auf Version 1.10E bekommen könnt, bieten wir es euch hier zum Download an. Es handelt sich um die gleiche Datei, die auch LEGO® Education zur Verfügung stellt.

Wir brauchen eure Hilfe!

Wir planen aktuell einen Artikel zu Fehlerbehebung im Zusammenhang mit dem LEGO® Mindstorms® EV3. Darin soll es auch um Firmware-Updates gehen.

Habt ihr bereits Fehler beim Update der Firmware oder generell mit dem EV3 gehabt? Wenn ja, welche waren das? Schreibt uns gerne oder hinterlasst einen Kommentar.