Help me help you help them!
The iPhone 4S has been plagued by battery drainage issues since its launch together with IOS 5. This solution will only deal with the so called WiFi sync configuration bug : if an iPhone 4S would be used together with iTunes and the WiFi sync function would be enabled, the battery would drain very fast when idling : the battery would typically drain 30 percent when idling for 8 hours and show several hours of so called 'phantom' usage. These are rough numbers. During the testing sometimes the phone could be configured in such a way that the drainage could be about 10 percent/hour(!) Normal drainage overnight with a fully charge iPhone typically stays within 8 percent in about 10 hours.
There are still more problems as reported by users that have nothing to do with the WiFi sync configuration bug, but they are not reproducable by me : if you own one of these plagued devices and would like to help solving the issue, please contact me so I can help.
(NON technical explanation )
Some routers don't properly communicate with the iPhone. The iPhone tries to communicate but fails and keeps trying : the WiFi sync bug is born.
(technical explanation )
The iPhone uses something called multicast DNS -> this feature is part of Apple's bonjour networking. Normally there is no problem with this, but some routers are not communicating properly with the iphone 4S. Everytime you connect to a WiFi network, the router not only gives you a unique address ( IP ) but populates the DNS entry in your iPhone : this DNS is needed to resolve website names to IP's. Without it you would not be able to use names to point to something on the web.
Some routers use something called DNS forwarding -> they act as a DNS server within the WiFI network and forward all traffic regarding DNS queries to the proper DNS servers ( Typically outside the WiFi network ). Some routers who act as DNS forwarders aren't doing this properly : the iPhone 4S continuously tries to resolve a name using multicast DNS but keeps failing to do so because the router won't comply. These retries are causing the excessive battery drain : the iPhone won't go to sleep when it is supposed to and stays awake.
Find your DNS entry for you WiFi network and check to see if this holds a valid IP for a DNS. If it only shows your router's IP you have the chance of the WiFi drainage bug showing up. Either configure your router in another way so it uses a proper DNS or change the DNS entry in your iPhone to something else ( For instance the Google Public DNS : 8.8.8.8 and 8.8.4.4 : they both can be added in your iPhone by using a comma -> 8.8.8.8,8.8.4.4 ). Remember : everytime you reset your phone your router will populate this field again with it's DNS so you have to redo the action.
Ever since I received the iPhone 4S I have been trying to resolve the battery drainage issue for it. Because I owned an iPhone 3GS before receiving the 4S , I was used to its battery life. This would mean I would charge the 3GS and have it idling during the night. It would typically not lose more than 6-8 percent during 8-10 hours idling. It is because I was used to this battery life, my 4S battery performance immediately caught my eye : it drained about 30 percent overnight while idling. Of course I started looking for similar experiences on the web and to my horror I found other users having the same problems ( phantom usage and excessive battery drain when idling ). I tried some of the mentioned workarounds for the problem, but they did not help reduce the battery drainage of my 4S. At that time I was convinced it was a hardware issue and I contacted my provider : they simply told me that Apple was working on the problem and I would have to wait for a solution coming from them. At the time I was given a choice : either return the phone for a full refund or wait for Apple to fix the problem. Before I made the decision to return my phone I did something drastic : I completely wiped the phone using iTunes restore, switched off everything I could switch off ( and I mean everything, no apps, no music, no location services, no iCloud, nothing ) : a completely bare phone. To my astonishment the battery drainage was gone the next morning. This convinced me that it was some kind of software/configuration issue and I decided to not return the phone and try and find a solution for my problem. That day I also decided to do more than just finding a solution by trial and error, but also have my findings logged on a structural basis -> I started www.buxbusters.com as a base to use for my research.
At first I started restoring one of my ealier made backup images -> of course the drainage returned but I was more interested in the differences between the completely bare phone ( without drainage ) and my backed up phone. I used the backup and started removing everything again, so using iTunes I removed all my apps, music, books, etc , switched off every setting I could find ( no location settings, no notifications, no bluetooth, no email, no iCloud ) on the iPhone again and left it overnight to check if that would make a difference , if it would make a difference I would know where to look. To my surprise this did give the same results! The battery drainage was still there! But, how could this be? I switched off everything, installed nothing and still my phone was having this 30 percent battery drainage whilst idling overnight? What was the difference with a completely wiped phone and a restored phone with everything disabled and de-installed?
At the time I also started logging everything I did to the phone and the results of every knob I turned on/off in a Numbers sheet ( like an Excel sheet, only for the Mac ). At the current time of writing this article, the sheet contains more than 3000 entries. Every entry is some kind of measurement.
While searching for the rootcause I started switching on/off bigger knobs : I switched off WiFi on the iPhone for instance. THAT made a difference : when pushing the 'forget network' button for my home WiFi network I noticed the battery drainage was gone. ( 7 percent drain in 10 hours idling ). This prompted me to check every option for WiFi that was available on the iPhone. I couldn't find it..... It took me quiet some time to shift my focus ( I was still convinced it was some setting in the phone itself ) , but finally I shifted my focus to iTunes itself. I noticed a switch called 'WiFi-sync' on iTunes itself. I switched on WiFi on the phone, switched iTunes wifi sync off, pressed enable and left it for the night. Yes! That worked : my 4S was draining normally ( 7 percent in 10 hours ) and more importantly the so called phantom usage was gone! Finally I got a handle on this 'bug'. It prompted me to start my first entry on www.buxbusters.com and add my first found workaround and posted it on several forums.
To my surprise many people did not have any benefit from this workaround ( switch wifi sync off ): it turned out there were several problems and this workaround would only solve one of them. It convinced me to dive deeper : I was sure many people would just use wifi sync and not have any problems. So my search continued, only this time I would have wifi sync enabled and I was determined to find the rootcause of this whole issue.
I tried to use some kind of reset mechanism to get the phone to behave properly with iTunes wifi sync ON. I found out that a reset of the network settings would remove the drainage. I posted my second work around on my site and even made a youtube video for it.
With this second workaround in place, again I noticed more people did benefit from this one, but it did not solve the issue for everybody. I used polls to see how well my workarounds were doing. This gave me valuable feedback as to where I might look next.
During one of my many test rounds I noticed I could trigger the drainage again after I did a network reset by either use wifi sync on the iphone itself or connect it to the charger. It would use wifi to sync itself and POOF : the battery drainage was back again! Syncing over USB did not cause the bug to return. This also meant that people after trying some kind of reset, would have the problem returned when connecting the phone to the charger(!).
I also have an iPad which I started to use in my testing as well. It had the same IOS version on it and it did not have this phantom usage/drainage when idling. What was the difference between it and the 4S? The only real thing that was different was the fact that this iPad did not have any 3G connectivity.
I started to examine the network my iPhone 4S was in. I switched off every wireless device I could find on my network to check if that would make a difference. Nope, no difference. Then I unplugged my router's internet connection. That worked! No drainage anymore. When I unplugged my iMac from the network, the drainage would also stop. At that time I also discovered a way to see if my iPhone would have the 'bug' or not. One of my router's features was a traffic display : it showed how many packets was going through the wifi network. Since I switched all other wifi connected devices in my network off, I could be sure that the traffic going through the wifi channel was that of my iPhone. I discovered that a 'bugged' phone would generate a lot of wifi traffic within an hour and in iTunes the Apply/Revert would keep popping up indicating the iPhone wake up. Normal behavior for the phone would be to wake up every half hour, but a bugged setup would typically sleep for half an hour and then have excessive wifi traffic after that half hour and stay in this mode for about half an hour. Having a handle on showing me within an hour if the phone was 'bugged' would speed up my tests considerably.
Since my iMac has a wifi connection available I could use for my testing I enabled sharing over this wifi channel and even installed a packet sniffer on it and connected my phone to this wifi channel. To my surprise the drainage was also gone! I had this phone draining on one wifi network and NOT draining on another! What was the difference between those two networks? I also purchased another router just to check and see what the differences were between routers.
My second router got installed and yes, I could connect my iphone to this other router of a different brand and the phone was fine! It did not have the drainage anymore. Of course I tried turning on all the knobs on the 'failing' router next. Nothing worked. I reset my 'failing' router to its default settings. This still gave the same results. The drainage was still there.
I noticed a lot of traffic on port 53 of my router. I decided to filter this traffic out by disabling this port. Yes! The phone didn't drain anymore! Port 53 is used by DNS traffic. From then on things happened quickly. I looked inside my iPhone's DNS entry and saw that it contained the IP of my router. My router was acting as a DNS server and something was wrong with the communication between my iPhone and this router. I tried removing the address inside the iPhone and put another public DNS entry inside ( This was Google's public DNS : 8.8.8.8 ) and hooooray! No more drainage! This discovery prompted my to post my third solution to the wifi sync problem. The other 'router' ( the iMac wifi shared one ) would also put itself inside this DNS entry , but somehow this did not give any problems. The other router was also pushing DNS server IP's inside the iphone's DNS entry which seemed to work. I forced the iPhone to use only the IP of the second router for its DNS server and the battery drainage would not come back : a big clue regarding this problem to be router related. To rule out any interference I disconnect all other devices on the LAN and WAN except the iMac and the iPhone on the 'bugged' setup router and the problem persisted : still draining abnormally when idling.
So I could only conclude that this particular router was having problems with the way the iPhone communicates over port 53 which is also used by multicast DNS being an integral part of Apple's bonjour service. Switching off the DNS forwarding on this router would also solve the problem( no drainage ) , but It would introduce a new one because I could not use DNS name resolving anymore( using safari and typing in any website name would not get me there )
There are still users out there experiencing battery drainage problems that are not related to WiFi sync but I am unable to reproduce these problems. I urge you to contact me so I can help you find a solution that works for you as well. I'm pretty confident most of these battery issues are software/configuration related and that Apple keeps getting their phones returned only to find out there is nothing wrong with them. This only makes sense since they test their phones outside any user network and there is a lot more going on with the iPhone when inside such a network.
NOTE : during my search for the solution that worked for me I was glad to see some users contacted me and helped me with finding different routes to take. People filling in the polls also gave me a clue as to look in certain directions. Also people posting their own experiences on the different forums really helped in my search. Thanx for that.