Difference between revisions of "IPhone Restore Procedure"

From The iPhone Wiki
Jump to: navigation, search
m
m (Newer iTunes)
Line 135: Line 135:
 
</plist>
 
</plist>
 
</pre>
 
</pre>
  +
  +
Between requests (with the same IPSW), the only field that should have changed is the "ApNonce" field.
   
 
Soon after, an HTML response is given with a "STATUS" and "MESSAGE", which iTunes may use to display an error. In this case of the firmware not being signed, this response may look as follows:
 
Soon after, an HTML response is given with a "STATUS" and "MESSAGE", which iTunes may use to display an error. In this case of the firmware not being signed, this response may look as follows:

Revision as of 03:37, 25 June 2019

Process

iTunes side

Older iTunes

iTunes has pretty much no say in how the restore goes along. It will send the DeviceTree, RAMDisk, and Kernel (respectively, as far as I know), but in firmwares 1.1.1 and up the program on the RAMDisk pretty much runs the show. On the Restore RAMDisk, it is called 'restored_external'. On the Update RAMDisk, it is called 'restored_update'.

Newer iTunes

In more recent versions of iTunes (v11.1.5.5 was tested), after the 3-way handshake is completed, an XML file containing information regarding blob-type data (APTicket, BBTicket, ApNonce), host OS (windows, etc.), IPSW contents (AppleLogo, DeviceTree etc.), and more is sent to an iTunes server. A known valid server at the time of writing is http://17.171.47.17. Here is an excerpt of such an XML file for Hoodoo_9B206_(iPod4,1):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>@APTicket</key>
	<true/>
	<key>@BBTicket</key>
	<true/>
	<key>@HostPlatformInfo</key>
	<string>windows</string>
	<key>@Locality</key>
	<string>en_US</string>
	<key>@UUID</key>
	<string>11111111-2222-3333-4444-555555555555</string>
	<key>@VersionInfo</key>
	<string>libauthinstall_Win-293.1.73</string>
	<key>ApBoardID</key>
	<integer>8</integer>
	<key>ApChipID</key>
	<integer>35120</integer>
	<key>ApECID</key>
	<integer>1111111111111</integer>
	<key>ApNonce</key>
	<data>
	ONlRegM3fzo+7cGtL9/aniiCCG0=
	</data>
	<key>ApProductionMode</key>
	<true/>
	<key>ApSecurityDomain</key>
	<integer>1</integer>
	<key>AppleLogo</key>
	<dict>
		<key>Digest</key>
		<data>
		w/Ot9AsAyFb2kBpUbC3ORaqO4Lg=
		</data>
		<key>PartialDigest</key>
		<data>
		QAAAAPgyAABhIpEhTSY+I+CpKlrdkjso5J/B4Q==
		</data>
		<key>Trusted</key>
		<true/>
	</dict>
	<key>BatteryCharging</key>
	<dict>
		<key>Digest</key>
		<data>
		s9KaVXC/CFtCBMZSfazTrIYhOLk=
		</data>
		<key>PartialDigest</key>
		<data>
		QAAAAHgUAAAjfMiMs+yDCgwZlOU1qwfQnrENfg==
		</data>
		<key>Trusted</key>
		<true/>
	</dict>
	<key>BatteryCharging0</key>
	<dict>
		<key>Digest</key>
		<data>
		ivQQJNgVolv69BNGjStpm7wqiGQ=
		</data>
		<key>PartialDigest</key>
		<data>
		QAAAAPglAACQnB3GPCLRe2LADyESQaC2wECaqw==
		</data>
		<key>Trusted</key>
		<true/>
	</dict>
	
	...more IPSW stuff here...

	<key>UniqueBuildID</key>
	<data>
	bGT3xqAX2hDF/ziVHiHYFfQM00c=
	</data>
	<key>iBEC</key>
	<dict>
		<key>BuildString</key>
		<string>iBoot-1219.62.15~2</string>
		<key>Digest</key>
		<data>
		JFNMrvR93u/wFWMeRouu+p2xhqU=
		</data>
		<key>PartialDigest</key>
		<data>
		QAAAALihAwAjZ+jNKOX44BrzdMPxeADZkbGxwg==
		</data>
		<key>Trusted</key>
		<true/>
	</dict>
	<key>iBSS</key>
	<dict>
		<key>BuildString</key>
		<string>iBoot-1219.62.15~2</string>
		<key>Digest</key>
		<data>
		pQiDjqGFGwaAeCh8x6B7E8RhuEo=
		</data>
		<key>PartialDigest</key>
		<data>
		QAAAALjxAACWl44oOHoA7JpsJZaYXUz9O3EIjA==
		</data>
		<key>Trusted</key>
		<true/>
	</dict>
	<key>iBoot</key>
	<dict>
		<key>Digest</key>
		<data>
		UAW21Dk1XK+aw7nbW85JLyPeunw=
		</data>
		<key>PartialDigest</key>
		<data>
		QAAAALihAwApn74x97QQ0fWb7EoKvD3rU1+G3A==
		</data>
		<key>Trusted</key>
		<true/>
	</dict>
	
	...even more IPSW stuff here...
	
