Posts mit dem Label Jelly Bean werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Jelly Bean werden angezeigt. Alle Posts anzeigen

21.07.2017

Cyanogenmod auf dem Samsung Galaxy Nexus i9250 installieren

[Der Artikel ist schon älter. Ich habe Stichworte geändert, deswegen sieht das leider wieder wie ein neuer Beitrag aus]
Aus aktuellem Anlass musste ich mal wieder ein Telefon updaten.

Meine Frauen sind sehr destruktiv, was die Handys angeht: meine Tochter fällt mit Handy ins Wasser, oder fällt so unglücklich, dass das Display bricht, oder verliert das Handy im Kino, und meine Frau steckt das Handy in die Jackentasche und setzt sich dann drauf.

Fazit: ich kaufe nur noch gebrauchte Handys, bei denen es nicht so arg schmerzt, wenn sie kaputtgehen. Das zum Sitzkissen mutierte Handy, ein Galaxy S2, hatte mich keine 30 Euro gekostet, weil ich es aus Einzelteilen zusammensetzen konnte. Natürlich tut es trotzdem weh ;)

Diesmal habe ich mir ein Galaxy Nexus i9250 ausgesucht. Das ist ein immer noch sehr brauchbares Gerät, und man bekommt es sehr günstig. Die technischen Daten entsprechen in etwa dem Galaxy S3. Wie üblich bei Nexus-Geräten hat es keinen SD-Slot und ist damit auf 16 GB festgelegt. Macht aber nix, reicht für meine Frau voll und ganz, die sammelt keine Bildchen von Boy groups, bis der Speicher platzt ;-)

Das Installieren eines Custom ROMs ist bei Nexus-Geräten sehr schlicht. Man muss nicht "rooten", indem man eine Sicherheitslücke ausnutzt, sondern es gibt einen dokumentierten Weg, um das Telefon zu entsperren und wie üblich zuerst ein alternatives Recovery und dann ein alternatives ROM zu flashen.

Da die Nexus-Geräte ursprünglich als Geräte für Software-Entwickler geplant waren, die zügig die neueste Android-Version bekommen, stützt sich das Verfahren auf Tools, die im Android SDK enthalten sind. Man bekommt sie aber auch einzeln als Download; es ist nicht nötig, die neueste Version zu verwenden oder das volle SDK zu installieren.

Wenn man von Custom ROMs die Nase voll hat, kann man übrigens bei Google auch die Originale herunterladen und wieder flashen, z.B. wenn man das Handy mit dem Google-ROM weiterverkaufen will.

Die nächsten zwei Absätze sind nur von Belang, wenn man mit Windows geplagt ist. Für Linux- und Mac-Benutzer ist das nicht nötig, man muss nur evtl. dafür sorgen, dass das USB-Gerät 18D1:4E30 (Galaxy Nexus Fastboot-Interface) erkannt wird.

Das Galaxy Nexus hat leider eine Sonderstellung unter den Nexus-Geräten: die USB-Treiber für Windows werden von Samsung bereitgestellt und nicht von Google, und die Samsung-Treiber sind manchmal etwas zickig. Mein eigenes Gerät wurde auf Anhieb von Windows erkannt, das neu gekaufte erst beim dritten Anlauf, und ich musste ein paar Mal am Gerät zwischen PTP/MTP und USB-Debugging hin- und her schalten.

Wenn die Hürde mit dem USB-Treiber genommen ist, gilt es wieder, in mehreren Schritten zunächst ein alternatives Recovery-System zu installieren und mit Hilfe dessen dann das Custom ROM zu flashen.

Zunächst wird das Telefon entsperrt, damit das neue Recovery-System akzeptiert wird. Dieses Entsperren ist mit einem kompletten Löschen verbunden, also vorher alles sichern, auch die Bilder in DCIM  und alle anderen eigenen Daten! Ich empfehle Helium als Backupsoftware.

Auf dem PC nun die Images herunterladen, zum einen Clockwork Mod Recovery (es gibt zwei Varianten mit und ohne Touchscreen-Funktion) und zum Anderen Cyanogenmod mit den passenden Google-Apps (wenn gewünscht). Ich bevorzuge im Moment noch Android 4.3, die Optik von 4.4 gefällt mir eher weniger gut. Die Google-Apps starten zwar sofort ein Update, aber es ist trotzdem wichtig, dass die Grundversion genau zur installierten Android-Version passt.

Beide Lautstärketasten drücken und einschalten. Das Telefon startet nun im "Fastboot"-Modus, in dem es Flash-Inhalte entgegennimmt.
fastboot oem unlock
Nun am Handy bestätigen, dass es gelöscht werden kann.

Zum letzten Mal das alte Android-System starten und die beiden ZIP-Dateien für CM und Apps auf die "Interne SD-Karte" überspielen. Um die Sache zu beschleunigen, kann man auf das Anlegen von Google-Account etc. verzichten; es geht nur darum, die beiden Dateien auf das Telefon zu befördern.

Statt das alte Android nochmals zu starten, könnte man auch direkt nach dem Unlocken und Flashen des Recovery den Menüpunkt "install from sideload" anwählen. Dazu braucht man am PC dann den Befehl "adb sideload". Darüber schreibe ich ein anderes Mal.

Nun geht es daran, das neue Recovery zu flashen. Nochmals ausschalten  und in den Fastboot-Modus starten.
 fastboot flash recovery recovery-clockwork-6.0.4.7-maguro.img
Nun am Handy mit den Lautstärketasten anwählen "Reboot Recovery" und mit dem Einschaltknopf ausführen.

Im CWM-Recovery nun "wipe data" und "advanced -> wipe dalvik cache" anwählen - wie üblich.

Jetzt geht es zum Endspurt: "install zip" anwählen, dann "zip from internal SD card". Wenn das Nexus schon das Update auf 4.2 oder 4.3 hatte, wurde es intern mehrbenutzerfähig, d.h. es gibt Unterverzeichnisse "0" und "legacy". Falls die Zip-Dateien also nicht sichtbar sind, nochmals ein Verzeichnis tiefer gehen, dann sind sie nämlich unter "0" zu finden.

Zuerst das CM.zip und direkt danach die Google-Apps flashen lassen. Als letzten Befehl "reboot system" anwählen und die übliche Einrichtungsprozedur durchlaufen, dabei kann man einen Account bei Cyanogenmod einrichten oder es bleiben lassen. Wenn man einen Account dort hat, kann man ebenso wie beim Google Gerätemanager das Gerät bei Verlust "fernlöschen". Das ist Geschmackssache.

Das war's! Viel Spaß mit einem praxistauglichen Android auf einer immer noch richtig guten Hardware: Dualcore, 1.5 GHz, 4.65 Zoll mit 1280x720, 16 GB, davon ca. 13 GB nutzbar.

23.04.2014

CyanogenMod-Basteleien - Samsung Galaxy S plus i9001

Heute morgen brachte der Postbote mal wieder neue Hardware für weitere Basteleien, diesmal hatte ich mir recht spontan für kleines Geld ein Samsung Galaxy S plus i9001 ausgesucht.

Die Bedienung ist sehr angenehm, und die Geschwindigkeit des Telefons reicht allemal für Android 4.3. Ich bin sehr zufrieden, das einzige, was ich vermisse, ist eine Fotoleuchte.

