16.09.2019

Das war kompliziert ... LineageOS 16.0 auf dem LG G3

Das war ein hartes Stück Arbeit diesmal! Bei ebay Kleinanzeigen habe ich ein LG G3 gesehen, das nicht mehr booten wollte. Der Verkäufer wollte nur ein Taschengeld dafür haben, deswegen konnte ich nicht nein sagen ...

"Nicht richtig starten" klingt nach einem größeren Hardwareproblem, d.h. die Hauptplatine des Geräts wird getauscht werden müssen. Bei solchen winzigen Bauteilen (noch dazu Spezialbauteilen ...) ist es nahezu aussichtslos, mit dem Lötkolben irgend etwas reparieren zu können.

Vor dem Kauf hatte ich bei ebay nachgeschaut, ob es Mainboards zu erschwinglichen Preisen gibt, und konnte ein Ersatzteil für ebenfalls wenig Geld in der "großen" 32 GB-Version bestellen. Es gibt Händler, die defekte Smartphones zerlegen und Einzelteile verkaufen. Auch Displays, Kameras, sogar einzelne Folienkabel kann man kaufen, wenn man ein entsprechendes Bedürfnis hat ;-)

Als das Telefon ankam, probierte ich zuerst, es einzuschalten. Das ging von etwa 20 Versuchen etwa einmal, und auch da nur bis zum "LG Life's good" Startbildschirm, danach war tote Hose. Also war tatsächlich Mainboard tauschen angesagt.


Die Geräte von LG (G3 und G4) sind sehr wartungsfreundlich. Man kann die Rückwand abnehmen, den Akku wechseln, und es ist nichts geklebt, sondern nur geschraubt. Nach dem Entfernen von gut 10 Schrauben rundherum konnte ich zwei Plastikführungen entfernen, die Folienkabel abklipsen und das Mainboard einfach herausheben und gegen das neue austauschen.

Insgesamt ist das LG G3 auch heute noch ein brauchbares Gerät. Beim Erscheinen war es die damalige Oberklasse, und auch heute kann man mit Snapdragon 800, 2.5 GHz, 4 Kernen, 3 GB RAM, 32 GB Speicher, 13MP-Kamera und einer Auflösung von 2500x1400 sehr gut leben. Außerdem kann man eine SD-Karte dazustecken, und meine testweise eingesteckte 64 GB-Karte hat es sofort benutzen können.

Das LG G4, das meine Frau bis vor einiger Zeit benutzte, ließ sich problemlos im fastboot-Menü entsperren, deswegen war ich zunächst ohne Bedenken, dass das G3 irgendwelche Probleme machen könnte.

Weit gefehlt!

So einen komplizierten Recherche- und Lernprozess hatte ich noch bei keinem der Handys, auf die ich LineageOS oder ein anderes Custom ROM installieren wollte.

Zum Ersten hat das Handy keinen fastboot-Modus. Das empfohlene Vorgehen ist, das Gerät zu "rooten", sich also mit Hilfe einer Sicherheitslücke in der Originalsoftware Administratorzugang (unter Unix eben "root") zu verschaffen, und danach direkt mit dem lowlevel-Befehl "dd" die Recoverypartition mit dem Custom Recovery TWRP zu überschreiben.

Schon das Rooten war nicht einfach: ich habe mehrere Tools ausprobieren müssen, bis eines erfolgreich war. Das Telefon bzw. das Ersatzmainboard kam mit Lollipop, also Android 5.0, und erst eine relativ neue Fassung von KingRoot hat es geschafft, mir Rootrechte zu geben. Die Installationsversuche mit Towelroot, Kingroot und ähnlichen Tools hat übrigens zuverlässig dazu geführt, dass Android mir erklären wollte, dass ich Schadsoftware auf dem Handy hätte, und bot gleich an, sie zu entfernen. Immerhin wurde ich trotzdem nicht daran gehindert, sie zu installieren und zu benutzen.

Das Flashen von TWRP war dann problemlos, aber beim Einschalten mit der Tastenkombination kam eben nicht das Customrecovery auf den Bildschirm, sondern ich bekam nur eine abwechselnd rot und blau leuchtende LED. Wie ich später herausfand, ist dies das Warnsignal, dass der "Secure boot" kein valides Recoveryprogramm gefunden hat. Aus diesem Fehlermodus kommt man nur durch Entfernen des Akkus wieder heraus.

Danach hatte ich noch mehrere erfolglose Versuche, mit anderen Versionen des TWRP-Images ein Custom Recovery auf das Gerät zu bringen. Jedes Mal wieder nur die lustig blinkende LED ...

