New iPad (iOS 9.1) was 3.6 seconds ahead. I disabled automatic synchronization, set the clock manually and then turned synchronization back on. Everything looks fine now, with only +/- 0.044 seconds error.
Too bad i don't know if turning it off and on again would have worked too.
Any idea why the time is incorrect? Does forcing a synchronization of the clock in the settings fix it? (Don't have an iphone, so I'm unsure if such an option exists)
I monitor ntp activity from the computers and iPhones on my home network, so I have a good understanding of how Apple does this, at least on OS X and iOS 8.4, at least when WiFi is available.
It's simple ntp. The computers ask DNS for time.apple.com, while the iOS devices ask for a similar domain, time-ios.apple.com. From that point both types of devices make ntp requests. What I do on my firewall is redirect those requests to my local ntp server, this saves on external ntp traffic.
time.apple.com resolves to 12 different IP addresses, all on Apple's 17.0.0.0/8 network. It's easy to see, just issue the following command and you'll see all of them:
ntpdate -quv time.apple.com
These servers are pretty darn good, they're stratum 1, they're distributed all over the world. Time from them seems to agree to within milliseconds of each other. The iOS address only seems to resolve to 3 places, but those also agree to milliseconds of each other.
Given that, I can think of at least 3 different error scenarios:
1) Apple broke something in actual ntp implementation in iOS 9.
2) One of the iOS ntp servers is goofing up. Unlikely since I'm sure Apple doubtlessly has lots of monitoring for errors like that.
3) Without WiFi available, iOS relies on the cell carrier for time services. Of course, the operation of the cell network depends on all phones knowing the exact time, but that probably doesn't carry over to something ancillary like ntp. Perhaps a carrier's ntp server is borked?
To resolve this it would be interesting to know and try:
does the problem happen only on WiFi?
does the problem happen only on cellular?
does the problem only happen with a specific carrier?
if WiFi, use something like tcpdump to monitor the
actual packets to see if any obviously bad time is
being served
Why would anyone update to 9.0.0 anyway? New software always has teething problems.
It affects (non-cellular) iPads with iOS9 as well, so likely not a carrier-related issue. So it's not issue #3. And like you say, a lot more than iOS9 would be out of sync if it was #2. So we're going to have to go with #1 - Apple broke something in ntp.
14 comments
[ 3.8 ms ] story [ 37.7 ms ] threadMy iPhone running iOS 9 (updated launch day) is 17 seconds ahead!
Old iPhone 4 (iOS 7) is 0.2 seconds behind, +/- 0.18 second error - 'good'.
New iPad (iOS 9) is 2.1 seconds ahead, +/- 0.08 second error - 'bad' (through 3x reloads, same amount each reload).
Seems to be an issue...
Too bad i don't know if turning it off and on again would have worked too.
It's simple ntp. The computers ask DNS for time.apple.com, while the iOS devices ask for a similar domain, time-ios.apple.com. From that point both types of devices make ntp requests. What I do on my firewall is redirect those requests to my local ntp server, this saves on external ntp traffic.
time.apple.com resolves to 12 different IP addresses, all on Apple's 17.0.0.0/8 network. It's easy to see, just issue the following command and you'll see all of them:
These servers are pretty darn good, they're stratum 1, they're distributed all over the world. Time from them seems to agree to within milliseconds of each other. The iOS address only seems to resolve to 3 places, but those also agree to milliseconds of each other.Given that, I can think of at least 3 different error scenarios:
1) Apple broke something in actual ntp implementation in iOS 9.
2) One of the iOS ntp servers is goofing up. Unlikely since I'm sure Apple doubtlessly has lots of monitoring for errors like that.
3) Without WiFi available, iOS relies on the cell carrier for time services. Of course, the operation of the cell network depends on all phones knowing the exact time, but that probably doesn't carry over to something ancillary like ntp. Perhaps a carrier's ntp server is borked?
To resolve this it would be interesting to know and try:
Why would anyone update to 9.0.0 anyway? New software always has teething problems.What's crazy is that my clock seems to be getting worse. It's gone from 5s off to now ~20s off since I've upgraded.