Tethering the Google G1 — at last!
Wow, I have wanted this for such a long time and I finally found out how to do it today. In fact I have posted this entry whilst on the bus using my Android phone’s 3G capabilities with my laptop connected by USB.
And you don’t have to have root access!
OK, so how does it work. There’s two parts. One on the PC (or Mac…) and one on the phone. The phone bit is easy thanks to the man behind Proxoid a proxy App for Android. It’s free and available in the Marketplace. Also it’s a tiny download and has almost zero configuration! The PC bit requires the Android SDK, which is a free download from Google. Here are the instructions:
Phone Setup
Get “Proxoid” from the marketplace (market://search?q=proxoid from your phone or use the QR code)
- Enable USB Debugging from Settings > Applications > Development > USB Debugging
- Run Proxoid and connect your phone to your PC by USB.
- (optional) Choose the port you want to use (default: 8080)
PC Setup
These steps are pretty generic, as they will be different for different operating systems. I’ll give full instructions for Linux Mint 8 (the distor I am using) which should work for most Ubuntu/Debian type systems.
- Download Android SDK from http://developer.android.com/sdk/index.html
- Extract it somewhere.
- Start the ADB server (more code below)
- Start the port forwarding.
- Change your network proxy
So on Mint that goes along the lines of:
$ tar xcf android-sdk_r05-linux_86.tgz
$ cd android-sdk-linux_86/tools
$ sudo ./adb start-server
* daemon not running. starting it now *
* daemon started successfully *
$ sudo ./adb forward tcp:8080 tcp:8080
$ gnome-network-properties
That will bring up the network proxy setup. I have a “location” set for the proxy which is a SOCKS Proxy at “localhost” on port 8080 (or whichever yort u choose).
Open you’re browser and bingo Internet over 3G – try http://whatismyip.com to check you’re not on your usual IP address!
As the SOCKS proxy pretty much only works for HTTP and web based traffic you might want to use FoxyProxy for Firefox which allows you to change proxy settings quickly and easily. Definitely a good idea for windows users, not sure how easy it is on a Mac. Also I wrapped the ADB commands into a single script that I can run to start the tethering.
There you go. Tethered 3G internet access for Android phones!
So far not free and non-jailbroken way to do this on an iPhone (please someone prove me wrong!)…
UPDATE: 15th May 2010 I have since found that Proxoid doesn’t always work for me. However the same effect can be achieved (and more securely) using ConnectBot (or any other SSH client supporting Dynamic Port Forwarding) to setup a SOCKS proxy SSH tunnel.
UPDATE: 31st August 2010 I have now replaced the G1 with an HTC Wildfire, which tethers simply as an option when you connect by USB – no configuration necessary, my laptop just recognised it as an USB Ethernet interface. Easy!.