iPhone Tethering settings screenAfter reading the How-To on CrunchGear to enable tethering on iPhone with 3.0 beta firmware, I immediately tried this with my iPhone 3G. Unfortunately, T-Mobile Germany doesn’t appear in the list of ipcc carrier description files that can be grabbed with:

curl -s -L http://phobos.apple.com/version | grep -i carrier

So I had to create my own ipcc file based on the bundle found on a 2.2.1 jailbroken phone under /System/Library/Carrier Bundles/TMobile_Germany.bundle.

Walkthrough

Here is a walkthrough on how to enable tethering with T-Mobile Germany:
Step 1: Copy the T-Mobile bundle from an iPhone running 2.2.1 with SSH enabled:

apn = internet
password = password
username = iphone

Step 2: Right click on it and select Show Package Contents. You will find two plist files and two images.

Step 3: In Info.plist, change the BundleVersion from 2.9 to 5.0 and change DTSDKName to (SDK_NAME). Delete MinimumOSVersion. I recommend using Property List Editor for these changes. Save.

Step 4: 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 Dictionary with apn internet.t-mobile add the key type-mask with type Number and value -2.
(c) Add a new pair at the top level Dictionary of the carrier.plist file with key AllowEDGEEditing, type BOOLEAN and value YES.

Step 5: grab http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/CarrierBundles/061-4732.20090203.gj3ef/ATT_US.ipcc using Safari and copy version.plist from the bundle into the TMobile_Germany.bundle. Change the CFBundleVersion from 3.1 to 5.0 and save.

Step 6: Create a folder named Payload and copy the TMobile_Germany.bundle into it. Compress Payload using the context menu. Then in the “Get Info” window of Payload.zip change the name to TMobile_Germany.ipcc.

Step 7: Connect your phone and upload the ipcc file via iTunes: Option-click on the Update Button and select the TMobile_Germany.ipcc file. Then eject the phone and reboot it.

Tethering via USBStep 8: Now, a new entry appears under Preferences > General > Network. On my first attempt, I received an error to consult T-Mobile on how to setup tethering. On the second attempt though, I was able to successfully enable Internet Tethering.

Step 9: When connected via USB, Mac OS X automatically detects a new Ethernet adapter and the connection comes up using DHCP just flawlessly. One drawback: I have not been able to connect via Bluetooth so far. I attribute this mainly to pairing problems. The Mac thinks it is successfully paired but the iPhone thinks not. I’ll continue investigating this and update the post when I find a solution.

If you think this is useful, please digg it. Many thanks to Steven Troughton Smith and Erica Sadun who discovered it!

Update: iPhonenotes.de has readymade ipcc Carrier Bundles for T-Mobile and other German carriers that enable MMS, too.

Update 2: Beta 5 users, beware: iTunes 8.2b10 no longer accepts IPCC files. Phones running 3.0b5 can still have carrier settings updated from iTunes 8.2b7 (part of 3.0b4).

Update 3: easier than installing an IPCC via iTunes is the download of a profile right from the iPhone. http://www.iphone-notes.de/mobileconfig/ provides config files for various carriers around the world. They work with the released version of iPhone OS 3.0.

Update 4: iPhone OS 3.1 disabled the use of unsigned IPCC profiles. There is a solution to re-enable Tethering by jailbreaking with Blacksn0w.

12 Comments

  • Roman

    wrote on March 20, 2009 at 5:26pm

    Hey,
    cann you send me you ipcc file?
    Thanks!

  • phil

    wrote on March 20, 2009 at 8:14pm

    well – would be really nice if i could get the ipcc file you used from somewhere *smile* ๐Ÿ˜‰

  • Dominik Pich

    wrote on March 21, 2009 at 12:51pm

    Please provide the ippc file ๐Ÿ™‚

  • Sascha

    wrote on March 22, 2009 at 6:40pm

    Just updated to 3.0 and cant get back to get my old ipcc. Would you please send me your ipcc? ๐Ÿ™‚

    Best,
    Sascha

  • Brent

    wrote on March 27, 2009 at 10:17pm

    What does ” change DTSDKName to (SDK_NAME)” mean? What is the name or do you literally mean (SDK_Name)?

  • Ortwin Gentz

    wrote on March 27, 2009 at 11:15pm

    Brent, in this case it is meant literally.

  • prema

    wrote on April 10, 2009 at 8:46pm

    hej ๐Ÿ™‚
    wondering if this is working for my ipod touch (2nd generation) ?
    i just upgrated to os 3.0 beta , and iยดm actually tryng to use my sellphone as modem via bluetooth …its working for my macbook very well …
    thanks prema

  • Ortwin Gentz

    wrote on April 10, 2009 at 9:48pm

    prema, not sure what exactly you wanna achieve. Use your iPhone to bridge 3G/Edge via Bluetooth to your iPod touch? I doubt this will be possible because I’m not aware of any option to configure Internet access via Bluetooth in iPhone OS 3.

  • Louis

    wrote on April 15, 2009 at 5:33pm

    Hi Ortwin

    I am having a bit of trouble using tethering via USB. I can use it fine on bluetooth. Can you tell me how to set it up for USB in the mac?

    Thanks!

  • Ortwin Gentz

    wrote on April 16, 2009 at 11:04am

    @Louis, it just appears as one more Ethernet Port (in my case en4) that you can add in the Network prefs. Configure it using DHCP and you’re done.

    If this still doesn’t work, please check whether the AppleUSBEthernetHost kext is loaded:

    kextstat | grep AppleUSBEthernetHost

  • Richard Tigges

    wrote on June 20, 2009 at 4:48pm

    My MacBook indeed shows a problem with AppleUSBEthernetHost.kext when starting up and when connecting my USB-cable and iPhone 3G.
    This seems to be the reason why i only can iPhone tether via Bluetooth and not via USB. How can I update my AppleUSBEthernetHost.kext or solve the problem in another way?

    best regards
    Richard

  • Ortwin Gentz

    wrote on June 22, 2009 at 9:31pm

    @Richard: Can you check the checksum using

    md5 /System/Library/Extensions/AppleUSBEthernetHost.kext/Contents/MacOS/AppleUSBEthernetHost

    In my case, it is 7d6d7b7a9387a3fdbb17c82da10dad31. If it’s not the same or the file is not existant, consider a reinstall of iTunes. The file is included in the iPhoneSystemComponents sub-package.

Comments are closed.

Subscribe to the FutureTap Newsletter

View previous newsletters
Consent

We will use your name and email address to provide news and offers about our apps. We will treat your information with respect. By clicking below, you agree that we may process your information in accordance with our privacy policy.