So I finally upgraded my wireless access point from a G device to a new shiny N device. The Cisco Linksys E1200 to be specific. When I did this change I had several of my Android based devices unable to brows or pull up any type of internet based services (news, stocks, facebook, oh my!). After several attempts to tweak my wireless settings, at one point I event completely turned off security to no avail. I then noticed that I was able to pull up websites via IP but not domain name. Ah ha! DNS. So evidently DNS via wifi is a semi known issue with routers that are not configured to allow some sort of open DNS and Fully Qualified Domain Names (FQDN). To be honest I only vaguely understood what the problem was… only to the point were I knew that my router simply wasn’t going to work regardless what I did to it (besides replace it with a new one).
That left the Android devices to be tweaked. Despite the router passing the DNS servers to the device as part of the IP settings when a connection is established it wont use DNS servers (again related to the FQDN and some other Router magic). So what I ended up doing ultimately is downloading and installing Set DNS. However what do you do if you cant even open Google Play (Marketplace) if you cant resolve anything? Here are the steps that I took to get to the point of being able to connect and brows.
Its worth noting that you must have Super User (su) rights on the devices (in other words you must have root access).
Update the /system/etc/resolve.conf
If you already have resolv.conf you simply need to add your favorite DNS servers via command line like this..
# su # mount -o remount, rw /system # echo "nameserver 22.214.171.124" >> /system/etc/resolv.conf # echo "nameserver 126.96.36.199" >> /system/etc/resolv.conf
If there is not a resolv.conf in your /system/etc then you need to create one.
# su # mount -o remount, rw /system # echo "nameserver 188.8.131.52" > /system/etc/resolv.conf # echo "nameserver 184.108.40.206" > /system/etc/resolv.conf
Now you need to set the permissions on the resolve.conf to rw-r-r-
# chmod 4755 /system/etc/resolv.conf
Reboot your phone and try to connect to your favorite wifi access point and brows the web.
Update the /system/build.prop
Before you can update the build.prop file you will have to make the filesystem writable. Just like in method 1 fire up a command line interface and remount the /system filesystem.
# su # mount -o remount, rw /system
Using your favorite text editor edit the file.
# vi /system/build.prop
Once you are inside the file editing it, here is the section I added at the bottom of the file.
# Added by Richard # Google DNS Tweak net.rmnet0.dns1=220.127.116.11 net.rmnet0.dns2=18.104.22.168 net.dns1=22.214.171.124 net.dns2=126.96.36.199
Save the file and reboot your device. Once its up try to pull up your favorite site via the browser or check out the Google Play store. If your updates took place properly you might even see an increase in performance.
Its working? Great! Now go download Set DNS. It makes updating DNS settings so much easier.