Most information you’ll find about tethering with Android, shows you how to tether Android using an application called PdaNet. The problem with PdaNet is that the free version restricts you to http sites only, and you have to get the paid version for https connections. If you’re prepared to put a little elbow grease into it and you have a USB cable to connect the phone, you can learn how to tether Android without root for free for http and https sites as well.
Here is a quick rundown of how to tether Android, and what is involved:
- Download USB drivers for your computer
- Download a special program for your computer called ADB
- Configure your computer’s web browser to use the Android tether connection
- Download an app to tether Android to your PC
- Connect your phone to the computer
- Launch apps on your phone and PC
- Enjoy your tethered Android connection!
If that sounds a bit too involved for you, then you may wish to go ahead and buy PdaNet in the Android market, so that you can connect to both http and https websites using a tethered Android connection.
You may be wondering exactly what it means to tether Android. “Tethering” is a term often used to describe the process of using your phone to connect a PC or laptop to the internet. Tethering is very convenient if you are travelling, and do not have immediate access to a free WiFi or wired internet connection. This particular article will show you how to tether Android with a USB cable that connects your phone to your computer.
Rooting an Android phone is essentially equivalent to “jailbreaking” an iPhone. root is the superuser of the phone, and has full access to do anything and everything to the phone. Many tethering solutions require root access to the phone, but this one does not. If you do have root, I highly recommend the Android WiFi Tether App.
First, you need to obtain USB drivers for connecting your phone to your computer. The Android developers website has a page with Android USB drivers for different phone manufacturers. Alternatively, you could install the Google USB driver for Windows. However, that requires installing the Android SDK (Software Development Kit), which is quite large and may take some time to download.
After you’ve installed the USB drivers, you’ll need to download ADB (Android Debug Bridge). If you downloaded the Android SDK to get the Google USB drivers, then you already have ADB. It is located in the platform-tools folder wherever you extracted/installed the SDK files.
If you did not download the Android SDK, you can download it from a nice, neat, little package I put together that has all the ADB files in a single zip. Download and unzip it somewhere on your computer, just be sure to remember where the files are.
Finally, you need to configure your browser to use a proxy. This is because the Android app you will use acts as a proxy for your browser. You will configure your browser to use only localhost a socks proxy on port 1080. If you’re using Internet Explorer as your browser:
- Go into Internet Settings
- Click the Connections tab
- Click the LAN Settings button
- Under Proxy server click the checkbox that says Use a proxy server for your LAN
- Clear the current values for Address and Port (if there’s already something there, write it down in case you need to restore the prior settings)
- Click the Advanced button
- Clear out everything (again, write down or screenshot your current settings)
- Under Socks enter localhost and 1080 for the port
- Make sure Use the same proxy for all protocols is not checked
There are a few settings you’ll need to make sure are enabled on your phone before you proceed. First, you’ll need to enable USB debugging for development. To do this, just go to your phone’s Settings > Applications > Development and enable USB debugging:
Next you will need to download Tetherbot for Android to your phone. This is the free Android app that allows you to perform wired tethering on your phone. Launch the Android web browser on your phone, and go to: http://goo.gl/KwgsT on your phone to download it. After you’ve downloaded it, go to your phone’s downloads and press on the Tetherbot.apk to install the App.
Now you should be all set to tether your phone. First, connect your phone to your PC with a USB cable. Next, open a command prompt by clicking Start > Run… (or press the Windows Key+R), type cmd and press Enter. Change to the directory where you unzipped the ADB files. For example, if you put them in C:\ADB then type:
C: cd \ADB
Next, type the following commands:
adb kill-server adb start-server adb forward tcp:1080 tcp:1080
Alternatively, you can download and run a batch file that sets up the tether proxy for you. Just download, unzip in the same folder where you put ADB, and run the forward.bat file.
The first command, adb kill-server, is optional, but it stops any existing server from running. This is good to do first, if you ever disconnect/reconnect the phone. The second command, adb start-server starts ADB on your PC to connect it to your phone in debug mode. The last command, adb forward tcp:1080 tcp:1080 sets up a port forward to the phone. This is the port we will use as the proxy, and the port that Tetherbot uses on the phone.
Last but not least, launch Tetherbot on your phone, and click Start Socks.
You’ll see a message on the phone that says Socks Service Starting. Launch your web browser on your PC, and you should be tethered to your phone! Please note, that because this is a rootless tether solution, it does not provide 100% TCP/IP tethering through your phone. Any application you want to use the network connection through the phone needs to have the localhost:1080 socks proxy configured.
In my experience, Tetherbot is quite good for web browsing. However, if you’re looking for persistent connections (such as connecting an instant messaging client), Tetherbot tends to drop the connection occasionally, so it isn’t exactly ideal. If you’re looking for persistent connections, it is probably best to do that via an SSH server and the SSH Tunnel client for Android. That’s another post for another day. Happy tethering!