libimobiledevice problem

Trying to connect Kubuntu 16.04 box with usb cable connected iPad Pro 12.9 running ios 10.0.2

:~$ /usr/bin/idevicepair -u ***** pair
SUCCESS: Paired with device

:~$ idevicepair validate *********
SUCCESS: Validated pairing with device

:~$ ifuse ~/media/ipad -u ******
GnuTLS error: Error in the pull function.
Failed to connect to lockdownd service on the device.
Try again. If it still fails try rebooting your device.

Reboot, repeat, same result. Anyone know what's wrong, OR is there a better forum to ask this question?

Thx, Gus


Apologies Rinzwind I wasn't trying to troll anyone. Anyway below are results per your suggestions. I'm not sure how to check if openssl is using SSLv3 (help?)

$ env | grep 99
GNUTLS_DEBUG_LEVEL=99

$ /usr/bin/idevicepair validate
gnutls[2]: Enabled GnuTLS 3.4.10 logging...
gnutls[2]: Intel SSSE3 was detected
gnutls[2]: Intel AES accelerator was detected
gnutls[2]: Intel GCM accelerator was detected
SUCCESS: Validated pairing with device ***********

(below mounting to /media/ipad not ~/media/ipad .....)

$ ifuse /media/ipad -u **********
gnutls[2]: Enabled GnuTLS 3.4.10 logging...
gnutls[2]: Intel SSSE3 was detected
gnutls[2]: Intel AES accelerator was detected
gnutls[2]: Intel GCM accelerator was detected
gnutls[5]: REC[0x19d7300]: Allocating epoch #0
gnutls[3]: ASSERT: gnutls_constate.c:596
gnutls[5]: REC[0x19d7300]: Allocating epoch #1
gnutls[4]: HSK[0x19d7300]: Keeping ciphersuite: GNUTLS_RSA_AES_128_CBC_SHA1 (00.2F)
gnutls[4]: HSK[0x19d7300]: Keeping ciphersuite: GNUTLS_RSA_AES_256_CBC_SHA1 (00.35)
gnutls[4]: EXT[0x19d7300]: Sending extension ENCRYPT THEN MAC (0 bytes)
gnutls[4]: EXT[0x19d7300]: Sending extension SAFE RENEGOTIATION (1 bytes)
gnutls[4]: EXT[0x19d7300]: Sending extension SESSION TICKET (0 bytes)
gnutls[4]: HSK[0x19d7300]: CLIENT HELLO was queued [62 bytes]
gnutls[11]: HWRITE: enqueued [CLIENT HELLO] 62. Total 62 bytes.
gnutls[11]: HWRITE FLUSH: 62 bytes in buffer.
gnutls[5]: REC[0x19d7300]: Preparing Packet Handshake(22) with length: 62 and min pad: 0
gnutls[9]: ENC[0x19d7300]: cipher: NULL, MAC: MAC-NULL, Epoch: 0
gnutls[11]: WRITE: enqueued 67 bytes for 0x19dac30. Total 67 bytes.
gnutls[5]: REC[0x19d7300]: Sent Packet[1] Handshake(22) in epoch 0 and length: 67
gnutls[11]: HWRITE: wrote 1 bytes, 0 bytes left.
gnutls[11]: WRITE FLUSH: 67 bytes in buffer.
gnutls[11]: WRITE: wrote 67 bytes, 0 bytes left.
gnutls[3]: ASSERT: gnutls_buffers.c:1154
gnutls[10]: READ: -2 returned from 0x19dac30, errno=0 gerrno=0
gnutls[3]: ASSERT: gnutls_buffers.c:367
gnutls[3]: ASSERT: gnutls_buffers.c:588
gnutls[3]: ASSERT: gnutls_record.c:1038
gnutls[3]: ASSERT: gnutls_record.c:1158
gnutls[3]: ASSERT: gnutls_buffers.c:1409
gnutls[3]: ASSERT: gnutls_handshake.c:1446
gnutls[3]: ASSERT: gnutls_handshake.c:2757
gnutls[5]: REC[0x19d7300]: Start of epoch cleanup
gnutls[5]: REC[0x19d7300]: End of epoch cleanup
gnutls[5]: REC[0x19d7300]: Epoch #0 freed
gnutls[5]: REC[0x19d7300]: Epoch #1 freed
GnuTLS error: Error in the pull function.
Failed to connect to lockdownd service on the device.
Try again. If it still fails try rebooting your device.

Tried following PPA and it works for me ( thanks to Martin Salbaba ),
Upgrade to libimobiledevice and relative packages to newer version:

sudo add-apt-repository ppa:martin-salbaba/ppa+libimobiledevice
sudo apt-get update
sudo apt install libimobiledevice-utils ifuse

Steps to pair:

Connected your iOS 10 device to your computer:

idevicepair pair

Select "Trust" to the Warning "Trust This Computer?" on your device:

idevicepair pair

Mount the iOS filesystem

ifuse Directory_to_mount_iDevice/

Above tested on iPhone 6s with iOS 10.1.1

And:
unmount properly:

fusemount -u Directory_to_mount_iDevice/

Reference:

How can I mount my iPhone 6s on Ubuntu 16.04?


It seems that with iOS 10.2 Apple has broken it again. To fix:

  1. Download from GitHub latest versions of: libplist, libusbmuxd, libimobiledevice, ifuse and usbmuxd

  2. Put them in /usr/local/lib and compile (if you don't know how to do, just follow instructions inside the readme file inside each lib and remember that the development version of openssl is called libssl-dev when required)

  3. Make sure that environment vars point to this new versions rather than the old ones included in official packages:

    sudo LD_LIBRARY_PATH=/usr/local/lib usbmuxd  
    export LD_LIBRARY_PATH=/usr/local/lib
    
  4. Connected your iOS 10.2 device to your computer:

    idevicepair pair
    
  5. Select "Trust" to the warning "Trust This Computer?" on your device:

    idevicepair pair
    
  6. Mount the iOS filesystem

    ifuse Mountpoint_Directory/
    

Tested on Ubuntu 16.04 and iPhone 7 with iOS 10.2