Firmware Update mit OctoPi
Der ein oder andere kennt das. Da ist man glücklich einen Platz für den Drucker gefunden zu haben und plötzlich muß man den für ein Firmwareupdate an den PC anschließen. Natürlich steht der PC 2 Räume weiter und da geht dann nix mehr mit USB! PC mit Monitor zum Drucker bringen ist noch schlimmer als umgekehrt. Mir erging es auch mal wieder so als ich ein Update am 4Max Pro aufspielen wollte. Aber eigentlich will man den Drucker und den PC nicht bewegen!
Muß man auch nicht! Da gibt es schließlich OctoPi und Gina hat an alles gedacht! Wie das mit dem Slicer funktioniert hatte ich mit Cura bereits gezeigt und hier der Beitrag zum Octopi. Es wär zu schön wenn es mit dem OctoPi-PlugIn nun genauso funktionieren würde. Aber Cura unterstützt diesen Weg nicht. Also direkt mit OctoPi. Im PlugIn-Manager findet sich ein PlugIn OctoPrint Firmware Updater von Gina. Dieses auf dem üblichen Weg auswählen und installieren ist zunächst nicht schwer aber leider läuft es davon noch nicht. Das PlugIn läßt sich zwar starten aber es läßt sich nichts auswählen und flashen. Auch die Einstellungen unter dem Schraubenschlüssel bieten noch keine Auswahl. Also sehen wir uns das auf der Seite https://github.com/OctoPrint/OctoPrint-FirmwareUpdater mal etwas genauer an.
Zunächst müßt Ihr herausfinden, um was für ein Board es sich handelt. Da gibt es gleich eine Einschränkung. SKR Mini E3 wird nicht unterstützt. Habt Ihr Glück wird Euer Board unterstützt und das passende Flash-Werkzeug muß nun installiert werden.
Board Familie | Flashing Werkzeug |
Atmega | Avrdude |
AT90USB | dfu-Programmierer |
LPC1768 | lpc1768 |
Sam | bossac |
STM32 | stm32flash |
In meinem Fall Avrdude. Um das auf dem Raspi zu installieren empfiehlt sich ein Terminal-Programm wie Putty (https://www.putty.org/). Hier wird die iP-Adresse eingegeben und die Sicherheitsabfragen bestätigt. Danach meldet Euch am Raspi an. Habt Ihr nichts zuvor geändert ist das User: pi mit Passwort: raspberry. Nun die Root-Rechte holen und diese beiden Befehle ausführen
sudo apt-get update sudo apt-get install avrdude |
Damit ist Avrdude bereits installiert und Putty kann beendet werden. (Wer das Passwort von pi noch nicht geändert hat kann das schnell noch vor dem schließen von Putty nachholen! z.B. mit raspi-config) Die Anleitungen zu den anderen Flash-Werkzeugen findet Ihr in der zugehörigen README.
Nun kann das PlugIn wieder aufgerufen werden und in den Einstellungen findet sich auch Avrdude. Da gibt es zwar endlos Einstellungen aber die Grundeinstellungen sollten genügen.
Der Rest ist Selbstläufer. Bei Flash from File mit Browse die hex-Datei auswählen und den Vorgang ausführen. Natürlich kann das nur funktionieren wenn bereits der Bootloader auf dem Board installiert wurde. Vergeßt nicht im Anschluß M502; Factory Reset und M500; Save Settings. Am besten im Terminal von OctoPrint.
Kommentare und Meinungen hier im Forum.
Danke Uwe für Deine Arbeit!
Na wenigstens einer der es gut findet!
Das Plugin ist im Prinzip nützlich, aber bitte achte auf die korrekte Terminologie:
„Danach meldet Euch als Root am Raspi an.“
Das machen wir gerade NICHT, und in der Standardkonfig ist das gar nicht möglich.
„Habt Ihr nichts zuvor geändert ist das User: pi mit Passwort: raspberry.“
Leider erzwingt Raspi nicht bei der Installation eine Passwortänderung, deswegen werden viele Pi’s mit genau dieser Kombo laufen – was eine gaaaanz schlechte Idee ist. Spätestens an dieser Stelle hat man aber die Möglichkeit (…und eigentlich die Pflicht), das Passwort zu ändern.
„Nun die Root-Rechte holen und diese beiden Befehle ausführen“.
Nochmal zur Verdeutlichung: wir holen uns hier keine Root-Rechte, sondern führen zwei Befehle als „root“ aus (genau das macht der „sudo“-Befehl).
Wer meinen Beitrag zur OctoPi-Installation gelesen hat weiß, ich ändere das Passwort. Darum geht es hier aber nicht! In der Standardkonfiguration ist Pi der Root! Ohne Root geht unter Linux nix! Wird jedoch zuvor kein sudo -i verwendet lassen sich die beiden sudo-Befehle nicht ausführen! Das paßt schon!
Ähm…nein. „pi“ ist nicht „root“. Root hat die id 0, pi – 1000. Was in der raspbian-Standardkonfig jedoch eingetragen ist, ist dass pi jeden Befehl als „root“ ausführen darf (durch sudo) – dafür ist auch kein „sudo -i“ notwendig. Das macht pi fast genauso allmächtig wie root, aber eben nur fast. Zum Beispiel wird jede Befehlsausführung durch sudo geloggt usw. Der Unterschied zwischen einem direkten Root-Login und Benutzung von sudo gehört nicht hierher (und wird durchaus unter Fachleuten kontrovers diskutiert).
Wer das Passwort immer wieder eingeben möchte der läßt halt sudo -i weg! Wenn Du unbedingt darüber diskutieren möchtest dann such Dir ein Forum mit Linux-Fachleuten. Mein OctoPi hat keine Verbindung ins WWW und die Fritzbox läßt nur von mir genehmigte Geräte ins Netz….
Ich wollte hier nur eine alternative Möglichkeit zum Aufspielen einer Firmware zeigen. Möglichst so, daß man dafür nicht Informatik studieren muß.