Schlagwort-Archive: defy

Opensource für mein DEFY II

Nachdem mein treues Motorola Defy nun vier Jahre auf dem Gehäuse hatte, war der Akku so hinüber, dass er gerade noch einen Tag im Standby durch hielt.

Er hatte sich mittlerweile schon so aufgebläht, dass man den Akkudeckel nur noch unter Spannung schließen konnte. Ich liebäugelte einstweilen mit einem Neugerät, bis ich mal geguckt habe, was ein Ersatzakku kostet. Original Motorola-Lagerware aus 10/2014 lag bei 6,39 € inkl. Versand. Das konnte ich guten Gewissens riskieren.
Die Lieferung erfolgte schnell und der Akku wies noch 46% Restladung auf. Tiefentladen war er also schon mal nicht. Nach ein paar Ladezyklen hielt das Telefon nun wieder 3-4 Tage.
Da ich nun sicher war, das Defy weiter zu nutzen habe ich mich mal nach einem Update zum mittlerweile auch schon drei Jahre alten  CyanogenMod 7 umgesehen.

Wie sich herausstellte gibt es mittlerweile eine recht stabile Version des CyanogenMod 11 (Android 4.4.4) für das Defy. Installiert habe ich es nach dieser Anleitung bzw. der verlinkten 39-Punkte-Checkliste. Verwendet habe ich die Nightly-Version von Quarx vom 23.01.2016.
Das hat auch alles super geklappt, bis ich nachher versucht habe das empfohlene GApps Minimal vom 21.04.2015 von Jajb zu installieren. Das endete immer nur in einer Fehlermeldung der Google-Playstores. Auch dabei wurde mir dank des Forums schnell geholfen. Mit „The Open GApps Project“ funktioniert die Installation reibungslos.

Seit knapp einem Monat läuft mein Defy nun mit CyanogenMod 11.
Ich bin erstaunt, wie schnell es damit noch ist.
Unplanmäßige Reboots sind sehr selten (max. 1x pro Woche) und geschehen meist unter großer Last.
Lediglich Google-Maps dauert knappe 5 Minuten, bis es geladen hat.
Mal sehen, wie lange ich die Krücke damit noch am Leben erhalte.

Android meets OBD

Im Zuge der Lambdasondenreparatur habe ich mich mal nach Möglichkeiten umgesehen OBD II Fehlercodes selber auszulesen.
Klar, bei Opel-Fahrzeugen aus den 2000er-Jahren geht das auch so, aber Opel ist im heimischen Fuhrpark klar in der Unterzahl.
Jeder drittklassige Elektronikversand bietet mittlerweile handliche Lesegeräte für den Heimanwender an. Auch eBay hat da reichlich im Angebot.
Aber in Verbindung mit den Preisen, spricht für mich auch die Abhängigkeit vom Hersteller für Updates gegen ein solches „geschlossenes“ System.
Für ein selbst geklöppeltes System bin ich jedoch nicht blond genug:

Es gibt auch Open-Source-Ansätze, wie z.B. OpenOBD.
Aber auch dort fehlt mir die Motivation, mich so tief in die Materie einzuarbeiten, als dass es auf einem der ollen Laptops die hier noch rum fliegen läuft.
Guckt man etwas weiter, so stolpert man ziemlich schnell über die Software „Torque„.
Torque nutzt Android-Geräte als Hardware und liest per Bluetooth oder W-LAN OBD II-Schnittstellen aus.
Es gibt zwei Versionen. Einmal „Torque Lite“ als kostenlose Version mit trotzdem riesigem Umfang und einmal „Torque Pro“ für sagenhafte 3,54 €.
Auch Herstellerspezifische Codes können damit ausgelesen werden.
NICE!
Hier ein kleines Video, was Torque Pro alles kann:

Und eine kleine Übersichtsgrafik:

