Serendipity: Update auf Version 2.1.5
Seit heute läuft hier die stabile Version Serendipity 2.1.5. Das Update verlief wie immer vollkommen problemlos.
Seit heute läuft hier die stabile Version Serendipity 2.1.5. Das Update verlief wie immer vollkommen problemlos.
Ab und an ist ein grafischer Texteditor einfach praktischer als vi, emacs oder nano. Die Wahl fällt heute oft auf NotepadQQ, ein Linux Clon des Windows Editors Notepad++. Leider ist NotepadQQ nicht in den aktuellen Paketquellen für Stretch enthalten, eine Snap Installation wie von den NotepadQQ EntwicklerInnen empfohlen, kommt nicht in Frage. Also: Selbst ist der User und mit einiger Frickelei läuft der Editor auch via
ssh -x username@rechnername notepadqq
auf einem headless RaspberryPI B R2. Zumindest in der Version 1.48 und nach einem ordentlichen Weilchen...
sudo apt install -y qt5-qmake libqt5webkit5 libqt5svg5 coreutils libqt5webkit5-dev libqt5svg5-dev qttools5-dev-tools qt5-default qttools5-dev-tools qtwebengine5-dev libqt5websockets5-dev libqt5svg5 libqt5svg5-dev libuchardet-dev libqt5webengine-data qt5-default qttools5-dev-tools qtwebengine5-dev libqt5websockets5-dev libqt5svg5 libqt5svg5-dev libuchardet-dev libqt5webkit5-dev libqt5svg5-dev qttools5-dev-tools git clone https://github.com/notepadqq/notepadqq.git cd notepadqq git checkout -f v1.4.8 ./configure --prefix /usr --qmake /usr/lib/arm-linux-gnueabihf/qt5/bin/qmake make sudo make install
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80.80, 80.40, 396.432, 453.02}
#define INVERT_E0_DIR true
Neue Firmware lässt sich natürlich direkt aus der Arduino IDE auf den Drucker flashen. Was aber, wenn der USB Port des Druckers bereits durch eine Verbindung zum OctoPrint Druckserver belegt ist? Sinn des Druckservers ist es ja vor allem, unabhängig vom jeweiligen Arbeitsplatzrechner aus den 3D Druck anstoßen zu können, also fallen Sachen wie Drucker zum Rechner tragen oder Notebook an Drucker stöpseln, danach wieder den RaspBerry PI ranhängen Turnschuh-EDV aus. Denn für solcherlei Dinge gibt es das auf der Vorarbeit von Nicanor Romero Venier basierende Firmwareupgrade Plugin von Gina Häußge und Ben Lye. Da es sich quasi um ein Frontend für den avrdude Befehl handelt, muss selbiger ebenfalls installiert sein. Das Plugin nimmt einem dann die ganze Arbeit ab, man muss lediglich wissen, wo die kompilierte *.hex Datei aus der Arduino IDE liegt, anstatt sich
avrdude -p m2560 -c stk500 -P /dev/ttyUSB0 -U flash:w:MarlinV1.1.5.ino.hex:i -v
merken zu müssen (wobei das letztlich wesentlich schneller funktioniert).
Für den AnyCubic i3 MEGA werden darüber hinaus die folgenden Parameter benötigt, damit das Flashen problemlos verläuft:
Flash Method: avrdude (Atmel AVR Family)
AVR MCU: ATmega2560
AVR Programmer Type: stk500v2
Besonders interessant ist die Möglichkeit, Firmwares direkt aus dem Netz installieren zu können, allein die Eingabe der entsprechenden URL reicht aus. Oder eben der entsprechende Dateiname / Speicherort im lokalen Netz / Rechner.
HINWEIS:
Alle gemachten Angaben sind ohne Gewähr auf Funktion und Richtigkeit. Für eventuell entstehende Schäden übernehmen wir keinerlei Haftung. Sämtliche Veränderungen geschehen auf Eure Verantwortung und Gefahr.
Irgendwie muss ich das alles finanzieren, daher sind die allermeisten Links Affiliate. D.h.: Solltet Ihr über diese Links zu einem Onlinehändler geraten und dort etwas bestellen, bekomme ich eine kleine Provision, für Euch ändert das am Preis natürlich nichts. Für die Inspirationen geht ein herzliches Dankeschön an die genannten Personen, insbesondere an die OctoPrint Community!
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 453.02 }So können auch die Slicer Einstellungen unangetastet bleiben, sollte es Probleme mit dem Ausdruck geben, die sich nicht mit den üblichen Tipps beseitigen lassen, sollte man zuerst an den Steps regulieren.
ssh pi@octopi.lan
sudo nano /boot/config.txt
display_rotate=0
sudo reboot -n
sudo apt install xserver-xorg-input-evdev
sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf sudo reboot
sudo dpkg -i -B xinput-calibrator
/ect/X11/xorg.conf.d/99-calibration.conf
Section "InputClass" Identifier "calibration" MatchProduct "ADS7846 Touchscreen" Option "Calibration" "3905 208 3910 288" Option "SwapAxes" "0" EndSection
sudo apt install chromium-browser -y
git clone https://github.com/BillyBlaze/OctoPrint-TouchUI-autostart.git ~/TouchUI-autostart/
sudo ~/TouchUI-autostart/helpers/install
Noch ein kleiner Merkzettel für mich und wer es sonst noch brauchen kann, wie man jeden 3D Drucker den AnyCube i3 MEGA ein bisschen tieferlegt genauer einstellt.
curl -k -H "X-Api-Key: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" -F "select=false" -F "print=false" -F "file=@[output_filepath]" "http://IPADDRESS:PORT/api/files/local" {STRIP "; postProcessing"}kann direkt aus Simplify3D auf den OctoPrint Server gedruckt werden. Dabei sind natürlich der API Key statt den "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" einzufügen, ebenso die URL, unter der OctoPrint erreichbar ist. Wenn man bei "select" und / oder "print" statt "false" den Wert "true" angibt, druckt Octoprint automatisch los. Nicht ändern sollte man die Variable hinter "file" 8-)
Zu meinem YouTube Kanal, mit aktuellen Drucken.
Send: M851 ; Z Probe Offset anzeigen lassen Recv: echo:Probe Z Offset: -2.02 Recv: ok [...] Send: M851 Z0 ; Z Probe Offset auf Null setzen Recv: ok [...] Send: G28 ; Nullpunkt anfahren [...] Recv: echo:busy: processing Recv: X:-5.00 Y:0.00 Z:0.00 E:0.00 Count X:-400 Y:0 Z:0 Recv: ok [...] Send: G1 Z1 X110 Y110 F2000 ; In die Mitte des Druckbettes fahren Recv: ok [...] Send: G92 Z0 ; Recv: X:110.00 Y:110.00 Z:0.00 E:0.00 Count X:8800 Y:8800 Z:0 Recv: ok [...] Send: G30 X110 Y110 [...] Recv: Bed X: 110.00 Y: 110.00 Z: 2.08 Recv: X:77.00 Y:105.00 Z:10.00 E:0.00 Count X:6160 Y:8400 Z:4000 Recv: ok [...] Recv: ok [...] Send: G1Z-0.1 ; Bis 0.05mm / ein Kassenbon zwischen Düsenspitze und Bett passt. BTW: Ich empfehle als Metaller natürlich, eine Fühlerlehre, kann man auch für andere Sachen verwenden. Recv: ok [...] Send: G1Z-0.1 ; Bis 0.05mm / ein Kassenbon zwischen Düsenspitze und Bett passt. Recv: ok [...] Send: G1Z-0.1 ; Bis 0.05mm / ein Kassenbon zwischen Düsenspitze und Bett passt. [...] Send: G92 Z0 ; Neuer Nullpunkt an diese Stelle setzen Recv: X:110.00 Y:110.00 Z:0.00 E:0.00 Count X:8800 Y:8800 Z:0 Recv: ok [...] Send: G30 X110 Y110 ; Offset ausgeben. Wert bei der 1. Z-Anzeige (hier in GRÜN angezeigt) merken [...] Recv: echo:busy: processing Recv: Bed X: 110.00 Y: 110.00 Z: 2.08 ; Diesen Z-Wert merken! Recv: X:77.00 Y:105.00 Z:10.00 E:0.00 Count X:6160 Y:8400 Z:4000 Recv: ok [...] Send: M851 Z-2.08 ; Neues Offset eingeben mit dem eben gemerkten Z-WeÅ•t Recv: ok [...] Send: M500 ; Den Wert ins EEPROM speichern Recv: echo:Settings Stored (731 bytes; crc 34074) Recv: ok
Recv: Bilinear Leveling Grid:
Recv: 0 1 2 3 4
Recv: 0 +0.010 -0.020 -0.033 -0.020 +0.027
Recv: 1 +0.058 +0.023 +0.015 +0.040 +0.090
Recv: 2 +0.082 +0.040 +0.027 +0.058 +0.108
Recv: 3 +0.082 +0.053 +0.027 +0.065 +0.095
Recv: 4 +0.058 +0.010 -0.020 +0.003 +0.045
Recv:
Recv: X:164.00 Y:193.00 Z:12.06 E:0.00 Count X:13120 Y:15440 Z:4832
Send: M140 S0
Recv: ok
Send: M500
Recv: echo:Settings Stored (731 bytes; crc 9049)
Recv: ok
Recv: Bilinear Leveling Grid: Recv: 0 1 2 3 4 Recv: 0 +0.020 -0.017 -0.030 -0.025 +0.038 Recv: 1 +0.063 +0.038 +0.007 +0.055 +0.092 Recv: 2 +0.098 +0.043 +0.043 +0.063 +0.118 Recv: 3 +0.092 +0.055 +0.030 +0.075 +0.098 Recv: 4 +0.063 +0.013 -0.017 +0.013 +0.043 Recv: Recv: X:164.00 Y:193.00 Z:12.06 E:0.00 Count X:13120 Y:15440 Z:4832 Send: M140 S0 Recv: ok [...] Send: M500 Recv: echo:Settings Stored (731 bytes; crc 34326) Recv: ok [...]
G21 ; Wir verwenden Millimeter G90 ; Absolute Positionierung... M82 ; ... auch für den Steppermotor am Extruder M107 ; Lüfter aus G28 X0 Y0 ; Referenzpunkte XY anfahren G28 Z0 ; Referenzfahrt auch für Z G1 Z15.0 F{travelspeed} Z Achse 15 mm anheben G92 E0 ; Extruder auf 0 setzen G1 F200 E3 ; Extruder soll eine 3mm lange Wurst auspressen G1 E0 ; und stoppen... G1 F{travelspeed} ; G28; Nullpunkte / Home anfahren G29; Auto Bed Levelling (ABL) anwerfen M500; Werte in Firmware / EEPROM speichern M420 S1; BLTouch aktivieren
fastboot oem unlock
fastboot boot twrp-3.2.3-x_blu_spark_v9.86_op6.img
adb sideload twrp-3.2.3-xblusparkv9.86op6.zip
adb sideload blusparkr56-oos-pieop6-6t9e9a352.zip
adb sideload Magisk-v17.3.zip
Ein kurzer Merkbeitrag zu einem Modem / Firmware Problem des OnePlus 3T, der beim Flashen eines beliebigen LineageOS Updates auftreten kann und sich mit dem Abbruch des Flashvorgangs mit der folgenden Fehlermeldung äußert:
"assert(op3.verify_modem("2017-06-27 21:43:31") == "1");"
Die Ursache besteht darin, daß das Handy zwischenzeitlich ein Upgrade der Firmware erhalten hatte, das jedoch in den LineageOS Zips nicht enthalten ist, von diesen aber erwartet wird. Zwischenzeitlich hatte ich mir so geholfen, daß ich in der Zip Datei vor jedem Flash Vorgang die Abfrage des Handymodells manuell geändert hatte.
Dazu im Archiv das Updater Script /META-INF/com/google/android/updater-script mit einem Texteditor öffnen und sämtliche Zeilen mit "assert" und "getprop" Einträgen löschen. Abspeichern und installieren. Klappt problemlos und ermöglicht, falsche Systeme auf dem Handy zu installieren und dies zu bricken. ;-)
Also ein funktionierernder Workaround, jedoch ziemlich weit entfernt von einem automatisierungsfähigen Vorgehen. Zufällig bin ich dann über den Eintrag von Lord Boeffla (Vielen Dank dafür!) bei XDA gestolpert, einem Entwickler von Kernelhacks für die OnePlus Geräte, der die Firmwareupgrades aus dem originalen OxygenOS extrahiert und auch für andere OS zur Verfügung gestellt hat. Diese Datei sollte auf einem der üblichen Wege auf das 3T verbracht und dann per TWRP geflasht werden. Danach klappt es endlich auch wieder mit dem automatischen Update auf die aktuellste LineageOS Version.
Edit: Für den (eher unwahrscheinlichen) Fall, das man das 3T gebrickt hat, findet sich hier einige Hinweise, das Ding wieder ans Laufen zu bekommen.