Android Recipes

Samsung Note 3

Root Without Losing Data

https://towelroot.com/

USB Tethering for Root

Original scripts retrieved from XDA developers; slightly modified for Note 3 (VZ).

usb_tether_start.sh

#!/system/bin/sh

prevconfig=$(getprop sys.usb.config)
if [ "${prevconfig}" != "${prevconfig#rndis}" ] ; then
	echo 'Is tethering already active?' >&2
	exit 1
fi

echo "${prevconfig}" > /cache/usb_tether_prevconfig
setprop sys.usb.config 'rndis,adb'
until [ "$(getprop sys.usb.state)" = 'rndis,adb' ] ; do sleep 1 ; done

ip rule add from all lookup main
ip addr flush dev rndis0
ip addr add 192.168.2.1/24 dev rndis0
ip link set rndis0 up
	
iptables -t nat -I POSTROUTING 1 -o rmnet1 -j MASQUERADE
iptables -D natctrl_FORWARD 1
	
echo 1 > /proc/sys/net/ipv4/ip_forward
dnsmasq --pid-file=/cache/usb_tether_dnsmasq.pid --interface=rndis0 --bind-interfaces --bogus-priv --filterwin2k --no-resolv --domain-needed --server=8.8.8.8 --server=8.8.4.4 --cache-size=1000 --dhcp-range=192.168.2.2,192.168.2.254,255.255.255.0,192.168.2.255 --dhcp-lease-max=253 --dhcp-authoritative --dhcp-leasefile=/cache/usb_tether_dnsmasq.leases < /dev/null

usb_tether_stop.sh

#!/system/bin/sh

if [ ! -f /cache/usb_tether_prevconfig ] ; then
	echo '/cache/usb_tether_prevconfig not found. Is tethering really active?' >&2
	exit 1
fi

if [ -f /cache/usb_tether_dnsmasq.pid ] ; then
	kill "$(cat /cache/usb_tether_dnsmasq.pid)"
	rm /cache/usb_tether_dnsmasq.pid
fi

echo 0 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -D POSTROUTING 1
ip link set rndis0 down
ip addr flush dev rndis0
ip rule del from all lookup main

setprop sys.usb.config "$(cat /cache/usb_tether_prevconfig)"
rm /cache/usb_tether_prevconfig
while [ "$(getprop sys.usb.state)" = 'rndis,adb' ] ; do sleep 1 ; done