</dict>
</plist>

Between requests (with the same IPSW), the only field that should have changed is the "ApNonce" field.

Soon after, an HTML response is given with a "STATUS" and "MESSAGE", which iTunes may use to display an error. In this case of the firmware not being signed, this response may look as follows:

STATUS=94&MESSAGE=This device isn't eligible for the requested build.

iPhone side (Pre-Restore Preparation)

Code that enables USB MUX (kernel module that forwards USB connections to TCP ports) by Comex: http://pastie.org/970295 See also: USBMuxConnectByPort

iPhone side (Procedure)

  • Wait For Storage Device (wait_for_storage_device)
  • Create Filesystem Partitions (create_filesystem_partitions)
  • ASR Stuff (restore_images)
  • Mount Filesystems (mount_filesystems)
  • Fix Up /Var (fixup_var)
  • Unmount Filesystems (unmount_filesystems)
  • Clear Persistent Boot Args (clear_persistent_boot_args)
  • NOR Update Prep(update_NOR)

Actual NOR Update Routine(Img3_update_NOR)

During this procedure, the system will start flashing the NOR. Interestingly, on devices that don't actually have a NOR (since the iPod touch (3rd generation)), this process still runs and flashes to a special firmware section of the NAND.

  • Flash Individual NOR Image(Img3_flash_NOR_image)
  • Update Baseband (update_baseband)====
  • Set Boot Stage (set_boot_stage)====
  • End NAND Epoch Update (end_nand_epoch_update)
  • Set Final NVRAM Arguments (no official name)

Computer-Side Restore Log

//struct that the restore daemon gets the information for and sends back to iTunes
2008-10-19 16:46:57.000 iTunes[221:13fe7]: type query response = <CFDictionary 0x13e2db10 [0xa01101a0]>{type = mutable, count = 5, capacity = 12, pairs = (
	3 : <CFString 0x125be4b0 [0xa01101a0]>{contents = "SerialNumber"} = <CFString 0x1257f230 [0xa01101a0]>{contents = "xxxxxxxxxxx"} //censored for obvious reasons
	5 : <CFString 0x125f96e0 [0xa01101a0]>{contents = "Result"} = <CFString 0x125bc9c0 [0xa01101a0]>{contents = "Success"}
	9 : <CFString 0xa011ad80 [0xa01101a0]>{contents = "Type"} = <CFString 0x12301bd0 [0xa01101a0]>{contents = "com.apple.mobile.restored"}
	12 : <CFString 0xce76220 [0xa01101a0]>{contents = "HardwareModel"} = <CFString 0x1237e0e0 [0xa01101a0]>{contents = "N82AP"}
	13 : <CFString 0x11295040 [0xa01101a0]>{contents = "RestoreProtocolVersion"} = <CFNumber 0x1019ad0 [0xa01101a0]>{value = +11, type = kCFNumberSInt32Type}
)}

//'''???'''
2008-10-19 16:46:57.000 iTunes[221:13fe7]: unable to open /Users/willstrafach/Library/Caches/Cleanup At Startup/iPhone Temporary Files/Firmware/device_map.txt: No such file or directory

//device type
2008-10-19 16:46:57.000 iTunes[221:13fe7]: board config = n82ap

