easytether is an Android app for tethering your computer to your phone. It disguises the fact that it's tethering so carriers can't prevent you from tethering. It requires an executable and udev rule on the client computer: http://www.mobile-stream.com/easytether/drivers.html
Also, it works great.
Just a note. Gentoo provides the tools for a user to make this work. It would be nice however, or Gentoo to perhaps package the logic for making this work in an ebuild (deploying the easytether application, creating the network rules to make this work). To make this work for me, I did the following: Install the easy tether application in /usr/local/bin (/usr/local/bin/easytether) ln -s /etc/init.d/net.lo /etc/init.d/net.easytether0 In /etc/conf.d/net add the following: up_before_preup_easyconnect0="YES" preup() { # Attempt to detect the easyconnect0 interface and start it's programs /usr/local/bin/easytether connect > /dev/null 2>&1 & # I hate using sleep statements, but there needs to be a duration before # the link is displayed correctly. sleep 3 # Using iproute2, see if the link now exists. ip link show easytether0 > /dev/null 2>&1 # Ensure the above check worked correctly and an interface exists. # of an interface existing. if [ $? -eq 0 ] then # The interface exists. Trap the pid so it can be killed later ps -fC easytether h |awk {'print $2'} > /var/run/easytether.pid # Successful creation of interface. return 0 else # Interface was not created. Inform user. echo "Unable to connecto EasyTether" return 1 fi } postdown() { # First, see if a pid file was recorded... if [ -f /var/run/easytether.pid ] then # If a pid file was recorded, attempt to see if the process is # running that is recorded in the pid file. if [ "$(ps -p $(cat /var/run/easytether.pid) -o comm=)" == "easytether" ] then # If easytether is running.. kill its process. kill -15 $(cat /var/run/easytether.pid) if [ $? -eq 0 ] then # If the process was killed correctly, remove the pid file. rm /var/run/easytether.pid else # Otherwise inform the user that the PID can't be killed and # flag an error. echo "Error: Could not kill the PID of /var/run/easytether.pid" return 1 fi # If the easytether process is not recorded that was in the pid file.. else # Looks like the easytether process is gone (abruptly shut down or # disconnected. Just remove the pidfile and clean up. echo "Easytether process not found. Cleaning up." rm /var/run/easytether.pid fi # Otherwise, if there was no pid file, just ensure service is stopped. else kill -15 $(ps -C easytether h -o pid=) > /dev/null 2>&1 # Make sure to state success if no error is reported. fi # Successful shutdown return 0 } Some givens are that dhcp and ifplug run on this interface when it is created. Anyway, the added configuration allows easytether to work. How Gentoo wishes to incorporate it if desired is their choice.
Thanks Fletch. I'm not traveling anymore so I'm not using easytether but this is great to have for the future. Maybe Gentoo will even incorporate it.
No problem. I have seen an ebuild for easytether somewhere, so one could add the overlay that contains it. Additionally, I might add that the preup and postup statements above need if conditions that use the IFACE variable to check if easytether0 is the interface being configured. Otherwise, the above code runs for every interface.
I'm still new to Gentoo. How did you install easytether application in /usr/local/bin ?