Über die Hardware hatte ich mir vorher wenig Gedanken gemacht - obwohl es haptisch und numerisch sehr nah an einem meiner alten Lieblinge - dem i9000 - liegt, hat es vollkommen unterschiedliche CPU (Qualcomm MSM8255T mit 1,4 GHz statt Samsung S5PC110 mit 1 GHz) und GPU (Adreno 205 statt PowerVR SGX540). Im Gegensatz zum Galaxy S "advance" ist es nach wie vor eine Single-Core-CPU, kein Dual-Core.

Die unterschiedlichen CPUs/GPUs bedeuten natürlich auch, dass man nicht die Custom-ROM-Dateien vom i9000 nehmen darf.
Ich habe mir die Dateien von hier heruntergeladen (ich mag als Recovery das CWM, TWRP geht aber genauso gut, reine Geschmackssache ...). Das CM-ROM hat den Zusatznamen "ION". Außerdem benötigt man noch die Google-Apps für Jelly Bean 4.3.

So ein schnelles ROM-Update hatte ich bisher noch nicht, wow ;). Obwohl es ein Samsung-Gerät ist, habe ich kein Odin benötigt, sondern konnte das Custom-Recovery (CWM) sogar mit dem Stock-Recovery installieren.

Ursprünglich kam das Gerät mit Android 2.3.5, der Händler hatte nichtmal die Daten des Vorbesitzers gelöscht, ganz schön peinlich. Genauso dämlich aber natürlich vom Vorbesitzer, seine Daten und Fotos nicht selbst zu löschen, bevor er es endgültig aus der Hand gibt ...

Ich habe die drei benötigten Dateien für das Custom-ROM zunächst auf eine SD-Karte überspielt und ins Handy gesteckt. Danach muss man letztmalig das Samsung-Android starten, und mit dem Dateimanager "Eigene Dateien" die Dateien von der SD-Karte (zu finden unter external_sd) auf den internen Speicher zu verschieben. Das ist nötig, weil das Samsung-Recovery, das wir ersetzen wollen, nur vom internen Speicher installieren kann, aber nicht von SD-Karte.

Im Gegensatz zum S2 wird der Recovery-Modus aufgerufen, indem man beim Start nur Lautstärke-hoch und den Einschaltknopf drückt. Man darf nicht die Home-Taste drücken, sonst gelangt man in einen "RAM-Dump"-Modus, der hier nicht weiter interessiert.

Nachdem der Schriftzug "SAMSUNG" auf dem Bildschirm erscheint, die Knöpfe noch einen Moment gedrückt halten und dann die Menü-Taste (links neben der Home-Taste) drücken, bis sie aufleuchtet. Dauert alles einen Moment, aber keine Panik!

Im Recovery-Modus dann nacheinander "wipe data", "wipe cache", "install zip" aufrufen. Bestätigt wird mit der Menü-Taste (links). Zunächst zum ZIP für das CWM-Recovery navigieren und auswählen. Bestätigen wie gesagt mit der Menü-Taste, der Einschaltknopf geht einen Schritt zurück. Die Installation geht recht fix, die Datei ist ja auch nicht besonders groß. Danach "Reboot" auswählen und den Ablauf nochmal von vorne, bis das "neue" Recovery erscheint.

Jetzt nacheinander die beiden ZIP-Dateien für das CyanogenMod-ROM und die Google-Apps anwählen und bestätigen. Danach vorsichtshalber nochmals "wipe data", "wipe cache", "advanced" -> "wipe dalvik cache", und dann "Reboot system" auswählen.


Auf dem Startbildschirm unter dem Samsung-Logo müsste jetzt schon etwas zu sehen sein: nämlich das Logo der Entwickler "AriesDev" und darunter das CM-Logo.


Wie üblich dauert der erste Start recht lang, um die Apps auszupacken, zu untersuchen und zu optimieren ("odex"). Danach kommt der übliche Anmeldevorgang zu CM und zu Google, und dann geht es ans Einrichten des neuen Androiden mit 4.3.1 ;)

04.08.2013

FrankenS(2)tein - Zweiter Teil - Cyanogenmod

Da war also nun wieder ein funktionsfähiges Galaxy S2. Juhu.
Aber mit Branding von 1&1 und mit Android 2.3.5. Brrr.

Also das übliche Vorgehen: Rooten, CWM, Cyanogenmod.

Da Samsung nicht sehr freigiebig mit Informationen über den Exynos-Chip ist, funktionieren manche Dinge nicht oder schlecht. Der TV-Ausgang und das UKW-Radio sind nicht funktionsfähig und USB ist langsamer als mit dem Samsung-ROM. Diese Dinge waren mir aber nicht so wichtig, deshalb bin ich auf CM gewechselt, statt das Samsung-ROM 4.1.2 zu flashen.

Vor den Erfolg hat das fliegende Spaghetti-Monster aber den Fleiß und ein Problem gesetzt: das Handy wurde vom PC nicht erkannt, damit war also das Aufspielen von Software mit Odin oder Kies utopisch.

Genauer: am Handy wurde gemeldet: "MTP-Verbindung gestartet". Am PC aber erschien überhaupt keine Meldung.

Erster Verdacht: ein Hardware-Defekt.

Also der Versuch, den USB-Träger gegen eine andere Platine austauschen. Handy nochmals komplett demontieren, austauschen und wieder zusammen bauen.

Hilft aber nicht.

Was nun?

Nochmal Hardware tauschen? Dazu müsste ich erst ein Ersatzteil bestellen, soviel Vorrat hab ich dann doch nicht zuhause 'rumliegen ;)

Noch ein bißchen mit Google suchen ("PC erkennt Galaxy S2 an USB nicht") fördert Erstaunliches zutage: die USB-Schnittstelle am Handy kann man mit MMI-Befehlen umprogrammieren. Das ist doch vielleicht ein Hoffnungsschimmer.

*#9090# eingeben und Log Via UART anklicken. Danach den Home-Button drücken.
Dann wieder in der Telefon-App *#7284# eintippen und bei UART auf Modem, bei USB auf PDA stellen.
Dann den Home-Button drücken.
Telefon neustarten.
Dann sollte das Gerät wieder erkannt werden
Also recht mutig die beiden Befehle in die Telefon-Anwendung eingegeben, danach mit dem USB-Kabel wieder an den PC, und ... Juhu, es klappt! Das S2 wird wieder erkannt.

Mit der Installation der Treiber von Samsung ist alles geregelt, Kies und Odin sehen das S2 korrekt. Auch das Umschalten in den Debug-Modus ("Samsung ADB device") funktioniert.

Wichtig: das funktioniert nur mit dem originalen Samsung-ROM, mit CyanogenMod nicht (mehr).

Der Rest ist schnell erzählt: mit Odin einen gerooteten Kernel mitsamt Custom Recovery geflasht (sogar einen richtig coolen mit Touch-Bedienung!), CyanogenMod 10.1 nightly heruntergeladen (für das S2 gibt es derzeit keine stable, im Gegensatz zum i9000) und zack, schon hat das S2 das fast noch aktuelle Android 4.2.2 vom Dezember 2012.

Puh, das ging zu schnell. Also nochmal im Einzelnen:

