Wi-Fi is a staple among most smartphone users. While we tend to talk more about cellular data, it's really just there to sustain us as we travel from one access point to another. We aren't just demanding more data at higher speeds, we're connecting more devices than ever before. The inevitable overcrowding of the 2.4 GHz brought about the expansion into the 5 GHz range. Unfortunately, many Nexus devices (and at least a few others) are having trouble making and maintaining connections to this higher frequency band.
This problem has been reported at least as far back as Android 4.0.1 on the Galaxy Nexus, and it continues to reappear on every Nexus device up to, and including the Nexus 5. In that time, countless discussions have popped up around the Internet about which combination of hardware and software exhibit issues and which seem to work. Many other devices may also be affected, but it's difficult to tell when complications result from real issues, coincidences, or just plain user error.
The symptoms are pretty straight forward: attempting to connect to a 5 GHz Wi-Fi network fails. The specifics are somewhat inconsistent, and they've slowly changed over time with each Android update, but the end result is the same. In early versions of the complaint it was common for 5 GHz networks to simply not appear in the list of networks. Attempts to connect manually with the SSID would discover the network but fail during the handshake.
With newer versions of Android, the visibility issue has become fairly rare, but the handshake still fails and often marks the network as 'disabled.' Quite a few people have also reported being able to enter a password and save the network, but losing the connection immediately. The situation seems to have improved slightly in more recent complaints as some people have maintained connections, but the data rates are usually very poor and the connection eventually drops after a few hours. Toggling Wi-Fi off and back on can usually fix the problem for a short time, but it always comes back. This video demonstrates the typical behavior.
What Is Affected?
There are reports of trouble across several different devices, including the Nexus line since the Galaxy Nexus. The single exception is the 2012 Nexus 7, which lacked support for the 5 GHz band altogether. Since Android 4.0, the complains have been pretty consistent, except for Jelly Bean 4.2.2 and KitKat 4.4.2, which have been quieter, but still active. It's possible that a change in those versions is relevant, or people simply stopped trying.
Our own Artem Russakovskii discovered this when a 2013 Nexus 7 was initially unable to connect to the 5 GHz band of his ASUS router. After the tablet was updated to JSS15Q, it could hold onto 5 GHz connections easily. That ability was lost again when KitKat rolled out a couple of months later. Results are mixed among the Android Police team. Cameron and Artem have had trouble connecting to their ASUS routers - but neither Ryan, with a Linksys, or I, with an Apple Airport Extreme, have had any issues. However, the same combinations of hardware don't always yield the same results, as seen in this thread where another person matching my combination of Nexus 5 and Airport Extreme couldn't get a connection. Almost every story of a working set of gadgets is met with a counter example of the same pair failing to work properly.
Based on the rise and fall that comes from Android updates, this appears to be exclusively a software issue. It's possible that drivers are playing a role in this, but most of the symptoms seem consistent across the whole family of devices, suggesting that Android itself is probably to blame. Unfortunately, there isn't much to go on beyond that.
Left: compatible router on channel 149 Right: incompatible router, also on channel 149
As far as solutions or advice, I don't have much to give with this Bug Watch. The one thing worth trying, because it is both quick and seems to have a moderately high success rate, is to manually switch the channels on the router. Many people are having luck with channels 149, 48, and 36, but it's worth trying a few others if those don't work. Avoid channels 52 through 140 if your router supports them, they are for Dynamic Frequency Selection (DFS) and not currently supported by stock Nexus devices.
If a frequency change doesn't help, it might still be worth trying some of the typical troubleshooting methods, just in case this isn't actually your issue. I would advise against committing too much time once you've established this to be your problem; too many people have dedicated too many hours (read: days and weeks) into this without any success.
Let's be honest, Wi-Fi is prone to complications for any number of reasons from inconsistent implementations of security protocols to completely random environmental factors. We know the Android team has tried to tackle this one in the past and believed it to be fixed, which suggests this may be a combination of bugs. Since there are so few non-Nexus devices exhibiting the same behavior, there might be a solution out there.
While we wait for some more information or a resolution, participate in the Issue Tracker thread if you have something helpful to contribute. Also, try to collect bug reports if this issue occurs for you. Bug reports can be created in the Developer options menu or using 'adb bugreport.' Remember, only send bug reports directly to Google engineers, and DO NOT post them publically! They contain private information that you don't want to give out.