Wednesday, November 25, 2009

Tether via USB from Android G1 to Ubuntu

I installed Cyanogen's mod version 4.2.5 on my Android G1 phone, and it's been working great. On feature that was added since version 4.2.3 is USB networking. Turns out it's simple to use with Ubuntu 9.10 (Karmic). It may work with earlier version as well. The steps:
  1. Check the box for 'Internet tethering' under Settings->Wireless controls
  2. Plug G1 into Ubuntu box with USB cable. Btw, looks like the order of these first two steps doesn't matter.
  3. Click on the networking icon in your toolbar on the Ubuntu box. In the menu that appears, I have an item entitled 'Wired Network (HTC Android Phone)'. Underneath it is a choice 'ifupdown (bnep0)'.
  4. Click on 'ifupdown (bnep0)'.
  5. Now you should be connected to internet.

So this is pretty straightforward, and in particular, it doesn't seem that the Android application, Wired Tether for Root Users, is necessary.

5 comments:

  1. It doesn’t work for me out of the box. So I must have missed something. Can you share your lsusb, lsmod and tail of dmesg?
    Is this it: Bus 001 Device 003: ID 0bb4:0ffe High Tech Computer Corp.? Is special kernel module required?

    ReplyDelete
  2. Anatoli, yeah that looks like the lsusb line I have. It says 'buss 002' for me, but not sure if that matters. I'm not sure about the technical details for troubleshooting the tethering. You could try http://www.cyanogenmod.com/
    There's an IRC there, and also links to XDA Developer forum where you may find folks.
    I didn't install any kernel modules - it's stock Ubuntu.

    ReplyDelete
  3. Thanks for the info. I have my g1 flashed with Super D 1.9.3 with WG Kernel and JIT hack, and it works flawlessly!!! I posted an article with a link back to your post, FYI.

    http://jinha.info/blog/?p=62

    ReplyDelete
  4. @Anatoli

    It works out of the box on ubuntu 10.04 and the drivers that were loaded automatically are:

    rndis_host 7236 0
    cdc_ether 4309 1 rndis_host
    usbnet 18052 2 rndis_host,cdc_ether

    If it's showing up in lsusb and those aren't loaded, maybe your kernel doesn't have them compiled as modules.

    Hope that helped

    ReplyDelete
  5. Thanks,

    I am running 10.01 ubuntu. Hooked the phone by usb to the computer. Enabled tethering, and the connection was established automatically and it worked immediately. Sweeet

    ReplyDelete