Skip to content

Getting T-Mobile EDGE to Work on Your iPhone 1.1.2

iphone1gtmobileThe following steps will configure your iPhone 1.1.1 or 1.1.2 to work with T-Mobile’s $5.99 Internet Access plan (aka T-Zone or T-MobileWeb). You will need to have a basic knowledge of how to use the command line.

  1. First, jailbreak and unlock your iPhone.
  2. Disable the Auto-Lock (to prevent the iPhone from going to sleep) by pressing the home button and tapping on Settings->General->Auto-Lock->Never.
  3. If you have not already installed the BSD Subsystem, you should install it now:
    • Press the home button and tap the Installer icon. Update the installer if necessary.
    • Tap the Install tab, scroll to the System category, and install the BSD Subsystem. If you don’t see BSD Subsystem listed, then it is already installed.
  4. Go back to the Categories list by tapping the Install tab, scroll to System category, and install OpenSSH.
  5. Find the IP Address of the iPhone:
    • Press the home button and tap on Settings->Wi-Fi.
    • Locate your wireless network and click on the blue arrow icon to the far right.
    • Look for the IP Address line. Your IP Address should look something like 192.168.0.21.
  6. On your computer, launch an SSH client and connect to your iPhone.
  7. On Windows, do the following:
    • If you are running Windows and need a free SSH client, download putty.zip from the PuTTY website.
    • Uncompress putty.zip to a folder (ex: c:\temp\putty) and run Putty.exe.
    • Input the IP address of the iPhone into the Host Name (or IP address) field.
    • Click on the Open button at bottom.
  8. On Mac OS X, do the following:
    • Launch the Terminal program.
    • Type ssh root@192.168.0.21. (Please replace 192.168.0.21 with the IP address of your iPhone.)
  9. It will take 30-40 seconds to connect to the iPhone the first time because the iPhone will be generating SSH security keys.
  10. Once the iPhone is done, you will get a prompt on your SSH client to accept the iPhone’s SSH security keys. Answer yes. (Subsequent connections will be faster and will skip this security prompt.)
  11. Input the username root and the password alpine.
  12. Once you have successfully logged into the iPhone, you may wish to change the root password to prevent unauthorized access:
    • Type passwd into the SSH window and hit Enter.
    • Input the new root password twice. (The next time you connect with SSH, you will need to use this new password to login.)
  13. Backup the two system files that we will modify (if they exist):
    • Type cd /private/var/root to go to that directory.
    • Type ls to list the contents of the directory.
    • If you see a file called proxy.pac (most likely, you won’t), make a backup copy of it by typing this command: cp proxy.pac proxy.pac.original
    • Type cd /private/var/root/Library/Preferences/SystemConfiguration and then type ls
    • You should see a file named preferences.plist. Make a copy of it using this command: cp preferences.plist preferences.plist.original
  14. Create a custom version of proxy.pac and upload it to the iPhone.
    • On Windows, use the Notepad text editor. On Mac OS X, use TextEdit text editor.
    • Input the following text into the editor:
      function FindProxyForURL(url, host)
      {
          if (isInNet(myIpAddress(), "10.0.0.0", "255.0.0.0"))
              return "PROXY 216.155.165.50:8080";
          else
              return "DIRECT";
      }
    • Save this file as proxy.pac.
      • On Windows Notepad, make sure you select menu File->Save as… and All Files in the Save as type input. This will prevent Notepad from appending a .txt to create an erroneously named proxy.pac.txt file. Save it to a directory like c:\temp.
      • On Mac OS X TextPad, save it to a directoy like /temp.
    • Upload the file to the iPhone using Windows Command Prompt:
      • Launch the Command Prompt by selecting menu start->run and typing cmd.
      • Go to the directory where PuTTY was uncompressed to by typing a command like cd c:\temp\putty.
      • Secure copy the proxy.pac file to the iPhone with the command: pscp c:\temp\proxy.pac root@192.168.0.21:/private/var/root
    • Upload the file to the iPhone using Mac OS X Terminal: scp /temp/proxy.pac root@192.168.0.21:/private/var/root
  15. Modify the preferences.plist and upload it to the iPhone. Some websites will say to totally replace the preferences.plist file but this is wrong; each iPhone comes with a unique preferences.plist that needs to be custom modified.
    • Copy the existing preferences.plist from the iPhone.
      • On Windows Command Prompt: type cd c:\temp\putty and pscp root@192.168.0.21:/private/var/root/Library/Preferences/ SystemConfiguration/preferences.plist . (Don’t forget to input the last period!)
      • On Mac OS X Terminal: type cd /temp and scp root@192.168.0.21:/private/var/root/Library/Preferences/ SystemConfiguration/preferences.plist .
      • Note: In the commands above, there is no space or break between Preferences/ and SystemConfiguration.
    • Open the preferences.plist. On windows, Notepad will not be adequate for this task; instead, use Wordpad by typing in the Command Prompt: write preferences.plist
    • Locate the following section:
      <dict>
      <key>Interface</key>
      <dict>
      <key>DeviceName</key>
      <string>ip1</string>
      <key>Hardware</key>
      <string>com.apple.CommCenter</string>
      <key>Type</key>
      <string>com.apple.CommCenter</string>
      </dict>
    • Immediately after, add this new section:
      <key>Proxies</key>
      <dict>
      <key>ProxyAutoConfigEnable</key>
      <integer>1</integer>
      <key>ProxyAutoConfigURLString</key>
      <string>file:///private/var/root/proxy.pac</string>
      </dict>
    • Save the file, close the text editor, and copy the file back to the iPhone:
      • On Windows Command Prompt: pscp preferences.plist root@192.168.0.21:/private/var/root/Library/Preferences/ SystemConfiguration
      • On Mac OS X Terminal: scp preferences.plist root@192.168.0.21:/private/var/root/Library/Preferences/ SystemConfiguration
      • Note: In the commands above, there is no space or break between Preferences/ and SystemConfiguration.
  16. Reboot your iPhone by holding down the home and power buttons until you see the startup screen with the white apple logo.
  17. Click the home button and tap on Settings->General->Network->Edge. Make sure that the APN is set to wap.voicestream.com, the Username is blank, and the Password is blank.
  18. Turn Off the Settings->Wi-Fi to force the iPhone to use the EDGE network.
  19. See if you can still use Safari to browse the internet. You should see a blue E appear near the top left while you are using the T-Mobile EDGE network. If you can browse the internet, congratulations! (If the EDGE connectivity doesn’t work, see troubleshooting tips at the end of this post.)
  20. Turn the Settings->Wi-Fi back On . Make sure that Settings->Wi-Fi->Ask to join networks is On to allow the iPhone to use Wi-Fi or EDGE (if Wi-Fi is not available).
  21. Re-enable Auto-Lock by going to Settings->General->Auto-Lock. The default is one minute.