Den Fehlerspeicher auslesen und löschen können übrigens beide Versionen.
Damit stand der Entschluss fest und ich hab mich mal nach kompatiblen Adaptern umgesehen.
Die vom Anbieter aufgelisteten Adapter waren mir alle zu teuer.
Also mal eBay direkt mit der Anfrage „Torque Bluetooth“ konfrontiert.
Da finden sich auch von deutschen Anbietern Angebote für schmale Mark.
Ich habe mich für dieses hier entschieden.
Ein deutscher Anbieter erleichtert die Nörgelei, sollte der Adapter doch nicht funktionieren.
Neben dem Adapter war noch eine deutsche Anleitung im Lieferumfang:
Lieferumfang
Die OBD II-Buchse findet sich beim Opel Corsa C bzw. Combo C in der Mittelkonsole unterhalb der Heizungssteuerung:
OBD II Anschluss
Der Adapter muss da leider über Kopf rein, so dass man die Kontroll-LEDs nicht sehen kann:
Adapter eingesteckt
Zu Anfang sah auch alles knorke aus.
Der Adapter wurde von meinem Defy gefunden und es konnte auch „gepaart“ (Ferkelkrams!) werden:
Pairing
Allerdings wollte Torque partout keine Verbindung mit dem Adapter herstellen.
Zurück am heimischen Rechner stellte sich heraus, dass ich mir selbst ein Bein gestellt habe.
Motorola verwendet proprietäre Treiber für die Ansteuerung seiner Bluetoothelemente.
Diese Treiber sind daher nicht in der von mir verwendeten Version des CyanogenMod 7 enthalten.
„Gibt’s nicht, bekommen wir auch nicht mehr rein…“ war die Antwort aus dem Netz.
Und ich bin nicht alleine.
Doof, aber weder ein Fehler des Verkäufers, der Cyanogen-Crew oder den Jungs von Torque.
Da ich wenig Lust auf Experimente mit anderen ROMs hatte, habe ich mich einfach im Freundeskreis nach Android-Geräten mit Stock-ROMs umgehört.
Michael war so freundlich mir den Zugang zu dem Mist-neuen Motorola-Telefon seiner Freundin zu verschaffen (herzlichen Dank dafür).
Da läuft noch ein gebrandetes original Android 2.3 drauf.
Damit war der Verbindungsaufbau glücklicherweise kein Problem und ich konnte den Fehlerspeicher auslesen:
hinterlegter Fehlercode
Wie zu erwarten war, war dort noch der Fehler P0136 hinterlegt (auch wenn die Motorkontrollleuchte längst erloschen war).
Zwei Klicks später war der Fehler gelöscht und bei einer Runde um den Block konnte ich mich davon überzeugen, dass Lambdasonde 2 wieder ihren Dienst aufgenommen hat:
Lambdawert von Sensor 2
Als Fazit bleibt mir nur zu sagen, dass Torque ein hammermäßiges Tool ist, dass in keiner Auto-Nerd-Hosentasche (insbesondere beim Gebrauchtwagenkauf) fehlen sollte.
Eine Aufnahme in die Liste mit den besten Schrauber-Apps ist längst überfällig!

OpenSource für mein Defy

Nachdem mein geliebtes Motorola Defy nun aus dem Garantiezeitraum raus war, konnte ich endlich dem beschämenden Support seitens Motorolas ein Ende setzen.
War die Auslieferung mit dem schon damals veralteten Android 2.1 „Éclair“ ein Ärgernis, so grenzte das stiefmütterlich behandelte Update auf Android 2.2.2 „Froyo“ an eine Frechheit!
Dementsprechend verwunderte es auch niemanden, dass Motorola kurz nach dem Update verlautbarte, es würde keine weiteren Updates mehr für das Defy geben.
Dazu kamen dann noch all die Hemmnisse durch das Branding namens „MotoBlur“, welches seinen Namen ganz zu recht trägt.
Passenderweise häuften sich in letzter Zeit auch unmotovierte Abstürze und Neustarts.
Damit war meine Hemmschwelle, die Programmierung des Smartphones zu kacken und ein neues Betriebssystem zu installieren in Flokati-Höhe angelangt.
Also Nägel mit Köppen gemacht und schlau gelesen, was die OpenSource-Community für das Defy in Petto hat.
Das sind eine überraschend stattliche Anzahl an Betriebssystemen!
Nach näherer Betrachtung kamen für mich eigentlich nur zwei Systeme in Betracht:

  1. CyanogenMod 7 (Android 2.3.7) 7.2.0 stable
  2. CyanogenMod 10 (Android 4.1.2) Nightly Builds

Da ich auf das Telefon täglich angewiesen bin, entschied ich mich gegen das momentan noch experimentelle CyanogenMod 10 und für die erprobte Version 7.

Der erste Schritt war, die Root-Sperre des Defys zu knacken.
Hierbei ist das Programm „SuperOneClick 2.2“ in Verbindung mit diesem Thread sehr hilfreich.