Im eigenen Telefon nachschauen, welcher Kernel verwendet wird.
Menü ->
Einstellungen ->
Über das Telefon ->
Baseband-Version
Dort steht dann so etwas ähnliches wie "i9100XXLS8". Davon sind nur die letzten drei Stellen wichtig.
Einen möglichst genau passenden Root-Kernel hier suchen. Wenn "LS8" nicht in der Liste auftaucht, kann man einen nah benachbarten verwenden, also LS7, LS9 o.ä. Ich empfehle eher, einen leicht späteren zu nehmen, wenn die Version nicht exakt passt.
Handy möglichst komplett aufladen, damit keine unangenehmen Überraschungen passieren.

Diesen Kernel runterladen, S2 in den Odin-Modus versetzen und als "PDA" flashen.
Danach S2 in den Recovery-Modus booten und CM flashen.

Upps, schon wieder zu schnell. Hier langsamer mit mehr Details:

Also:
  • Handy ausschalten
  • Gleichzeitig Lautstärke-Runter, Home und Einschaltknopf drücken.
  • Erst loslassen, wenn das gelbe Dreieck erscheint.
  • Mit "Lautstärke hoch" bestätigen, dass ein Download gewünscht ist.
  • Das Handy mit dem USB-Kabel anschließen.
  • Odin starten (ich verwende Odin 1.85).
Jetzt sollte zu lesen sein, dass das Handy erkannt wird.
Den Button "PDA" anklicken und die heruntergeladene Datei auswählen (Dateiname endet mit .tar oder .tar.md5).
Auf Start klicken und nix mehr anfassen, bis das Telefon erfolgreich neu gestartet wurde und in Odin in grün "PASS" angezeigt wird.

Jetzt die gewünschte CyanogenMod-Version herunterladen, die dazu passenden Google-Apps nicht vergessen (wichtig, genau die Google-Apps auswählen, die zur Android-Version passen!) und alles auf die interne SD-Karte überspielen.

Jetzt das Handy nochmals ausschalten und im Recovery-Modus starten.
Gleichzeitig Lautstärke-Hoch, Home und Einschaltknopf drücken.
  • Wipe Data
  • Wipe Cache
  • Advanced -> Wipe Dalvik Cache
  • Install ZIP from internal SD card
  • CM-10.1-2013mmdd.zip auswählen
  • Install ZIP from internal SD card
  • gapps-2012mmdd.zip auswählen.
  • Reboot now
Das Telefon sollte nun mit Android 4.2.2 laufen.
  • Starten
  • Warten (wie üblich einige Zeit beim ersten Start)
  • Freuen

[Update 20140815: Bilder plötzlich defekt]

03.08.2013

Das FrankenS(2)tein-Handy - Operation am offenen Herzen

Mit Kindern erlebt man was ... ich erlebe mit Kind 1 den gelegentlichen Handyverlust im Kino, oder das gelegentliche gebrochene Display, oder auch gelegentliche feuchte Unfälle auf Ferienfreizeiten.

Dieser letzte Vorfall hat zu einem teilweise unbrauchbaren Galaxy S2 geführt. Das Display war noch in Ordnung, aber beim Anschließen des Ladegeräts wurde ein Warnschild auf dem Display angezeigt, dass der Akku zu heiß wird, mit anderen Worten: durch die Feuchtigkeit war es zu einem Kurzschluß und Defekt des Mainboards gekommen.

Natürlich ist das besonders ärgerlich, weil das Display schonmal repariert wurde und der Spaß auch 160 Euro und zwei Fahrten nach Gießen gekostet hat. Bei Samsung sind in der Galaxy-Baureihe Glas und Display leider verklebt und man kann diese beiden Bauteile, also das Glas mit dem sogenannten Digitizer, dem eigentlichen "Touchscreen", und das Display (eigentlich AMOLED und nicht LCD), ohne professionelles Heißluftgerät nur schwer zerstörungsfrei trennen. Andere Smartphones sind da wartungsfreundlicher, man kann Glas und Display getrennt austauschen.

Kind 1 war nun verständlicherweise sehr unglücklich, weil das Handy letztes Jahr mit selbst zusammengespartem Geld finanziert war.


Was macht der mutige Bastler nun: er beschafft ein baugleiches Galaxy S2 mit einem defekten Display, um das Mainboard zu transplantieren. Praktischerweise sogar im benachbarten Ortsteil, so daß es mit wenig Aufwand abgeholt werden kann. Kleiner Schreck beim Abholen: der Vorbesitzer erklärt, dass das Telefon vom Auto überrollt wurde. Bange Frage: hat das Mainboard überlebt, war das Gehäuse stabil genug? Auf dem Glas war noch eine Displayschutzfolie befestigt, so dass keine Splitter zu befürchten waren.


Diese Frage beantwortet erst der erfolgreiche Umbau ... um es vorweg zu nehmen: das Mainboard hat diese brachiale Behandlung wirklich unbeschadet überstanden. Die Transplantation war erfolgreich.

Man kann natürlich Glück haben wie ich und ein defektes Handy mit intaktem Mainboard sehr günstig bekommen. Bei Ebay gibt es mit den richtigen Suchbegriffen auch nahezu alle Ersatzteile für Handys als Einzelteile zu kaufen. Bei meiner Recherche habe ich ein Mainboard einzeln vom Händler für 120 Euro gefunden. Das ist natürlich jenseits aller Wirtschaftlichkeit, wenn man ein i9100 gebraucht vom Händler für unter 180 Euro bekommt.

Die Anschaffung einer leistungsfähigen Arbeitsplatzleuchte mit Lupe ist eine lohnenswerte Anschaffung für solche Bastelarbeiten. Solche Leuchten gibt es schon für 20 bis 25 Euro bei ebay. Außerdem benötigt man Feinwerkzeug, also Uhrmacherschraubendreher mit Flachklinge und Kreuzschlitz, 1 und 2 mm, und wenn man nicht sehr stabile Fingernägel hat, am besten ein flaches nichtmetallisches Hebelwerkzeug. Musiker können auch ein Gitarrenplättchen aus Plastik verwenden. Eine schmale Pinzette hilft, wenn die lockere Schraube sich nicht greifen lässt. Ich mag die gebogenen lieber ("gekröpft"), aber das ist Geschmackssache.

Wenn man nicht gerade zwei linke Hände hat, sollte ein solcher Umbau gut gelingen, das Galaxy S2 kann man sehr leicht auseinander- und zusammenbauen.

Pedanten können auch ein antistatisches Armband tragen oder vor Beginn der Bastelei an ein blankes Heizungsrohr fassen, um eventuelle statische Elektrizität los zu werden.

Man beginnt damit, den Akkudeckel zu öffnen und dann Akku, SIM- und SD-Karte zu entnehmen.

Zumindest das Telefon mit dem funktionsfähigen Display sollte man nur auf einer weichen Unterlage lagern (Brillenputztuch), wenn man es bearbeitet, damit es während der Operation keine Kratzer bekommt.

Unter dem Akkudeckel finden sich nun 7 kleine Kreuzschlitzschrauben, die entfernt werden wollen. Da alle gleich groß sind, erübrigt sich, festzuhalten, welche wohin gehört. Bei anderen Geräten gibt es unterschiedlich lange, man sollte die Schrauben dann schematisch so lagern, dass es der Position im Gerät entspricht, oder mit einem feinen Filzstift sogar im Gerät Markierungen, Nummern etc. vermerken.

Nach der Entfernung der Schrauben muss man mit (sehr!) sanfter Gewalt das Display vom Rücken trennen. Man sucht eine Ansatzstelle, um mit dem Hebelwerkzeug oder einem Fingernagel zwischen Rücken und Displayrand zu drücken. Dann fährt man einmal um den gesamten Rahmen herum. Vorsicht an den Plastikknöpfen für Lautstärke und Einschalten! Den Rückendeckel kann man dann beiseite legen, es gibt keine Kabel, Stecker o.ä. zu lösen.