If you need a way to explicitly turn off the EDGE network support (and the SSH access service), you can install the Services application:

  1. Press the home button and tap the Installer icon. Update the installer if necessary.
  2. Tap the Install tab, scroll to the System category, and install the Services application.
  3. Launch Services to toggle the EDGE, Wi-Fi, Bluetooth, or SSH support off or on.

Some advance troubleshooting steps which I read about but have never tried (as the steps above worked perfectly for me):

  • Power off the iPhone (hold the power button until you see slide to power off), tap on the slide to power off, wait a minute, and then power it back on. Try Safari.
  • Double-check the Settings->General->Network->Edge APN configuration. If the APN is not wap.voicestream.com, change it, save, and reboot. Try Safari.
  • Double-check the APN again. If it is not wap.voicestream.com, then the save did not work. Instead, modify the preferences.plist directly, reboot the iPhone, try Safari.
    <dict>
    <key>apn</key>
    <string>wap.voicestream.com</string>
    <key>password</key>
    <string></string>
    <key>username</key>
    <string></string>
    </dict>
  • Try using APN wap.voicestream.com with guest for both Username and Password.
  • Try using ApN internet2.voicestream.com with blank Username and Password.
  • Try using ApN internet2.voicestream.com with guest for both Username and Password.
  • Try using this proxy.pac instead:
    function FindProxyForURL(url, host)
    {
        if (isInNet(myIpAddress(), "10.0.0.0", "255.0.0.0"))
            return "PROXY 10.23.8.3:8080";
        else
            return "DIRECT";
    }

The information above is consolidated from Complete Guide: t-mobile on the iPhone, How to Unlock Your iPhone and Use The $5.99 T-Zones Plan, and T-Mobile EDGE and iPhone.

4 Comments

  1. bhny

    didn’t work for me. i get the “E” in the menubar but safari crashes when going to any web page. i have an OTB 1.1.2 jailbroken and unlocked, everything is working fine except edge 🙁

  2. bhny

    found the problem- your text for proxy.pac has smart quotes. i ended up writing proxy.pac directly on the iphone using ssh and pico. now it works, yay!

  3. Chanh

    Thanks bhny for finding the problem. Strangely, the blogging software I am using is converting the quotes to non-standard quote characters. I think I fixed it so you can now copy and paste.

  4. DipapioZ

    im still having problems copying the proxy.pac to the iphone it gives me an error message on the command prompt

Leave a Reply

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