HTC hat vor einigen Wochen leider verkündet das es für das HTC One S leider keine Updates mehr geben wird. Das HTC One S ist nun etwas mehr als ein Jahr auf dem Markt und hätte leitungsmäßig keine Probleme auch aktuellere Android Versionen als das von HTC bereitgestellte Android 4.1.1 auszuführen da es von der Leistung ungefähr auf desselben Niveau als das Samsung Galaxy S4 Mini oder das kommende HTC One Mini liegt. Jedoch müsste HTC letztes Jahr wegen Knappheit von Snapdragon S4 SoCs (da TSMC die 28nm Fertigung nicht in den Griff bekam) eine zweite Modellvariante (HTC One S C2) mit Snapdragon S3 Chip auf den Markt bringen. Nun wird gemunkelt das es für diesen SoC keine Android 4.2 Treiber von Qualcomm mehr geben wird und da HTC immer behauptet hat das es Leistungsmäsig zwischen dem übertakteten Snapdragon S3 und dem Snapdragon S4 keinen unterschied gäbe soll das Update vermutlich deshalb für beide HTC One S Varianten gestrichen worden sein. Im folgenden beziehe ich mich jedoch ausschließlich auf die HTC One S C1 Variante mit Snapdragon S4 Plus.

Das es von HTC weder ein Update auf Android 4.2.2 oder gar 4.3 noch auf Sense 5 gibt muss jedoch nicht heisen das man sich als HTC One S Besitzer nun ein neues Phone (z.B. das HTC One Mini) kaufen muss um in den Genuss neuer Software Features zu kommen. So hat Michael Ruppert auf htcinside mit Trickdroid 10 ein ROM vorgestellt welches Android 4.1.2 mit Sense 5 kombiniert, die Einschränkungen kein Bluetooth, FM Radio und WiFi Tether sind für mich derzeit aber noch zu groß aber in einigen Wochen werden diese wohl auch behoben sein.

Ich möchte hier nun mit CyanogenMod 10.1 CyanogenMod 10.2 die klassische Android Distribution vorstellen wenn es darum geht ein Android Device auf eine neue Android Version zu bringen. CyanogenMod 10.1 CyanogenMod 10.2 hat für das HTC One S C1 (Codname Ville) Nightly Status und läuft deshalb noch nicht ganz problemfrei wobei ich seit dem CM10.1 Build vom 13. Juli 2013 (bei dem laut Changelog einiges am Code für das HTC One S und dem Kernel geändert wurde) keine Abstürze mehr zu beklagen hatte, davor stürzte das Phone ca. einmal täglich ab und bootete erst wieder problemlos nachdem man es einmal im abgesicherten Modus gestartet hatte. Ansonsten Funktioniert alles bis auf USB-OTG und die Kameraqualität ist wohl auch schlechter als bei einem Original HTC ROM. In diesem ersten Teil beschriebe ich die Installation von CyanogenMod 10.1 auf dem HTC One S.

Teil 1 Installation:

Ich übernehme keine Haftung für Datenverlust oder Fehlfunktionen bzw. gar Beschädigung des Smartphones, außerdem wird das Smartphone dadurch zurückgesetzt so das ich empfehle zuvor alle Dateien und Einstellungen zu sichern.

Ich habe CM10.1 sowie später CM10.2 nach der Anleitung auf cyanogenmod.org installiert welche ich etwas abgewandelt habe:

Um ein Custom ROM zu installieren muss man zuerst den Bootloader entsperren dazu benötigt man das Android SDK, auſerdem muss man sich HTC registrieren dazu geht man auf https://www.htcdev.com/register und legt einen Account an.
Nun benötigt man noch das Android SDK das man unter http://developer.android.com/sdk/index.html bekommt (ich habe das ganze mit einem Linux Rechner gemacht) welches ein installiertes JAVA SDK von Oracle benötigt für Windows User rechen aber die Dateien aus diesem ZIP welche man in einen beliebigen Ordner entpackt. Nun öffnet man eine Eingabeaufforderung (unter Windows CMD unter Linux ein beliebiges Terminal) und navigiert per cd in den Unterordner "plattform-tools" im Stamverzeichis des Android SDK bzw. in das Verzeichnis in welches man die zip entpackt hat.

Nun geht man auf http://www.htcdev.com/bootloader und wählt unter "Selcct Your Device" die Option "All Other Supported Models" und klickt auf "Begin Unlock Bootloader".
Daraufhin bestätigt man die Warnhinweise und folgt dem nun angezeigten Assistenten. Dabei wird man zum entnehmen des Akkus aufgefordert, da man den Akku des HTC One S jedoch nicht entnehmen kann hält man stattdessen den Einschalter solange (ca. 10n Sekunden) gedrückt bis das Display schwarz wird und das Phone ausgeschaltet ist.
Nun hält man die "Lautstärke nach unten" Taste gedrückt und schaltet das Phone wieder ein. Das Smartphone sollte nun in den Bootloader Modus starten. Dort wählt man dann mit den Lautstärke-tasten "Fastboot" aus und bestätigt dies mit der Power Taste und verbindet das Phone anschließend per USB mit dem Rechner. Im nächsten Schritt erklärt der Assistent auf der HTC Webseite wie man die benötigten Dateien aus dem Android SDK extrahiert und
bietet auch die Möglichkeit Fastboot für Linux und OS-X direkt herunterzuladen.

