DFU Mode

From The iPhone Wiki
Revision as of 14:18, 7 April 2011 by Corleonecolo (talk | contribs)
Jump to: navigation, search

DFU or Device Firmware Upgrade mode allows all devices to be restored from any state.

DFU Mode

Entering DFU Mode (Official Instructions)

  1. Plug your device into your computer.
  2. Turn off the device.
  3. Hold the Power button for 3 seconds
  4. Hold the Home button without releasing the Power button for 10 seconds
  5. Release the Power Button but keep holding the Home button
  6. Keep holding the Home button until you are alerted by iTunes saying that it has detected a device in Recovery Mode

Make sure the device screen is blank and no logos are present

Exiting DFU Mode

Hold Home and Power Button till the Apple Logo appears

DFU mode on Apple TV (2G)

Entering DFU Mode

  1. Plug the device into your computer using a microUSB cable.
  2. Force the device to reboot by holding down the "Menu" and "Down" buttons simultaneously for 6-7 seconds.
  3. Press "Menu" and "Play" simultaneously right after reboot, until a message pops up in iTunes, saying that it has detected an Apple TV in recovery mode.

Exiting DFU Mode

Enter True Hardware DFU Mode Automatically

The EnterDFU function in the MobileDevice Library does not enter true hardware DFU Mode. It is possible to Enter True Hardware DFU Mode without doing it manually but it cannot be exited unless a restore is performed.It is called the DFU Loop.

Steps

  • Make a copy of a fresh IPSW file
  • Open the IPSW as a zip folder and browse to /firmware/all_Flash/all_flash.xxxxx.production/
  • Extract LLB.*****.RELEASE.img3 and openit in a hex editor
  • Change some random bit or bits, it doesn't matter which or what you write
  • Add the edited file back to the zip, rename zip to ipsw and restore it to your device using iTunes
  • iTunes Restore will error out and your device will be in DFU Mode

DFU Mode Output to the computer

iProduct: "Apple Mobile Device (DFU Mode)"
iSerialNumber: "CPID:XXXX CPRV:15 CPFM:03 SCEP:03 BDID:00 ECID:XXXXXXXXXXXXXXXX SRTG:[iBoot-XXX.X.X]"

Revisions

S5L8900 (0x1222)

This is the device ID in the iPod Touch 1G, 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.