Tethering HTC Mogul and Touch Cruise with Ubuntu (8.10 and 9.04b)

Tethering HTC Mogul and Touch Cruise with Ubuntu (8.10 and 9.04b)

*Update Dec 24, 2009:  Just tried tethering with my Toshiba NB205-N312/BL, which I installed Ubuntu Netbook Remix (9.10). Turns out that tethering is even easier.  RNDIS already works out of the box for the 2.6.31-15 kernel.  There is nothing to do on the netbook.  Just skip to step 2 to modify the phone’s registry.

*Updated July 22, 2009:  If you are looking to tether your Mogul with Windows XP/Vista, please read this related post.

*Updated March 30, 2009:  Yesterday, I upgraded my Intrepid(8.10) to Jaunty (9.04) Beta following the easy instruction at http://www.ubuntu.com/testing/jaunty/beta.  I’m happy to report that tethering still works perfectly as it did in 8.04 and 8.10.

I have a Sprint Mogul, which is made by the Taiwanese handset maker HTC.  I used to be able to tether it with my laptop which runs Windows XP Pro SP3, enjoying Sprint’s speedy EvDO RevA network at around 1mbps/300kbps (down/up).  That was before I updated Mogul’s ROM to Windows Mobile 6.1.  It’s especially handy when travelling on the road, as was the case when I drove from Kansas City back to Northern California a few months ago.  It also comes in handy when going to a coffee shop that doesn’t have free Wifi.  Ever since I updated the ROM in my Mogul to WM6.1, I started getting “Error 67” on the device when trying to start Internet Sharing.  Following here, I was finally able to get it to work.

That would take care of Internet Sharing (tethering) in Windows, but my primary OS is Ubuntu, now running Intrepid Ibex.  I need to to get the packets flowing between Ubuntu and WM6.1.  I have it working now. If you want the details, please leave me a reply. I figure I won’t spend the time detailing it if no one wants to know.

Most of the information are gathered from various posts on other forums or blogs.  I will attempt to re-organize them in a more straight forward way for Sprint Mogul users running WM6.1 with laptop running Ubuntu 8.10, although it may still work for similar setups.

1. Get rndis-lite.

You need to get the source from its svn repository and compile it.
*Please note that the rndis project evolves over time, so you may need to make a few adjustments.
On 4/19/2010, I found rndis-lite’s ViewVC repo at http://synce.svn.sourceforge.net/viewvc/synce/trunk/usb-rndis-lite/. You can download the tarball at http://synce.svn.sourceforge.net/viewvc/synce/trunk/usb-rndis-lite.tar.gz?view=tar by executing:

wget -O usb-rndis-lite.tar.gz http://synce.svn.sourceforge.net/viewvc/synce/trunk/usb-rndis-lite.tar.gz

Extract it, then run the usual make and make install afterwards to compile it.

The following block of shell commands is from the old instruction for your reference.

sudo -s
apt-get install subversion
svn co http://synce.svn.sourceforge.net/viewvc/synce/trunk/usb-rndis-ng/
cd usb-rndis-lite/
make
./clean.sh
make install

Then you’ll need to modify your /etc/network/interfaces with your preferred text editor.  vim is used here:

vim /etc/network/interfaces

Add the following lines:

auto rndis0
iface rndis0 inet dhcp

Reboot Ubuntu.  Once it’s reboots, plug your Mogul via a USB cable to your laptop.

2.  Modify your Mogul’s registry.

There are couple of ways to modify your Mogul’s registry.  I downloaded a free WM program called PHM Registry Editor (v0.70) from here. Once the app is installed on your Mogul, fire it up and browse to My Device->HKEY_LOCAL_MACHINE->Comm->Internet Sharing->Setings.  There is a registry key named “ForceCellConnection” which is currently set to “Phone as Modem”.  Change it to “Sprint PCS”.  Save your registry settings and quit the program.  You may need to reboot your Mogul, too.

3.  Tether and Surf.

