DFU Mode

DFU or Device Firmware Upgrade mode allows the S5L8900 to be restored from any state. It resides in the VROM and is vulnerable to the pwnage 2.0 exploit.

Entering DFU
Software cannot be used to reliably enter DFU. Software methods rely on sending a WTF file which either calls the "real" DFU mode in bootrom or emulates it. If you are attempting to exploit the DFU, it is advisable to always use the hardware method. If your NOR firmware is corrupted, of course you have no recourse but to use the hardware method.

How to Enter True Hardware DFU

 * 1) Turn off the device.
 * 2) Hold the power for 5 seconds, the device will turn on.
 * 3) Without letting go of power, press and hold the home button. Hold both buttons for 10 seconds, then let the just power button go.
 * 4) Keep the home button pressed until the screen flashes and stays "black" but lit.

If the Restore Logo is present on the screen, you are in Restore Mode, not DFU.

Exiting DFU Without Restoring
While in DFU, hold the power button for 30-60 seconds. When I have tested it, it has varied, so I don't know an exact length of time to hold it. Note that sometimes if you do this, when the device reboots from DFU, it will go into recovery mode for reasons unknown.

Another way to exit DFU through software is by the use of iRecovery. Don't feel like explaing the commands, but basically you send an iBSS from the firmware IPSW, then unplug the cable until there is a white or gray screen on the iPhone/iPod touch. From here, spawn a shell with iRecovery, and send the commands "fsboot" and then "reboot".

0x1222
This is the device ID in the iPod Touch First Generation, the iPhone, and the iPhone 3G. It is vulnerable to the Pwnage 2.0 stack overflow exploit.

0x1227
This is the device ID in the iPod Touch 2.