summaryrefslogtreecommitdiffstats
path: root/rootdir/etc
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@google.com>2011-01-18 20:13:12 +0100
committerDavid 'Digit' Turner <digit@google.com>2011-01-18 23:38:00 +0100
commiteeeca4dd45899c20d4fc187c59bda58af43352f2 (patch)
tree170926611bea8ec64947358ae15921720c2b41cf /rootdir/etc
parenta42f152b4ae365e2f8d232237a8aa0168061feb4 (diff)
downloadsystem_core-eeeca4dd45899c20d4fc187c59bda58af43352f2.tar.gz
system_core-eeeca4dd45899c20d4fc187c59bda58af43352f2.tar.bz2
system_core-eeeca4dd45899c20d4fc187c59bda58af43352f2.zip
rootdir: goldfish: Fix network route during emulation.
The net.eth0.gw system property is used by the ConnectivityService to set the default route when it detects that 3G connectivity is established. Because the property was undefined, the route was unset which broke networking. + Format / document init.goldfish.sh Change-Id: I1133cf6c093609300315cd0ea363c9e139b42521
Diffstat (limited to 'rootdir/etc')
-rw-r--r--rootdir/etc/init.goldfish.rc1
-rwxr-xr-xrootdir/etc/init.goldfish.sh35
2 files changed, 26 insertions, 10 deletions
diff --git a/rootdir/etc/init.goldfish.rc b/rootdir/etc/init.goldfish.rc
index fa70c2ed2..1ac09caed 100644
--- a/rootdir/etc/init.goldfish.rc
+++ b/rootdir/etc/init.goldfish.rc
@@ -6,6 +6,7 @@ on early-init
on boot
setprop ARGH ARGH
+ setprop net.eth0.gw 10.0.2.2
setprop net.eth0.dns1 10.0.2.3
setprop net.gprs.local-ip 10.0.2.15
setprop ro.radio.use-ppp no
diff --git a/rootdir/etc/init.goldfish.sh b/rootdir/etc/init.goldfish.sh
index c18c03285..1156dd7fa 100755
--- a/rootdir/etc/init.goldfish.sh
+++ b/rootdir/etc/init.goldfish.sh
@@ -1,8 +1,26 @@
#!/system/bin/sh
+# Setup networking when boot starts
ifconfig eth0 10.0.2.15 netmask 255.255.255.0 up
route add default gw 10.0.2.2 dev eth0
+# ro.kernel.android.qemud is normally set when we
+# want the RIL (radio interface layer) to talk to
+# the emulated modem through qemud.
+#
+# However, this will be undefined in two cases:
+#
+# - When we want the RIL to talk directly to a guest
+# serial device that is connected to a host serial
+# device by the emulator.
+#
+# - We don't want to use the RIL but the VM-based
+# modem emulation that runs inside the guest system
+# instead.
+#
+# The following detects the latter case and sets up the
+# system for it.
+#
qemud=`getprop ro.kernel.android.qemud`
case "$qemud" in
"")
@@ -18,17 +36,18 @@ case "$qemud" in
;;
esac
+# Setup additionnal DNS servers if needed
num_dns=`getprop ro.kernel.ndns`
case "$num_dns" in
2) setprop net.eth0.dns2 10.0.2.4
- ;;
+ ;;
3) setprop net.eth0.dns2 10.0.2.4
- setprop net.eth0.dns3 10.0.2.5
- ;;
+ setprop net.eth0.dns3 10.0.2.5
+ ;;
4) setprop net.eth0.dns2 10.0.2.4
- setprop net.eth0.dns3 10.0.2.5
- setprop net.eth0.dns4 10.0.2.6
- ;;
+ setprop net.eth0.dns3 10.0.2.5
+ setprop net.eth0.dns4 10.0.2.6
+ ;;
esac
# disable boot animation for a faster boot sequence when needed
@@ -42,10 +61,6 @@ esac
#
/system/bin/qemu-props
-# this line doesn't really do anything useful. however without it the
-# previous setprop doesn't seem to apply for some really odd reason
-#setprop ro.qemu.init.completed 1
-
# set up the second interface (for inter-emulator connections)
# if required
my_ip=`getprop net.shared_net_ip`