Skip to content

Aber ich habe doch gar kein Konto bei der Kreissparkasse...

Immer dann, wenn mir langweilig ist, schaue ich mal in den Spamordner. Neulich trudelte eine recht gut gemachte Mail rein, die von der Kreissparkasse zu stammen scheint. Allerdings mit zwei entscheidenden Fehlern: Weder habe ich ein Konto bei dieser Bank, noch heiße ich so, wie ich in der Mail angesprochen werde. Von der Absenderadresse, die nicht gefälscht war über die Metadaten der Mail (Hearder usw.) oder die Links, auf die darin verwiesen wird, will ich gar nicht erst anfangen:

Screenshot der Mail

Also gut, nach dem Klick auf "Weiter zur Kontrolle" geht es weiter im Browser:

Loginseite der ScammerIm weiteren Verlauf habe ich mal ein paar Phantasiedaten eingegeben, die auf den ersten Blick genau so plausibel erschienen wie diese Phishing Webseite und den ganzen Registrationsprozess durchlaufen. 

Das Ende vom Lied: 

Erfolgreicher Abschluss

Ein wiederholter Aufruf der Seite ist dann nicht mehr möglich, weil die Tracking Url, die durch das Anklicken des "Weiter zur Kontrolle" in der oben genannten email gesetzt wurde, eindeutig mit der Mailadresse an die die Mail ging, verbunden war. Mehr brauchten die Scammer nicht, um durch die Befragung Online-Banking-Zugangsdaten, Geburtsdatum, Telefonnummer sowie die Daten der Sparkassen-Card zu erfahren. In meinem Fall mit fiktiven Daten. Bis auf die Telefonnummer des BKA, die ich zur schnelleren Bearbeitung eventueller Nachfragen angegeben habe...

Neue Mastodon Instanz

Mastodon, Darstellung um 1900
Mastodon, Darstellung um 1900 Quelle: Internet Archive Book Images Lizenz: No Restrictions

Wir betreiben ab sofort auch eine eigene Mastodon Instanz: mastodon.trueten.de Momentan ist dort alles im Testlauf. Man kann sich aber schon registrieren und herumspielen. Bis auf weiteres bin ich selbst bei suma-ev.social aktiv. 

Sondersitzung des S21-Lenkungskreises zum Gäubahndrama: Schildbürgerstreich als Klimaverbrechen

„Heillos verfangen haben sich die Verantwortlichen im Gestrüpp der chaotischen S21-Planungen“, so Bündnissprecher Dieter Reicherter vor der Sondersitzung des S21-Lenkungskreises zur drohenden Stilllegung des Panoramaabschnitts der Gäubahn. Seit gut 20 Jahren scheitern die Bahn und die „S21-Verbesserungspolitiker*innen“ daran, eine genehmigungsfähige Planung für die Gäubahnanbindung des Flughafens vorzulegen. Nun warten die Verantwortlichen mit zwei neuen Zumutungen auf.

Als neue rettende Idee zaubert die Politik jetzt den „Pfaffensteigtunnel“ aus dem Hut. Zwei Röhren mit jeweils ca. 11,5 km Länge sollen die Gäubahn an Böblingen vorbei unterirdisch zum Flughafen führen.

  • Während die öffentlichen Haushalte aus allen Nähten platzen, sollen dafür weitere gutachterlich bestätigte 2,7 Mrd.€ ausgegeben werden
  • Während die Welt sich immer mehr dem Klimakollaps nähert, soll hier erneut die Emission Hunderttausender Tonnen Treibhausgase in Kauf genommen werden für den CO2-intensiven Tunnelbau und z.B. für errechnete 266 000 zusätzlicher LKW-Fahren für Tunnelaushub
  • Während die Klimapolitik auf die Reduzierung des Flugreisens drängt, soll mit der Bahnanbindung des
     Stuttgarter Flughafens das Fliegen attraktiver gemacht werden
  • Während weltweit immer mehr Menschen verhungern, würden auf den Fildern 30 ha fruchtbarster Ackerböden allein für die Baustelleneinrichtung nördlich des Flughafens geopfert.

„Das ist nicht nur ein Schildbürgerstreich, das ist ein Klimaverbrechen“, so Reicherter.