Das Mainboard selbst wird mit weiteren zwei Schräubchen gehalten, eine in der Mitte des schmalen Teils, die andere direkt neben dem dicken, würfelförmigen Kameramodul.

Nach dem Lösen der Schrauben muss man mit dem Hebelwerkzeug einige Stecker lösen, die die Einzelteile elektrisch miteinander verbinden. Alle Stecker sind von oben aufgesteckt; am besten nimmt man wieder einen Fingernagel oder das Plastikteil, um seitlich anzugreifen und vorsichtig nach oben zu hebeln. Dann kann man den Stecker an der Folie vorsichtig hochbiegen. Das sollte man nicht übertreiben und auch nicht allzu oft machen, sonst riskiert man einen Bruch in den Leiterbahnen auf der Folie. Ein feines Kabel verbindet das Mainboard mit einer zweiten kleinen Platine, die unten quer eingebaut ist. Auch hier vorsichtig mit dem Fingernagel den Stecker nach oben abhebeln.

Etwas trickreich wird das Lösen der Schalter für Lautstärke und Einschaltknopf: die sind ebenfalls mit Folien mit dem Mainboard verbunden, und werden von hinten mit Klebeband in senkrechter Position gehalten. Ich habe diese kleinen Module gelöst, indem ich die Platinchen von mehreren Seiten mit dem feinsten Schraubenzieher gelockert habe, bis ich seitlich flach dahinter pieksen konnte (nicht kratzen!). Jetzt können die Platinen immer weiter gelockert werden. Das Klebeband sollte am Untergrund bleiben, weil es noch gebraucht wird.

Falls man alle Stecker gelöst und sanft hochgebogen hat, sollte nun das Mainboard ohne Gewalt vom Display abzuheben sein. Falls nicht, nochmals kontrollieren, wo es klemmt. Vorsicht, das Kameramodul ist recht schwer und wird nur von der Folienleiterbahn gehalten. Nicht allzusehr biegen und wackeln!

Bei Unsicherheiten, welche Platine defekt ist, sollte man auch den Träger für USB und Mikrofon mit austauschen. Dies bietet sich nun an, da zu dessen Auswechseln das große Mainboard sowieso komplett demontiert werden muss. Hier gilt dieselbe Warnung wie bei der Kamera: das Mikrofon wird nur von einer weichen Folie gehalten, also nicht zu stark biegen.

Die kleine Platine wird mit zwei Schrauben und einer Plastiknase gehalten. Am besten hebt man die Seite leicht an, an der das Antennenkabel ankommt, und drückt dann am USB-Stecker nach hinten, so dass die Platine unter der Plastiknase herausrutscht. An dieser kleinen Platine ist noch ein recht langes Stück Folie mit einem Stecker zur anderen Platine befestigt. Diese Folie ist mit Klebeband fixiert. Sehr, sehr vorsichtig vom Klebeband abziehen!

Dieselbe Operation führt man an beiden Handys durch (nicht defekte und funktionsfähige Teile verwechseln ;) und der Einbau geschieht in umgekehrter Reihenfolge. Achja: nicht die Teile verwechseln und wieder ein defektes Bauteil einbauen!

USB-Platine vorsichtig in Position schieben und festschrauben.
Mainboard vorsichtig einschieben, so dass alle Stecker bündig aussehen.
Vor dem Festschrauben die Lautstärke- und Einschaltplatine senkrecht an die richtige Stelle schieben und vorsichtig am Klebeband andrücken. Unten am Boden auf Bündigkeit achten.
Zwei Schrauben anziehen.
Stecker senkrecht von oben ohne Gewalt auf ihr Gegenstück drücken. Man hört das Einrasten deutlich!
Antennenkabel ebenfalls senkrecht von oben aufdrücken. Beide Seiten kontrollieren!
Vor dem Aufdrücken des Deckels Akku einlegen, beim Umdrehen festhalten und einen ersten Test machen, ob sich das Handy einschalten lässt.

Akku wieder ausbauen, Rückendeckel festdrücken. Vorher darauf achten, dass die Wippe für die Lautstärke und der Einschaltknopf mit den feinen Gummilaschen in der Führung sitzen (im Bild links)
.
Schrauben festdrehen. Nach fest kommt ab, also nur sachte anziehen.
SIM, SD und Akku wieder einbauen, Deckel drauf und fertig!


Nach dem Einschalten begrüßte mich ein 1&1-Branding und Android 2.3.5. Dazu aber mehr im nächsten Beitrag.


[Update 20140815: Bilder plötzlich kaputt]

26.06.2013

Cyanogenmod Update auf neue nightly Version beim LG P990

In den letzten Tagen hab ich mich mal wieder mit Android-Updates und CyanogenMod beschäftigt. Leider gibt es für mein Test- und Bastelgerät Optimus P990 noch keine stable-Variante der CM 10.1 (also Android 4.2.2), sondern nach wie vor nur die Nightly Versionen, also sozusagen Betatest-Releases.

Nichtsdestotrotz wollte ich ein Update durchführen und hoffe, dass die Patches und Bugfixes, die zum offiziellen "stable" 10.1 geführt haben, auch schon in die Nightlies für das P990 eingeflossen sind.

Wenn man CM und ein alternatives Recovery schon installiert hat, kann das Update sehr einfach sein ... leider ist es beim P990 nicht ganz so.

Der erste Schritt ist noch leicht: man lädt mit Hilfe des Update-Menüs einfach erstmal die neueste CM-Version herunter. Dieses Menü erreicht man über "Einstellungen" -> "Über das Telefon" -> "CyanogenMod-Updates".




Alternativ kann man natürlich auch am PC die ROM-Version für das P990 herunterladen und mit USB auf das Telefon befördern.

Ich habe hier den Modus auf "manuell" gestellt, weil ich nicht will, dass mein Testgerät dauernd im Netz nach neuen Versionen fragt, sondern nur, wenn ich es will. Beim P990 gibt es wie gesagt derzeit nur die Nightlies, deshalb muss der Typ der gewünschten Updates auf  "Inkl. Nightlies" eingestellt werden. Wenn man "stable" einstellt, findet die Update-Suche keine neuen Dateien.

Danach kann man die gewünschte Version durch Antippen des Download-Pfeils herunterladen. Je nach Internet-Bandbreite dauert das ein wenig, die Datei ist 155 MB groß.



Der nächste Schritt ist jetzt natürlich das Installieren des neuen Android-Images - und hier trennen sich die Wege. Wie man sieht, erscheint der Hinweis "erfordert ein kompatibles Recovery", und offensichtlich ist es bei P990 mit dem offiziellen CWM-Recovery trotzdem nicht kompatibel genug.

Wenn man diesen Weg wählt, gelangt man nicht ins Recovery zum Flashen des neuen Images, sondern es bootet der Emergency-Modus, den man nur durch Entfernen des Akkus verlassen kann.














Also nicht auf "Update" tippen, sondern "Abbrechen" und danach den manuellen Weg einschlagen: Ausschalten und beim erneuten Einschalten den Lautstärke-Runter-Knopf gedrückt halten, damit das Recovery aufgerufen wird. Das sieht dann erstmal so aus wie auf dem Foto hier rechts.




