This is a tutorial showing folks how to tether AT&T’s Fuze phone (AT&T version of HTC’s Touch Pro) to Ubuntu Linux via USB. It is a little different from tethering a regular Windows Mobile phone to Ubuntu.
To tether the Fuze to Ubuntu Linux, 3 things need to be done:
* Crack the phone so that any connection can be shared
* Create a connection on the phone other than AT&T’s MEdia Net
* Mod usb-rndis-lite to allow connection from Fuze
Please note that this tutorial is ONLY for the HTC Fuze on the AT&T (USA) Network.
This tutorial is done under Ubuntu Linux 8.10 aka Intrepid Ibex with software up-to-date (according to the update manager). It is also recommended that you have an unlimited data plan with AT&T. Tethering plan is recommended but not required.
PART I: Allow any connection on phone to be shared
AT&T has modded the registry of the Fuze so that ONLY folks with dedicated tethering plans can tether. If you have a tethering plan with AT&T, please move on to part 2. Otherwise complete this step.
1. Download a registry editor for Windows Mobile. We recommend PHM Registry Editor for Pocket PC. This links directly to the install file, so I would recommend downloading this to the phone.
2. Open File Explorer (Start > Programs > Tools > File Explorer) and navigate to where you saved the install file. Install it by tapping it once.
3. Once it installs, open it. It should be in Start > Programs.
4. Navigate to HKEY_LOCAL_MACHINE/Comm/InternetSharing/Settings.
5. You will notice a key in settings called “ForceCellConnection”. Delete it.
6. That’s it. Any connection can be used for tethering. Verify this by opening Internet Sharing and seeing that there are two combo boxes (one for PC Connection and one for Network Connection)
PART II: Create a connection alternative to MEdia Net
AT&T configures the Fuze’s network slightly differently from its other WinMo phones. but when tethering with it’s MEdia Net connection, I can never seem to log on in Ubuntu. This wasn’t a problem on my Windows box, but that box ain’t my main box. Anyway this step is rather simple.
1. On your phone, go to Start > Settings and tap on the connections tab. Open Wireless Manager and make sure that Data Connection is turned OFF.
2. Close Wireless Manager and go into Connections. You should see “MEdia Net” and “My Work Network”. Under MEdia Net, tap “Manage existing connections”.
3. You should see a radio botton labled “MEdia Net”. Tap and hold it to bring up the menu and select “Delete”
4. Now tap the “New” Button. In the dialog that comes up, enter a name for your connection. This name will be the name you select in Internet Sharing later. From the combo box below it, select “Cellular Line (GPRS, 3G)”. Tap Next.
5. Leave the Access Point Name box blank. Tap Next. Leave those boxes blank as well and tap finish.
6. If you did all right, you should be able to get on the web. Verify this by opening Opera on the Fuze. If web pages load, it worked.
PART III: Mod usb-rndis-lite to allow Fuze connection
This is a mod to Ubuntu now. Not the phone. Apparently HTC phones have some issues tethering to Ubuntu. This is usually due to rndis failing with some packets exceeding error. Here we will modify and recompile the source code for usb-rndis-lite to ignore that error.
1. Open up a terminal and do this:
Code:
sudo apt-get install subversion
This will install subversion, which is needed to get the latest version of usb-rndis-lite.
2. Using that same terminal, do this:
svn co http://synce.svn.sourceforge.net/svnroot/synce/trunk/usb-rndis-lite
This will download the latest code of usb-rndis-lite.
3. Still in the terminal, move into the folder by doing this:
cd usb-rndis-lite
4. Terminal again, open the source file we are going to edit by doing this:
gedit rndis_host.c
5. Around line 524, find the following code
if (tmp < dev->hard_mtu) {
dev_err(&intf->dev,
“dev can’t take %u byte packets (max %u)\n”,
dev->hard_mtu, tmp);
goto fail;
}
and change it to this:
if (tmp < dev->hard_mtu) {
dev_err(&intf->dev,
“dev can’t take %u byte packets (max %u)\n”,
dev->hard_mtu, tmp);
retval = -EINVAL;
/* goto fail;*/
}
Save and close the file
6. Returning to the terminal, type the commands in this order to compile and install it:
make
sudo ./clean.sh
sudo make install
Now that the steps are completed, verify everything worked by plugging your Fuze into your preferred USB port. Open the Internet Sharing app on the Fuze (somewhere in Start > Programs), select USB for PC Connection and the name of the network you typed earlier for Network Connection, and tap Connect. Ubuntu should see and connect to the phone, and you should be able to browse the web, get email, IM, and so on.
From this point on, all you should need to do is open Internet Sharing, select the right things and hit “Connect” to connect.
ONE THING TO NOTE: updating usb-rndis-lite will break this. To fix it, just repeat part 3 and your good to go.
More: continued here