Now that both the laptop and Mogul have been setup, you should be ready to go.  When you plug your Mogul into your laptop’s USB port, you should see the EVDO icon change to a double arrow, indicating a connection established with your laptop.  A network interface called “rndis0” or “eth1” should display with your do a “ifconfig”.  I have had to re-setup my laptop several times, sometimes I get “rndis0” and sometimes I get “eth1”, not sure why.  Anyway, I see that I have an network interface named “eth1” with IP of 169.254.2.2, and that I can ping the Mogul at 169.254.2.1.  I have also setup Synce to sync my contacts and calendar, but that’s another story.  Anyway, on your Mogul, go to Internet Sharing.  Make sure the dropdown for PC Connection says USB, and click on “Connect” at the bottom.  If all goes well, you should wait a few second (takes about 7 seconds for me) and the DHCP server on the phone should assign a new ip for your interface at “eth1” (or “rndis0”).  My eth1 now has an IP address of 192.168.0.102 and I can get hop on Sprint’s speedy EVDO RevA network with my laptop running Ubuntu Intrepid.

8 thoughts on “Tethering HTC Mogul and Touch Cruise with Ubuntu (8.10 and 9.04b)

  1. i would love to know, i tried to tether my mogul with hardy a few months ago and it was a disaster. tethered wireless is the sole reason that i have to dualboot with vista. im on intrepid now and i would absolutely love to give it another shot.

  2. I have a PPC-6800 through Alltel. I tried your tutorial but nothing happens. I don’t have the registry values you indicated either. (I’m using WM 6.1) The only value I see is CMMAXCONNECTIONS or something like that. Any ideas? I’m also using Ubuntu Studio 8.10. Are there other steps I need to take?

  3. Hi, my understanding is that while the Alltel PPC-6800 is the same hardware (or very smiliar) as the Sprint HTC Mogul, registry settings for internet sharing may be different. Between my brother and I, we have 3 HTC devices running Windows Mobile 6.1 Pro with 3G/3.5G capabilities. In addition to my Mogul, my brother has the HTC Touch Cruise and Touch Diamond (both on 3.5G HSDPA networks in Taiwan). I just checked the Touch Cruise which runs WM6.1 Pro (CE OS 5.2.19965 Build 19965.1.2.3), its registry setting at My Device->HKEY_LOCAL_MACHINE->Comm->Internet Sharing->Setings is empty, but I’m still able to tether it with my same Ubuntu 8.10 setup (I am travelling in Asia right now with the Touch Cruise).
    I did a quick search on the term “CMMAXCONNECTIONS” but did not see any results returned. Is there a typo?
    I am sorry to say that I don’t have more specific info to help you at this point, but I hope these discussions will benefit someone somewhere.

    Good luck.

    Peter

  4. This is the closest I’ve been able to come to getting tethering to work with my Mogul and Ubuntu!

    I can connect my phone to my computer and ping the phone at 169.254.2.1, and the double arrows appear in place of “Ev”. At this point I open Internet Sharing and click “Connect”. The double arrows switch back to “Ev”, my computer loses its IP address, and ICS says “Connected”. Any ideas? Thanks!

  5. Sprint disabled the “free” phone-as-modem / internet sharing stuff that used to just work out of the box, as of around spring or early summer 2009. This was a cool feature that worked pretty well most of the time, at least in Austin Tx … service in Arizona is/was always spotty. Even basic phone service is terrible in Az. 🙁

    Anyway, if you want this to work you have to add it to your plan even if you already have a data plan (and of course, follow all the steps from above — worked for me using Ubuntu 8.04-9.04). Iirc, Sprint wants an extra $30/mo or so. But, feeling cheated I told Sprint where they could stick it and insisted they let me out of my contract, which to my surprise they did. Can’t wait to find another carrier — whoohoo!

  6. As of today Dec 1st, 2009, tethering still works for me on my Mogul with the modified registry setting as mentioned above:

    My Device->HKEY_LOCAL_MACHINE->Comm->Internet Sharing->Setings. There is a registry key named ‚“ForceCellConnection‚ which is currently set to ‚“Phone as Modem‚. Change it to ‚“Sprint PCS‚

    I’m paying $15/mo for data.
    I am in the Chicago area now. But this has worked for me in the SF bay area, southern California, Kansas City area, Boston, and New York City.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.