Difference between revisions of "Recovery Mode (Protocols)"

From The iPhone Wiki
Jump to: navigation, search
m (Updated examples for newer devices.)
 
(13 intermediate revisions by 6 users not shown)
Line 1: Line 1:
  +
[[Image:Iphone14promaxinrecm.png |thumb|right|An iPhone 14 Pro Max running in Recovery Mode, recreated using an extracted graphic.]]
  +
  +
==Recovery Mode 1.x (DevID=0x1280)==
 
This is the old [[Recovery Mode]] protocol.
 
This is the old [[Recovery Mode]] protocol.
   
==Implementions==
+
===Implementions===
 
*[http://lpahome.com/geohot/iphonere.rar kernel driver]
 
*[http://lpahome.com/geohot/iphonere.rar kernel driver]
 
*[http://www.iphonelinux.org/index.php/IBooter iBooter]
 
*[http://www.iphonelinux.org/index.php/IBooter iBooter]
  +
  +
==Recovery Mode 2.x (DevID=0x1281)==
  +
This is the new [[Recovery Mode]] protocol used in 2.0 iBoots.
  +
  +
==Recovery Mode 3.x (DevID=0x1282)==
  +
This is the new [[Recovery Mode]] protocol used in 3.0 iBoots.
  +
  +
==Recovery Mode 4.x (DevID=0x1283)==
  +
This is the new [[Recovery Mode]] protocol used in 4.1 iBoots.
  +
  +
===Commands===
  +
usb_control_msg(idev, 0xA1, 3, 0, 0, buf, 6, 1000); //get status
  +
usb_control_msg(idev, 0x40, 0, 0, 0, buf, strlen(buf), 1000); //send command
  +
usb_control_msg(idev, 0x21, 1, x, 0, fbuf, s, 1000); //send file
  +
  +
After sending a file, request the status several times. Also increment x as you send.
  +
  +
It also has another interface which appears like a USB to serial converter.
  +
  +
===Implementations===
  +
* [http://chronicdev.googlecode.com/svn/trunk/iRecovery/ iRecovery]
  +
* [https://github.com/cal0x/OpeniSend_rec OpeniSend_rec]
  +
  +
[[Category:Protocols (S5L)]]

Latest revision as of 20:24, 16 September 2022

An iPhone 14 Pro Max running in Recovery Mode, recreated using an extracted graphic.

Recovery Mode 1.x (DevID=0x1280)

This is the old Recovery Mode protocol.

Implementions

Recovery Mode 2.x (DevID=0x1281)

This is the new Recovery Mode protocol used in 2.0 iBoots.

Recovery Mode 3.x (DevID=0x1282)

This is the new Recovery Mode protocol used in 3.0 iBoots.

Recovery Mode 4.x (DevID=0x1283)

This is the new Recovery Mode protocol used in 4.1 iBoots.

Commands

usb_control_msg(idev, 0xA1, 3, 0, 0, buf, 6, 1000); //get status
usb_control_msg(idev, 0x40, 0, 0, 0, buf, strlen(buf), 1000); //send command
usb_control_msg(idev, 0x21, 1, x, 0, fbuf, s, 1000); //send file

After sending a file, request the status several times. Also increment x as you send.

It also has another interface which appears like a USB to serial converter.

Implementations