Die zweite Zumutung folgt aus der ersten. Weil die Flughafenanbindung bis auf Weiteres gescheitert ist, Stuttgart21 aber Ende 2025 teileröffnet werden soll, plant die Bahn die Kappung der Gäubahnzufahrt zum Bahnknoten Stuttgart bis eine S21-kompatible Lösung für die Flughafenanbindung gefunden sei, also eher bis zum St.-Nimmerleinstag. Pendler*innen und Fahrgäste auf der Fernverbindung von Zürich über Stuttgart nach Norden müssten irgendwo im Vorfeld umsteigen, um zum Hauptbahnhof zu gelangen. Viele Reisende würden auf das Auto umsteigen. Verkehrswende rückwärts! Die wichtigste Ausweichstrecke bei den häufigen Störungen auf der S-Bahn-Stammstrecke wäre blockiert. Nach Ansicht der Verantwortlichen sei die direkte Zufahrt nicht mehr möglich, weil sie den geplanten Städtebau auf dem Gleisvorfeld, der wichtigsten Stuttgarter Frischluftschneise, behindere – ein weiterer klimapolitischer Frevel!

Während die S21-Planerei immer neue Blüten treibt, nehmen Unpünktlichkeit, Fahrlässigkeiten und Beinahe-Katastrophen fast täglich zu. Es ist Zeit, sich mit dem Gedanken des endgültigen Scheiterns des Projekts anzufreunden und das Nachdenken über klimagerechte Alternativen zuzulassen. Dies fordert das Aktionsbündnis gegen Stuttgart 21 als Teil der Klimagerechtigkeitsbewegung. Ein sofortiger Planungsstopp für den Pfaffensteigtunnel sowie umgehende Schritte zum Erhalt der oberirdischen Zuführung zum Stuttgarter Hauptbahnhof sind das Mindeste, was der Lenkungskreis am Montag beschließen sollte.

Protestaktion zur Sondersitzung des S21-Lenkungskreises
Montag, 18. Juli, um Fünf nach Zwölf (12.05h)
vor dem Sitz der Region Stuttgart, Friedrichstraße 10 (Ecke Kronenstraße)

Es spricht u.a. ein/e Klimaaktivist*in von Fridays for Future

OnePlus Handy gebrickt? No Problem.

Screenshot: Msmdownloadtool
Vor einigen Wochen wurde endlich LineAgeOS 16 für das OnePlus 6T veröffentlicht. Die Installation hatte ich seither vor mir her geschoben, obwohl ich das Handy voriges Jahr bereits gerootet hatte: Eine Konvertierung der Benutzerdaten über Systemgrenzen hinweg ist trotz Tools wie Titanium Backup nach wie vor nicht ganz trivial. Aber machbar, dachte ich mir und bin dann zur Tat geschritten. Da der root Zugriff unter unter dem Hersteller Betriebssystem OxygenOS Dank TWRP und Magisk zwar einwandfrei funktionierte, jedoch nach jedem Upgrade wiederholt aktiviert werden musste, dachte ich mir, daß ich dann eigentlich gleich LineAgeOS installieren könnte. Also Backup anfertigen, ins Recovery booten und dann erst LineAgeOS, dann OpenGapps und Magisk installieren. Dabei ging irgendetwas schief - möglichweise war das TWRP von Bluespark  nicht ganz unschuldig daran, soweit ich mich entsinne, hatte sich dieses nur in einen der beiden Slots installieren lassen. Jedenfalls scheiterte der Versuch, das offizielle TWRP zu installieren mit der Meldung:

FAILED (remote: Failed to load/authenticate boot image: Load Error)

Nicht nur das, fortan weigerte sich das Mistding hartnäckig, überhaupt in Fastboot oder ins Recovery zu booten geschweige denn, TWRP zu flashen oder via fastboot zu starten. Also keine Chance, das Handy irgendwie zum Laufen zu bewegen. Toll. Verzweiflung macht sich breit. Ein gescheitertes Update führte in der Vergangenheit schließlich oft genug dazu, das teure Telefon zu "bricken" d.h. es war nur noch als teurer Briefbeschwerer und dem sozialen Umfeld zur Mahnung zu gebrauchen. Ich gebe zu, sogar einmal kurz die Supportseite angeklickt zu haben, um das Teil ggf. zur Reparatur einzuschicken. Aber nur für ca. 5 Sekunden. ;-)

