The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "Recovery Mode (Protocols)"
ChronicDev (talk | contribs) |
HappyMac3920 (talk | contribs) m (Updated examples for newer devices.) |
||
(8 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)== |
==Recovery Mode 1.x (DevID=0x1280)== |
||
This is the old [[Recovery Mode]] protocol. |
This is the old [[Recovery Mode]] protocol. |
||
Line 8: | Line 10: | ||
==Recovery Mode 2.x (DevID=0x1281)== |
==Recovery Mode 2.x (DevID=0x1281)== |
||
This is the new [[Recovery Mode]] protocol used in 2.0 iBoots. |
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=== |
===Commands=== |
||
Line 20: | Line 28: | ||
===Implementations=== |
===Implementations=== |
||
* [http://chronicdev.googlecode.com/svn/trunk/iRecovery/ iRecovery] |
* [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
Contents
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.