The 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.
- First, jailbreak and unlock your iPhone.
- 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.
- 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.
- Go back to the Categories list by tapping the Install tab, scroll to System category, and install OpenSSH.
- 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.
- On your computer, launch an SSH client and connect to your iPhone.
- 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.
- 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.)
- It will take 30-40 seconds to connect to the iPhone the first time because the iPhone will be generating SSH security keys.
- 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.)
- Input the username root and the password alpine.
- 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.)
- 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
- 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
- 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.
- Copy the existing preferences.plist from the iPhone.
- Reboot your iPhone by holding down the home and power buttons until you see the startup screen with the white apple logo.
- 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.
- Turn Off the Settings->Wi-Fi to force the iPhone to use the EDGE network.
- 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.)
- 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).
- 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:
- 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 Services application.
- 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.
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 🙁
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!
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.
im still having problems copying the proxy.pac to the iphone it gives me an error message on the command prompt