Dann fragte ich auf Reddit im LG G3-Forum und bekam dort einen Hinweis, dass die "früheren" Bootloader noch nicht dieses Sicherheitsfeature hätten, und ich sollte mit dem Factoryimage (also die Originalfassung von LG) ein Android 4.4 installieren. Ich hätte nun beinah tatsächlich 1 GB heruntergeladen, aber zwischendrin stieß ich auf einen Artikel bei XDA, dass es reicht, nur den Bootloader zu ersetzen, ohne das gesamte Telefon mit einem noch älteren Android neu zu bespielen.

Freundlicherweise gibt es dafür ein Hilfswerkzeug, das ich im selben Artikel auch noch fand: es nennt sich AutoRecMM und überschreibt sowohl den Bootloader als auch das Recovery des Geräts mit passenden Versionen. Damit konnte ich tatsächlich in ein TWRP Custom Recovery booten, wenn auch in einer älteren Version 2.8.7.

Naja, das wär's dann eigentlich gewesen ... aber dann ist noch ein weiterer Fehler dazwischen gekommen: das LineageOS-zip ließ sich nicht flashen, weil das Gerät nicht mehr von sich selbst wusste, dass es ein G3, Modell d855 ist. Dieses Problem konnte ich beheben, indem ich mit TWRP selbst ein neueres TWRP installierte, diesmal 3.3.1. Wohlweislich hatte ich nämlich vor dem Flashen mit adb noch ein paar nützliche Dateien in den Speicher des Telefons überspielt, darunter auch die aktuelle twrp.img-Datei. Beim Flashen dieser Datei "lernt" das Handy wieder, dass es ein G3, d855 ist. Die Fehlermeldung dazu lautete sinngemäß "This installation requires a d855, your model is a .", d.h. die Kennung für den Typ des Smartphones war leer.

Wichtig: bei der ersten Installation unbedingt vor dem Booten auch gleich noch die Open GApps (stock, 32 bit) installieren. Nur wenn beide Dateien zusammen vor dem Booten geflasht wurden, passen alle Berechtigungen. Wenn LineageOS ohne die Open GApps gestartet wurde, lässt sich das nicht mehr nachholen und man muss einen Factory Reset machen und erneut beides (diesmal zusammen) flashen! Wenn man Krams wie Duo oder Hangouts nicht haben will, muss man mit einer handgeschnitzten gapps-config.txt nachhelfen, so dass die unnötigen Apps gleich entfernt werden. Es ist aber trotzdem sinnvoll, ein "großes" GApps-Paket zu installieren, damit die Apps, die man haben möchte, in der Systempartition und nicht im Benutzerspeicher installiert werden.

Und nun endlich konnte ich das aktuelle LineageOS 16.0 (mit Sicherheitsstand 09/2019) flashen! Und natürlich auch gleich Magisk zum Rooten :-)

Die Geschichte geht noch ein kleines Stücken weiter: die LineageOS-Version hat wunderbar funktioniert bis auf einen Haken: die Funktion "lange drücken" ging nicht. Beim Versuch, ein Widget auf dem Startbildschirm (ich mag die "analog clock") einzurichten, kam immer nur der Hinweis, dass ich lang drücken soll. Über das Update-Menü habe ich mir dann die 2 Tage neuere LineageOS-Version direkt auf das Gerät heruntergeladen und installieren lassen, und dann lief alles, so wie es soll ;-)

Zum Schluss noch eine Bemerkung, weil ich oben schon mal das LG G4 meiner Frau erwähnte:
es wurde dann abgelegt, weil es kein offizielles LineageOS mehr dafür gab, und durch ein Moto Z ersetzt, aber das ist eine andere Geschichte. Mittlerweile gibt es übrigens wieder "unofficial" Builds für das G4, und es läuft sehr gut damit. Aber auch das ist eine andere Geschichte ;-)

1 Kommentar:

  1. Ist mir ähnlich gegangen. Ich habe mich ganz naiv an die Anweisungen im LineageOS-Wiki gehalten und da wurde eine Root-Methode empfohlen, die mit LP oder MM nicht mehr funktioniert. Also griff ich zum berüchtigten Kingoroot und hatte anschließend Root-Zugriff und beförderte TWRP wie im Wiki empfohlen per dd auf die Recovery-Partition. Anschließend hatte ich dann auch Freude mit dem blau-roten Leuchten und dem "secure boot error".
    Deshalb habe ich anschließend den sauberen Weg probiert: Downgrade der vollständigen Firmware auf das offizielle KK, dann ging auch das im Wiki empfohlene LG one click root und TWRP ließ sich ganz einfach über die offizielle TWRP-App flashen. Dann hatte ich noch das Problem, dass Installation von LineageOS aus irgendeinem Grund nicht per Sideload geht. Man muss partout alles auf die SD-Karte plazieren und dann kann man lustig drauflos flashen.
    Insgesamt finde ich das eine Zumutung. Noch nie ein Handy erlebt, bei dem es so schwierig und so chaotisch dokumentiert war.

    AntwortenLöschen