One developer was successfully tethering his iPhone 3G to his laptop over USB, MacRumors wrote. Steve Troughton-Smith, the hacker, is now working on the same thing but through Bluetooth connection.

Tethering is a feature that allows you to share your iPhone's internet connection with your laptop, but has not been an allowed feature up until iPhone 3.0. Even with iPhone 3.0, mobile carriers generally charge an extra fee in the U.S. to allow tethering access.

Good luck with your Bluetooth tethering experiment, Steve!
Step 1: Check if you own a 3G iPhone. If you’re on EDGE (as I am): sorry. Tethering does not seem to work with EDGE phones.
Step 2: Check to see if AT&T is your carrier. If it is: sorry. AT&T will not let you tether.
Step 3: Navigate to ~/Library/iTunes/iPhone Carrier Support. Notice the spaces in that last folder name! If you’re at the command line, use backslashes to escape the spaces, i.e. cd ~/Library/iTunes/iPhone Carrier Support. You will find a file with an ipcc extension. Copy that file: e.g. cp foo.ipcc foo.ipcc.original. This creates a backup for when you mess up.
Step 4: rename the ipcc extension to zip. For me that was ATT_US.ipcc renamed to ATT_US.zip. (Did I mention how I’m on a 1st Gen iPhone with AT&T?). Unzip it. This creates a new folder called Payload.
Step 5: Navigate into Payload and then into the folder under that. Mine was called ATT_US.bundle. Yours will differ. Inside that folder you will find three files that you will edit: Info.plist, version.plist, and carrier.plist. Open all three in the Property List Editor that comes with the dev tools on a Mac.
Step 6: In Info.plist, change the CFBundleVersion to 5.0. Save.
Step 7: In the version.plist, change the CFBundleVersion to 5.0. Save.
Step 8: In carrier.plist do the following and then save:
(a) Add a new dictionary to the apns array:
apn = internet
password = password
username = iphone
(b) In the wap dictionary (mine is wap.cingular, sts’s was wap.dol.ie), add a new pair. Do not edit the password or username:
type-mask = (NUMBER) -2
(c) Add a new pair at the top level dictionary of the carrier.plist file. (We’re not sure this is strictly speaking necessary but go ahead and do it.):
AllowEDGEEditing = (BOOLEAN) YES
Step 9: Zip up the Payload folder in which you just made your edits. Rename it to the same name as the original ipcc file. (For me that was ATT_US.ipcc).
Step 10: Connect your iPhone to iTunes.
Step 11: In the Summary tab, option-click “Check for Update”. Navigate to your ipcc file, select it. It takes no more than a second or two to update.
Step 12: Reboot your iPhone.
Step 13: In prefs (on the phone) navigate to Settings > General > Network.
Step 14: Let me know how this worked for you.
HOW TO FIND A CARRIER IPCC FILE:
curl -s -L http://phobos.apple.com/version | grep -i carrier
[via modmyi]










It’s a bit more complicated for T-Mobile Germany because they don’t appear in the list. Here’s a howto: http://www.futuretap.com/blog/iphone-tethering-with-t-mobile-germany/
i was able to get the tethering screen on my iphone but i can’t get my macbook pro to connect to the internet by USB nor Bluetooth, i think it might be some configuration on the network preferences
can you help me?
With the iPhone connected via USB cable open up iTunes and that should launch the tethering on the phone.
I’m stuck at Step 3. When I goto the folder it only has one subfolder in it, itunes plugins. I upgraded to iTunes 8.2 last night. Did they move the location of these files to thwart tethering?
hi,
How can i disable the WISPr feature in iPhone SDK 3.0
Any help will be appreciated.
Ravi
I am stuck at step 11 – the install would not let me select the .ipcc file.
does this realy work