iPhone Tethering Howto

iPhone 3G

In the long list of new features brought by the new iPhone firmware 3.0 comes “tethering” in my personal top-ten! What’s this? Tethering means a way to connect to the Internet from a device (usually a laptop computer using a mobile device as modem/router. More info are available on Wikipedia.

Another Belgian blogger already posted a tutorial to enable tethering for Proximus users but it was related to Mac OS. I received more details from another friend and tested in my XP environment (running in a VirtualBox).

What are the requirements?

  • an iPhone 3G running a 3.0 firmware
  • a data subscrition (in this case via Proximus)
  • iTunes

First, download the Proximus IPCC file (“iPhone Carrier Configuration File“) available here to your local disk.

Connect your iPhone to the host running your current iTunes instance. Open a command line and start iTunes with the following parameter:

C:\> cd Program Files\iTunes
C:\Program Files\iTunes> itunes /setPrefInt carrier-testing 1

Wait for all synchronization or backup operations to successfully finish and upload the IPCC carrier file by shift-clicking on the “Restore” button. A dialog box pops up and select the file:

Click to enlarge
Click to enlarge

Once done, open your iPhone settings (Setting -> General -> Network) and a new option must be available: “Internet Tethering”):

Click to enlarge
Click to enlarge

iPhone Connected

Leaving the USB cable connected, slide the switch to “On” and immediately, your Windows XP must detect a new USB Ethernet device and start the installation. A few seconds later, your new network connection should be ready as seen on the right screenshot.

The new connection will be managed as a normal Ethernet connection and will receive an IP address via DHCP and a default gateway (Note: This could have a really bad impact on your bill if you leave your iPhone as default gateway for a long time. Traffic is charged by Proximus as data traffic. Take care, it is really expensive!)

To disconnect, just slide the option “Internet Tethering” to off on your iPhone.

By pure curiosity, I checked the IPCC file. In fact, as any Office 2007 document, this is a simple zip archive:

$ file proximus_be.ipcc
proximus_be.ipcc: Zip archive data, at least v1.0 to extract
$ unzip proximus_be.ipcc
Archive:  proximus_be.ipcc
   creating: Payload/
  inflating: Payload/.DS_Store       
   creating: Payload/PROXIMUS_BE.bundle/
  inflating: Payload/PROXIMUS_BE.bundle/carrier.plist  
  inflating: Payload/PROXIMUS_BE.bundle/Info.plist  
  inflating: Payload/PROXIMUS_BE.bundle/version.plist  
$ cd Payload
$ cd PROXIMUS_BE.bundle
$ file *
carrier.plist: XML  document text
Info.plist:    XML  document text
version.plist: XML  document text

The most interesting file is “carrier.plist” which contains all the settings to configure Web, MMS and Tethering with Proximus. I suppose it should be easily configurable for other carriers.

And what about Linux? My XP runs in a VirtualBox running on Ubuntu. It should be nice to access the 3G network from Linux when no other alternative is present. When I connect my iPhone to Ubuntu and enable Tethering, nothing appends:

Jun 24 16:46:21 zeroday kernel: [60504.220520] usb 2-3: new high speed USB device using ehci_hcd and address 10
Jun 24 16:46:21 zeroday kernel: [60504.363052] usb 2-3: configuration #1 chosen from 4 choices

I found the following solution (via Bluetooth) via a script called uit.sh (“Ubuntu iPhone Tethering“). Looks nice!

One more time, take care of your carrier invoice! Data is really (too much) expansive but it can help you to send/receive some urgent mails or tweets…


  1. there is a another way lot easier. go with your iphone browser safari to help.benm.at > click internet tethering > your country> and then your provider! more you dont have to do. just go to settings> general> network> internet tethering> turn it on and plug in your iphone and its al done!!!

Leave a Reply

Your email address will not be published. Required fields are marked *

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