Der nächste Schritt ist dann, den Menüpunkt "choose zip from sdcard" auszuwählen und zum Verzeichnis /CMUpdater (oder /cmupdater, je nach Telefon) zu wechseln.


In diesem Verzeichnis wählt man die gewünschte Datei aus und bestätigt dann im nächsten Bild, indem man zu der Zeile mit dem "Yes" wechselt und dort bestätigt (wie üblich der Einschaltknopf im Recovery-Modus).



Danach fängt das Telefon an, sich selbst das neue ROM-Image einzuprogrammieren (zu "flashen"). Am Anfang dauert es recht lang, bis überhaupt etwas mit dem Fortschrittsbalken passiert, danach geht es recht zügig weiter. Insgesamt dauert dieser Vorgang 2-3 Minuten.





Wenn das beendet ist, kann man "Go back" anwählen und befindet sich wieder im Hauptmenü des Recovery-Modus. Den Erfolg der Aktion kann man im unteren Bildschirmteil weiterhin nachlesen.



Als nächstes wird einfach das Telefon neu gestartet mit dem Menüpunkt "Reboot system now". Der erste Neustart nach einer Installation dauert etwas länger als gewöhnlich, auch hier wieder 3-5 Minuten. Keine Panik.



Wenn das Logo von CM erscheint und sogar animiert ist, wird alles gut ;)



Danach werden die Apps erneut aus dem apk ausgepackt und für eine eventuell geänderte Java Runtime (Dalvik)  neu "optimiert".

Alles ist gut ;)


[Update 20140814: die Bilder waren plötzlich alle weg]

24.05.2013

Langsam wird's zur Gewohnheit ... Samsung i9000 mit CyanogenMod ROM 10.0

Nachdem das Aufspielen der CyanogenMod-ROMs beim Motorola Milestone2 und beim LG P990 erfolgreich waren (wenn auch mit Hürden und viel Schweiß), habe ich mir das Samsung Galaxy i9000 vorgenommen. Dieses Modell besaß ich bis letztes Jahr schon mal selbst und aus Ärger, dass es von Samsung keine offiziellen Updates über 2.3.3 hinaus gibt, hab ich es verkauft und mir vorgenommen, ab jetzt nur noch Nexus-Geräte mit direktem Update von Google anzuschaffen. Bis jetzt waren das ein Samsung Galaxy Nexus i9250 (mehr oder weniger baugleich mit dem S3) und ein Asus Nexus 7.

Es gibt zwar auch schon "nightly"-Versionen von Android 4.2.2 (also CM 10.1), aber ich wollte diesmal lieber eine "stable"-Version installieren, und da bleibt nur CM 10.0, d.h. Android 4.1.2. Wenn aber schon eine CM-Version installiert ist, kann der Update auf eine neuere CM-Version ziemlich schmerzfrei passieren. Hier ist die Übersichtsseite von Cyanogenmod zum i9000.

Wenn ich letztes Jahr gewusst hätte, wie problemlos das Updaten mit CyanogenMod funktioniert, wäre möglicherweise mein Galaxy Nexus i9250 als Ersatz für das i9000 nicht so schnell gekommen. Andererseits hat das i9000 ein paar Nachteile, dier mir häufig aufgestoßen sind: zum Einen hat es kein Fotolicht, im Gegensatz zu den anderen Smartphones, die wir angeschafft haben. Trotz alledem ist die Kameraqualität für 5 MP sehr hoch - meine Schwiegermutter war über die Fotos der Ergebnisse ihrer gärtnerischen Künste sehr angetan ;). Zum Anderen benötigt auch das GPS sehr lang, um einen Fix für genügend Satelliten zu finden (20 Sek. sind eher noch am unteren Ende der Skala), das ist schon sehr lästig, wenn man unterwegs ist und z.B. Foursquare oder Google Locations aufrufen will. Dieses Verhalten kann man schön beobachten, wenn man ein Tool wie "GPS Essentials" verwendet, das alle Sensoren des Handys schön aufbereitet anzeigen kann.

Auf der anderen Seite ist man natürlich bei CyanogenMod genauso darauf angewiesen, dass es einen "Maintainer" gibt, der genug Energie aufwendet, um CM an ein bestimmtes Handy-Modell anzupassen. Da es von den Herstellern unterschiedlichen Enthusiasmus gibt, was die Verfügbarmachung von proprietären Paketen angeht, kann es außerdem auch sein, dass bestimmte Features mit einem Custom-ROM nicht funktionieren, weil z.B. ein Firmware-Binary aus rechtlichen Gründen nicht vorhanden ist (Firmware für GPU, WLAN, UMTS, Kamera, Bluetooth, Audio usw.usf.). Beim i9000 scheint nach meinen Tests aber alles soweit zu funktionieren, also kann man sich ganz gelassen an's Flashen machen ;).

Im Gegensatz zu den Modellen von Motorola und LG verläuft das Aufspielen eines Custom-ROMs beim Samsung Galaxy *ganz* anders. Der prinzipielle Ablauf ist natürlich derselbe: man muss ein Custom Recovery installieren, das die Installation von unsignierten Paketen erlaubt, und dann mit Hilfe dieser Recoveryfunktion das gewünschte Custom-ROM installieren. Um nun ein Custom-Recovery installieren zu dürfen, benötigt man wiederum Root-Rechte.

Bei Samsung benötigt man dazu das Programm "Odin" und einen fertig gerooteten Kernel, möglichst dieselbe Version, die schon installiert ist (z.B. JP7 bei einem i9000 mit 2.2, das ist aber eher unkritisch). DIeser modifizierte Kernel wird als "PDA" mit Odin geflasht. Die Downloadlinks finden sich hier in dieser Anleitung. Das Flashen mit Odin erfordert den Emergency-Modus, d.h. Lautstärke-Taste runter, Home-Taste und Einschaltknopf drücken. Das Telefon zeigt dann "Download Mode" an und ein gelbes Warnschild. Erst jetzt das Kabel an den PC anschließen und warten, bis Odin das Telefon erkennt. Alle "zerstörerischen" Häkchen wie "Repartition" etc. abschalten, dann erst flashen. Danach wird neu gebootet und hoffentlich hat man nun ein Handy mit root-Zugang. In diesem Flash-Vorgang ist auch ein "su"-Programm und busybox als Allround-Utility mit enthalten.

Als Vorbereitung ist es ratsam, einen vollgeladenen Akku zu haben, bevor man loslegt ;).

Zu diesem Zeitpunkt sollte man auf die interne SD-Karte das gewünschte CM-ZIP und sinnvollerweise auch gleich die passenden Google-Apps überspielen - es gibt je nach Android-Version unterschiedliche Zusammenstellungen von Google-Apps, hier muss man aus einer Tabelle genau die richtige Version auswählen und downloaden.

Als Nächstes wird aus dem Play Store der "ROM Manager" installiert, der komfortabel ein Custom Recovery installieren kann, sofern man ihm Root-Rechte zubilligt. Hier muss man schnell reagieren: das Popup mit der Frage, ob man Root-Rechte gewähren will, bleibt nur ein paar Sekunden sichtbar, danach meldet der ROM Manager "failed".