Mit den entsprechenden Suchbegriffen bin ich jedenfalls bei xda-developers fündig geworden, wo es für diverse Geräte Unbrick Tools gibt, so auch für das OnePlus 6T. Solange sich das Gerät noch einschalten lässt, ermöglicht dieses (Windows)-Programm eine Wiederbelebung des Zombies. (Angeblich läuft das Programm auch in einer virtuellen Windows Maschine oder unter WINE, das habe ich jedoch nicht probiert, da ich zufällig noch einen Windows Rechner herumstehen habe.)

Das MsmDownloadTool v4.0.59 ist gute 2 Gigabyte groß, denn es enthält OxygenOS v9.0.13. Nach dem Start präsentiert sich das Programm sehr aufgeräumt. Zuvor sollte allerdings das Handy via Datenkabel mit dem Rechner verbunden sein und in der Systemsteuerung solltem QUSB_BULK oder unter Ports > Qualcomm angezeigt werden, was für den OnePlus Chipsatz steht.

Nach dem Start und einigen nicht sonderlich transparenten Aktionen, während derer an einen Kaffee trinken gehen kann, wird das Handy auf den Auslieferungszustand unter OxygenOS v9.0.13 zurückgesetzt, d.h. alle Daten sind weg. Sofern man kein Backup gemacht. Ach ja, und dieses auf einen entsprechenden, externen Datenträger gespeichert hat. Nicht nur wegen der fehlenden transparenten Aktionen bei der Wiederherstellung würde ich auf jeden Fall als erstes entweder TWRP flashen, /Data und /System wipen und das Originalbetriebssystem von OnePlus oder gleich LineAgeOS installieren. Das geht dann "einfach".

Und der Blutdruck sinkt. ;-)

Galadiner


Theodor W. Adorno, Heidelberg 1964
Foto: Jeremy J. Shapiro
Lizenz: CC BY-SA 3.0
Wie Fortschritt und Regression heute sich verschränken, ist am Begriff der technischen Möglichkeiten zu lernen. Die mechanischen Reproduktionsverfahren haben sich unabhängig von dem zu Reproduzierenden entfaltet und verselbständigt.

Sie gelten für fortschrittlich, und was an ihnen nicht teilhat für reaktionär und krähwinklerisch. Solcher Glaube wird um so gründlicher gefördert, als die Superapparaturen, sobald sie irgend ungenützt bleiben, in Fehlinvestitionen sich zu verwandeln drohen. Da aber ihre Entwicklung wesentlich das betrifft, was unterm Liberalismus Aufmachung hieß, und zugleich durch ihr Eigengewicht die Sache selber erdrücke, der ohnehin die Apparatur äußerlich bleibe, so hat die Anpassung der Bedürfnisse an diese den Tod des sachlichen Anspruchs zur Folge. Der faszinierte Eifer, die jeweils neuesten Verfahren zu konsumieren, macht nicht nur gegen das Übermittelte gleichgültig, sondern komme dem stationären Schund und der kalkulierten Idiotie entgegen. Sie bestätigt den alten Kitsch in immer neuen Paraphrasen als haute nouveauté. Auf den technischen Fortschritt antwortet der

trotzige und bornierte Wunsch, nur ja keinen Ladenhüter zu kaufen, hinter dem losgelassenen Produktionsprozeß nicht zurückzubleiben, ganz gleichgültig, was der Sinn des Produzierten ist. Mitläufertum, das sich Drängeln, Schlange Stehen substituiert allenthalben das einigermaßen rationale Bedürfnis. Kaum geringer als der Haß gegen eine radikale, allzu moderne Komposition ist der gegen einen schon drei Monate alten Film, dem man den jüngsten, obwohl er von jenem in nichts sich unterscheidet, um jeden Preis vorzieht. Wie die Kunden der Massengesellschaft sogleich dabei sein wollen, können sie auch nichts auslassen. Wenn der Kenner des neunzehnten Jahrhunderts sich nur einen Akt der Oper ansah, mit dem barbarischen Seitenaspekt, daß er sein Diner von keinem Spektakel sich mochte verkürzen lassen, so kann mittlerweile die Barbarei, der die Auswegsmöglichkeit zum Diner abgeschnitten ist, an ihrer Kultur sich gar nicht sattfressen. Jedes Programm muß bis zu Ende abgesessen, jeder best seller gelesen, jeder Film während seiner Blütetage im Hauptpalast beguckt werden. Die Fülle des wahllos Konsumierten wird unheilvoll. Sie macht es unmöglich, sich zurechtzufinden, und wie man im monströsen Warenhaus nach einem Führer sucht, wartet die zwischen Angeboten eingepeilte Bevölkerung auf den ihren.