Als zweites Stand ein umfassendes Backup auf der Tagesordnung, denn ein schlechtes Backup-System ist besser als gar kein System!
Alle Programme, die eine eigene Backup-Funktion haben (z.B. mein geliebtes „acar„), durften selbige zum Besten geben.
Außerdem habe ich noch mittels „SMS Backup & Restore“ den nicht eh Cloud-mäßig gesicherten Teil meiner vergangenen Kommunikation kopiert.
Um jedoch ein 1:1 Spiegelbild des gesamten Systems zu erzeugen (sollten später beim flashen alle Stricke reißen) habe ich ClockworkModRecovery installiert (findet sich im Anhang zu diesem Post). Das Programm wird später auch zum Wechsel der ROMs gebraucht.
Zum Vorgehen kann man sich an den Abschnitt „Backup“ in der oben verlinkten Anleitung halten oder auch die hier nehmen. Das Backup dauerte bei mir knapp 10 Minuten (zwischendurch herrscht verdächtige Untätigkeit, also nicht nervös werden) und benötigte etwas über 1 GB an freiem Speicherplatz auf der SD-Karte:
ClockworkModRecovery Backup
Will man den Platz auf der SD-Karte anschließend für das neue ROM frei räumen, kann man das erstellte Image auch einfach auf den Rechner kopieren. Zur Wiederherstellung muss dann natürlich die Ordnerstruktur auf der SD Karte (Clockworkmod/Backup/IMAGEDATUM/) vorhanden sein bzw. erstellt werden.

Anschließend kommt das Telefon ans Ladegerät, bis der Akku randvoll ist.

Zum flashen habe ich mich hauptsächlich an die hübsch bebilderte Anleitung von Domingo2010 und RATTAR aus dem Android-Hilfe-Forum gehalten.
Will man auch die proprietären Anwendungen aus dem Hause Google (Maps, Navigation, GMail, Play Store, etc.) nutzen, so muss man neben der Datei „cm-7.2.0-jordan.zip“ auch „Gapps“ als Zip mit auf die SD-Karte packen und später ebenso über ClockworkModRecovery installieren. Hierbei ist es wichtig, dass ihr eine kompatible Gapps-Version verwendet! Eine Übersicht findet sich hier im cyanogenmod-Wiki.
Ich verwendete (nach einem ersten fehlgeschlagenen Versuch) „gapps-gb-20110828-signed.zip“.
Die Installation verlief erfreulich reibungslos:
ClockworkModRecovery Installationsablauf CM7
Einzig Schritt 18 – „Fix Permissions“ aus der Anleitung musste ich auslassen, da es diesen Eintrag in der von mir verwendeten Version 5.0.3.1 nicht mehr gab.

Einen Reboot später erfreute mich mein Defy mit neuem Bootlogo („Tschüss Motorola!“) und neuer Benutzeroberfläche:
CyanogenMod 7 Boot Animation

CyanogenMod 7 Desktop

Die Freude währte allerdings nur kurz.
Im Abstand von Sekunden tauchte immer wieder folgende Fehlermeldung auf:
„Die Anwendung Android-Tastatur (Prozess com.android.inputmethod.latin) wurde unerwartet beendet. Versuchen Sie es erneut.“:
Fehlermeldung
Da ein Defy ohne Touchscreen-Tastatur jedoch kaum zu nutzen ist, musste ich über den Rechner-Umweg Lösungen probieren.
Um es kurz zu machen: Alle in verschiedensten Foren vorgeschlagenen Lösungswege (Cache mehrfach löschen, „UserDictionaryProvider.apk“ neu installieren, Dalvik Cache löschen, ROM komplett neu installieren etc.) brachten keine Besserung.
Das Defy war in diesem Zustand nutzlos.

Warum dann also nicht weiter experimentieren und einfach eine „Nightly-Version“ von CM7 installieren? „Kaputt is eh schon.“
Ich entschied mich für „Cm-7-20121207-UNOFFICIAL-jordan-signed.zip“ von maniac103. maniac103 ist in Deutschland für die Weiterentwicklung des CyanogenMods für das Defy (Motorola-intern „Jordan“ genannt) verantwortlich. Daher hatte ich in das von ihm kompilierte ROM dass meiste Vertrauen.
Die Installation lief mithilfe dieser Anleitung ebenfalls problemlos.