In einer Anleitung habe ich gefunden, dass man bestimmte Konfigurationsdateien (das gesamte Directory /efs mitsamt der Permissions) sichern sollte, in denen die IMEI-Nummer des Handys gespeichert ist, weil beim Flashen gelegentlich da was kaputtgehen kann. Ich war mutig, und es ist nichts passiert. Das muss aber nichts heißen. Eigentlich sollte man solche Warnungen beherzigen. Diese Sicherung kann man entweder über eine Kommandozeile durchführen (man muss eine App wie z.B. "Android Terminal Emulator" installieren und dort Befehle eintippen) oder man verwendet ein Hilfswerkzeug wie GScripts oder "EFS Backup".

Wenn das Custom Recovery erfolgreich geflasht ist, startet man das Handy neu und drückt dabei beim Einschalten die Knöpfe für Recovery (Lautstärke hoch und Home-Taste). Die Power-Taste sollte man dabei rechtzeitig loslassen, weil dies die Enter-Taste im Recovery-Modus ist. Wenn man zu spät loslässt (also während das Recovery schon angezeigt wird), löst man üblicherweise den Reboot aus und muss nochmal von vorne anfangen ;)

Irritierenderweise landet man beim ersten und zweiten Versuch nicht im Custom Recovery, sondern im Samsung-"2e"-Recovery. Man muss hier noch den Menüpunkt "install update.zip" auswählen, und dann startet erst das Custom Recovery. Bei meinen Recherchen mit Google bin ich auch darauf gestoßen, dass es einen noch stärker gesperrten "3e"-Recovery gibt; wenn man dieses Pech hat, muss man tatsächlich das Handy erst downgraden auf eine ältere Version, die den "2e"-Recovery enthält!

Nun also im "richtigen" Recovery-Modus angelangt, kann man "wipe data", "wipe cache" und "advanced -> wipe dalvik cache" ausführen. ACHTUNG: dies löscht alle Daten und Einstellungen des Handys (die CM-ZIP und die externe SD-Karte werden nicht gelöscht).

Danach ruft man "choose zip to install" auf, wählt beim ersten Mal die CM-ZIP aus und lässt das Handy ungefähr drei bis fünf Minuten lang vor sich hin flashen.

Im nächsten Schritt wird derselbe Menüpunkt nochmal aufgerufen, um die GApps-ZIP zu installieren.

Wenn eine Fehlermeldung angezeigt wird, sollte zunächst das Flashen erneut probiert werden. Wenn das nicht klappt, die CM-ZIP überprüfen, ggfs. neu downloaden und neu auf das Handy überspielen (z.B. mit "adb push" oder Neubooten ins alte Samsung-Android).

Bei meinem ersten Versuch brach das Flashen der CM-ZIP sofort ab. Ich habe dann nochmals das Android 2.2 gestartet (lief noch), die ZIP-Datei neu auf's Handy überspielt und beim zweiten Versuch hat es problemlos geklappt.



So müsste das dann aussehen, abgesehen davon, dass dies ein altes Bild vom LG P990 ist ;)
















Keine Panik, der erste Boot dauert extrem lang (ca. 10 min.), danach werden "Apps optimiert", d.h. aus den gepackten APK-Dateien werden zu Caching-Zwecken bestimmte Dateien ausgepackt und in den JRE-Cache gelegt (dex/odex).

Nach der üblichen Anmeldung bei Google und der Einrichtung des Handys sollte man sicherheitshalber noch ein- bis zweimal komplett booten, um sicher zu gehen, dass alles einwandfrei funktioniert.

Genau wie beim Motorola bin ich auf's Angenehmste überrascht von der gefühlten Geschwindigkeit des i9000 mit CM. Immerhin ist es ein Single-Core mit 1 GHz und einer nach heutigen Maßstäben eher schwachen GPU. Mit CM ist es durchaus noch konkurrenzfähig. Die Speicherausstattung ist natürlich nicht besonders toll (512 MB RAM), aber man kann damit gut leben.

04.05.2013

Noch mehr Cyanogenmod im Haus

Ich wollte noch ein bißchen mehr mit Cyanogenmod experimentieren. Mein erstes Testgerät wurde mir ja von meiner Frau brutal entwendet zur Eigennutzung ...

Also hab ich vor einiger Zeit auf Google+ gefragt, welches Telefon in der unteren Preisklasse gebraucht empfehlenswert ist, wenn man mit CM spielen will.

Nach einigen Ausflügen in die Handygalerie der c't, wo man sehr schön die technischen Daten von fast allen auf dem Markt befindlichen Handys nachlesen kann, ist die Wahl auf das Optimus 2X P990 von LG gefallen, eines der ersten Modelle von LG mit Dualcore, verkauft ab 2011. LG hat zuverlässige Hardware, und als Produzent des Nexus 4 haben sie bei mir einen gewissen Vertrauensvorschuss ;). 800x480 nennt man mittlerweile "untere Mittelklasse"; vor zwei Jahren war das noch ein Hingucker in den damaligen Topmodellen Galaxy S und S2. Das P990 hat ein angenehmes Display, es ist aber nicht so knackig scharf wie die AMOLED-Bildschirme von Samsung (eigentlich hatte ich mich auf ein etwas älteres Samsung Nexus S i9020 mit AMOLED festgelegt, aber die haben nach wie vor recht hohe Preise). Das Gerät hat 5,5 GB freien Speicher (von 8 GB, naja ...) und einen SD-Slot bis 32 GB. Alles in allem recht nett.

Gestern kam das Gerät an und nach einem ersten Testlauf mit dem originalen Android 2.3.4 (brrr!), ob es einwandfrei funktioniert, fing ich mit dem Update an. Ich hatte mich letztes Wochenende schon schlau gemacht, was ich brauche, und hatte vor dem Monatsende hin die nötigen Dateien heruntergeladen (Flash-Programm für LG, CWM-Recovery, USB-Treiber, CM-Image, Google-Apps für JB 4.2.2). Ich wollte nicht den neuen Monat schon mit riesigen Downloads anfangen, das ist eine schlechte Hypothek bei LTE ;). Achtung beim Downloaden, unbedingt darauf achten, dass die Google-Apps auch wirklich für Jelly Bean 4.2.2 sind, die älteren (z.B. 4.2.1 oder 4.1.x) darf man nicht verwenden.

Einen kleinen Dämpfer hatte ich dabei schon, als ich feststelle, dass es kein "stable" CM 10.1 für das P990 gibt, sondern derzeit nur die "nightlies". Das sind tägliche Images, frisch aus dem Compiler, die nicht wirklich gründlich getestet sind. Aber der Entwickler der LG-Variante hat einen guten Ruf, also hab ich mich das getraut. Und zur Not kann man in den Foren von Cyanogenmod nachfragen. Die Anleitungen und Foren bei TeamAndroid finde ich auch recht gut.