Theodor W. Adorno - Minima Moralia

Einen Blick auf Klipper riskieren

Screenshot
Ich habe das schlechte Wetter heute genutzt, um ein wenig mit der Firmware des AnyCubic i3 MEGA herum zu spielen. Normalerweise läuft hier Marlin, mich hatte aber interessiert, was hinter dem OctoPrint Plugin OctoKlipper steckt. Man muss ja elastisch bleiben. Dabei kam heraus, daß mit Klipper eine weitere Möglichkeit zur Steuerung der Druckerei besteht.  Mindestens genau so frickelig wie Marlin, das Display des Druckers wird (leider) gar nicht unterstützt, auch sonst muss man sich halbwegs ordentlich einlesen, um den Drucker überhaupt in Betrieb nehmen zu können. Das ist auch gut so, denn nur so lassen sich Schäden am Drucker oder Druckgut oder schlimmer: an Leib und Leben verhindern.

Grob gesagt unterscheidet Klipper sich von Marlin darin, daß nur ein kleiner Bootloader auf dem Drucker selber verbleibt, der dann mit dem Hostrechner - zum Beispiel einem RaspBerry PI kommuniziert und diesem die ganze Rechenarbeit überlässt. Diese Arbeit stellt die Himbeere vor keine besonders großen Herausforderungen, trotzdem sollte man möglichst zum RaspBerry Pi 3B+ greifen. Zur Installation verweise ich mal auf das Tutorial bei selbstgedruckt.de, die Menschen dort beteiligen sich auch rege in einem deutschsprachigen Fratzenbuch Forum.

Für den AnyCubic i3 Mega habe ich als Einstieg zwar die entsprechende Beispielkonfigurationsdatei auf github verwendet, da unser Drucker jedoch wegen ungebührlichen Lärmens zu einem Austausch der Lüfter (Noctua NF-A4x10 FLX 40mm zur Kühlung von Hotend und der Treiber über den Lüftungskanal hier auf thingiverse und Noctua NF-A9x14 Lüfter für das Netzteil sowie Sunon  MF50151VX-A99 Radiallüfter zur Bauteilkühlung) und der Steppertreiber auf TMC2208 V1.2 verdonnert wurde, mussten die Achsen der Steppermotoren invertiert werden. Es gibt u.a. auch in der FAQ zu Klipper den Hinweis, daß die TMCs mitten im Druck aussteigen können. Das ist wohl vor allem dann der Fall, wenn die Geschwindigkeit der Achsen zu sehr hoch gesetzt wurden. (Es soll ja Leute geben, die unter Klipper mit 100mm/sec statt mit 60mm/sec drucken, tstststss...)

Bislang konnte ich derartiges Verhalten bei uns nicht beobachten. Mit der in diesen Tagen erscheinenden neuen Klipper Version sollen jedoch wohl auch diese Problem gelöst sein.

Wie auch immer: Erwähnenswert ist, daß diverse G-Code Variablen zu seltsamem Verhalten führen können. Das betrifft jedoch meistens Start- oder Endcodes sowie diverse Plugins von OctoPrint, die z.B. mit G117 eine Bildschirmausgabe erzeugen wollen.

Ein Switchen zwischen Marlin und Klipper ist problemlos möglich und in 5 Minuten bewerkstelligt, falls mal etwas nicht so klappt, wie es soll. Ich schließe zur Installation von Marlin über die Arduino IDE den ausgeschalteten Drucker via USB an meinen Rechner an, starte die Arduino IDE und wähle kompilieren / hochladen, nachdem ich den Drucker eingeschaltet habe. Das bügelt alles von Klipper weg.

