The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Tutorial:Unlock iPhone 3G with TurboSim
By following these instructions, you acknowledge your responsibility for any damage you cause to your device, and you recognize that you may void your iPhone's warranty.
This article is a step by step instruction to use a net-locked iPhone-3G with a different provider.
The dev team states on their blog that the SIM hacks they examined send illegal signals. <!-- The unlock method here uses zero-g which has been published by Zf, member of dev team, so it can be considered not to cause illegal actions. -->
Update / Warning: ZeroG, was not intended to do trickery to your cellular network. But due to the way the iPhone's 2.x baseband firmware handles the login, actually it does. Short overview: ZeroG starts up the SIM replacing MCC / MNC with test IMSI codes, leaving the MSIN untouched. Then it restarts the SIM giving the correct IMSI afterwards. Unfortunately the iPhone asks the SIM exactly one time for the IMSI, it doesn't care about the restart. So effectively the login into the cellular network is done in test IMSI mode. Now it is up to your provider, how it handles such requests. For normal logins (no turboSIM) the login request is processed by your provider. In the roaming case your login request is routed from the guest provider to your provider. There is no provider for 'test' MCC / MCN. Your provider has to recognize this upon login (This implies you have to manually select cellular network right from the start.) If your provider accepts the test IMSI code and does authentication with your MSIN (this implies, (real) roaming is not possible, as only _your_ provider can process MSIN correctly), everything could be fine. You don't spoof your identity, there should also be no billing problems. But if you try this method, have successfully installed ZeroG.trb and do _not_ gain access, probably your provider does not accept test IMSI mode. In this case better do not retry as you might risk your IMSI beeing blacklisted. |
Contents
Preamble
Apart from the warning and some other things, the method is quite stable if it works with your provider at all. You have to take care of:
- never switch on 3G mode
- before you use your SIM card that you want to unlock, put it in a different 2G phone and manually select provider and check GPRS works
- for GPRS, "data roaming" has to be enabled on the iPhone (it is not roaming for your provider, but the iPhone thinks it's roaming)
Motivation
Everyone who dislikes pink T's, over-priced unlocked iPhones and likes investigating exciting techniques ... (a.s.o.)
Prerequisites
You need:
- Jailbroken iPhone 3G with OpenSSH installed (from cydia) and WLAN connection to your PC. (Jailbreak Tutorial)
- Bladox's TurboSIM. (From http://www.bladox.com)
- SSH client for Windows Users such as Putty (Putty Download Page)
- SCP client (e.g. WinSCP) or FTP Client such as Fugu for Mac and SmartFTP for Windows
- TurboSIM programming sw [download]
- TurboSIM app zero-g [download] (The version here basically does the same, reset is removed, so you can turn flight mode on and off, without card re-insertion.)
Installation
1. Put your official provider card (prepaid) together with turboSim into the sim card slot of your iPhone-3G. Google a little bit how to do this. IMHO it's a good idea to (TESA-)tape turboSim and SIM-card together (on upper surface, tape needs to clasp around the chip to the connection's side of the card, so there is no tape edge on the surface in direction of tension), otherwise your SIM can get stuck in your phone and you have to open it.
2. unpack turbo-cable-utils and use WinScp to copy the contents of bin-iphonev2 to folder /bin/ on your iphone (username: root, password: alpine)
3. connect with putty to your iPhone (user root, pass alpine) (btw, changing your password is a good idea: passwd)
4. change permissions
chmod 755 /bin/turbo-*
5. run turbo-info
iPhone:~ root# turbo-info initializing modem modem initiated Kernel Version 1.2.7.0 Serial Number <...> OK. No Error
If this does not end with "ok":
localhost:~ root# turbo-info initializing modem AT+CPMS="SM","SM" ERROR AT+CPMS? ERROR modem initiated Mobile Phone/Serial Cable Communication Error
this could have following reasons:
- electrical contact problems: check your turboSim-Sim-pack, sometimes there are some bumps from the cutting process which need to be removed
- the SIM you use to program your turboSIM is locked, you have already access to the turboSIM via iPhone if the SIM is unlocked (official provider SIM)
- turboSIM isn't empty, there is a programme installed which prevents network access
6. use WinScp to copy unpacked zero-g-trb to folder /private/var/root
7. run turbo-reset and then turbo-app to programme your turboSim
iPhone:~ root# turbo-app zerog095.trb SRC zerog095.trb SIZE 1023 initializing modem modem initiated OK. No Error
You now should see zero-g sim app in settings -> phone -> sim applications (ignore the carrier, I took screen shots later on)
9. Remove official card + turboSim and replace it with your contract card + turboSim, turbo-info should end with okay
10. reboot / switch on/off phone
I have to type in my SIM-Pin first
then: no service, okay...
10. commit green button of zero-g application, which appears after some seconds
11. Some timing problems? Lost carrier? Just closing...
'cos it works at the end...
2G data settings
- roaming must be enabled
- make sure APN settings are correct (if APN options don't show up, just install a configuration file created with Apple's 'Web Configuration Utility' (Mac / Windoze) (In Windoze you can reach it with http://localhost:3000 ). Send this file to yourself and open it with the mail client.
- in BossPref (if you don't use it, don't care) 'edge' should be left enabled, even if network does not provide it (seems the BossPref option is a little bit misleading and 'edge' actually means 'GPRS/edge')
3G-SIM / USIM
It works with (some?) USIMs (blau.de Germany) as well. 3G must no be activated on the iPhone. Once 3G is activated, it stops working, even if it is deactivated afterwards. To revive such SIM, put it in a non UMTS capable phone (did it together with turboSIM), check phone and GPRS functions and then this USIM will work again on the iPhone-3G. The SIM application (zero-g) was not visible, but it worked though. If GPRS does not work after a while (3 minutes or so), reboot your phone and try again.
GPRS-'Fix'
Today GPRS stopped working for me. Seems to be there are some 'states', stored on the SIM. This fixed the issue:
- removed SIM+TSim
- put SIM (without TSim) into non UMTS, but GPRS/edge mobile
- checked GPRS
- repacked Sim+TSim and put it back to the iPhone
Voilà, here we go :-) GPRS for another few days :-)
Tho' this might really not be the ultimate solution, I could hardly switch back to my old XDA Orbit. But XDA is a good device to revive the TSim solution... For that, I still love it a litte bit ;-)
Stuck in No Signal after a period
Randomly you can get stuck in a bad No Signal. To correct that:
- remove SIM+TSim
- put SIM (without TSim) into non 3G phone
- Manually select your provider (desired to unlock) network
- repack Sim+TSim and put it back to the iPhone
Here we go again, unlock iphone for a few days more also.
TurboSIM Compatibility with Operators
Actually this table gives a rough overview of all *sim solutions because it reflects working of MCC/MNC = 001/01 and all *sim known so far use this method. The table doesn't give information about 3G though, as turbosim does not support 3G SIM-ME communication at the moment. So could be, some *sim solutions work with 3G where this table indicates no. Most probably there isn't any *sim solution that works in a specific configuration if this table indicates 'no' for the method at all.
Locked (Official) Provider |
Unlocked Provider | SIM type | calls | SMS | 2G data | 3G data |
Swisscom | Congstar | 3G | yes | yes | no | no |
Swisscom | Blau.de Germany | 3G | yes | yes | yes | no |
Swisscom | O2 Germany | 2G, V? (1996) |
yes | yes | ? | - |
Swisscom | O2 Germany | 3G | yes | yes | yes | no |
AT&T | Turkcell | 2G | yes | yes | yes | - |
AT&T (US) | TIM Brazil | 2G | yes | yes | yes | - |
O2 (UK) | VodaFone (UK) | 2G | yes | yes | ? | - |
O2 (UK) | Tesco | 2G | yes | yes | ? | - |
O2 (UK) | Virgin (UK) | 2G | yes | yes | ? | - |
O2 (UK) | T-Mobile | 2G | no | no | no | - |
O2 (UK) | Orange (UK) | 2G | no | no | no | - |
Rogers (Canada) | Zain (Jordan) | 2G | yes | yes | yes | Not Available |
eXamPLE | mYiPhone uk | 2G | yes | incoming | unknown | n.a. |
Remarks
- Important is you get zero-g into your turboSim. So you could also try with a first gen iphone, this needs the other version of turbo-cable-utils (bin-iphonev1) in case you didn't upgrade to 2.x yet.
- If you get ERROR: Not Enough RAM run turbo-rm-apps