Tuesday, July 25, 2017

sync - Synchronisation of contacts and calendar suddenly stopped working



While working fine for almost a year now (since I've installed CyanogenMod on my device), a couple of days ago synchronisation stopped all of a sudden: Network indicators turned white (no longer green on Gingerbread / blue on ICS and up), which indicates the device is not "in-sync" with the Google servers.


First I thought it might be some Google Server outage (as all of us know them), I waited a couple of days. But it didn't solve up within a few days, so I decided to take a closer look. logcat then showed: Always when trying to sync, the network connection timed out.


Further side-effects: Google Playstore app did no longer open ("network timeout"), Google Talk insisted on a "username/password failure".


That's where I got stuck: What to do? Reboot didn't help, shutdown/restart didn't help either, nor did clearing cache/data from the contactssync app. I couldn't log off GTalk (which would be the next logical step), as GTalk immediately insisted on that username/password error.


Now what?



Answer



Analysis


Luckily, logcat gave the IP address along (in my case: 74.125.93.113). On my PC, I first checked with the browser ("https://74.125.93.113/") -- and in fact, connection timed out. Next I checked what's behind the IP:


host 74.125.93.113
113.93.125.74.in-addr.arpa domain name pointer qw-in-f113.1e100.net.


Didn't tell me anything. But checking with /etc/hosts on the Android device, I found the entry:


74.125.93.113 android.clients.google.com

A lookup of that host reveiled: The IP 74.125.93.113 no longer belongs to it -- which explains the trouble.


Solution


The solution requires root, unfortunately, as /etc/hosts is owned by root and read-only for everybody else. Furthermore, /etc is just a symbilic link to /system/etc, which means the entire file system is read only.


What you need



What to do



Open the terminal app, and follow these steps:


# 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

Now just wait a short time -- or simply call up Google Play to check. It shouldn't take long for the lights to turn green again.


No comments:

Post a Comment

samsung galaxy s 2 - Cannot restore Kies backup after firmware upgrade

I backed up my Samsung Galaxy S2 on Kies before updating to Ice Cream Sandwich. After the upgrade I tried to restore, but the restore fails ...