//restore process
2008-10-19 16:46:57.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 28 progress -1 //start [[iPhone Restore Daemon#wait_for_storage_device]] routine. 
2008-10-19 16:46:57.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 11 progress -1 //start [[iPhone Restore Daemon#create_filesystem_partitions]] routine. [Creating partition map]
2008-10-19 16:46:57.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 12 progress -1 //Creating filesystem on root partition. all prepared! after this point it performs a wipe and does the actual partition creation. 
2008-10-19 16:47:03.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 12 progress -1 //Creating filesystem on var partition
2008-10-19 16:47:09.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 0 //starting [[iPhone Restore Daemon#restore_images]] routine. // This restores rootfs image via ASR
2008-10-19 16:47:19.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 1
2008-10-19 16:47:27.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 5
2008-10-19 16:47:28.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 6
2008-10-19 16:47:31.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 7
2008-10-19 16:47:33.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 8
2008-10-19 16:47:36.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 9
2008-10-19 16:47:38.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 10
2008-10-19 16:47:39.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 11
2008-10-19 16:47:40.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 12
2008-10-19 16:47:41.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 13
2008-10-19 16:47:41.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 14
2008-10-19 16:47:43.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 15
2008-10-19 16:47:44.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 16
2008-10-19 16:47:45.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 17
2008-10-19 16:47:46.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 18
2008-10-19 16:47:47.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 19
2008-10-19 16:47:48.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 20
2008-10-19 16:47:49.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 21
2008-10-19 16:47:50.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 22
2008-10-19 16:47:51.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 23
2008-10-19 16:47:52.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 24
2008-10-19 16:47:54.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 25
2008-10-19 16:47:55.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 26
2008-10-19 16:47:56.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 27
2008-10-19 16:47:57.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 28
2008-10-19 16:47:58.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 29
2008-10-19 16:47:59.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 30
2008-10-19 16:48:00.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 31
2008-10-19 16:48:01.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 32
2008-10-19 16:48:03.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 33
2008-10-19 16:48:04.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 34
2008-10-19 16:48:04.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 35
2008-10-19 16:48:05.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 36
2008-10-19 16:48:06.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 37
2008-10-19 16:48:07.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 38
2008-10-19 16:48:08.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 39
2008-10-19 16:48:09.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 40
2008-10-19 16:48:10.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 41
2008-10-19 16:48:13.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 42
2008-10-19 16:48:14.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 43
2008-10-19 16:48:15.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 44
2008-10-19 16:48:17.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 45
2008-10-19 16:48:18.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 46
2008-10-19 16:48:18.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 47
2008-10-19 16:48:20.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 48
2008-10-19 16:48:21.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 49
2008-10-19 16:48:23.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 50
2008-10-19 16:48:26.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 51
2008-10-19 16:48:26.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 52
2008-10-19 16:48:28.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 53
2008-10-19 16:48:29.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 54
2008-10-19 16:48:30.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 55
2008-10-19 16:48:32.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 56
2008-10-19 16:48:33.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 57
2008-10-19 16:48:34.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 58
2008-10-19 16:48:36.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 59
2008-10-19 16:48:37.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 60
2008-10-19 16:48:38.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 61
2008-10-19 16:48:40.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 62
2008-10-19 16:48:44.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 63
2008-10-19 16:48:46.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 64
2008-10-19 16:48:47.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 65
2008-10-19 16:48:49.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 66
2008-10-19 16:48:51.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 67
2008-10-19 16:48:52.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 68
2008-10-19 16:48:53.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 69
2008-10-19 16:48:54.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 70
2008-10-19 16:48:56.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 71
2008-10-19 16:48:57.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 72
2008-10-19 16:48:58.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 73
2008-10-19 16:48:59.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 74
2008-10-19 16:48:59.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 75
2008-10-19 16:49:00.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 76
2008-10-19 16:49:00.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 77
2008-10-19 16:49:01.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 78
2008-10-19 16:49:01.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 79
2008-10-19 16:49:02.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 80
2008-10-19 16:49:02.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 81
2008-10-19 16:49:03.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 82
2008-10-19 16:49:03.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 83
2008-10-19 16:49:04.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 84
2008-10-19 16:49:04.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 85
2008-10-19 16:49:05.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 86
2008-10-19 16:49:05.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 87
2008-10-19 16:49:06.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 88
2008-10-19 16:49:06.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 89
2008-10-19 16:49:06.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 90
2008-10-19 16:49:07.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 91
2008-10-19 16:49:07.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 92
2008-10-19 16:49:08.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 93
2008-10-19 16:49:08.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 94
2008-10-19 16:49:09.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 95
2008-10-19 16:49:09.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 96
2008-10-19 16:49:10.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 97
2008-10-19 16:49:10.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 98
2008-10-19 16:49:11.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 13 progress 100
2008-10-19 16:49:11.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 14 progress -1 //Verifying that restore was successful
2008-10-19 16:50:32.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 15 progress -1 //starting [[iPhone Restore Daemon#mount_filesystems]] routine. //Checking filesytem on root partition
2008-10-19 16:50:39.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 16 progress -1 //Mounting filesystem on root partition
2008-10-19 16:50:39.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 15 progress -1  //Checking filesytem on var partition
2008-10-19 16:50:39.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 16 progress -1 //mounting filesystem on var partition //this message is sent when both partitions have been successfully mounted and checked for errors.
2008-10-19 16:50:44.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 17 progress -1 //starting [[iPhone Restore Daemon#fixup_var]] routine.
2008-10-19 16:52:32.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 29 progress -1 //starting [[iPhone Restore Daemon#unmount_filesystems]] routine. //unmounting rooot filesystem
2008-10-19 16:52:32.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 29 progress -1 //unmounting var filesystem
2008-10-19 16:52:33.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 25 progress -1 //starting [[iPhone Restore Daemon#clear_persistent_boot_args]] routine.
2008-10-19 16:52:33.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 35 progress -1 //starting [[iPhone Restore Daemon#update_NOR]] routine. Loading NOR data to flash
2008-10-19 16:52:33.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 18 progress -1 //starting [[iPhone Restore Daemon#Img3_update_NOR]] routine.
2008-10-19 16:53:32.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 20 progress -1 //starting [[iPhone Restore Daemon#set_boot_stage]] routine.
2008-10-19 16:53:32.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: operation 32 progress -1 //starting [[iPhone Restore Daemon#end_nand_epoch]] routine.

