Comments (5)
I just finished porting the latest version of libimobiledevice so now all the required components should be ported directly from this git (as opposed to libimobiledevice-win32 git). The pairing now reports success but still no go on the restore mode. Since I'm using the code through a cli dll and my current feedback system is a bit half assed, heres the output in 2(somewhat concurrent) pieces:
Reading data from version.xml
device udid: d589d5aa89b0fa349ad53b41a28cb2f0e42ce0ba
called
sending 287 bytes
sending 4 bytes
sending 287 bytes
sent 287 bytes
initial read=4
297 bytes following
received 297 bytes
success with type com.apple.mobile.lockdown
device udid: d589d5aa89b0fa349ad53b41a28cb2f0e42ce0ba
called
sending 287 bytes
sending 4 bytes
sending 287 bytes
sent 287 bytes
initial read=4
297 bytes following
received 297 bytes
success with type com.apple.mobile.lockdown
device udid: d589d5aa89b0fa349ad53b41a28cb2f0e42ce0ba
called
sending 287 bytes
sending 4 bytes
sending 287 bytes
sent 287 bytes
initial read=4
297 bytes following
received 297 bytes
success with type com.apple.mobile.lockdown
sending 4838 bytes
sending 4 bytes
sending 4838 bytes
sent 4838 bytes
initial read=4
239 bytes following
received 239 bytes
ValidatePair success
internal pairing mode
using 30390019477010630236257784 as SystemBUID
sending 422 bytes
sending 4 bytes
sending 422 bytes
sent 422 bytes
initial read=4
354 bytes following
received 354 bytes
Session startup OK
SessionID: 88657FDA-47E8-436E-9D5A-EEFD3D5516F6
Enable SSL Session: true
SSL mode enabled, cipher: AES256-SHA
sending 334 bytes
sending 4 bytes
SSL_write 4, sent 4
sending 334 bytes
SSL_write 334, sent 334
sent 334 bytes
SSL_read 4, received 4
initial read=4
325 bytes following
SSL_read 325, received 325
received 325 bytes
success
has a value
stopping session 88657FDA-47E8-436E-9D5A-EEFD3D5516F6
sending 366 bytes
sending 4 bytes
SSL_write 4, sent 4
sending 366 bytes
SSL_write 366, sent 366
sent 366 bytes
SSL_read 4, received 4
initial read=4
238 bytes following
SSL_read 238, received 238
received 238 bytes
success
SSL mode disabled
device udid: d589d5aa89b0fa349ad53b41a28cb2f0e42ce0ba
sending 336 bytes
sending 4 bytes
sending 336 bytes
sent 336 bytes
initial read=4
313 bytes following
received 313 bytes
success
has a value
device udid: d589d5aa89b0fa349ad53b41a28cb2f0e42ce0ba
telling device to enter recovery mode
sending 291 bytes
sending 4 bytes
sending 291 bytes
sent 291 bytes
initial read=4
240 bytes following
received 240 bytes
success
NOTE: using cached version data
Found device in Normal mode
Identified device as iPhone3,1
Extracting Restore.plist from IPSW
Product Version: 7.0
Product Build: 11A465 Major: 11
Device supports Image4: false
Custom firmware requested.
Disabled TSS request.
Variant: Customer Erase Install (IPSW)
This restore will erase your device data.
Using cached filesystem from 'iPhone3,1_7.0_11A465_Restore/038-3447-395.dmg'
Entering recovery mode...
Retrying connection...
x5
INFO: device serial number is DX3JDACGDPMW
Extracting iBEC.n90ap.RELEASE.dfu...
Not personalizing component iBEC...
Sending iBEC (283020 bytes)...
Getting ApNonce
in recovery mode...
f4
7e
31
62
6c
50
1f
e5
59
5f
5e
a2
5b
af
71
6a
fd
93
c9
5c
Recovery Mode Environment:
iBoot build-version=iBoot-1940.10.58
iBoot build-style=RELEASE
Sending AppleLogo...
Extracting applelogo@2x~iphone.s5l8930x.img3...
Not personalizing component AppleLogo...
Sending AppleLogo (6796 bytes)...
Extracting 038-3373-256.dmg...
Not personalizing component RestoreRamDisk...
Sending RestoreRamDisk (9572620 bytes)...
Extracting DeviceTree.n90ap.img3...
Not personalizing component RestoreDeviceTree...
Sending RestoreDeviceTree (74572 bytes)...
Extracting kernelcache.release.n90...
Not personalizing component RestoreKernelCache...
Sending RestoreKernelCache (8088396 bytes)...
About to restore device...
Waiting for device...
Attempt 1 to connect to restore mode device...
...
Attempt 180 to connect to restore mode device...
ERROR: Unable to connect to device in restore mode
ERROR: Unable to open device in restore mode
ERROR: Unable to restore device
from libusbmuxd.
According to the log, you are trying to restore iOS 7.0 to an iPhone 4 without personalizing it, which is not going to work. Your choices are to restore the latest iOS and to personalize it through Apple's signing service, or to patch the IPSW with saved SHSH blobs using something like iFaith. The latter option requires that you manually put the device in DFU mode, whereas your log indicates that the device entered recovery mode due to an idevicerestore request.
It appears to be stalling when it gets to pushing files in recovery mode. Normally there is a sequence of uploading a file and issuing a shell command to the device to process that file. This is repeated for the logo, the ramdisk, the device tree, and the kernel cache. When the shell command is issued, the signature on the file is verified. I haven't looked at this in a while, so I don't recall how you detect the result of the shell command (is there a return value?). At one time, you could connect with the irecovery tool in shell mode and get a single like error statement, but Apple has limited the amount of feedback available in recovery mode, so that may not be possible now.
from libusbmuxd.
Thanks, makes more sense now.
from libusbmuxd.
unable to connect to device
from libusbmuxd.
unable to connect to device. device_monitor didn't call.
from libusbmuxd.
Related Issues (20)
- Compile fail if older version installed HOT 1
- Create new release
- compile on MacOs with Xcode But error:#error No reference implementation for getifaddrs available for this platform.
- I believe a new version is needed or a dependency needs to be changed
- make failed for not found for architecture arm64 HOT 2
- usbmuxd_events_unsubscribe is blocked about 2~3 secs HOT 1
- iproxy erroring with RESULT_CONNREFUSED HOT 1
- recv failed: Resource temporarily unavailable
- Syntax error from ./autogen.sh HOT 1
- Connect just one iOS device.
- libusbmuxd and libimobiledevice-glue built for Windows can lockup on a disconnect HOT 2
- Typo in iproxy.c printf (`connecion` -> `connection`) HOT 1
- Inconsistency between libusbmuxd and libimobiledevice in network structure parsing
- waking up process all the time
- Remove, Reset iProxy Ports HOT 1
- Soname
- usbmuxd_send is broken HOT 1
- socket_create only binds to IPv6 any instead of IPv4 and IPv6 loopback HOT 3
- Fails to build with libplist 2.5.0 HOT 2
- Error connecting to device: Success HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libusbmuxd.