Steps for jailbreaking an O2 iPhone
(This is for those who have a legitimate activated O2 iPhone)
1. Connect your iPhone via USB
2. Press the home and wake/sleep buttons and hold them until the iPhone resets and the screen goes black, then release the wake/sleep button.
3. When iTunes pops up the message "ITunes has detected an iPhone in recovery mode" release the home button.
4. 1.1.1 Firmware
Download both of these, if you are on a mac, don't use safari to download the firmware as it will extract it and you don't want that.
5. After these files have downloaded, hold Option+Alt and click on restore in iTunes, Select the 1.1.1 Firmware ISPW file. It will install and error out at the end with a 1015 error. This is the expected outcome.
6. Kick the iPhone out of this mode by running jailbreak.jar and clicking Boot From Recovery (don't enable any other options)
7. Open safari on the iPhone and go to http://jailbreakme.com scroll down and run Install AppSnapp, safari will exit and download/install AppSnapp, unlock the iPhone and its jailbroken.
8. Launch Installer on iPhone and scroll down to Tweaks (1.1.1) in the install tab. Select OkToPrep and install
9. Click Check For Update in iTunes and it will download and install the 1.1.2 update
10. Quit iTunes, run jailbreak.jar and select jailbreak (and install SSH as well)
Enabling EDGE on O2 again
use either the password alpine or dottie or the password that you set on jailbreak (each line is one command, so 3 in total)
ln -s /System/Library/Frameworks/CoreTelephony.framework/Support/O2_UK.plist /var/root/Library/Preferences/com.apple.carrier.plist
rm -f /var/root/Library/Preferences/SystemConfiguration/preferences.plist
Reboot the iPhone by switching off (hold the wake/sleep button and slide to power off) then starting it again.