//restore finished with no errors
2008-10-19 16:53:32.000 iTunes[221:13fe7]: device returned status 0
2008-10-19 16:53:32.000 iTunes[221:13fe7]: <Restore Device 0x114f4a00>: Restore succeeded
2008-10-19 16:53:32.000 iTunes[221:13fe7]: _AMRestoreModeDeviceFinalize: 0x114f4a00

iPhone-Side Log (iPhone 4 on 4.0)

 
 on ARM Device=uart2 at 0x82700000(0xd2c26000)
AppleS5L8900XSerial: Identified Serial Port on ARM Device=uart3 at 0x82800000(0xd2c35000)
AppleS5L8900XSerial: Identified Serial Port on ARM Device=uart6 at 0x82b00000(0xd2c7d000)
[000000.367924]: AppleSamsungDPTXController::disableInterrupts: disabling
[000000.000042]: AppleSamsungDPTXController::disableInterrupts: _outstandingIO=0 _pendingDisable=0
HighlandParkAudioDevice::start: 0x82063000, highland-park mIICNub: 0x81e19e00, mIISNub: 0x8243fe80, mSerialNub: 0x82442200, sampleRate = 44100, ol=8, oi=7
AppleAP3GDL::probe found device with ID: 0xd3
AppleAP3GDL::handleStart _calibrationMatrix [64814 -485 -28] [817 61868 104] [475 19 62579]
AppleAP3GDL::handleStart _calibrationInverseMatrix [66259 519 29] [-874 69415 -115] [-502 -24 68633]
AppleBaseband: inconsistent mux function setup (0 0 0 0 0 0)
AppleNANDFTL started with IOFlashStoragePartition provider
AppleNANDFTL located at physical nand block offset 16
metadata-whitening was found and it's set to 1
default-ftl-version was found and it's set to 1
diag-bits is supplied by AppleNANDFTL
[FTL:MSG] Apple NAND Driver (AND) RW
[FTL:MSG] FIL_Init            [OK]
[FTL:MSG] BUF_Init            [OK]
[FTL:MSG] FPart Init          [OK]
AppleMultitouchN1SPI: successfully started
AppleMultitouchN1SPI: using DMA for bootloading
AppleMultitouchN1SPI: Logging is ENABLED
virtual bool AppleCLCD::start_hardware(IOService*), ditherCfg: 0x80000001 mIsDitherFor8Bits: 1
IOReturn AppleCLCD::set_ditherTable_state(bool), mIsDitherFor8Bits is true, no dynamic dither table.
IOSurface: buffer allocation size is zero
AppleM2ScalerCSCDriver: Added framebuffer device: AppleCLCD  id: c8124000
AppleRGBOUT: TVOUT device is detected
AppleMultitouchN1SPI: detected HBPP. driver will be kept alive
AppleD1815PMUPowerSource: AppleUSBCableDetect 1
AppleD1815PMUPowerSource: AppleUSBCableType USBHost
AppleEmbeddedUSBArbitrator::_usbCableTypeNotificationGated : cableType: USBHost
AppleEmbeddedUSBArbitrator::handleUSBCableTypeChange : Connected to a USB Host
AppleEmbeddedUSBNub::withProvider : allocated new nub 0x824c5680
AppleEmbeddedUSBNub::initWithProvider : finished nub init
AppleEmbeddedUSBArbitrator::_publishNubs : nub published
AppleSynopsysOTGDevice::init : Logging Buffer Length = 4K
AppleSynopsysOTGDevice::start : object is 0x82a34800, registers at 0xd3bbe000, 0x86100000 physical
AppleSynopsysOTGDevice::findMaxEndpoints: in EPs: 7, out EPs: 7, max_endpoint: 8, num_endpoints: 14 
AppleSynopsysOTGDevice::handleUSBCableConnect cable connected, but don't have device configuration yet
AppleSynopsysOTGDevice::start : start finished
AppleImage3NORAccess::start imageVersion: 3
IOSDIOController::enumerateSlot(): Searching for SDIO device in slot: 0
IOSDIOController::enumerateSlot(): Found SDIO I/O device. Function count(1), memory(0)
IOSDIOIoCardDevice::parseFn0CIS(): Device manufacturer ID 0x2d0, Product ID 0x4329
IOSDIOIoCardDevice::parseFn0CIS(): Manufacturer: ""
IOSDIOIoCardDevice::parseFn0CIS(): Product:      ""
IOSDIOIoCardDevice::parseFn0CIS(): ProductInfo0: "s=B1"
IOSDIOIoCardDevice::parseFn0CIS(): ProductInfo1: "P=N90 m=3.1 V=m"
AppleBCMWLAN::init(): AppleBCMWLAN-42 May 26 2010 22:44:52
AppleBCMWLAN::init(): Starting with debug level: 4, debug flags: 00000000
AppleBCMWLAN::init(): AppleBCMWLAN-42 May 26 2010 22:44:52
AppleBCMWLAN::init(): Starting with debug level: 4, debug flags: 00000000
found suitable IOMobileFramebuffer: AppleCLCD
display-scale = 2
display-rotation = 0
found PTP interface
AppleSynopsysOTGDevice - Configuration: PTP
AppleSynopsysOTGDevice          Interface: PTP
AppleSynopsysOTGDevice - Configuration: iPod USB Interface
AppleSynopsysOTGDevice          Interface: USBAudioControl
AppleSynopsysOTGDevice          Interface: USBAudioStreaming
AppleSynopsysOTGDevice          Interface: IapOverUsbHid
AppleSynopsysOTGDevice - Configuration: PTP + Apple Mobile Device
AppleSynopsysOTGDevice          Interface: PTP
AppleSynopsysOTGDevice          Interface: AppleUSBMux
AppleSynopsysOTGDevice - Configuration: PTP + Apple Mobile Device + Apple USB Ethernet
AppleSynopsysOTGDevice          Interface: PTP
AppleSynopsysOTGDevice          Interface: AppleUSBMux
AppleSynopsysOTGDevice          Interface: AppleUSBEthernet
AppleSynopsysOTGDevice::gated_registerFunction Register function USBAudioControl
AppleSynopsysOTGDevice::gated_registerFunction Register function USBAudioStreaming
IOAccessoryPortUSB::start
AppleSynopsysOTGDevice::gated_registerFunction Register function IapOverUsbHid
virtual bool AppleUSBDeviceMux::start(IOService*) build: May 26 2010 22:42:28
init_waste
AppleSynopsysOTGDevice::gated_registerFunction Register function AppleUSBMux
AppleSynopsysOTGDevice::gated_registerFunction Register function AppleUSBEthernet
AppleUSBEthernetDevice::start: Device MAC address = 0a:0b:ad:0b:ab:e0
AppleUSBEthernetDevice::start: Host MAC address = 60:33:4b:ea:3d:32
AppleSynopsysOTGDevice::gated_registerFunction Register function PTP
AppleSynopsysOTGDevice::gated_registerFunction all functions registered- we are ready to start usb stack
AppleS5L8930XUSBPhy::powerUp : with_hsic: 0
AppleEmbeddedUSBArbitrator::enableDeviceClock : enable: 1, index: 0
read new style signature 0x43313131 (line:405)
[FTL:MSG] VSVFL Register  [OK]
[WMR:MSG] Metadata whitening is set in NAND signature
[FTL:MSG] VFL Init            [OK]
AppleS5L8930XUSBPhy::enableDeviceMode : enable: 1
virtual IOReturn AppleUSBDeviceMux::setProperties(OSObject*) setting debug level to 7
[FTL:MSG] VFL_Open            [OK]
[FTL:MSG] YAFTL Register  [OK]
AppleSynopsysOTGDevice::handleUSBReset
yaFTL::YAFTL_Open(l:2730): CXT is not valid . Performing full NAND R/O restore ...  
close(caller = 0x5695): remote port = 49152
close(caller = 0x5695): remote port = 49154
close(caller = 0x5695): remote port = 49153
close(caller = 0x5695): remote port = 49156
close(caller = 0x5695): remote port = 49157
AppleUSBDeviceMux::handleConnectResult new session 0x83f6b780 established 62078<-lo0->49152 62078<-usb->512
AppleUSBDeviceMux::sessionUpcall socket is closed, session 0x83f6b780 (62078<-lo0->49152 62078<-usb->512)
AppleUSBDeviceMux::handleConnectResult new session 0x83f6b580 established 62078<-lo0->49153 62078<-usb->768
AppleUSBDeviceMux::handleConnectResult new session 0x83f6ba00 established 62078<-lo0->49154 62078<-usb->1024
void AppleUSBDeviceMux::handleMuxTCPInput(__mbuf*) received reset, closing 0x83f6ba00
void AppleUSBDeviceMux::handleMuxTCPInput(__mbuf*) received reset, closing 0x83f6b580
AppleUSBDeviceMux::handleConnectResult new session 0x83f6ba00 established 62078<-lo0->49155 62078<-usb->1280
AppleUSBDeviceMux::handleConnectResult new session 0x83f6b580 established 62078<-lo0->49156 62078<-usb->1536
void AppleUSBDeviceMux::handleMuxTCPInput(__mbuf*) received reset, closing 0x83f6b580
AppleUSBDeviceMux::handleConnectResult new session 0x83f6b900 established 62078<-lo0->49157 62078<-usb->1792
void AppleUSBDeviceMux::handleMuxTCPInput(__mbuf*) received reset, closing 0x83f6b900
AppleUSBDeviceMux::handleConnectResult new session 0x83f6b600 established 62078<-lo0->49158 62078<-usb->2048
recv(6, 4) failed: connection closed
unable to read message size: -1
could not receive message
close(caller = 0x5695): remote port = 49155
close(caller = 0x5695): remote port = 49159
void AppleUSBDeviceMux::handleMuxTCPInput(__mbuf*) received reset, closing 0x83f6ba00
AppleUSBDeviceMux::handleConnectResult new session 0x83f6b900 established 62078<-lo0->49159 62078<-usb->2304
AppleUSBDeviceMux::sessionUpcall socket is closed, session 0x83f6b900 (62078<-lo0->49159 62078<-usb->2304)
client protocol version 12
Restore options:
	SystemPartitionSize            => <CFNumber 0xb05060 [0x1a9d5c]>{value = +1024, type = kCFNumberSInt64Type}
