Letzte Woche hat Vodafone seine Kunden mit einem Firmware-Update voller Bugs verärgert. ZDNet zeigt Schritt für Schritt, wie man das Branding entfernt und dadurch die freie Wahl beim Firmware-Image hat.
Wer ein Handy von einem Mobilfunkprovider kauft, bekommt zwar die erwartete Hardware, häufig verwendet der Provider jedoch eine eigene Firmware. Das sogenannte "Branding" bietet allerdings meistens keine Verbesserung - im Gegenteil: Oft sind die zusätzlichen Dienste recht aufdringlich und weisen bei jeder sich bietenden Gelegenheit auf ihre Existenz hin.
Zudem lässt die Qualität der Software häufig zu wünschen übrig. Zahlreiche Bugs sind keine Seltenheit und es wird nicht genügend Wert auf das Power-Management gelegt, was bei Smartphones sehr wichtig ist.
Genau das ist letzte Woche bei Vodafone aufgetreten: Ein Update für das HTC Desire[1] bescherte seinen Besitzern eine böse Überraschung[2]. Die neue Firmware beinhaltet Zugang zu den Vodafone-360-Services[3] (VF360). Das ist ein Dienst, der nur Kunden mit Vodafone-SIM-Karte zur Verfügung steht.
Die neue Software sorgt jedoch unter anderem dafür, dass jede SMS zweimal in der Inbox landet. Zudem verbraucht das Handy deutlich mehr Strom. Vodafone hat nach heftigen Protesten die Verteilung der Software abgebrochen. Wer die Firmware bereits eingespielt hat, bekommt allerdings von Vodafone kein Downgrade angeboten.
Die Software wurde auch auf HTC-Desire-Handys verteilt, die ohne Vodafone-SIM-Karte im Netz surfen. Dazu zählen Kunden, die ihr Handy bei Vodafone ohne Vertrag erworben haben und einen anderen Provider nutzen. Diese Kunden haben keinen Zugang zu VF360, müssen aber trotzdem mit den Bugs und dem höheren Stromverbrauch leben.
ZDNet bietet im folgenden eine Schritt-für-Schritt-Anleitung, wie man die ungeliebte Software wieder los wird. Sie kann auch für Desire-Modelle anderer Mobilfunkprovider genutzt werden. Allerdings begnügen sich O2 und T-Mobile mit einem dezenten Branding, so dass prinzipiell kein Grund zum Austausch der Firmware besteht. Wer jedoch bereits Android 2.2 (FroYo) nutzen und nicht die auf die Provider warten möchte, kann mit der Anleitung sein Handy in ein "ungebrandetes" Desire verwandeln. Wer danach vorgeht, verliert allerdings seine Garantieansprüche.
Themenschwerpunkt: Android[5]
Dieses ZDNet-Special bietet alle wichtigen Informationen rund um das Google-Betriebssystem für mobile Geräte. Neben Nachrichten, Blogs und Praxistipps finden sich dort auch aktuelle Tests von Android-Smartphones.
- Bootloader: Er wird beim Einschalten des Handys gestartet. Er zeigt ein statisches Logo an, entweder von HTC oder vom Provider, und bootet dann den Kernel der Standardinstallation. Dabei wird die Bootanimation der jeweiligen Installation gezeigt.
Wer also ein Vodafone-Branding hat und die Standardinstallation gegen eine von HTC austauscht, sieht kurz ein Vodafone-Logo und dann die Bootanimation von HTC, die langsam den Text "quietly brilliant" auf den Bildschirm schreibt. Um den Bootloader anzuhalten und in sein Menü zu gelangen, muss man beim Einschalten links an der Seite die Taste Vol- (Lautstärke reduzieren) drücken.
- Recovery-Image: Dabei handelt es sich um ein Mini-Linux-Image, das es unter anderem ermöglicht, neue Firmware einzuspielen. Das Standard-Recovery-Image im Auslieferungszustand erlaubt von der SD-karte nur das Einspielen von Firmware, die mit einem Zertifikat vom Verkäufer, etwa dem Mobilfunkprovider, ausgestattet ist. Andere Firmware wird zurückgewiesen.
Um jede beliebige Firmware einspielen zu können, tauscht man das Recovery-Image am besten aus. Derzeit gilt ClockWorkMod[6] als das beste Recovery-Image. Integriert ist beispielsweise nandroid, mit dem man seine gesamte Installation auf die SD-Karte sichern kann. So kann man bei Bedarf neue Firmware ausprobieren und bei Nichtgefallen die alte Installation zurückspielen.
Das Recovery-Image startet man, indem man man zuerst in das Bootloader-Menü gelangt, danach mit den Tasten Vol+ und Vol- den Punkt Recovery auswählt und mit der Power-Taste bestätigt.
- Boot-Image: Das ist der Kernel für die Standardinstallation. Er mountet die die Partitionen /system, /data und /cache und fährt das Telefon für den Normalbetrieb hoch. In /system befindet sich der Rest der Firmware, etwa HTC Sense und die anderen vorinstallierten Apps. In /data befinden sich die Userdaten und in die Partition /cache kommen Dateien, die jederzeit wieder gelöscht werden dürfen.
Die aufgelisteten Komponenten darf man nicht verwechseln. Insbesondere haben sie nicht direkt etwas mit dem Rooten zu tun. Wer sein Telefon bereits gerootet hat, kann deswegen noch keine beliebige Firmware über die SD-Karte einspielen. Dazu muss das Recovery-Image getauscht werden. Es lässt sich durch Bugs im Bootloader auswechseln.
Um ein ungerootetes Telefon mit Standard-Recovery-Image neu zu flashen eignet sich das Programm unrevoked³[7]. Es rootet das Telefon und spielt ClockWorkMod ein. Man kann es risikolos benutzen, ohne befürchten zu müssen, das Telefon zu beschädigen. Es ist für Windows, Linux und Mac OS verfügbar. Unter Linux und Mac OS ist es sofort einsatzbereit. Für Windows muss ein Treiber eingespielt werden.
Allerdings kann das Programm nur Bootloader bis Version 0.80 austricksen. Die meisten von Vodafone verkauften Telefone haben die Bootloader-Version 0.75 und 0.80. Wer jedoch eine höhere Version besitzt, etwa 0.85, muss zunächst den Bootloader mit der "Goldcard-Methode" austauschen und wieder die alte Version 0.80 einspielen. Dieses Verfahren ist recht kompliziert und ZDNet empfiehlt nur erfahrenen Nutzern, die Goldcard-Methode einzusetzen. Bei Fehlern kann man sowohl sein Telefon als auch seine Desktop-Rechner-Installation zerstören.
Um über das weitere Vorgehen zu entscheiden, muss man zunächst die Version des Bootloaders feststellen. Dazu fährt man das Telefon herunter (Power lange drücken und Ausschalten wählen). Anschließend die Taste Vol- drücken und festhalten. Danach erscheint der Bootloader-Screen. Oben in der zweiten Zeile steht die Bootloader-Version.
Ist sie "HBOOT-0.81.0000" oder höher, lässt sich unrevoked³ nicht einsetzen. In diesem Fall mit Vol+ und Vol- den Menüpunkt Fastboot auswählen und mit dem Powerbutton bestätigen. Dann Reboot oder Power Down auswählen, um das Bootloader-Menü zu verlassen und die Goldcard-Methode[8] anwenden. Andernfalls das Telefon im Bootloadermenü belassen.
Wer HBOOT bis einschließlich Version 0.80 auf seinem Desire hat, geht wie folgt vor:
- Bei aktiviertem Bootloadermenü (Vol- beim Einschalten gedrückt lassen) Rechner und Telefon mit dem USB-Kabel verbinden.
- Windows beschwert sich nach einiger Zeit über einen fehlenden Treiber. Bei Linux, Mac OS X oder bereits installiertem Windows-Treiber, weiter zu Schritt 19
- Dialog mit "Später nachfragen" zunächst wegklicken.
- Android-USB-Treiber[9] herunterladen.
- Treiber in ein beliebiges Verzeichnis auspacken.
- Device Manager (Geräte-Manager) über die Systemsteuerung öffnen
- Es sollte ein unbekanntes Gerät "Android 1.0" zu finden sein (Bild 1[10]).
- Rechtsklick auf "Android 1.0" und Treibersoftware aktualisieren wählen.
- Auf dem Computer nach Treibersoftware suchen (Bild 2[11]).
- Verzeichnis mit heruntergeladenen Treibern auswählen (Bild 3[12]) und Weiter klicken.
- Wenn Schritt 10 nicht klappt (Bild 4[13]), Schritte 8 und 9 wiederholen.
- Auf Aus einer Liste von Gerätetreibern auf dem Computerauswählen klicken.
- Android Phone doppelklicken.
- Wenn eine leere Liste (Bild 6[14]) erscheint, auf Datenträger klicken, ansonsten weiter zu Schritt 16.
- Verzeichnis mit den Treibern auswählen (Bild 7[15]).
- "Android Bootloader Interface" auswählen (Bild 8[16]).
- Warnung ignorieren und Ja anklicken.
- Der Gerätemanager sollte jetzt "Android Bootloader Interface" anzeigen (Bild 9[17]).
- unrevoked³ herunterladen[18].
- die heruntergeladene Datei reflash_package.exe (Windows) ausführen beziehungsweise Archiv (Linux) oder Diskimage (Mac OS) öffnen und Software installieren.
- Telefon vom USB-Kabel trennen und am Desire Fastboot - Reboot auswählen.
- Falls HTC Sync auf dem Desktop-PC installiert ist, zur Sicherheit deinstallieren, jedoch nur die Software und nicht die Treiber.
- Das Telefon wieder mit dem PC per USB verbinden.
- Aus dem Homescreen Einstellungen - Anwendung - Entwicklung auswählen.
- Die Option USB-Debugging aktivieren.
- Windows beschwert sich eventuell erneut über einen fehlenden Treiber - diesmal für das Gerät "ADB". Um den Treiber zu installieren, die Schritte 6 bis 18 wiederholen. Allerdings in Schritt 18 nicht den Bootloader-Treiber auswählen, sondern "Android Composite ADB Interface".
- reflash.exe starten. Das ist eine Dateien, die das Installationsprogramm reflash_package.exe ausgepackt hat.
- Der Prozess dauert einige Zeit. Am Ende ist der Bildschirm aus Bild 10[19] zu sehen. Das ist das ausgetauschte Recovery-Image.
- Das Recovery-Image bedient man wie den Bootloader mit Vol+ und Vol- oder mit dem Trackball. Zum Auswählen jedoch den optischen Trackball drücken. Der Powerbutton geht eine Menüebene zurück.
- partitions menu auswählen.
- mount USB storage anklicken (Bild 11[20]).
- Es sollte Bild 12[21] erscheinen. Die SD-Karte kann jetzt vom Rechner aus genutzt werden. In das Root-Verzeichnis der SD-Karte lässt sich jetzt ein ROM kopieren. ROMs für Android-Handys sind ZIP-Dateien.
Es empfiehlt sich immer ein ROM auszuwählen, das das passende Radio-Image beinhaltet, sprich die Firmware für den kombinierten GPS-, WLAN-, UMTS-, GSM- und UKW-Chip. Idealerweise verwendet man ein FroYo-ROM mit Root-Rechten. Das findet man beispielsweise bei modaco.com[22]. ZDNet hat die Version "2.09.405.8 with radio" getestet. Es handelt sich um ein Original-ROM von HTC, das um Root-Rechte erweitert wurde. Ferner wurde für Kommandozeilen-Fans busybox[23] hinzugefügt.
Bevor man das ROM flasht, sollte man sich im Klaren darüber sein, dass nach einem Upgrade der Firmware das Device in der Regel in den Werkszustand zurückgesetzt werden muss. Das heißt, alle Nutzerdaten gehen verloren. Man kann natürlich probieren, ob alle Apps nach dem Upgrade wie gewohnt funktionieren. In einigen Fällen klappt das auch.
Um das auf die SD-Karte kopierte ROM auf das Desire zu bringen, geht man wie folgt vor:
- Zunächst auf dem Desktop-Rechner das Laufwerk freigeben. Unter Windows mit der Funktion "Hardware sicher entfernen (Windows)", unter Linux mit dem Befehl umount, unter Mac OS den Datenträger auswerfen.
- Auf dem Telefon den einzigen Menüpunkt Unmount auswählen (Bild 13[24]).
- Mit dem Powerbutton zurück ins Hauptmenü (Bild 10[19]).
- install zip from sdcard auswählen.
- choose zip from sdcard auswählen (Bild 13[24]).
- Gewünschtes ROM auswählen (Bild 14[25]).
- Sicherheitsdialog mit Yes bestätigen (Bild 15[26]).
Der Flashvorgang dauert einige Zeit. Danach erscheint wieder das Hauptmenü. Hier wählt man reboot system now. Das Radio-Image wird erst jetzt geflasht. Das ist normal. Nach dem Reboot dauert der Boot-Vorgang recht lang. Das Telefon sollte sich danach mit dem neuen FroYo-Build melden.
Wer einen Bootloader neuer als Version 0.80 besitzt, muss aus seiner SD-Karte eine sogenannte "Goldcard" machen. Ziel ist es, das Desire in einen Zustand zu versetzen, wie es von HTC verkauft wird, also mit Bootloader 0.80, Android 2.1 (Eclair) und ohne jedes Branding. Dabei gehen alle Daten auf dem Device verloren.
Mit einer Goldcard lässt sich eine Datei mit dem Namen PB99IMG.zip (Groß- und Kleinschreibung beachten) auf das Gerät flashen. Man bekommt sie beispielsweise über android-tutorials.org[27]. Falls die heruntergeladene Datei einen anderen Namen hat, muss sie in PB99IMG.zip umbenannt werden.
Die Goldcard ist nur erforderlich, wenn das Telefon von einem Mobilfunkprovider gebrandet wurde. Wer sein Gerät direkt von HTC hat und es rooten möchte, kann diesen Schritt überspringen und auf der nächsten Seite weiterlesen, um die Datei PB99IMG.zip direkt zu flashen.
Die Schlüssel zur Goldcard ist die sogenannte CID des Gerätes. Wer kein SDK installiert hat, kann die CID mit folgender Methode auslesen:
- Den Dateimanager Astro[28] aus dem Market installieren
- so lange Nach oben drücken, bis man bei / (Root) landet (Bild 16[29]).
- Ins Verzeichnis /sys/class/mmc_host/mmc1 wechseln (Bild 17[30]).
- Dort befindet sich ein Unterordner, der mmc1:**** heißt, beispielsweise mmc1:b368. In diesen Ordner wechseln.
- Die Datei cid lange "antappen".
- Oeffnen als wählen.
- Text anklicken.
- Falls Android fragt, welche Anwendung gestartet werden soll, Quickoffice oder Datei-Editor auswählen. Jede andere Anwendung, die Textdateien anzeigen kann, sollte auch funktionieren.
- Die sehr lange Hex-Nummer fehlerfrei aufschreiben.
Mit installiertem SDK gibt man von der Kommandozeile des PCs einfach adb shell cat /sys/class/mmc_host/mmc1/mmc1:*/cid ein. Dann erscheint die Hex-Nummer auf dem Desktop-Computer.
Um aus der CID ein Goldcard-Image herzustellen, geht man wie folgt vor:
- Die Nummer auf der Website hexrev.soaa.me[31] eintippen.
- Das Ergebnis (Bild 18[32]) und die eigene E-Mail-Adresse bei PSAS[33] eingeben (Bild 19[34]).
- Nach einigen Minuten erhält man eine E-Mail mit dem Anhang goldcard.img.
- Hex-Editor HxD herunterladen[35] und installieren.
- SD-Karte im Desire für den PC freigeben und sicherstellen, dass die Karte als Laufwerk freigegeben ist.
- Alle anderen USB-Platten (Sticks, SD-Karten, externe Festplatten) entfernen.
- Im HxD Extras - Datenträger öffnen wählen.
- Aus dem Dialog Wechselmedium 1 wählen und den Schreibschutz entfernen (Bild 20[36]). Wenn mehrere Wechselmedien erscheinen, steckt wahrscheinlich noch eine andere USB-Platte im Rechner. Auf keinen Fall den Laufwerksbuchstaben der Android-SD-Karte auswählen. Wer eine falsche Platte wählt, zerstört sie.
- Über den Menüpunkt Datei - Öffnen die Datei goldcard.img laden.
- Nun sollten zwei Tabs geöffnet sein, "Wechselmedium 1" und "goldcard.img".
- Im Tab "goldcard.img" Bearbeiten - Alles markieren (Strg-A) auswählen.
- Bearbeiten - Kopieren (Strg-C) anklicken.
- In den Tab "Wechselmedium 1" wechseln.
- Alle Bytes von 00000000 bis 0000017F mit der Maus auswählen (Bild 21[36]).
- Bearbeiten - Schreiben (Strg-B) wählen (Bild 22[37])
- Datei - Speichern anklicken.
- HxD schließen.
- "Hardware sicher entfernen" auf die SD-Karte anwenden.
Wenn alles geklappt hat, ist aus der SD-Karte eine Goldcard geworden, mit der sich der Bootloader des eigenen Desire flashen lässt. Das Verfahren dazu steht auf der nächsten Seite.
Um die Datei PB99IMG.zip zu flashen, muss sie in das Root-Verzeichnis der SD-Karte geschrieben werden. Das geht, anders als in vielen Foren behauptet, mit jeder SD-Karte. Sie muss allerdings mit FAT32 formatiert sein. Android formatiert alle Karten mit weniger als 2 GByte mit FAT16. In diesem Fall muss die Karte am PC mit FAT32 formatiert werden. Das Goldcard-Image in der Partitionstabelle geht durch die Formatierung nicht verloren.
Der eigentliche Flashvorgang läuft wie folgt ab:
- Telefon ausschalten.
- Einschalten mit gedrückter Taste Vol-.
- Falls der Bootloader die Datei PB99IMG.zip nicht von selbst findet, über den Menüpunkt Bootloader ins HBOOT-Menü wechseln.
- Der Bootloader überprüft die Datei.
- Den Flashvorgang mit Vol+ starten.
- In der Regel wird zunächst nur der Bootloader geflasht. Das geht relativ schnell. Danach startet der Bootloader 0.80.
- Einfach abwarten. Der Flashvorgang wird fortgesetzt.
Nach dem erfolgreichen Flashen kann das Telefon neu gestartet werden. Das Telefon besitzt jetzt ein Stock-ROM mit Android 2.1 und HBOOT 0.80. Als erstes sollte man PB99IMG.zip von seiner SD-Karte entfernen. Ansonsten versucht das Desire bei jedem Starten des Bootloaders die Datei erneut zu flashen.
Sobald das Handy eine Internetverbindung bekommt, will es auf Android 2.2 und HBOOT 0.92 upgraden. Dieses Angebot sollte man ablehnen, da es danach nicht mehr gerootet werden kann.
Besser ist es, das Telefon wie beschrieben mit unrevoked³ zu rooten und FroYo manuell aufzuspielen. So erhält man sich durch den Bootloader 0.80 die Möglichkeit, jederzeit andere ROMs aufspielen zu können.
URLs in diesem Artikel:
[1] = http:/
[2] = http:/
[3] = http:/
[4] = http:/
[5] = http:/
[6] = http:/
[7] = http:/
[8] = http:/
[9] = http:/
[10] = http:/
[11] = http:/
[12] = http:/
[13] = http:/
[14] = http:/
[15] = http:/
[16] = http:/
[17] = http:/
[18] = http:/
[19] = http:/
[20] = http:/
[21] = http:/
[22] = http:/
[23] = http:/
[24] = http:/
[25] = http:/