DFU Mode

From The iPhone Wiki
Revision as of 17:04, 8 August 2009 by Rusmac (talk | contribs)
Jump to: navigation, search

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

Entering / Exitting DFU

Software cannot be used to reliably enter DFU. Software methods rely on sending a signed WTF file which either calls the "real" DFU mode in bootrom or emulates it. Only ones calling the bootrom DFU is useful for exploiting bootrom (unpatchable) exploits and none exist that work for firmware 2.0 and later. 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 Power and Home for 10 seconds
  3. Release Power, and keep holding Home
  4. Keep holding home for 4-8 seconds or until you are alerted by your computer that it has detected a device in DFU.

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

Exiting DFU

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. Load iBSS, then iBoot, and send the "fsboot" command.


S5L8900 (0x1222)

This is the device ID in the iPod Touch First Generation, the iPhone, and the iPhone 3G. For more information about the protocol, see DFU 0x1222.

S5L8720, S5L8920, and WTF mode post-2.0 (0x1227)

This is the device ID in the iPod Touch 2G, the iPhone 3Gs, and WTF mode. For more information on the protocol, see DFU 0x1227.