entering partition_nand_device
device supports boot-from-NAND
nand device is already partitioned
entering wait_for_storage_device
nand status = recover
AppleEmbeddedUSBArbitrator::_usbCableTypeNotificationGated : cableType: USBHost
AppleS5L8930XUSBArbitrator::handleUSBCableTypeChange : no change in cable-type
[FTL:MSG] FTL_Open            [OK]
entering format_effaceable_storage
effaceable storage is formatted, clearing it
effaceable storaged cleared
entering check_for_restore_log
executing /sbin/fsck_hfs
** /dev/rdisk0s1
   Executing fsck_hfs (version diskdev_cmds-488.1.7~39).
** Checking non-journaled HFS Plus Volume.
** Detected a case-sensitive volume.
** Checking extents overflow file.
** Checking catalog file.
** Checking multi-linked files.
** Checking catalog hierarchy.
** Checking extended attributes file.
** Checking volume bitmap.
** Checking volume information.
** The volume Apex8A293.N90OS appears to be OK.
executing /sbin/mount
restore log does not exist
entering create_filesystem_partitions
NAND format complete
creating encrypted data partition
wipe entire partition: 1 (old = 0 new = 1024)
block size for /dev/disk0s1: 8192
/sbin/newfs_hfs -s -v System -b 8192 -n a=8192,c=8192,e=8192 /dev/disk0s1 
executing /sbin/newfs_hfs
Initialized /dev/rdisk0s1 as a 1024 MB HFS Plus volume
block size for /dev/disk0s2s1: 8192
/sbin/newfs_hfs -s -v Data -J -P -b 8192 -n a=8192,c=8192,e=8192 /dev/disk0s2s1 
executing /sbin/newfs_hfs
Initialized /dev/rdisk0s2s1 as a 14 GB HFS Plus volume with a 8192k journal
entering restore_images
executing /usr/sbin/asr
ASR STATUS: start	223	multicast-client
ASR: Waiting for connection attempt from server
void AppleUSBDeviceMux::handleConnectResult(BulkUSBMuxSession*, errno_t) new session to port 12345 failed: 61
void AppleUSBDeviceMux::handleConnectResult(BulkUSBMuxSession*, errno_t) new session to port 12345 failed: 61
AppleBCMWLAN::handleIOKitBusyWatchdogTimeout(): Error, no successful firmware download after 60000 ms!! Giving up...
ASR STATUS: setup
ASR: Validating target...
ASR: done
ASR STATUS: metadata
ASR: Validating source...
AppleUSBDeviceMux::handleConnectResult new session 0x83f6b880 established 12345<-lo0->49162 12345<-usb->3072
ASR: Using Hardware AES
ASR: Using Hardware AES
ASR: Using Hardware AES
ASR: done
ASR: Using Hardware AES
ASR: Warning: You may not be able to start up a computer with the target volume.
ASR: Retrieving scan information...done
ASR: Validating sizes...
ASR: done
ASR STATUS: restore
ASR RESTORE PROGRESS: 2%
ASR RESTORE PROGRESS: 4%
ASR RESTORE PROGRESS: 6%
ASR RESTORE PROGRESS: 8%
ASR RESTORE PROGRESS: 10%
ASR RESTORE PROGRESS: 12%
ASR RESTORE PROGRESS: 14%
ASR RESTORE PROGRESS: 16%
ASR RESTORE PROGRESS: 18%
ASR RESTORE PROGRESS: 20%
ASR RESTORE PROGRESS: 22%
ASR RESTORE PROGRESS: 24%
ASR RESTORE PROGRESS: 26%
ASR RESTORE PROGRESS: 28%
ASR RESTORE PROGRESS: 30%
ASR RESTORE PROGRESS: 32%
ASR RESTORE PROGRESS: 34%
ASR RESTORE PROGRESS: 36%
ASR RESTORE PROGRESS: 38%
ASR RESTORE PROGRESS: 40%
ASR RESTORE PROGRESS: 42%
ASR RESTORE PROGRESS: 44%
ASR RESTORE PROGRESS: 46%
ASR RESTORE PROGRESS: 48%
ASR RESTORE PROGRESS: 50%
ASR RESTORE PROGRESS: 52%
ASR RESTORE PROGRESS: 54%
ASR RESTORE PROGRESS: 56%
ASR RESTORE PROGRESS: 58%
ASR RESTORE PROGRESS: 60%
ASR RESTORE PROGRESS: 62%
ASR RESTORE PROGRESS: 64%
ASR RESTORE PROGRESS: 66%
ASR RESTORE PROGRESS: 68%
ASR RESTORE PROGRESS: 70%
ASR RESTORE PROGRESS: 72%
ASR RESTORE PROGRESS: 74%
ASR RESTORE PROGRESS: 76%
ASR RESTORE PROGRESS: 78%
ASR RESTORE PROGRESS: 80%
ASR RESTORE PROGRESS: 82%
ASR RESTORE PROGRESS: 84%
ASR RESTORE PROGRESS: 86%
ASR RESTORE PROGRESS: 88%
ASR RESTORE PROGRESS: 90%
ASR RESTORE PROGRESS: 92%
ASR RESTORE PROGRESS: 94%
ASR RESTORE PROGRESS: 96%
ASR RESTORE PROGRESS: 98%
ASR RESTORE PROGRESS: 100%
ASR: Copied 995688960 bytes in 76.85 seconds, 12652.70 KiB/s
ASR STATUS: verify
ASR VERIFY PROGRESS: 2%
AppleUSBDeviceMux::sessionUpcall socket is closed, session 0x83f6b880 (12345<-lo0->49162 12345<-usb->3072)
ASR VERIFY PROGRESS: 4%
ASR VERIFY PROGRESS: 6%
ASR VERIFY PROGRESS: 8%
ASR VERIFY PROGRESS: 10%
ASR VERIFY PROGRESS: 12%
ASR VERIFY PROGRESS: 14%
ASR VERIFY PROGRESS: 16%
ASR VERIFY PROGRESS: 18%
ASR VERIFY PROGRESS: 20%
ASR VERIFY PROGRESS: 22%
ASR VERIFY PROGRESS: 24%
ASR VERIFY PROGRESS: 26%
ASR VERIFY PROGRESS: 28%
ASR VERIFY PROGRESS: 30%
ASR VERIFY PROGRESS: 32%
ASR VERIFY PROGRESS: 34%
ASR VERIFY PROGRESS: 36%
ASR VERIFY PROGRESS: 38%
ASR VERIFY PROGRESS: 40%
ASR VERIFY PROGRESS: 42%
ASR VERIFY PROGRESS: 44%
ASR VERIFY PROGRESS: 46%
ASR VERIFY PROGRESS: 48%
ASR VERIFY PROGRESS: 50%
ASR VERIFY PROGRESS: 52%
ASR VERIFY PROGRESS: 54%
ASR VERIFY PROGRESS: 56%
ASR VERIFY PROGRESS: 58%
ASR VERIFY PROGRESS: 60%
ASR VERIFY PROGRESS: 62%
ASR VERIFY PROGRESS: 64%
ASR VERIFY PROGRESS: 66%
ASR VERIFY PROGRESS: 68%
ASR VERIFY PROGRESS: 70%
ASR VERIFY PROGRESS: 72%
ASR VERIFY PROGRESS: 74%
ASR VERIFY PROGRESS: 76%
ASR VERIFY PROGRESS: 78%
ASR VERIFY PROGRESS: 80%
ASR VERIFY PROGRESS: 82%
ASR VERIFY PROGRESS: 84%
ASR VERIFY PROGRESS: 86%
ASR VERIFY PROGRESS: 88%
ASR VERIFY PROGRESS: 90%
ASR VERIFY PROGRESS: 92%
ASR VERIFY PROGRESS: 94%
ASR VERIFY PROGRESS: 96%
ASR VERIFY PROGRESS: 98%
ASR VERIFY PROGRESS: 100%
ASR: Verified SHA-1 checksum 995688960 bytes in 25.90 seconds, 37539.74 KiB/s
ASR STATUS: finish
entering mount_filesystems
executing /sbin/fsck_hfs
** /dev/rdisk0s1
   Executing fsck_hfs (version diskdev_cmds-488.1.7~39).
