-
Notifications
You must be signed in to change notification settings - Fork 1.4k
iOS 11 ideviceinstaller, ideviceinfo not working #510
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Haven't tried yet. Is |
Now I tried ideviceinfo command using iPhone 7 with iOS 11(15A5278f).
|
You didn't compile libimobiledevice with debug support. Re-configure with |
I retry with In the following the data of DeviceCertificate, HostCertificate, RootCertificate are deleted and EscrowBag and other ids are modified by me.
|
Hmm the device just disconnects early as it seems. Apple changed something apparently. |
Can you try to run |
Same issue here on windows with iOS 11 beta. 10.3.3 is working without issue libplist: 2.0.0
|
I tried. It seems to be successful.
|
It seems that response failed at line 730 of lockdown.c and the response is returning with LOCKDOWN_E_ESCROW_LOCKED (-35).
|
The ValidatePair request was removed from iOS lockdownd, so it doesn't understand it. It will return that the command is invalid. |
How about:
|
@EliyahuStern generally yes, just need to make sure the actual pairing works with the open source usbmuxd for a new pairing. |
@nikias just installed ios 11 beta little while ago, and found that my code is not working (early disconnect after validate pair), so i checked with libimobile and same issue. i still plan to do communication capture (with hardware usb monitor), since itunes for windows seems to be working with ios11 beta. they might have something up in the sleeves, that makes seamless communication with old and new devices possible 🐱 |
@mexmer as I said, ValidatePair is technically not required even for older devices. At some point IIRC it was required to gain trusted host status ( |
i would probly leave it in my app for elder devices, but seems that ios 11 works without it. will need to redo session start handling tho', (i have different workflow that libimobile tools, and some stuff is running in paralel ) i still plan to check itunes communication. not sending validatepair saves one roundtrip tho' 😄 |
Ok I found an even older device with iOS 4.2.1 and this one actually expects ValidatePair. Since the oss usbmuxd actually handles all pre-iOS 7 devices separately, there is no change required for a previously unknown device. However if the device is already paired - and this also applies to the official usbmuxd - we still have to call ValidatePair to get trusted host status. |
Sounds like ValidatePair can be called only as a fallback for failed sessions (maybe after checking the os version). |
Nope, like nikias said, preios 5 devices require validatepair. While ios11 disconnects you, when you send validaterepair |
Thought my ipad with ios5 tends to reject session, if i don't use validate pair before secure service start |
@mexmer oh hmm... so if you do |
is there usbmuxd available with this modification already? i'm talking about my app, that communicates with iDevice directly (trough USB endpoints) i'm not sure about cause of this issue, but sometimes i get invalidhostid if i don't do validatepair, from ios 5. |
oh hm. maybe I need to do some more testing then. The open source usbmuxd does not require any changes since for versions before 7 it will call validate pair for a new pairing. For known devices the code change has to be in libimobiledevice to make sure validatepair is called for older devices. |
I will let you know, if i find out more. For now i "fixed" that in my app by calling validatepair for all pre trust (ios7) devices. |
I came up with this solution: |
thanks i will check that. |
I tried @nikias 's patch with the following devices and iOS version, ideviceinfo worked in all combinations. (:-) iPhone 4S, iOS 6.1.2 |
looks fine. |
@nikias 's patch works well with following devices / iOS versions: Thank you for nice solution. |
@nikias Thanks a lot for your answer. Just curious, what remains to be done in this issue to close it? |
I am not 100% satisfied with my patch somehow, so I am trying to come up with something that I like more... |
Great work @nikias Please let us know if you need help with testing or otherwise. |
Hi @nikias , what are the changes still to be made? Is there any way to help? |
@nikias Can we go with your patch? We'll soon need a new RoboVM version that supports iOS 11. |
Try this with iOS 11, this use the patch from @nikias
|
@nikias Do you have reason to believe your patch is actively harmful? If not, maybe it would be good idea to commit it to the repository, as you can always come up with a better solution later? |
Hi @nikias, Do you know about my issue ?I just modify as your advice.
|
Why did this massage have no likes? Was wondering how to apply the patch and this helped. Although I deleted the
Uninstalled libimobiledevice and reinstalled it with the changes from the patch. |
@EdgarsAvotins Because that patch was come from @nikias and only is a workaround, not to confirm it was safe yet. |
Hi 7 years later and I seem to have the same issue that the patch from @nikias apparently fixed - maybe over the years the patch fix dropped out of the code? I am using Mac OS Sonoma 14.6.1 (as my Raspberry Pi did not even find the device but the Mac does) and connecting to an original iPad version 1 with a Jailbreak running Cydia. The error is: and when run in debug I see: the iPad is connected ok, I can see it is paired, there is no request from the iPad to Trust the Mac however. Any idea? thanks! |
what iOS version is it running? does mac itself see ipad? if mac doesn't see ipad, libimobiledevice will not see it either. from error ERROR: Could not connect to lockdownd: SSL error (-5) i can see two possible causes
|
thanks for reply! iPad is running the latest available version for the original model - 5.1.1 and has the Cydia jailbreak. I can see that it is paired. It seems to be supported by MacOSX. I can connect it, I can see it in the Finder, I can restore, sync etc. but if try to copy a .ipa file then I see the icon appear on the iPad, it says waiting, then installing ... and then I get an error - ïTunes Sync .... xxx failed to install'. I cannot even run: ideviceinfo -k TrustedHostAttached From all the searching it seems to be |
ipa files have compatibility, so when you installing with ipa, make sure it's for your ios version or lower. as for ideviceinfo, sounds weird, if idevicepair works, then ideviceinfo should work also, since it uses same libraries. |
Sure, and thanks!, From the pairing: % idevicepair pair And here is the output. As I mentioned above, SSL connections seems to be where it spits out errors:
and
Full output below ...
|
from the error it looks like there is problem with cipher suite, so client tries to renegotiate encryption, but this is disabled (there was bug in this function discovered some years ago). you might try solution from here other than that, you would need to recompile libimobile to force only tls 1.2 when communicating with your device. |
bloody hell, that solution with the open ssl conf file worked!!! |
Hi,
In iOS 11 the libimobiledevice commands that need the lockdown service have stopped working.
Do you have the same problem ?
Any solution ?
Thanks
The text was updated successfully, but these errors were encountered: