Ok so its confirmed that gingerbreak doesn't work on the final retail units, it only worked on those pre-release / Engineering samples. Fortunately Chainfire from the XDA forums has found a working root solution for us Galaxy S II owners. I've attached all the required download files here below.
All credit goes to Chainfire for this below guide (Who is awesome by the way!)
Quick guide (for experienced users)
- Reboot into download mode
- Using the attached Odin version, flash the attached XWKDD kernel as PDA. Do not use the PIT, do not have any options checked except for "Auto reboot" and "F. Reset Time"
- Wait for the device to reboot
- Use the "adb root" command to restart ADB in root mode, followed by "adb shell" to get a rooted shell; then you can manually push Superuser.apk / su, busybox, OR use SuperOneClick to finish the job for you.
Long guide (for beginners)
- Download the attached ODIN file and extract the .zip file
- Download the attached XWKDD, but do NOT extract the .tar file
- Download and extract SuperOneClick
- If you do not have Samsung's KIES 2.0 installed, download and install it. You need it to install the correct USB drivers, so the programs can communicate with the device. Reboot your computer after installation of KIES.
- Make sure your device is in USB debugging mode: Settings -> Applications -> Development -> USB debugging
- Reboot your device into download mode: Turn the device off, then power it on again by pressing and holding VolumeDown + Home + Power simultaneously. You will know when you are in download mode, it is really obvious
- Start ODIN
- Connect the device to your computer using USB
- Wait a few seconds, the ODIN screen should show you that a device is now connected
- Make sure that in ODIN NOTHING is checked, except the "Auto reboot" and "F. Reset Time" checkboxes. Press the "PDA" button, and select the "XWKDD_insecure.tar" file.
- Press "Start". ODIN you should now be flashing the kernel, and the device should reboot.
- Wait until the device is rebooted, and while still being connected over USB, start SuperOneClick, and press ROOT.
- Reboot the device
- Done !
Source: XDA Forums