Während es jetzt fast ein Jahr lang gut funktioniert (seit ich CyanogenMod auf meinem Gerät installiert habe ), hat die Synchronisierung vor ein paar Tagen plötzlich aufgehört: Netzwerkanzeigen wurden weiß (nicht mehr grün bei Gingerbread / blau bei ICS und höher), was darauf hinweist, dass das Gerät nicht mit den Google-Servern "synchronisiert" ist.
Zuerst dachte ich, es könnte ein Google Server-Ausfall sein (wie wir sie alle kennen), ich wartete ein paar Tage. Aber es löste sich nicht innerhalb weniger Tage, also beschloss ich, es mir genauer anzusehen. logcat
dann zeigte sich: Immer beim Versuch zu synchronisieren, kam es zu einer Zeitüberschreitung der Netzwerkverbindung.
Weitere Nebeneffekte: Google Playstore App öffnete sich nicht mehr ("Network Timeout"), Google Talk bestand auf einem "Username/Password Failure".
Da bin ich hängen geblieben: Was tun? Neustart hat nicht geholfen, Herunterfahren/Neustart hat auch nicht geholfen, Cache/Daten aus der ContactsSync-App nicht löschen. Ich konnte GTalk nicht abmelden (was der nächste logische Schritt wäre), da GTalk sofort auf diesem Benutzernamen/Passwort-Fehler bestand.
Was jetzt?
Zum Glück logcat
gab die IP-Adresse mit (in meinem Fall: 74.125.93.113
). Auf meinem PC habe ich zuerst mit dem Browser ("https://74.125.93.113/") nachgesehen - und tatsächlich ist die Verbindung abgelaufen. Als nächstes habe ich überprüft, was sich hinter der IP verbirgt:
host 74.125.93.113
113.93.125.74.in-addr.arpa domain name pointer qw-in-f113.1e100.net.
Hat mir nichts gesagt. Aber beim Überprüfen /etc/hosts
auf dem Android-Gerät habe ich den Eintrag gefunden:
74.125.93.113 android.clients.google.com
Eine Suche nach diesem Host ergab: Die IP 74.125.93.113
gehört nicht mehr dazu – was den Ärger erklärt.
Die Lösung erfordert leider Root, da /etc/hosts
sie Root gehört und für alle anderen schreibgeschützt ist. Außerdem /etc
ist nur ein symbolischer Link zu /system/etc
, was bedeutet, dass das gesamte Dateisystem schreibgeschützt ist.
Öffnen Sie die Terminal-App und befolgen Sie diese Schritte:
# make yourself root
su
# SuperUser/SuperSU may require approval at this point. Give it.
# check how /system is mounted:
mount | grep system
#output will look similar to this:
/dev/block/mmcblk1p21 on /system type ext3 (ro,relatime,barrier=1,data=ordered)
#remount /system read-write, using the values obtained:
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
#edit /etc/hosts
vi /etc/hosts
# put a comment-sign (#) in front of the line containing the bad IP, e.g.
# 74.125.93.113 android.clients.google.com
# save the file
# re-mount /system read-only (or simply reboot, that will do it as well)
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
Jetzt nur kurz warten – oder einfach Google Play zur Kontrolle aufrufen. Es sollte nicht lange dauern, bis die Ampeln wieder auf Grün schalten.
/system
(dieser Fix war das erste Mal, dass ich wirklich /system
Read-Write gemountet habe), kann ich nur vermuten, dass entweder CM oder derjenige, der das ROM anpasst (chillje), es dort platziert hatte. Ich bin mir nicht sicher, wer, aber so oder so: Ich bin nicht der einzige, der dieses ROM betreibt, also könnten auch andere betroffen sein – weshalb ich dieses Howto hier gepostet habe.
Izzy
Izzy