If you have a Nexus device with the latest Android 4.2.1 (code name JOP40D), it is likely that you might know that this is still going on. The problem seems to be since November 20th 2012 when the thread following this issue on Google Code was published.
I said you might have this problem, since it seems that the problem can appear in certain circumstances only. The problem seems to appear when the phone goes into deep sleep connected to certain Wi-Fi networks.
The post described the issue as follows:
Wifi will drop connection after a period of time (looks to be while in deep sleep. Shows normal signal strength but google sync has been lost (grey status bar icons) and no connection
When the issue was looked into by some users, the chance for the problem to appear seems to depend on the Wi-Fi router and it’s ARP table cache timeout (Address Resolution Protocol – it is used to find out the MAC address of a device on the local network). Some routers have this timeout set at 4 hours (usually the routers for larger networks such as enterprise networks) in which case the problem seems to not be noticed, whilst on home network routers, where this timeout is usually somewhere around a minute, the problem appears.
Enough about the problem, how do you fix it? I will cover them based on the effectiveness of each.
The first method to go around resolving the bug is, as some users report, to add a static entry in your router’s ARP table with your device’s MAC address, so it won’t be removed after a time of inactivity (time that depends on the ARP table timeout).This seems to make the problem go away, but that will only help you at home and not on any other Wi-Fi network. Another problem would be that you must have some knowledge of networking or to know how to configure your router properly.
Another possible fix that will have only a limited use is using software to give access to the network through your PC. Some of the programs that are worth a try are Connectify and Virtual Router.For this you must have your PC always on and is not such a portable solution, but it’s ok for a short-term solution until Google will roll out a patch to fix this.
Some of the users said that using a third-party Wi-Fi manager fixed this issue for them, but others haven’t seen any improvement with this solution. It’s worth a try, before thinking to root your phone to fix it, as the next work-around will require.
As always, XDA-forums has a solution for everything (for example, giving my Galaxy Ace the chance to run Jelly Bean; thank you guys). In this thread you can read more about a possible fix that most people who have tried it say it worked fine. The fix basically changes some of the scripts used to manage your Wi-Fi while in deep sleep. As stated by bganley in the post, the default behavior is to filter all multicasts and broadcasts from the network while in this state (and not responding to incoming ARP requests which are sent via broadcast). The script will only change this, and as far as testing on XDA went, it seems that battery consumption doesn’t change in a big way. But for this, you must have root on your phone.
So this issue has been discovered since November, almost 3 months now. What did Google do about it? Well they intervened in the Google Code page now then to ask people with the problem various details and on the 1st of February posted:
Thanks to folks who provided details. Some issues have been identified:
* Scan failures with certain routers
* Channel selection for non US regulatory domain
* ARP filtering
Other interop issues continue to be investigated. For new folks reporting issues, please include router model/firmware version alongside the symptoms to help with repro.
Not clear when fixes will go out at this point – some will go earlier than others
So if you have a Nexus device, let us know which possible fix worked for you. It will be some time since an update will go out for this.