Immerhin liefert LG für das P990 auch ein eigenes Android 4.0.4 aus, was schon nicht so schlecht ist ... dachte ich zuerst. Ich wollte aber unbedingt gleich das Update auf das neueste 4.2.2 durchführen und sparte mir das ganz. Später hab ich dann gelesen, dass diese Entscheidung sehr vernünftig war, weil nämlich nach dem offiziellen Update auf 4.0.4 der Bootloader des Telefons so verbarrikadiert ist, dass man nichts anderes mehr installieren kann. Das wiederum hätte ich so auch nicht erwartet ;(

Wie üblich muss man das Telefon rooten, damit man einen eigenen Bootloader (genauer gesagt: ein anderes Recovery-System mit den Funktionen zum Einspielen beliebiger eigener Android-ROMs) installieren kann.

Als ersten Schritt muss man zahlreiche USB-Treiber installieren, die zu den verschiedenen Modi passen, je nachdem, ob man das P990 im Recovery-, Emergency- oder normalen MTP-Modus startet. Es hilft auch, wenn man das Android-SDK zur Verfügung hat. In den "one click"-Tools ist meistens nur ein minimales ADB enthalten. Zur Not tut's das aber auch erstmal. Die USB-Treiber sollte man unbedingt alle vorher vorbereiten, das senkt den Streßfaktor, wenn es nötigt sein sollte, z.B. den Emergency-Modus aufzurufen.

Freundlicherweise gibt es mittlerweile fertige "one click"-Programme, in denen alles enthalten ist. Finde ich ziemlich cool ;). Ich habe mir also ein solches "one click CWM" besorgt und damit das Recovery-System "Clockwork Mod" installiert.

Nach dem Start des Recovery-Systems muss man die Daten- und Cache-Partition des Linux-Systems sowie den Dalvik-(JRE)-Cache löschen, weil das neuere Android auch eine neue Version der JRE mitbringt, die eine inkompatible (eben neuere) Bytecode-Version hat. Die gespeicherten alten Bytecodes der Apps müssen weggeworfen und beim Update wieder aus den APKs generiert werden (Stichwort dex/odex).

Das lief soweit gut, dann kam der erste Schreck: gemäß Anleitung hatte ich /data, /cache, /sdcard usw. gelöscht und neu formatiert. Dummerweise waren meine zu flashenden Images auf /sdcard gespeichert, ich hatte mir also gerade selbst den Boden unter den Füßen weggezogen ...

Das ist aber nicht weiter tragisch, weil ich über ADB vom PC aus die Images wieder auf das neuformatierte /sdcard schieben konnte. Mit "adb devices" kontrollieren, ob das Telefon erkannt wird (adb meldet "Recovery"). Danach mit "adb push CM-....zip /sdcard" und "adb push gapps-jb-...zip /sdcard" die Dateien auf's Telefon kopieren. Die Images bestehen aus zwei Dateien, zum Einen das CM-Image (ich habe das Nightly vom 29.04. installiert) und zum Anderen muss man die Google-Apps installieren, damit man den Play Store usw. zur Verfügung hat. Das Google-Apps-Paket ist nicht vollständig, GMail fehlt z.B., aber das gibt es ja dann im Play Store.

Danach hatte ich einen sehr langen Abend vor mir, weil nach dem Flashen von CM und GApps erst mal nichts mehr ging. Das Telefon hing in einer "Panik"-Anzeige mit zwei kleinen LG-Logos fest. Vom Milestone2 war ich gewohnt, dass der erste Bootvorgang sehr lang dauert (fast 30 Minuten). Ich bin also erstmal gelassen zum Abendessen gegangen und hatte erwartet, dass es bis danach fertiggestellt ist ... Pustekuchen!

Ich habe dann mehrere Versuche gebraucht, inklusive die Original-ROMs von LG zu flashen, was leider auch schiefging. Ich hatte mich schon gewundert, dass das Flashen der beiden ZIP-Dateien für mein Gefühl sehr schnell (zu schnell!) ging, aber das ist wirklich normal. Die Fortschrittsanzeige beim CM.ZIP  bleibt sehr lange leer, dann springt sie knapp in die Mitte, dann geht es langsam weiter und zum Ende hin macht die Anzeige nochmal einen Sprung. Das ist normal. Weiß ich jetzt zumindest ;). Beim Überspielen der Daten vom PC schafft die USB-Schnittstelle knapp 2 MB/s, aber das interne Kopieren scheint wesentlich schneller zu funktionieren, wenn die Daten mal auf dem Handy sind. Das CM-Image ist ca. 155 MB groß, die Google-Apps immerhin auch noch 95 MB. Da dauert allein das Kopieren vom PC mehrere Minuten.

Zum Schluss habe ich nochmals auf einem anderen PC alle USB-Treiber installiert, das CWM-Recovery neu geflasht, im Recovery-System alle Daten vom Telefon gelöscht, nochmals CM und GApps geflasht, und plötzlich ging es. Die Anzeige mit den zwei kleinen LG-Logos verschwand recht schnell und als dann das große blaue Logo von CM erschien, fiel mir ein ganzer Steinbruch vom Herzen. Puh!

Ich finde es absolut erstaunlich, wie robust die Android-Telefone konstruiert sind. Selbst wenn man sich das Recovery-System zerschießt, kann man noch in einem Emergency-Modus das Recovery neu überspielen und sich danach Schritt für Schritt weiter in Richtung auf ein funktionsfähiges Telefon vorarbeiten ;)

Der Apollo-Musikplayer im CM ist nicht ganz zuverlässig, bei Playlisten muckt er ein bißchen, und für das eingebaute UKW-Radio gibt es keine App. Da ich gern mal Radio höre, werde ich mich nochmal umschauen, ob es möglich ist, das mit einer App nachzurüsten. Im Play Store gibt es zwar eine, aber die ist ausdrücklich nur für Motorola gedacht. Moment, das bringt mich auf eine Idee ...

Zur Referenz:
  • Um das Emergency-System zu starten, muss man den Akku ausbauen, Kabel abziehen, beide Volume-Tasten drücken und das Kabel anstecken. Der PC erkennt dann das Telefon im "APX"-Modus und mit einem speziellen Programm kann man ein Recovery flashen.
  • Um ins Recovery zu booten, muss man ausschalten, Volume-Down und Einschaltknopf drücken und gedrückt halten. Zuerst erscheint ein weißes LG-Logo. Knöpfe weiter gedrückt halten. Erst Power loslassen, dann Volume, und erst, wenn hinter dem LG-Logo farbige Schleier erscheinen. Einige Sekunden später ist das Recovery-System benutzbar.
  • Das Recovery-System von LG führt einfach nur einen Werksreset durch. Es ist zwingend notwendig, ein Recovery wie CWM zu installieren, sonst kann man keine eigenen ROMs installieren.
  • Der automatische Update innerhalb Cyanogenmod funktioniert nicht. Das neue Image kann zwar heruntergeladen werden, aber es wird nicht automatisch geflasht. Man muss die Datei von /CMUpdater nach / (root) der SD-Karte verschieben und dann im Recovery-Modus manuell "install ZIP from SD-Card" anwählen. Und wieder den Nervenkitzel mitmachen, ob es klappt ;). Immerhin muss man beim Update der Nightlies nicht jedesmal alles löschen, das ist nur nötig, wenn sich die Android-Version ändert (vermutlich also wieder, wenn demnächst 4.3 erscheint).
[Update 20130505: das Telefon hat 5,5 GB Speicher und nicht 5,5 MB ;), und das ist auch kein RAM, sondern ein Flash-ROM]
[Update 20140814: Bild plötzlich kaputt]

28.03.2013

Motorola Milestone2 mit Android 4.1.2 (CM10)

Wow, ich bin begeistert. Das hätte ich der alten Dame gar nicht zugetraut, dass sie mit Android 4.1.2 so eine gute Figur macht! Aber von vorne ... latürnich.

Ich habe vorhin das Motorola-Handy meiner Frau von Android 2.3.4 auf 4.1.2 upgedatet. Da es von Motorola keine eigene Version von Android 4 für das MS2 gibt, habe ich auf das Ergebnis einiger fleißiger Programmierer vom "CyanogenMod"-Team zurückgegriffen.

