Wenn Windows Mobile lahmt: einfach auf Android upgraden

(http://www.zdnet.de/magazin/41526900/wenn-windows-mobile-lahmt-einfach-auf-android-upgraden.htm)

von Christoph H. Hochstätter, 10. Februar 2010

Auf vielen HTC-Smartphones lässt sich Android aufspielen, ohne dass Windows Mobile und seine Daten gelöscht werden müssen. ZDNet zeigt Schritt für Schritt, wie man ein träges Windows-Mobile-Handy mit Android wieder flott macht.

Smartphones von HTC mit Windows Mobile gelten als langsam und träge. Die Ergebnisse der ZDNet-Tests für das HTC Touch Pro[1] (Codename Raphael) und das HTC Touch Diamond[2] fallen eindeutig aus: Das Touch Pro "nervt weiterhin mit langen Reaktionszeiten" und beim Touch Diamond lässt sich nur feststellen: "Im Vergleich zum iPhone wirkt die Bedienung allerdings noch etwas hakelig."

Die Mängel liegen allerdings nicht an der Hardware. Das vorinstallierte Betriebssystem Windows Mobile 6.1 mit seinem archaischen Threading- und Interrupt-Handling-Modell bringt jede Hardware schnell zum Erliegen. Auch ein Flashen auf Windows Mobile 6.5 kann daran nichts ändern. Die neueste Version hat zwar eine hübschere Benutzeroberfläche, nutzt aber ebenfalls die völlig überholte Technologie von Windows CE 5.0.

Wenngleich das Touch Diamond von der Prozessorleistung und der Speicherausstattung nicht mit dem iPhone konkurrieren kann, kann man sich mit dem Android-Betriebssystem durchaus "iPhone-Feeling" verschaffen. Auf der Website htcandroid.xland.cz[3] findet man aktuelle Builds zum Download, die einfach zu installieren sind. Insbesondere ist es nicht notwendig, das ROM neu zu flashen. Es reicht aus, ein paar Dateien auf die interne SD-Karte zu kopieren. Windows Mobile bleibt mit allen Daten erhalten.

Außer auf dem Touch Pro und dem Touch Diamond laufen die Builds auf dem Touch HD[4] (Blackstone), Touch Diamond 2[5] (Topaz) und dem Touch Pro 2[6] (Rhodium). Die deutschen Mobilfunkhersteller verkaufen die Geräte oft unter anderem Namen. So trägt etwa das Touch Diamond bei T-Mobile den Namen "MDA IV compact".

Eine Anwendung namens haret.exe, die man aus Windows Mobile starten kann, übernimmt die gesamte Kontrolle über die Hardware und bootet den Linux-Kernel von der internen Speicherkarte. Dabei handelt es sich nicht um eine Virtualisierungslösung, sondern um einen echten Bootloader. Eine ähnliche Technologie setzten Novell Netware und frühe Linux-Versionen ein, die von einem MS-DOS-Bootloader gestartet wurden.

Bildergalerie

So kommt Android auf Windows-Mobile-Handys von HTC[7]

» zur Bildergalerie ...[7]
Die fertigen Android-2.1-Builds (Codename Eclair) sind mit 7zip[8] gepackt. Zum Entpacken eignen sich auch neuere Versionen von Multi-Entpackern wie WinRAR[9]. ZDNet hat die Version XDANDROID.02.02.10.7z[10] vom 2. Februar 2010 getestet. Neue Builds erscheinen derzeit im Abstand von wenigen Tagen.

Bevor man die ausgepackten Dateien auf die interne Speicherkarte kopiert, sollte man sich die Apps aussuchen, die man installieren möchte. Sie befinden sich in Unterverzeichnissen des Verzeichnisses AndroidApps. Die gewünschten Anwendungen werden einfach eine Ebene nach oben in AndroidApps verschoben, siehe Bild 6[11].

Als nächstes muss die richtige STARTUP.TXT in das XDANDROID-Verzeichnis kopiert werden. Für die verschiedenen Modelle stehen fertige Dateien im Unterverzeichnis STARTUP CONFIGS zur Verfügung, siehe Bild 7[12]. Die Verzeichnisse DIAM500 und RAPH800 sind nur für US-Modelle, die nicht GSM und UMTS, sondern IS-95[13] und CDMA2000[14] nutzen.

Damit ist die Vorbereitung abgeschlossen. Nun kopiert man alle Dateien aus dem XDANDROID-Verzeichnis in das Root-Verzeichnis der SD-Speicherkarte, die je nach Modell, etwa beim Touch Diamond, auch fest eingebaut sein kann, siehe Bild 8[15]. Übersichtlicher wäre es, ein Unterverzeichnis zu verwenden. Im ZDNet-Test ließ sich dann allerdings kein WLAN unter Android nutzen.

Android lässt sich jederzeit starten, indem man den Datei-Explorer öffnet und auf die Datei haret.exe doppelklickt. Beim ersten Booten muss der Bildschirm kalibriert werden. Das geschieht in einer sehr frühen Phase des Bootens. Dabei erscheinen nacheinander vier Quadrate, die anzuklicken sind.

Wer den Bildschirm nicht richtig kalibriert hat, kann später unter Windows Mobile einfach die Datei ts-calibration von der Speicherkarte löschen. Dann erhält man beim nächsten Booten ein neue Chance zur Kalibrierung des Touchscreens. Der weitere Boot-Vorgang läuft automatisch ab, siehe Bild 1[16]. Allerdings dauert er sehr lange. Bis der Android-Begrüßungsbildschirm erscheint, siehe Bild 2[17], vergeht einige Zeit.

XDANDROID unterstützt nicht alle Devices auf HTC-Touch-Handys. Derzeit fehlen GPS, Bluetooth und die eingebaute Kamera. Ferner gibt es keine Unterstützung für OpenGL ES[18]. Die Grafikausgabe erfolgt ausschließlich softwarebasiert. Störend ist das nur bei Videos. Viele YouTube-Videos können nicht dargestellt werden.

GSM und UMTS funktionieren inklusive aller Datenstandards wie GPRS, EDGE und HSPA einwandfrei. Beim WLAN-Modul ist anzumerken, dass es zwar ohne Probleme nutzbar ist, jedoch fehlt jegliches Powermanagement. Selbst wenn man das Telefon in den Sleep-Modus versetzt, zieht das WLAN-Modul der Batterie die volle Leistung ab. Ein Betrieb ohne angeschlossenes Ladegerät ist nicht lange möglich.

In diesem Zusammenhang ist es besonders störend, dass der WLAN-Controller beim Versuch, ihn manuell zu deaktivieren, häufig zum Reboot des Telefons führt. Oft geht die WLAN-Abschaltung zwar gut, dennoch sind die zahlreichen Bugs im Treiber ärgerlich. Den "Developern" von XDANDROID fehlt an vielen Stellen Hardwaredokumentation, die HTC nicht preisgeben will.

Findet man sich mit den Mängeln bei der Hardwareunterstützung ab, so kann man einmal die Unterschiede von zwei Betriebssystemen auf derselben mobilen Hardware erfahren. Im ZDNet-Test zeigt sich auf einem Diamond Touch ein Unterschied wie Tag und Nacht.

Unter Android hat man nicht mit verzögerten Reaktionen auf Tasten- und Touchscreen-Befehle zu kämpfen, wie sie bei Windows Mobile an der Tagesordnung sind. Bei der Auswahl der Apps kann man sich im Android Market nach Herzenslust bedienen.

Nicht jedes Betriebssystem verhält sich wie Windows Mobile, das den knappen internen Speicher für Daten nutzt, auch wenn eine Anwendung auf der Speicherkarte installiert wurde. So zeigt Windows Mobile häufig an, dass der Programmspeicher voll sei, obwohl auf der Speicherkarte noch mehrere Gigabyte frei sind.

Android hingegen nutzt auf Wunsch die Karte. Das gilt für Programme und Daten. Android traut dem Benutzer so viel gesunden Menschenverstand zu, dass er sich darüber im Klaren ist, dass Anwendungen auf der SD-Karte nicht mehr verfügbar sind, wenn man diese entfernt.

Dass Linux im Gegensatz zu Windows Mobile Multitasking beherrscht, zeigt sich in vielerlei Hinsicht. So kann man bei Active Sync grundsätzlich die E-Mails, Kontakte und Kalendereinträge mitzählen, die gerade synchronisiert werden, auch wenn man mit HSPA oder WLAN angebunden ist. Der Synchronisationsprovider des Android-E-Mail-Programms hingegen braucht nur sieben Sekunden für über hundert E-Mails und mehr als 300 Kontakte.

Außerdem lässt sich mit einem Klick festlegen, dass der Exchange-Server auch über ein selbst signiertes Zertifikat verfügen darf, siehe Bild 4[19]. So kann die Übertragung verschlüsselt stattfinden. Mit Active Sync unter Windows Mobile muss man auf unverschlüsselte Übertragung ausweichen.

Nachteilig ist bei Android jedoch, dass das E-Mail-Programm (Bild 3[20]) nur E-Mails und Kontakte synchronisieren kann. Termine lassen sich ohne Zusatzprogramme nicht einbinden. Das Android-Kalender-Programm kommt nur mit Googlemail-Konten zurecht.

Am deutlichsten merkt man den Unterschied zwischen Windows Mobile und Android bei VoIP-Gesprächen. Windows Mobile ab Version 6.0 hat in der Standard-Telefon-Applikation bereits VoIP nach dem SIP-Standard eingebaut. Auf Druck der Mobilfunkanbieter deaktivieren die Gerätehersteller diese Funktion jedoch.

Wer sich einmal die Mühe gemacht hat, die Datei WM6VoIP.CAB herunterzuladen[21] und der Anleitung[22] für die etwas umständliche Prozedur zur VoIP-Aktivierung gefolgt ist, wird feststellen, dass die Gesprächsqualität so schlecht ist, dass man kaum etwas versteht. Windows Mobile schafft es einfach nicht, die Daten von den Devices Mikrofon, Lautsprecher und Netzwerkinterface in angemessener Zeit zu verarbeiten.

Ganz anders verhält es sich, wenn man sich unter Android die Telefonieerweiterung Sipdroid[23] herunterlädt. Neben der problemlosen Konfiguration ohne manuelles Editieren einer XML-Datei kommt man in den Genuss einer sehr guten Gesprächsqualität, die anderen SIP-Telefonen nicht nachsteht.

Um das "Rooten[24]" seines Android-Handys muss man sich keine Gedanken machen. XDANDROID ist bereits gerootet und Busybox[25] vorinstalliert. Mit dem vorinstallierten Mini-Terminal-Programm pTerminal[26] lässt sich ein Telnet-Daemon starten. Dazu gibt man die Befehle su -c killall telnetd und su -c telnetd -l /bin/sh ein.

Da Telnet über keinerlei Security verfügt und /bin/login nicht genutzt werden kann, sollte man sich einen schlanken SSH-Server wie dropbear[27] installieren, wenn man die Kommandozeile regelmäßig benötigt, siehe Bild 14[28]. Wer eine öffentliche IP-Adresse hat, beispielsweise von seinem Mobilfunkprovider, oder sich in einer potenziell feindlichen Netzwerkumgebung wie einem öffentlichem WLAN befindet, für den ist das Starten des Telnet-Dämons ein großes Sicherheitsrisiko.

Obwohl einige Devices wie GPS, Bluetooth und die interne Kamera nicht nutzbar sind, ist XDANDROID mehr als eine reine Proof-of-Concept-Studie. GSM und UMTS mit allen Datenstandards funktionieren einwandfrei. Beim WLAN muss man Probleme beim Powermanagement in Kauf nehmen, die dazu führen, dass der Akku sich schnell entlädt, wenn das WLAN-Modul nicht manuell deaktiviert wird.

Wer mit den genannten Einschränkungen leben kann, erhält mit XDANDROID ein Betriebssystem, das Windows Mobile in vielerlei Hinsicht überlegen ist. Auffälligster Vorteil ist die präzise Reaktion auf Benutzereingaben.

Auch in anderen Dingen ist XDANDROID einfach besser durchdacht. Anwendungen, die auf der Speicherkarte installiert werden, speichern normalerweise auch ihre Daten dort und nicht im knappen internen Speicher. Durch die Registry haben Windows-Mobile-Anwendungen gar nicht die Chance, den internen Speicher unangetastet zu lassen.

Wer einmal Windows Mobile und Android auf derselben Hardware ausprobiert hat weiß, dass Microsoft für Windows Mobile 7 eine komplette Neuentwicklung seines CE-Betriebssystems vornehmen muss. Apple und Google sind den Weg gegangen, ein relativ simples API auf ein Unix-Betriebssystem zu bringen. Microsoft hingegen bietet mit dem .NET Compact Framework[29] ein viel zu komplexes API auf einem völlig überfordertem Betriebssystem an.

Letzteres ist zwar prozessorunabhängig, jedoch hat sich die ARM-Architektur auf Mobilgeräten genauso durchgesetzt wie die x86-Architektur auf Desktop-PCs. Da Smartphones nicht über besonders leistungsfähige Prozessoren verfügen, ist man beim derzeitigen Stand der Technik mit nativem Code besser bedient.

Microsoft muss seinen eingeschlagenen Weg in eine Sackgasse schnell korrigieren, wenn es den Markt nicht aufgeben will. Ob das dem träge gewordenen Weltmarktführer für PC-Software rechtzeitig gelingt, wird sich dieses Jahr zeigen. Wenn Microsoft nicht spätestens im vierten Quartal mit einem performanten Windows Mobile 7 rauskommt, dürften viele Marktanteile an Apple und Google verloren sein.

URLs in diesem Artikel:
[1] = http://www.zdnet.de/mobiles_arbeiten_mit_handheld_pda_handy_smartphone_htc_touch_pro_smartphone_mit_qwertz_tastatur_review-20000153-39198396-1.htm
[2] = http://www.zdnet.de/mobiles_arbeiten_mit_handheld_pda_handy_smartphone_htc_touch_diamond_smartphone_mit_windows_mobile_6_1_und_gps_review-20000153-39191777-1.htm
[3] = http://htcandroid.xland.cz
[4] = http://www.zdnet.de/mobiles_arbeiten_mit_handheld_pda_handy_smartphone_smartphone_im_test_bildschirmriese_htc_touch_hd_review-20000153-39197303-1.htm
[5] = http://www.zdnet.de/mobiles_arbeiten_mit_handheld_pda_handy_smartphone_htc_touch_diamond_2_windows_smartphone_mit_vollausstattung_review-20000153-41003162-1.htm
[6] = http://www.zdnet.de/mobiles_arbeiten_mit_handheld_pda_handy_smartphone_windows_handy_mit_qwertz_tastatur_htc_touch_pro_2_review-20000153-41501704-1.htm
[7] = http://www.zdnet.de/galerie/41527083/so-kommt-android-auf-windows-mobile-handys-von-htc.htm#sid=41526900
[8] = http://www.zdnet.de/kompression_fuer_windows_7_zip_download-39002345-9152-1.htm
[9] = http://www.zdnet.de/kompression_fuer_windows_winrar__32_bit_download-39002345-14976-1.htm
[10] = http://htcandroid.xland.cz/XDANDROID.02.02.10.7z
[11] = http://www.zdnet.de/bildergalerien_so_kommt_android_auf_windows_mobile_handys_von_htc_story-39002382-41527083-6.htm#g
[12] = http://www.zdnet.de/bildergalerien_so_kommt_android_auf_windows_mobile_handys_von_htc_story-39002382-41527083-7.htm#g
[13] = http://en.wikipedia.org/wiki/IS-95
[14] = http://de.wikipedia.org/wiki/CDMA2000
[15] = http://www.zdnet.de/bildergalerien_so_kommt_android_auf_windows_mobile_handys_von_htc_story-39002382-41527083-8.htm#g
[16] = http://www.zdnet.de/bildergalerien_so_kommt_android_auf_windows_mobile_handys_von_htc_story-39002382-41527083-1.htm#g
[17] = http://www.zdnet.de/bildergalerien_so_kommt_android_auf_windows_mobile_handys_von_htc_story-39002382-41527083-2.htm#g
[18] = http://de.wikipedia.org/wiki/OpenGL_ES
[19] = http://www.zdnet.de/bildergalerien_so_kommt_android_auf_windows_mobile_handys_von_htc_story-39002382-41527083-4.htm#g
[20] = http://www.zdnet.de/bildergalerien_so_kommt_android_auf_windows_mobile_handys_von_htc_story-39002382-41527083-3.htm#g
[21] = ftp://xda:xda@ftp.xda-developers.com/Hermes/WMXL_Support_Files/WM6VoIP.CAB
[22] = http://forum.xda-developers.com/showthread.php?t=299950
[23] = http://sipdroid.org/
[24] = http://forum.xda-developers.com/showthread.php?t=442480
[25] = http://www.busybox.net/
[26] = http://www.androlib.com/android.application.src-com-poidio-terminal-jnpj.aspx
[27] = http://forum.xda-developers.com/showthread.php?t=442754
[28] = http://www.zdnet.de/bildergalerien_so_kommt_android_auf_windows_mobile_handys_von_htc_story-39002382-41527083-14.htm#g
[29] = http://msdn.microsoft.com/en-us/netframework/aa497273.aspx