I believe it's somewhat well-known that the Nexus 5 has had more than a few hiccups with certain wifi networks. However, I'm not sure that the main reasons for wifi connectivity issues is as well known (as it should be). It seems that every other time I update the OS (Cyanogenmod 12/ 5.1.1) I find myself frantically searching for a solution to some wifi-related problem on the Nexus 5.
This week, after upgrading the OS I was confronted by the same issue once again--or at least I thought, as I hadn't exactly documented every previous case. My search for a solution led me to the numerous troubleshooting procedures and potential causes of the problem:
- IPv6 automatically connecting
- Nex5 failed to delete AP properly
- outdated radio/modem image
After gaining access to
adb shell and executing
logcat network:V I noticed that the network interface Associated with the Access Point and
wlan0: CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully (based on lower layer success)
Then, immediately after that something failed, even though I thought the connection was successfully made!
wlan0: WPA: Failed to configure IGTK to the driver I/wpa_supplicant( 5891): wlan0: RSN: Failed to configure IGTK
It turns out that IGTK meant something with Protected Management Frames (802.11w). I should note that the router's configuration had the option set as "Capable", as opposed to "Required". After disabling that feature on my router the connection succeeded. Now, given that fact that ALL of my other devices had no problems with this, why did the Nexus 5 persistently fail to attain a connection to the Network with Protected Management Frames enabled? Is there a security risk with this issue, especially if the Network Admin compromises it for the sake of one device's flaw? How would one mitigate this problem on the android side?