Tether an Android Phone Using Proxoid

Dmitri Popov

Productivity Sauce

Jul 21, 2009 GMT
Dmitri Popov

The Android Market features a few tethering applications, so it should be easy to use your Android phone as a wireless modem. Well, that's how the theory goes, anyway. In practice, however, these applications require root access to your phone's system, so you have to "root" your phone before you can tether it. Rooting an Android phone is not for the faint of heart, though, and there is the ever-present risk of bricking your device. Meet Proxoid, a proxy server application that lets you use your phone as a modem without hacking its system. Making Proxoid work does require a few steps, but the entire process is simple enough even for uninitiated users. Here is how to make Proxoid work with an Ubuntu-based system.

Start with installing the Proxoid application on your Android phone from the Android Market. On your phone, navigate to Settings - > Application -> Development and enable the USB debugging feature. On your Ubuntu machine, create the 90-android.rules file:

 gksudo gedit /etc/udev/rules.d/90-android.rules

Add the following line to it:

 SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"

Save the file and quit the text editor. Download and unpack the latest release of Android SDK. Connect the phone to the Ubuntu machine via USB and start the Proxoid application. Open the Terminal, navigate to the tools directory in the Android SDK folder and run the following command:

 ./adb forward tcp:8080 tcp:8080

The proxy server should now be running, but to be able to use it with Firefox, you have to modify the browser's proxy settings. In Firefox, choose Edit -> Preferences and switch to the Advanced -> Network section. Press the Settings button in the Configure how Firefox connects to the Internet group. Select the Manual proxy configuration option, then enter localhost in the HTTP Proxy field and 8080 in the Port field. Press OK to save the settings and close the window. Now you can browse the Web using the created connection.


  • Link to platform-tools ADB Everyone is missing!

    unpack in android SDK folder

    Link to platform-tools
    navigate here and run
    ./adb forward tcp:8080 tcp:8080

    there you go! the new SDK makes you launch the android shell in the tools folder. I had a hell of a time seeing as how i am in an RV and have not ethernet and could only download mac ADB. I used the motorola permission in the android rules and all has worked great. Im looking to forward all traffic but I am a novice with android !
  • proxoid tether

    Different phones require different 90-android.rules entry
    Motorola use:
    SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", SYMLINK+="android_adb", MODE="0666", OWNER="USERNAME"
    If you have an HTC Android phone - use this rule instead of the one above:
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", SYMLINK+="android_adb", MODE="0666", OWNER="USERNAME"
    If you have the Samsung Galaxy Android phone, use this rule instead of the one above:
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", SYMLINK+="android_adb", MODE="0666", OWNER="USERNAME"
    If you have the Sony Ericsson X11 Android phone, use this rule instead of the one above (Thanks to Steven from the comments):
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", SYMLINK+="android_adb", MODE="0666", OWNER="USERNAME"
  • adb command problem

    No luck !

    when I tried to execute ./adb command, it says no such command or directory.

    In the SDK i downloaded, there is a txt file which says :

    "The adb tool has moved to platform-tools/

    If you don't see this directory in your SDK,
    launch the SDK and AVD Manager (execute the android tool)
    and install "Android SDK Platform-tools"

    Please also update your PATH environment variable to
    include the platform-tools/ directory, so you can
    execute adb from any location."

    when I tried to execute android, it says : exec:113 java not found.

    What should I do?

    pls help.
  • Beware

    Just attempted this with my HTC Incredible, had the "No such file or directory" error with ./adb so I did what the second commenter posted. I continued getting the "No such file" error, so I rebooted. Now my eeepc running Ubuntu 9.10 no longer boots. Not sure what happened, but it was working perfectly fine up until now, and now I don't have a laptop for an upcoming trip.
  • "No such file or directory

    This is the third time I've given this a try. That's the terminal reponse to the command, ./adb forward tcp:8080 tcp:8080. For me that's where everything seems to come to a screeching halt. Nor can I locate an. adv directory inside the Android SDK.

    So, obviously I'm missing something pretty basic, if you all are satisfactorily working with this.

    But if anyone has a hint it would be greatly appreciated.

  • If you cant find no adb command in tools directory

    If you are using the latest version of Android SDK, "adb" is now a additional feature.
    To install it, after you install the SDK, go to the "tools" directory and execute “android”. A GUI will show up then click on “Available Packets” and under “Android Repository” , mark "Android SDK Platform Tools" . Click on "Install Selected". Done!

    Alexandre Andrade
  • Like others I see no adb command in tools directory

    Is there something else I have to down load or build to get adb ?

    Downloaded latest Android SDK.
  • Doesn't work for me

    If I plug my phone after creating the 90-android.rules file, the phone shuts down and doesn't to reboot until I unplug it from my laptop. It doesn't shut down if I remove the rules file, but then tethering doesn't work.

    Any idea?
  • plan's cap

    If you use more than the plan's cap then you'll pay big time just like if you did that on the phone itself. Sure it is a lot easier to surf on a pc than the phone but a data plan is a data plan
  • working on Ubuntu 10.10

    Got this working on Ubuntu 10.10 with LG Ally on Verizon and Froyo 2.2. Thanks!!
  • tether

    Rooting the Android was a piece of cake. I'll try tethering shortly. Thank You!

  • Bluetooth


    I wonder if something like this could work over Bluetooth
  • Great!

    This was perfect. Took me all of five minutes. I'd been trying to use my Blackberry to tether for some time with no success. This works like a charm.
  • I created a simple script to set this up for you - Also includes a Launcher on the Desktop.

    I created a simple script to set this up. The script also creates an icon on your desktop to use to launch the connection. Check it out here:
  • Works fine with opensuse 11.2 as well


    thanks for the description - I got it working with opensuse 11.2 and opera as a browser.
    First I received the error

    ./adb forward tcp:8080 tcp:8080
    * daemon not running. starting it now *
    * daemon started successfully *
    error: device not found

    but then the permission hint worked.
  • Capitalism finally working

    Tmobile better wake up, they don't have a 4G plan and Sprint is about to wipe them off the face of the planet with their HTC EVO deal. All those G1 customer's expensive 2 year data contracts are ending in the next few months so Tmobile had better step up with something! Personally I would stay with a 3G plan IF the carrier would offer tethering on top of their existing data plan *for no extra money*. The Sprint "8 WiFi user hot spot" for $30 EXTRA per month is outrageous and the 3G carriers could still compete by offering free single machine tethering. I'm fine using a cable, I don't need a WiFi hot spot, just give us what we should have had all along.
  • Tether Android

    I was able to tether the HTC Droid Eris using the instructions you provided. Thanks for posting! The comment about the Network Proxy worked great as well. I setup a 2nd location to use for tethering.
  • network proxy

    You can have ubuntu forward all network traffic using the Network Proxy preference app. Simply set it up as localhost 8080 in there instead of in firefox
  • Why Proxy

    What I don't get is why Mac and Windows users get a nice application with almost no configuration (PDANet). And we Linux users are stuck using a Proxy to get our Android Phones to work with Linux. What the hell? It's pathetic that we have to use a Proxy application to get a Linux phone to tether to a Linux PC/Laptop without having to root. It stinks!
  • Thanks!

    Hey this worked well for me with my moto cliq and ubuntu 9.10... Awesome post!


    I would like to say THANK YOU! I was struggling with this problem since I bought my G1 (1 year) and now finaly I made it, thanks to Proxoid!

    Again, thanks a LOT!!
  • ./adb problem

    in the tools directory when I type ./adb i get:
    unable to execute ./adb: No such file or directory

    same thing if i try sudo ./adb, but ls -l adb gives:
    -rwxrwxrwx 1 petter petter 340920 2010-02-05 23:53 adb

    probably a newbie mistake, but I have no idea where to go from here.. any help is appreciated!
  • Chrome

    Worked just as posted. No deviation necessary using Droid with 2.1 just upgraded a few days ago. Thanks!

    Is there a way to forward all IP traffic through the proxy? I would like to be able to use SSH, Ping, etc. I setup Google Chrome similar to how the instructions for Firefox are posted. I used the pull down menu "Customize and control Google Chrome" and chose options. A new dialog window pops up with three tabs. I chose "Under the Hood". There towards the bottom you see "Network" and below that a button "Change proxy settings" I then select the "Manual proxy configuration" radio button and select the checkbox "Use the same proxy for all protocols" Enter "localhost" for the "HTTP proxy" and port "8080" was selected already.

    There is a button at the bottom called "Apply System-Wide" but I still cannot use my Virtual Machines and other ports. Any ideas???
  • insufficient permissions for device


    For those who are getting the "insufficient permissions for device" error, try this:

    1.on phone:
    settings->applications->development; enable USB debugging
    start proxoid

    2.on laptop (after installing Android SDK and adding 90-android.rules)

    cd android-sdk-linux/tools
    ./adb kill-server
    sudo ./adb start-server
    ./adb devices
    ./adb forward tcp:8080 tcp:8080

    3. Change network settings in your browser to manual proxy configuration with HTTP Proxy=localhost and Port=8080

    All credit goes to iefbr14 at this post: http://androidforums.com/ho...s-tested-linux.html#post136254
  • teather droid

    So do i have unlimited usage on this or the 5 gig limit
  • I can't follow it.

    I don't get where to make the file and how... do I need astro file manager for it???? Could you please make a video showing this; I can't follow what you're saying.
  • error: cannot bind socket

    Hi There,

    unfortunately it not working for me.

    Everything is fine until:

    ./adb forward tcp:8080 tcp:8080
    * deamon not running. starting it now *
    * deamon started successfully *
    error: cannot bind socket

    Trying it via sudo doesn't help either. Is there anyone who knows what to do?

    TIA Julian
  • Not a real solution

    I moved from a Nokia N95 to the Milestone some days ago. Until now I've never even thougt that sharing a phone's internet connection via WLAN could be a problem. In fact, using "JoikuSpot" on the S60 based Nokia, I could easily open a WLAN hotspot - zero configuration on the mobile or client, and full internet connectivity.

    On Android it seems all this is not possible. Having to configure clients and then only being able to use a proxy for access instead of full internet connectivity is too much of a pain and a real downgrade.

  • Worked perfectly - Thank you.

    I worked amazingly well. And simple. Thank you for this.
  • thanks

    i did like comment #3
    works perfectly, thanks!
  • Works beautifully!

    I've got this working on suse linux 11.1 no problem. I followed the directions here except I put lines into my
    /etc/udev/rules.d/90-android.rules file as described on another forum (http://androidforums.com/ho...ing-systems-tested-linux.html) as follows

    SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct} =="0c01", MODE="0666",OWNER="brett"
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct} =="0c02", MODE="0666", OWNER="brett"
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="22b8", ATTRS{idProduct} =="41db", MODE="0666", OWNER="brett"

    Just changed the OWNER="brett" to OWNER="myusername" and yahoo!
    Sending this comment over 3G!

  • Working well but unable to log into encrypted? sites.

    I can't access my gmail, google calendar, facebook or hotmail since I started using this. I can get to the log-in pages but when I log-in i am told the destination cannot be found. Do I have some security settings wrong on my browser or on the phone?
  • No luck - until now

    Using sudo didn't do it, but I found details for tethering a Droid here:


    The secret is in the udev rules file.
  • sudo needed

    @Dan try:
    sudo ./adb

    the sudo command is needed for many administrative functions
  • No luck

    I recently purchased a new Droid from Verizon. Nice phone, but it's $EXPENSIVE$. I figured that if I could tether it as a moden that I might get my moneys worth out of it, but no luck so far.

    I think the sticking point is with the adb command. When I ran it, I got the following output.

    $ ./adb forward tcp:8080 tcp:8080
    * daemon not running. starting it now *
    * daemon started successfully *
    error: insufficient permissions for device

    Any thoughts? I'll check back.
  • Why the problem with providers?

    I still don't understand why providers in N.A. have so many rules about tethering. If you have a data plan then what's the difference? If you use more than the plan's cap then you'll pay big time just like if you did that on the phone itself. Sure it is a lot easier to surf on a pc than the phone but a data plan is a data plan. Unless you have a so called unlimited plan then why the fuss? I'm happy with a cap, that should mean I can use up to that amount and it is none of their business what I use it for.
    Luckily I don't have a problem tethering and I never go over my cap. My provider blocks SIP which again is a sin in my eyes, what I run is my business since I also pay for a cell plan in addition to a data plan. This is why I didn't have any kind of cell phone until Android came along and brought some hope to this brutal industry. Still sucks being in N.A. but much better than before.
  • Motorola Milestone

    For german users who buyed the moto milestone or verizon's droid, add this line to the udev file:

    SUBSYSTEM=="usb", ATTRS{idVendor}=="41d8", MODE="0666"
  • Tethering

    According to http://www.t-mobile.com/Tem...p.aspx?PAsset=Pln_Lst_DataPlan , tmobile allows up to 10gb per month.

    But, as you said, be careful. The same page specifically says tethering is prohibited.

  • Tethering

    I am so glad that Rogers allows tethering in Canada.
  • Reload configuration

    These instructions are perfect, except that after adding the udev.d file, you must reload udev's configuration with:

    sudo /etc/init.d/udev reload

    and then it will all work.
  • New Linux phone from Vodafone

    I'm interested knowing what this one will be like in usability:


    The screenshots show social activity possible on phone.
  • depressing

    I agree with the first poster that this is a sad state of affairs when we have a separate word to describe "using the phone's Internet on the computer." I never realized how depressing it was until I moved from the US to Kenya. Everyone "tethers" here. If I move back to the United States I'll be so depressed that I need a special phone, software, plan, etc to do this obviously trivial thing.
  • depressing

    Why do the operators/manufacturers try to restrict users in this way in the first place? I don't get it.
    Fortunately it's not like this in (most of) Europe, where I happen to live. We don't even have a word for tethering in my language, because it's something we consider so obvious. I've been "tethering" for pretty much all of this millenium and never gave it a second thought.
    If a device is restricted in this way, I simply won't buy it - thanks but no thanks, especially to Apple!
  • Tether an Android Phone Using Proxoid

    I'd be careful tethering an android phone if I were you. I know of a few people who tether their g1 phones. One of them has used 3gb of bandwidth and T-Mobile started limiting the bandwidth on their account and warned them that repeated incidents will cause their data service to be suspended. Tethering the G1 phone is a violation of the user contract and can result in suspension of services.
comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More