Hi,
3g works on Amlogic ICS sources, but buggy.
init.rc pppd_gprs service definition:
service pppd_gprs /system/etc/ppp/init.gprs-pppd
user root
group radio net_admin cache inet misc
disabled
oneshot
init.gprs-pppd script:
#!/system/bin/sh
# An unforunate wrapper script
# so that the exit code of pppd may be retrieved
# this is a workaround for issue #651747
#trap "/system/bin/sleep 1;exit 0" TERM
export PATH=/system/bin
PPPD_PID=
setprop "net.gprs.ppp-exit" ""
log -t pppd "Starting pppd"
pppd $*
PPPD_EXIT=$?
PPPD_PID=$!
log -t pppd "pppd exited with $PPPD_EXIT"
setprop "net.gprs.ppp-exit" "$PPPD_EXIT"
ip-up:
#!/system/bin/sh
export PATH=/system/bin
case $1 in
ppp1)
iptables --flush;
iptables --table nat --flush;
iptables --delete-chain;
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE;
iptables --append FORWARD --in-interface ppp1 -j ACCEPT;
echo 0 > /proc/sys/net/ipv4/ip_forward;
echo 1 > /proc/sys/net/ipv4/ip_forward;
;;
ppp0)
setprop "net.interfaces.defaultroute" "gprs"
;;
esac
# Use interface name if linkname is not available
NAME=${LINKNAME:-"$1"}
setprop "net.dns1" "$DNS1"
setprop "net.dns2" "$DNS2"
setprop "net.$NAME.local-ip" "$IPLOCAL"
setprop "net.$NAME.remote-ip" "$IPREMOTE"
ip-down:
#!/system/bin/sh
export PATH=/system/bin
case $1 in
ppp1)
echo 0 > /proc/sys/net/ipv4/ip_forward;
;;
esac
# Use interface name if linkname is not available
NAME=${LINKNAME:-"$1"}
setprop "net.dns1" ""
setprop "net.dns2" ""
setprop "net.$NAME.local-ip" "$IPLOCAL"
setprop "net.$NAME.remote-ip" "$IPREMOTE"
Behaviour: ppp connects, ip address visible in settings, about, status, data connection type is unknown, 3G/H/E indicator not shown but connection works. In some cases (random), Android loses connectivity, IP address no longer visible (unknown) and of course connection is dropped (in android). 3g dongle still indicating that data connection is up. Solution is to switch to airplane mode and back or to re-plug 3g dongle.
Edited by stane1983, 30 October 2012 - 05:28 PM.