Umgekehrt installiere ich Klipper, indem ich mich als pi per ssh auf dem OctoPI/OctoPrint  Server anmelde, mit

cd ~/Klipper

ins Klipper Verzeichnis wechsle und dann erst mal herausfinde, auf welchem USB Port denn der jetzt am OctoPI angeschlossene Drucker lauscht. Dazu

ls -l /dev/serial/by-id/

eingeben, den ausgegebenen Port merken und dann beherzt den Klipper Bootloader mit

make flash FLASH_DEVICE=/dev/gemerkterPort

auf den Drucker kopieren. Dazu sollte man beachten, daß der Drucker nicht mit OctoPrint verbunden ist. Am besten danach rebooten, dann klappt das mit dem Drucken. ;-)

Hier noch mein config File für den AnyCubic i3 MEGA mit TNC2208 V1.2, und 8 Bit Board sowie Ultrabase. Die Achsen sind in der Firmware bereits invertiert, dazu ist das "!" vor den jeweiligen dir_pin gesetzt bzw. entfernt. Die Angaben für das PID Tuning beziehen sich auf meinen Drucker, bei anderen sollte das PID über das OctoKlipper Plugin gemacht werden. In Ergänzung zur Standard Config befindet sich ein Teil zur Regelung der Temperaturtoleranzen, ohne die mein Drucker nach wenigen Layern gleich ausgestiegen ist, die ich 1:1 aus der examples-extras.cfg Datei von Klipper entnommen habe. Noch nicht gekümmert habe ich mich um die anderen Gründe, warum ich mal einen Blick auf Klipper riskiere wie schnelleres und noch schöneres Drucken, schnellere Filamentförderung - Stichwort "pressure advance", Kaffee kochen und die Wäsche waschen...

# Anpassung der Pin Mappings für den AnyCubic i3 MEGA, TMC2208 und Ultrabase 
#
# Verwendung auf eigene Gefahr! Code kopieren und in octopi.url#conf einfügen
# 12 / 12 / 2018 thomas@trueten.de still under developement
#
# https://www.trueten.de/permalink/Einen-Blick-auf-Klipper-riskieren.html
#
#
# This file contains pin mappings for the Anycubic i3 Mega with
# Ultrabase from 2017. (This config may work on an Anycubic i3 Mega v1
# prior to the Ultrabase if you comment out the definition of the
# endstop_pin in the stepper_z1 section.) To use this config, the
# firmware should be compiled for the AVR atmega2560.
# See the example.cfg file for a description of available parameters.

[stepper_x]
step_pin: ar54
dir_pin: ar55
enable_pin: !ar38
step_distance: .0125
endstop_pin: ^!ar3
position_min: -5
position_endstop: -5
position_max: 210
homing_speed: 30.0

[stepper_y]
step_pin: ar60
dir_pin: !ar61
enable_pin: !ar56
step_distance: .0125
endstop_pin: ^!ar42
position_endstop: 0
position_max: 210
homing_speed: 30.0

[stepper_z]
step_pin: ar46
dir_pin: !ar48
enable_pin: !ar62
step_distance: .0025
endstop_pin: ^!ar18
position_endstop: 0.0
position_max: 205
homing_speed: 5.0

[stepper_z1]
step_pin: ar36
dir_pin: !ar34
enable_pin: !ar30
step_distance: .0025
endstop_pin: ^!ar43

[extruder]
step_pin: ar26
dir_pin: !ar28
enable_pin: !ar24
step_distance: .010799
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: ar10
sensor_type: ATC Semitec 104GT-2
sensor_pin: analog13
control: pid
min_temp: 0
max_temp: 260
min_extrude_temp: 170

[heater_fan extruder_fan]
pin: ar44

[heater_bed]
heater_pin: ar8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: analog14
control: pid
pid_Kp: 74.883
pid_Ki: 1.809
pid_Kd: 775.038
min_temp: 0
max_temp: 110

[verify_heater extruder]
heating_gain: 2
check_gain_time: 20
hysteresis: 5
max_error: 120