** Checking non-journaled HFS Plus Volume.
** Detected a case-sensitive volume.
** Checking extents overflow file.
** Checking catalog file.
** Checking multi-linked files.
** Checking catalog hierarchy.
** Checking extended attributes file.
** Checking volume bitmap.
** Checking volume information.
** The volume Apex8A293.N90OS appears to be OK.
executing /sbin/mount
executing /sbin/fsck_hfs
disk0s2s1: ioctl(_IOW,'d',24,4) is unsupported.
** /dev/rdisk0s2s1
   Executing fsck_hfs (version diskdev_cmds-488.1.7~39).
** Checking Journaled HFS Plus volume.
** Detected a case-sensitive volume.
** Checking extents overflow file.
** Checking catalog file.
** Checking multi-linked files.
** Checking catalog hierarchy.
** Checking extended attributes file.
** Checking volume bitmap.
** Checking volume information.
** The volume Data appears to be OK.
executing /sbin/mount
entering install_kernel_cache
writing kernelcache to /mnt1/System/Library/Caches/com.apple.kernelcaches/kernelcache
entering install_secure_vault_daemon
entering get_hardware_platform
platform-name = s5l8930x
linking /mnt1/usr/sbin/securekeyvaultd to /mnt1/usr/sbin/securekeyvaultd.s5l8930x
no securekeyvaultd for s5l8930x
entering fixup_var
remove_path /mnt1/private/var
executing /bin/rm
creating directory (owner=0 mode=755) /mnt1/private/var
entering modify_fstab
entering clear_persistent_boot_args
executing /usr/sbin/nvram
entering update_NOR
entering img3_update_NOR
img3_flash_NOR_image: flashing LLB data (length = 0x13999)
img3_flash_NOR_image: flashing NOR data (length = 0x2a999)
img3_flash_NOR_image: flashing NOR data (length = 0xe9d9)
img3_flash_NOR_image: flashing NOR data (length = 0x60d9)
img3_flash_NOR_image: flashing NOR data (length = 0x25c19)
img3_flash_NOR_image: flashing NOR data (length = 0x2e6d9)
img3_flash_NOR_image: flashing NOR data (length = 0x33419)
img3_flash_NOR_image: flashing NOR data (length = 0x11919)
img3_flash_NOR_image: flashing NOR data (length = 0x10f59)
img3_flash_NOR_image: flashing NOR data (length = 0x11259)
img3_flash_NOR_image: flashing NOR data (length = 0x13899)
img3_flash_NOR_image: flashing NOR data (length = 0x39719)
entering create_system_key_bag
attempting to create system key bag on /mnt2
booted from secure root: give device keybag access to everyone
entering update_gas_gauge_software
entering update_baseband
performing an ice3 baseband update (with AuthInstall)
bbupdater: Using chip information entries from device tree...bbupdater: OK
perform_ice3_baseband_update: registering for progress notifications
perform_ice3_baseband_update: querying baseband info
AppleKeyStore:cp_key_store_action(1)
AppleKeyStore:cp_key_store_action(1)
bbupdater: [02.00]::: ChipInfo: snum: 0x69EA05E4602049D148CC238D, chipid: 0x50, goldcertid: 0x101, nonce: 0x
perform_ice3_baseband_update: requesting rampsi from host
perform_ice3_baseband_update: received rampsi data (3702672 bytes)
perform_ice3_baseband_update: uploading rampsi
bbupdater: Validating parameters...bbupdater: OK
bbupdater: !!! bbupdater: [13.-1]::: 
Exception at :0:
	- BBUReturnError(1)/7: unable to locate firmware file
bbupdater: 
bbupdater: !!! bbupdater: Exception at :0:
	- BBUReturnError(1)/7: unable to locate firmware file
perform_ice3_baseband_update: baseband failed to boot the rampsi
perform_ice3_baseband_update: bbupdater error: Exception at :0:
	- BBUReturnError(1)/7: unable to locate firmware file

attempting to dump restore log
writing log file: /mnt1/restore.log