Mit dem Befehl "fastboot oem get_identifier_token" (unter Linux musste ich alle Fastboot Befehle mit Root Rechten ausführen) bekommt man nun einen Code angezeigt mit welchem HTC das eigene Smartphone identifizieren kann. Diesen recht langen Code kopiert man nun wie auf der HTC Webseite beschrieben und trägt ihn in das dort vorhandene Textfeld ein, hat man dies gemacht und den Code an HTC gesendet sollte man kurz darauf einen Mai von HTC erhalten.
Die mail enthält im Anhang eine Datei namens "Unlock_code.bin" und einen Link "Click here to continue the bootloader unlocking process", zuerst speichert man die Datei im selben Verzeichnis wie Fastboot und adb udn dan klickt man auf den Link um den HTC Assistenten fortzusetzen.
Mit dem Befehl "fastboot flash unlocktoken Unlock_code.bin" startet man nun den eigentlichen Entsperr Prozess. Auf dem Smartphone erscheint nun nochmals ein Warnhinweis um diesen zu bestätigen wählt man mit der Lautstärke hoch Taste "Yes" aus und bestätigt dies wiederum mit der Power Taste nun wird der Bootloader entsperrt und das Phone gleichzeitig zurückgesetzt.

Nachdem der Bootloader nun entsperrt ist kann man Cyanogenmod installieren, dazu lädt man die Aktuelle Nightly Version von CM10.1 CM10.2 von http://download.cyanogenmod.org/?device=ville (die ROMs vom 6.9.2013 und vom 7.9.2013 sind für fast alle Geräte defekt deshalb sollte man diese nicht verwenden da sie einfach nicht funktionieren), das Custom Recovery "eyeballer’s recovery" von http://cmw.cmfs.me/ville/recovery/openrecovery-twrp-2.4.1.0-ville.img sowie die Goolle Apps von http://goo.im/gapps/gapps-jb-20130813-signed.zip und legt alle Dateien in das Verzeichnis in welches man zuvor alle Dateien entpackt hat (bei mir das plattform-tools Verzeichnis des Android SDK). Die Zips dürfen jedoch nicht entpackt werden lediglich die Datei "boot.img" muss aus dem ROM Zip extrahiert und zusätzlich noch im selben Verzeichnis abgelegt werden.
Nun schaltet man das Phone durch halten des Power Buttons aus und startet es wieder mit gedrückter "Lautstärke nach unten" Taste in den Bootloader, dort wählt man wieder mit den Lautstärke-tasten "Fastboot" und bestätigt dies mit der Power Taste.
Nun installiert man das Recovery System mit dem Befehl "fastboot flash recovery openrecovery-twrp-2.4.1.0-ville.img".

Nun schaltet man das Phone wieder aus und Startet es diesmal mit gedrückter "Lautstärke nach oben" Taste in das gerade installierte Recovery System, dort wählt man "Mount" und dann "Mount USB Storage" und Kopiert die Cyanogenmod ZIP sowie die Google Apps ZIP auf das nun verbundene USB Massenspeichergerät, anschließend wirft man das Massenspeichergerät am PC aus (unter Windows Datenträger sicher entfernen), klickt auf dem Smartphone Display auf "Unmount" drückt die Home Taste und wählt "Install" und navigiert zur Cyanogenmod ZIP (das zuvor eingehängte USB Massenspeichergerät befindet sich unter /sdcard) und wählt diese aus. Nun wischt man den Schieberegler von Links nach rechts und installiert das ROM. Alternativ kann man das ROM auch per "adb push cm-10.2-20131124-NIGHTLY-ville.zip /sdcard/cm-10.2-20131124-NIGHTLY-ville.zip" auf das One S kopieren (der genaue Dateiname muss man natürlich anpassen).
Nun wiederholt man dies noch mit der Google Apps zip also dem "gapps-jb-20130813-signed.zip" und geht anschließen mit der Home Taste zurück zum Startbildschirm dann auf "Wipe" und "Factory reset". Jetzt muss man noch den Kernel flaschen da dies beim HTC One S durch das Recovery leider nicht möglich ist. Dazu geht man auf dem Startbildschirm des Recovery auf "Reboot" und dort auf Bootloader. Ist das Phone nun wieder im Fastboot Modus verbunden flascht man den zuvor aus dem cm-10.1 cm-10.2 zip extrahierten Kernel (boot.img) mit dem Befehl "fastboot flash boot boot.img" dies sollte man idealerweise nach jedem von Update CyanogenMod wiederholen da es ansonsten vorkommen kann das das Wlan nicht mehr Funktioniert oder das System sogar Überhaupt nicht mehr startet.

Sollte das System anschließend nach dem eingeben des befehlt "fastboot reboot"noch nicht komplett starten muss man noch einmal in das Recovery System wechseln und ein Wipe durchführen ansonsten sollte das System nun installiert sein.