[fan]
pin: ar9

[mcu]
serial: /dev/ttyUSB0
pin_map: arduino

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 10
max_z_accel: 60

[heater_fan stepstick_fan]
pin: ar7

# Define the BLTouch servo
[servo bltouch]
pin: ar11
maximum_servo_angle: 180
minimum_pulse_width: 0.0006
maximum_pulse_width: 0.0024

# Define a probe using the BLTouch
[probe]
pin: ar2
x_offset: 26.0
y_offset: 0.0
z_offset: -1.7
activate_gcode:
    SET_SERVO SERVO=bltouch ANGLE=10
    SET_SERVO SERVO=bltouch ANGLE=60
    G4 P200
deactivate_gcode:
    SET_SERVO SERVO=bltouch ANGLE=90
    G4 P100

# Mesh Bed Leveling. One may define a [bed_mesh] config section
# to enable move transformations that offset the z axis based
# on a mesh generated from probed points. Note that bed_mesh
# and bed_tilt are incompatible, both cannot be defined.
[bed_mesh]
speed: 50
#   The speed (in mm/s) of non-probing moves during the
#   calibration. The default is 50.
horizontal_move_z: 5
#   The height (in mm) that the head should be commanded to move to
#   just prior to starting a probe operation. The default is 5.
samples: 1
#   The number of times to probe each point.  The probed z-values
#   will be averaged.  The default is to probe 1 time.
sample_retract_dist: 2.0
#   The distance (in mm) to retract between each sample if
#   sampling more than once.  Default is 2mm.
min_point: 19,32
#min_point: 0,32
#   An X,Y point defining the minimum coordinate to probe on
#   the bed. Note that this refers to the nozzle position,
#   and take care that you do not define a point that will move
#   the probe off of the bed. This parameter must be provided.
max_point: 199,212
#max_point: 175,198
#   An X,Y point defining the maximum coordinate to probe on
#   the bed. Follow the same precautions as listed in min_point.
#   Also note that this does not necessarily define the last point
#   probed, only the maximum coordinate. This parameter must be provided.
probe_count: 5,5
#   A comma separated pair of integer values (X,Y) defining the number
#   of points to probe along each axis. A single value is also valid,
#   in which case that value will be for both axes. Default is 3,3
#   which probes a 3x3 grid.
#fade_start: 1.0
#   The z-axis position in which to start phasing z-adjustment out.
#   Default is 1.0.
#fade_end: 0.0
#   The gcode z position in which phasing out completes.  When set
#   to a value below fade_start, fade is disabled. It should be
#   noted that fade may add unwanted scaling along the z-axis of a
#   print.  If a user wishes to enable fade, a value of 10.0 is
#   recommended. Default is 0.0, which disables fade.
#fade_target:
#   The z position in which fade should converge. When this value is set
#   to a non-zero value it must be within the range of z-values in the mesh.
#   Users that wish to converge to the z homing position should set this to 0.
#   Default is the average z value of the mesh.
#split_delta_z: .025
#   The amount of Z difference (in mm) along a move that will
#   trigger a split. Default is .025.
#move_check_distance: 5.0
#   The distance (in mm) along a move to check for split_delta_z.
#   This is also the minimum length that a move can be split. Default
#   is 5.0.
#mesh_pps: 2,2
#   A comma separated pair of integers (X,Y) defining the number of
#   points per segment to interpolate in the mesh along each axis. A
#   "segment" can be defined as the space between each probed
#   point. The user may enter a single value which will be applied
#   to both axes.  Default is 2,2.
#algorithm: lagrange
#   The interpolation algorthm to use. May be either "langrange"
#   or "bicubic". This option will not affect 3x3 grids, which
#   are forced to use lagrange sampling.  Default is lagrange.
#bicubic_tension: .2
#   When using the bicubic algoritm the tension parameter above
#   may be applied to change the amount of slope interpolated.
#   Larger numbers will increase the amount of slope, which
#   results in more curvature in the mesh. Default is .2.

#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [extruder]
#*# pid_kp = 18.387
#*# pid_ki = 0.936
#*# pid_kd = 90.325


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.

