I have a oneplus two that was running android 5. Nothing was wrong until recently when I started noticing the exclamation mark on the WiFi icon. The phone successfully connects to WiFi networks but it cannot access internet. I have to use my 4G for that (yes 4G is still working). I don't recall installing any new app and this was not due to a system upgrade. I know the problem is with the phone becuase this happens at home, at work, and I even tried it at my friend's house. So it cannot be the router's fault. Plus all other devices work. I have tried several solutions that can be found online:
- Forgetting all networks and connecting to networks from scratch
- Turning WiFi OFF then ON again
- Turning airplane mood ON and OFF
- Restarting the router
- Restarting the Phone
- Wiping cache
- using apps like this one: FXR WiFi fix and rescue (was not very happy to use it but I had to try)
- I even upgraded to the beta Oxygen 3.0 (Marshmellow 6.0)
- [did not try this one] Some people on the internet suggests using static ip address. I am sorry but this is not a solution. Especially not at work.
I have seen a similar question: How to reset Wi-Fi settings? but I couldn't really implement the same solution on my phone (maybe I am doing it wrong). Also the symptoms seems slightly different.
I am think that since it was working before, then it must be a software problem. Some file is corrupted or some hidden setting is messed up. So my very last resort is to wipe clean the phone and start fresh.
I do have programming background but unfortunately I am not as fluent in Linux as many posts assume (mainly why the solution in How to reset Wi-Fi settings? didn't work). Please if the answer involves adb or fastboot, do explain the steps for me. I think I have unlocked the phone already (because this is the first thing I usually do when I get a new phone) but I might not have rooted it yet. Is there a way to fix this problem without rooting or wiping the phone?
rm -rf /data/etc/wifi /data/misc/dhcp /data/misc/wifi
followed by a reboot. Last resort (also without root): do a good backup, then factory-reset, see if it works. If all is OK, restore your apps & data from the backup – else contact customer support as it's most likely a hardware issue then. // Step 3 in this answer should be easy to follow (and safer ;)su
). And yes, a factory-reset would include deleting the files there – though it's "atomics to kill a chicken", without root it seems the only viable option left.