DNS Fix

From iDroid Project

Revision as of 01:16, 20 September 2010 by Ddominator (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Introduction

  • DNS fix is used for those people who can connect to WiFi but cannot browse internet sites (despite having Internet).
  • This fix is included in MoJo 1.0+. If you are using any MoJo release, you do not need to read this guide. If you are not using MoJo, then upgrade to MoJo as in the Installation Guide or read on.

Warnings and Prerequisites

  1. You must have ADB installed. If you don't know what ADB is, read this before proceeding
  2. You need Root Access. Follow this tutorial.

Steps

Basic

  • Connect to android:
 adb shell
  • Add dns:
 setprop net.dns1 8.8.8.8

(That's a one, not the letter "l".)

  • If you want, add another:
 setprop net.dns2 x.x.x.x

Automounting

  • Boot into iDroid - Connect via ADB
adb connect xxx.xxx.xxx.xxx:5555
adb pull /init.rc .
  • Edit this file preferably with a terminal editor (nano, joe, vi, mcedit)
  • Add above the lines (around line 249)...
# Define TCP buffer sizes for various networks
#   ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
  • ...the following:
setprop net.dns1 8.8.8.8
setprop net.dns2 8.8.8.8
  • Connect to device and use ADB shell
adb shell
  • Remount / partition as read-write
su
mount -o remount,rw /dev/root /
exit
exit
  • Send the modified file to the device
adb push init.rc /
  • Be sure to check if the file is there(somehow it wasn't sent over one time I edited it)
adb shell
ls -l /init.rc
cat /init.rc    # Check to see it the lines you aded are there

Additionally, you can substitute 8.8.8.8 with the IP of another public DNS server or the IP of your local router (although this may change.) A good place for DNS is to check either the topbits list or OpenDNS.

  • DNS lookup order follows
  1. system/etc/hosts lookup
  2. system_property [net.eth0.dns1]
  • system_property is provided android init process using unix domain socket @property_service
  • You should run "init" process for network management.
  • You should set up DNS 'net.eth0.dns1' using "/system/bin/setprop", "/etc/default.prop", "/data/local.prob"