Das Tutorial ist für das AnyCubic i3 MEGA Board verfasst worden. Bei anderen Boards und Herstellern bitte auf die aktuelle Beschreibung / Installationsanweisung auf https://github.com/KevinOConnor/klipper achten!

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!

Keep on Coding Printing!

OnePlus 6T: Kaum da, schon gerootet ;-)

Zur Abwechslung mal wieder was über Telefone. Nach 4 Jahren mit dem OnePlus One, dem so allmählich die Puste ausging, war es mir mal nach Veränderung, so orderte ich mir eine neue Telefonzelle. Es musste mit 256 GB internem Speicher und 8 GB RAM natürlich gleich der dickste Bolzen sein. ;-) Da mich die Qualität des Gerätes und die Community in den letzten Jahren überzeugte - in unserem Haushalt werkelt ja auch noch ein OnePlus 3T - war eigentlich klar, daß ich markentreu bleibe. Das vor 5 Monaten erschienene 6er Modell hätte mich eigentlich schon gereizt, aber ich dachte mir, bau nochmal einen Austauschakku ein, vielleicht hält das Teil ja nochmal 4 Jahre durch. Naja, der Akku war bzw. ist ok, auch der Austausch war in 20 Minuten erledigt. Dennoch: Die heutige Software zieht schon etwas mehr Strom und letztlich reichte das nicht einmal mehr über den Tag.

Tests zum 6T gibt es genügend, für mich gab es keinen Grund mehr, zu Googles "Pixel" zurückzukehren, nachdem die Preispolitik der vergangenen Jahre konsequent fortgesetzt und dafür an der 1000€ Marke gekratzt wird. Ein Thema, bei dem Durchgeknallte, die mit einem iPhone "X" herumposen - wohl nur zu einem müde Lächeln können. Aber irgendwie bekommt Apple das mit den Mondpreisen schon zu spüren.

Wie auch immer, nachdem OnePlus sein 6T vor 14 Tagen vorgestellt hatte kam es am Dienstag zur Auslieferung, meines bekam ich dann gestern geliefert. Während ich einem Familienmitglied beim Umstieg von einem ebenfalls 4 Jahre alten iPhone auf ein 6T unterstützte, fand ich noch die Zeit, nach einer Lösung zum Rooten für das 6T, denn ich hätte ja doch ganz gerne meine diversen Apps 1:1 wieder auf dem neuen Handy. Mittels Titanium BackUp kein Problem, allerdings setzt das Root voraus. Kein Problem1:

blu_spark TWRP für das OnePlus 6T
dann noch

Magisk herunterladen


Bei uns an den Linux Rechner gehängt, nachdem ich das 6T eingeschaltet und einen "alles überspringen" Setup Lauf durchgeführt hatte, bin ich in die Einstellungen / Über das Telefon / 7 * auf "Build Number" tippen, um den Entwicklermodus freizuschalten, dann wieder in "Einstellungen / System / Entwickleroptionen" und dort "OEM Entsperrung", "USB-Debugging" und "USB-Debugging Authorisierungen aufheben" aktivieren und dem angeschlossenen Rechner Zugriffsrechte erteilen. (Am besten auch noch "erweiterter Neustart" aktivieren, aber das ist Komfortzone.)

Sodann als root berechtigter User das folgende in die Linux Kommandozeile 2 reinhacken:

fastboot oem unlock

Schwupps - so schnell ist das Handy platt. Genau: beim Entsperren des Bootloaders werden alle Daten gelöscht. Das macht nichts, da ich noch keine Daten darauf habe und deswegen ja auch im "alles überspringen" Setup Lauf unterwegs war ;-)

Nach dem Aufheben der OEM Sperre und der Freischaltung können nun TWRP, der blu_spark Kernel und Magisk installiert werden. Mit

fastboot boot twrp-3.2.3-x_blu_spark_v9.86_op6.img

wird das neue Recovery gebootet, anschließend erlaubt man Änderungen durch Wischen auf dem im unteren Bildschirrm angebotenen Schieberegler. Dann wird in dem nächsten Bildschirm unter "Advanced" der Menüpunkt"ADB Sideload" gewählt, "Wipe Dalvik Cache" und "Wipe Cache" gewählt und dann der ADB Zugriff durch Wischen am Schieberegler im unteren Bildschirmrand ermöglicht, der dann auf dem Computer per sideload aufs 6T gebügelt wird:

