Apple has your unlocked iPhone in their crosshairs. What do you do? This method in no way guarantees that your iPhone will survive the update after being unlocked. If you're risk adverse, you may want to wait a day or two for these instructions to get debugged. And be aware there may be a lock/unlock limit set by hardware.
Important note: people are experiencing munged IMEI's. "Delayed Green" says that he saw this "Incorrect SIM" error in the early unlock days and that he knows of no way to fix the problem. The IMEI errors seems to be unrelated to unlock method--I'm hearing from people who used pretty much each of the unlock scenarios. Quite a few people have simply re-unlocked and are using their phones without problem but can't re-lock, that is reverse the unlock. Can you put the genie back into the bottle? Reliably? Apparently not yet. And the methods previously published just aren't working properly. If you haven't tried relocking yet, do yourself a favor and just wait until we figure out why some relocks are going wrong. Update; iPhone unlocking team promises relocking tool within a week.
TUAW Reader Peter writes: "The reason why we're getting the Invalid SIM error seems to be because running bbupdater with the .fls and .eep files somehow causes the phone's IMEI number become 004999010640000. Running AnySIM or using any of the other unlock methods seems to "program" the iPhone again with the correct IMEI number. There must be another step required to reflash the baseband and get the correct IMEI number back. "
Here's yet another link to check out.
- (Take out your SIM from your iPhone.)--Still checking on this step.
- Download the 1.0.2 firmware to your computer and unzip it. It uses a .ipsw extension but your unzip program should still work. Change the extension if you have to.
- Extract the ramdisk as such:
dd if=009-7698-4.dmg of=ramdisk.dmg bs=512 skip=4 conv=sync
- Mount the extracted ramdisk.
- From the ramdisk, copy /usr/local/bin/bbupdater, /usr/local/standalone/firmware/ICE03.14.08_G.eep, and /usr/local/standalone/firmware/ICE03.14.08_G.fls to your iPhone. Place these into a folder on the OS partition (such as /bbupdate) and not into a folder on /var/root. The /var/root partition is set noexec and you cannot run programs from there.
- Disable com.apple.CommCenter.plist--either using UIctl or launchctl:
launchctl unload /System/Library/LaunchDaemons/com.apple.CommCenter.plist
- On the iPhone, navigate to the folder where you stored bbupdater and the eep and fls files.
- Run bbupdater as such:
./bbupdater -f *.fls -e *.eep
- Reload comm center:
launchctl load /System/Library/LaunchDaemons/com.apple.CommCenter.plist
- Reactivate with your favorite AT&T SIM. I personally like using iASign.
Thanks to Shaun T. Erickson and Kai Cherry
"What about restore?" -- Unlocks survive restore. It's a different part of your phone.
"Will this affect Jailbreak or 3rd party apps?" -- No but you still may have to restore before the next firmware update.
"Will the next firmware update lock me out from jailbreak and 3rd party apps?" -- We have to see but...likely yes.
"Do I have to update my iPhone when the next firmware is released?" -- No. But then you're kind of sticking your iPhone into a time warp. Everything else will change but not your iPhone. And I don't see there being a parallel development effort on the part of hackers.