Und was soll ich sagen? Der Fehler ist verschwunden!
Das System läuft bisher absolut stabil und erfreut mit schnellerer Reaktion sowie längerer Akku-Laufzeit.
Auch die Wiederherstellung meiner alten Nutzerdaten verlief problemlos.
Ein Sieg auf ganzer Linie!

Damit dürfte mein geliebtes Motorola Defy noch lange Zeit nicht zum alten Eisen gehören.

Anschließend installierte ich noch Swype Beta 1.4, welches ebenfalls einen großen Fortschritt gegenüber dem alten Motorola-Swype darstellt.

Der einzige Wermutstropfen ist bisher, dass ich kein Widget finde, welches mit der Androideigenen Mailverwaltung kooperieren möchte, um mir meine neuen Mails auf dem Desktop darzustellen.
Beim alten 2.2.2 gabs da extra noch ein Widget für (ähnlich des Kalender-Widgets). Weiß da einer von euch ne elegante Lösung?

P.S.: Nachdem ich nun weiß, wie der Lagomorpha läuft, werde ich irgendwann sicherlich auch auf CyanogenMod 10 umsteigen. Da warte ich jedoch erst noch, bis die Version ausgereifter ist. Aktuell berichten mir zu viele Leute von rapidem Akkuverbrauch beim Defy mit CyanogenMod 10.

Der Fernsprecher spricht nicht mehr

Bisher hatte ich gehofft, dass der Kelch der defekten Hörerlautsprecher beim Motorola Defy an mir vorüber geht.
Passend zu Ostern schwieg jedoch nun auch plötzlich mein Defy (Charge „B09“).
Der Gesprächspartner ist nur noch zu hören, sofern man ein Headset oder den internen Frei-Sprech-Lautsprecher verwendet.
Großartig!
Naja, wenigstens liege ich noch im Gewährleistungszeitraum.
Bevor ich nun aber das Paket an datrepair (Service-Partner von Motorola in D) schnüre muss ich erstmal zusehen, wie ich meine Daten gesichert bekomme.
Hat da jemand eine Empfehlung (ohne Rooten des Telefons, wenns geht)?
Wie läuft das eigentlich mit den von mir im App-Store gekauften Programmen?

Süßkrams

Vor langer und noch längerer Zeit wurde mein armes Defy ja immer bekrittelt, dass es mit dem alten Android 2.1 „Eclair„rum laufen musste, obwohl schon 2.2 „Froyo“ verfügbar war.
Seit Anfang letzten Monats gab es nun endlich das offizielle Update von Motorola auf (das mittlerweile auch schon nicht mehr aktuelle) Android 2.2.
Gestern bin auch ich mal dazu gekommen auch mein Defy zu updaten.
Vorweg: Es ist eine Frechheit von Motorola, dass man für die Software, mit der man ein Linuxsystem updaten muss, zwingend Windows braucht!
Ich habs mit wine versucht, lüppt nicht.
Gut das ich hier noch eine alte XP-Installation rumschimmeln habe. Die habe ich, ehrlich gesagt, nie wieder benötigt, nachdem Ubuntu lief. Bis gestern…
Unter Windows ist das Update aber ne schmerzlose Sache. Einfach den Anweisungen des Updaters folgen.
Man braucht nur Geduld! Wenn sich da minutenlang nix tut, immer nur der gleiche Bildschirm angezeigt wird oder der USB-Port dauernd aktiviert und deaktiviert wird, darf man nicht in Panik verfallen. Bei mir wurden auch alle Daten behalten/wiederhergestellt.
Ich bin rundum zufrieden. Gibt auch ein paar neue Spielmöglichkeiten. Müsst ihr einfach mal durchs komplette Einstellungs-Menü pflügen.
Es bleibt zu vermuten, das dies das letzte Update für das Defy war. Gerüchten zufolge steht schon der Nachfolger „Defy Plus“ in den Startlöchern. Der kommt dann mit Android 2.3.3.

Da ist also Eigeninitiative gefragt. Kommt Zeit, kommt Gingerbread.

Im Zuge des Updates bin ich aber über ein schickes verstecktes Feature gestolpert. Je nach Polarität kann man mit einem Magneten entweder die (bekannte) Auto-Funktion aktivieren oder die (nahezu unbekannte) Dockingstation-Funktion.
Letztere verwandelt das Defy in einen hübschen Wecker. Hier im Video ganz schick zu sehen:

Muss ich zuhause mal die Legokiste plündern.