adb sideload twrp-3.2.3-xblusparkv9.86op6.zip

Dann kann z.B. mit dem blu_spark Kernel eine Alternative zum regulären Systemkern installiert werden:

adb sideload blusparkr56-oos-pieop6-6t9e9a352.zip

Als Abschluß gibt es dann noch die Installation von Magisk per sideload:

adb sideload Magisk-v17.3.zip

Dann lösche ich eigentlich immer den Cache und starte das Handy neu. Magisk lässt sich zukünftig dann direkt aus der App updaten.

Diese im Gegensatz zu früheren root / Flash Aktionen scheinbar etwas umständlichere Methode der Recovery Installation hängt mit den A/B Partitionen zusammen, die ursprünglich mit Googles Pixel 1 eingeführt und für mehr Sicherheit sorgen sollen. So existiert im Gegensatz zu früheren Versionen keine eigene Recovery Partition mehr, sondern das Recovery ist Bestandteil des Boot Images. Grob gesagt muss deshalb TWRP temporär gebootet werden, um erst mit einem weiteren Installationslauf in einem der Slots eingerichtet zu werden. Die beiden Slots sind in TWRP selbst auch anwählbar, zum Beispiel beim Backup. Auch beim Neustart aus dem Recovery lässt sich der gewünschte Slot wählen.

Die verwendete (inoffizielle) blue_spark TWRP 3.2.3-x Recovery Version v9.86 ist noch in einem recht frühen Entwicklungsstadium, das sollte man bedenken, ebenso wie die angepasste Magisk Version. Zum Beipiel läuft hier das Xposed Modul leider noch nicht, auch gibt es in Sachen LineAgeOS bis jetzt auch nur inoffizielle Versionen. Hier habe ich mich auch noch nicht dazu durchgerungen, auf den Zug aufzuspringen. Aber was nicht ist, kann ja noch werden. Momentan schaue ich mir noch sehr wohlwollend das installierte OxygenOS 9.05 an, das unmittelbar nach dem TWRP Flash zum Download bereit stand.

Die A/B Partitionen können wie alles andere in dem kurzen Beitrag hier dargestellte zu Problemen führen, bis dahin, das OnePlus 6T in einen 629€ teuren Briefbeschwerer zu "bricken". Von daher: Alles, was bei mir geklappt hat, kann woanders ins Auge gehen, daher: Nachahmung auf eigene Gefahr, informiert Euch zuvor über die möglichen Folgen, zum Beispiel auch über eventuellen Garantieverlust!

In dem Sinne freue ich mich über Hinweise, Vorschläge, Alternativen und Kritiken, gerne über die Kommentarfunktion!

1: Wem das zu stressig / langweilig / riskant / whatever ist, der kann natürlich auch per OnePlusSwitch bequem von einem alten Android Handy - und auch von iPhones - auf das neue umsteigen. Die App, die in Googles Play Store für Android und hier - leider außerhalb von dem Apple Dingens erhältlich und daher nicht ganz ungefährlich - zu installieren ist, erleichtert einem den Umzug doch sehr, indem ein Barcode auf dem alten durch das neue Handy abzufotografieren ist. Binnen kurzer Zeit landen dann alle Fotos und sonstigen Daten auf dem neuen Gerät.

2: Windows kann das natürlich auch. Möglicherweise gibt es dabei einiges zu beachten, daher verweise ich auf die DroidWiki Anleitung hier.

In diesem Beitrag sind einige Links auf Amazon und eBay gesetzt. Wenn Ihr über diese Links dort etwas bestellt, bekomme ich eine kleine Provision. Irgendwie muss die Kohle für das 629€ teure Teil ja wieder reinkommen. ;-) Für Euch bleibt der Preis derselbe wie bei einem Direktkauf.

Error 7: Modem- Firmwareupdate beim OnePlus3T

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.


Warning: Undefined variable $headcss in /home/www/plugins/serendipity_event_lightbox/serendipity_event_lightbox.php on line 212
cronjob