Ich bin begeistert, wie geschmeidig das Telefon mit der (fast) neuen Android-Version flutscht. Natürlich kann es von der Aktualität nicht mit den Nexus-Modellen mithalten, die von Google vollautomatisch neue Versionen erhalten.

Andere Hersteller bauen noch ihre eigenen Anpassungen wie "TouchWiz" oder "Sense" ein und müssen das wohl noch weltweit von den Telefonfirmen abnehmen lassen, bevor sie es als Update verteilen. Ich persönlich bevorzuge die schnellen Updates für Google Nexus-Modelle ;). Umgekehrt finde ich die meisten Erweiterungen und Anpassungen eher misslungen, MotoBlur ist hier in meinen Augen ein prominentes Beispiel.

Zuerst war ich ziemlich nervös, weil ich in einigen Foren gelesen hatte, dass man sein Telefon unbrauchbar machen kann ... dann hätte man nur einen Ziegelstein ("brick") als Briefbeschwerer.

Dann habe ich mit Tante Google nach Anleitungen gesucht und bin bei Android-Hilfe.de fündig geworden. Es ist wirklich recht einfach und hat sofort beim ersten Mal funktioniert. In den Foren dieser Website gibt es auch Anleitungen, wie man ein "totes" Telefon wiederbeleben kann, wenn doch etwas schiefgeht, das hat mir etwas Mut gemacht ;)

Der Ablauf ist wirklich einfach: im Prinzip ist die größte Hürde, dass der Hersteller sowas eigentlich gar nicht will und deswegen mit allerlei Tricks zu verhindern versucht, dass man eine fremde Software-Version installiert. Das kann man damit umgehen, dass man sich auf dem Telefon Administrator-Rechte verschafft (Unix: root-Rechte, bei Apple iPhones nennt man das Verfahren "jailbreak").

Ich habe das Programm "SuperOneClick" verwendet, mit dem man unter Zuhilfenahme eines Windows-PCs das Telefon tatsächlich, wie der Name sagt, mit einem Mausklick so modifizieren kann, dass man root-Rechte bekommen kann. Mit "SuperOneClick" kann man sehr viele Android-Telefone bearbeiten, weil alle Hersteller dieselben Sicherheitslücken in ihre Software einbauen, um uns "Hackern" Arbeit zu ersparen ;)

Dieser Trick mit dem "Rooten" ist nur nötig, damit der nächste Schritt funktioniert, nämlich, ein geändertes Startprogramm zu installieren, damit man dann im überübernächsten Schritt ein "fremdes" Android auf dem Telefon installieren kann. Nach der erfolgreichen Installation  der neuen Android-Version müsste man das Rooten wiederholen, weil ja das alte, "geknackte" Android komplett mit einer neuen Version ersetzt wurde, die erst mal noch nicht wieder gerootet ist. Allerdings kann diese Sicherheitslücke auch von Schadsoftware ausgenutzt werden, hier muss jeder für sich abwägen, ob er permanent "root" benötigt oder darauf verzichten kann.kann man dieses "Rooten" sogar wieder rückgängig machen, wenn man eine (kleine, theoretische) Sicherheitslücke gar nicht erst anbieten will

Der nächste Schritt besteht jetzt darin, eine App "droid2Bootstrap.apk" zu installieren, die das neue Startprogramm installieren kann. Diese App benötigt Root-Rechte, um die massiven Änderungen am Telefon und dem Linux-System, das darin steckt, vorzunehmen.

Außerdem ist es nötig, vor dem Reboot auf die im Telefon eingebaute Speicherkarte die gewünschte neue Android-Version zu überspielen. Dazu muss man sich das neueste "stable" CM10-Android herunterladen und die ZIP-Datei auf's Telefon bringen. Danach kann man noch die Original-Google-Apps (Play Store, Maps, Gmail etc.) ebenfalls als ZIP auf die SD-Karte spielen. Manche Forenbeiträge empfehlen auch noch, eine ZIP-Datei mit einem neueren Linux-Kernel zu überspielen und zu installieren, das habe ich nicht gemacht. Es funktioniert trotzdem ;)

Nachdem diese Änderungen durchgeführt wurden, startet man das Telefon neu. Es wechselt dabei automatisch in einen Notfallmodus ("recovery mode"), in dem man ein neues Betriebssystem installieren kann.

In diesem Notfallmodus funktioniert der Touchscreen nicht, man kann nur mit den Tasten arbeiten. Die Lautstärketasten hoch/runter wählen einen Menüpunkt aus und mit der Kamera-Taste wird bestätigt. Die Power-Taste (kurz gedrückt) dient dazu, einen Schritt zurück zu gehen.

Zunächst wird "install ZIP" ausgewählt, danach im nächsten Menü "choose ZIP" und dann muss man die CM10-xxx.zip auswählen (Dateiname so, wie es runtergeladen und auf die SD-Karte überspielt wurde).
Dasselbe wird noch für die Google-Apps.zip gemacht.

Der nächste Schritt ist sehr wichtig: man muss leider den kompletten Telefonspeicher löschen ("wipe data") und insbesondere muss man einen Zwischenspeicher löschen, der noch Daten vom alten Android-System enthält, die nicht mehr zum neuen System passen ("wipe cache").

In manchen Forumartikeln wird empfohlen, das ganze zweimal zu machen, aber bei mir kam beim zweiten Versuch die Meldung "nothing to do".

Danach im Menü den Punkt "reboot" auswählen und Geduld mitbringen. Der erste Startvorgang dauert sehr lang (fast 30 min.), weil noch einige weitere Vorbereitungen durchgeführt werden. Danach wird es erträglich ;)

Ich war zwischendurch etwas beunruhigt, weil die Benachrichtigungs-LED plötzlich in Dunkelrot aufleuchtete, aber das hatte nichts Schlimmes zu bedeuten. Die LED ging wieder aus, und ein paar Sekunden später kam dann das animierte CyanogenMod-Logo.

Nach der Anmeldung bei Google fing das Telefon von allein an, die vorher installierten Apps herunterzuladen, die Kontakte waren auch vollautomatisch wieder da. Das einzige Lästige war, dass ich mich bei allen Nicht-Google-Diensten einzeln wieder anmelden musste, also Instagram, Skype, Foursquare, WhatsApp usw.usf. Das ist nervig. WhatsApp macht automatisch Sicherungen der ausgetauschten Nachrichten, nach der Anmeldung war alles wieder da, Gruppen, Kontakte und Bildchen. Dasselbe bei Pou, das meine Frau sehr gern spielt. Nach der Anmeldung mit der Emailadresse sah der Pou wieder genauso schräg aus wie vor dem Update. Sehr nett ;)

Etwas merkwürdig war die Abwesenheit von Google Mail. Das lässt sich aber problemlos aus dem Play Store installieren. Bei mir wurde es im Play Store des Telefons nicht angezeigt, ich musste mich auf dem PC im Play Store anmelden und die App von dort auf's Telefon schicken.

PS: die ganz hartgesottenen bauen sich natürlich ihr Android selbst aus den Quelltexten zusammen: die Sourcen von CM10 bekommt man mit diesem Befehl:
repo init -u git://github.com/tezet/android.git -b jellybean

[Update 20130402: Absatz über das Rooten und Unrooten korrigiert]
[Update 20140815: Bilder plötzlich kaputt]