Binäre Xperia-Akkuanzeige (100% / 0%) beheben

Seit ein paar Monaten hat mein Smartphone (Sony Ericsson Xperia Pro – ja, inzwischen wurde das Ericsson aus dem Namen gestrichen) eine ziemlich blöde Macke im Akkucontroller. Wenn man den Akku aus dem Handy nimmt und wieder einsetzt (z.B. um an den Sim- oder SD-Karten-Slot zu kommen), meldet anschließend der Controller (und dementsprechend auch Android) dauerhaft einen 100% geladenen Akku. Dummerweise ändert sich dies erst gegen Ende der Akkuladung – dann springt die Anzeige spontan auf 0 und das Handy fährt herunter.

Soweit so ärgerlich, aber es wird noch unangenehmer. Wenn man das leergelaufene Handy ans Netzteil hängt, meldet es sofort “aufgeladen” und was dann passiert, hängt von der Tagesform des Controllers ab: Entweder der Akku wird (vermutlich mit dem Erhaltungsstrom) geladen oder aber das Handy meldet (immer noch am Strom hängend) 0% Akkuleistung, fährt herunter und weigert sich sowohl zu booten als auch zu laden. In letztgenanntem Fall hat bisher ein temporäres Herausnehmen des Akkus für einige Minuten geholfen, um mit ersterem Fall fortzusetzen.

Soviel zur Anamnese – die Diagnostik und Suche nach einer Therapie kostete mich mehrere Tage und das Durchlesen von geschätzten 50-100 Threads mit jeweils durchaus 50-100 Unterseiten aus diversen Androidforen.

Es ist ziemlich schwer, nach diesem spezifischen Akkuproblem zu suchen – in den meisten Akku-Threads beschweren sich die Schreiberlinge wortreich über zu geringe Akkulaufzeiten und bieten esoterisch anmutende Lösungen an.

Dennoch konnte ich in diesem Beitrag (der Thread handelt übrigens von einem ganz anderen Thema) nicht nur mein Problem, sondern auch eine praktikable Lösung finden.

Im folgenden ist die Lösung wiedergegeben, allerdings ohne den adb-Teil, da ich die Kommandos direkt auf dem Handy ins Terminal tippe:

su 
cd /sys/class/power_supply/bq27520
echo 0 > fg_lock
echo start > fg_cmd
# wait 10 seconds
echo end > fg_cmd
# wait 10 seconds
echo 1 > fg_lock
reboot

Interessanterweise funktioniert das Ganze nur, wenn man die Kommandos wirklich live ins Terminal tippt. Die Anweisungen in ein Shellskript gegossen (mit entsprechenden sleep-Anweisungen dazwischen) liefern beim “echo end” Fehlermeldungen – keine Ahnung, warum.

Anyway, ich bin froh, diese Lösung gefunden zu haben und bin weiterhin beim Warten auf ein adäquates Ersatzsmartphone – das Xperia Pro ist zwar von 2011, aber weiterhin das neueste Android-Smartphone mit benutzbarer (“quer-slidender”) Hardwaretastatur, das man in Europa kaufen kann.