Instantly share code, notes, and snippets.

Embed
What would you like to do?
On Ubuntu 16.04, since iOS 10 update, libimobiledevice can't connect to my iPhone. This is my attempt to document a fix.

Why this document?

I upgraded my iPhone 5s to iOS 10 and could no longer retrieve photos from it. This was unacceptable for me so I worked at achieving retrieving my photos. This document is my story (on Ubuntu 16.04).

The solution is to compile libimobiledevice and ifuse from source.

Audience

Who is this guide intended for?

Compiling software is what I would consider an advanced Linux skill. If you're not interested in tinkering with your operating system then this guide may not be for you. There's a lot of concepts I don't explain or gloss over with brevity to keep these instructions brief (compared to explaining everything).

While I did my best to think of beginners when creating this guide; this guide is not for the faint of heart. If you've not compiled software before then I recommend you practicing inside of VirtualBox before attempting this on your real system. Follow this guide at your own risk because I can't make any guarantees based on unknown individual skill level.

Support

This solution works for (posted via comments):

  • Archlinux
  • Debian GNU/Linux 8 - 64 bits
  • Linux Mint 18
  • Linux Mint 18.1
  • Linux Mint 18.2
  • Linux Mint 18.3
  • Ubuntu 16.04
  • Ubuntu 17.04

This solution does not work for the following:

  • Ubuntu 14.04

On Ubuntu 16.04, I have personally used this method to connect to:

  • iOS 10
  • iOS 10.1
  • iOS 10.2
  • iOS 10.3.1
  • iOS 10.3.3
  • iOS 11.2.2

Hardware: I have personally successfully used this method on an iPhone 5S. The following is a list of hardware successes from other users (via comments below).

  • iPhone 5C
  • iPhone 6
  • iPhone 6 Plus
  • iPhone 8 Plus

If you get this working on a flavor that I don't list, then please post a comment and I will update this support section.

Setup environment

Don't forget to set up your environment before building. I typically build and install packages to my local user at $HOME/usr.

sudo apt-get install -y build-essential git

Here's a peek at my .bashrc settings:

[ ! -d "$HOME/usr/src" ] && mkdir -p "$HOME/usr/src"
export PKG_CONFIG_PATH="${HOME}/usr/lib/pkgconfig:${PKG_CONFIG_PATH}"
export CPATH="${HOME}/usr/include:${CPATH}"

export MANPATH="${HOME}/usr/share/man:${MANPATH}"

export PATH="${HOME}/usr/bin:${PATH}"
export LD_LIBRARY_PATH="${HOME}/usr/lib:${LD_LIBRARY_PATH}"

Notes:

  • Important! PATH and LD_LIBRARY_PATH is important because it is the runtime of libimobiledevice and ifuse to fix mounting iOS 10 devices.
  • MANPATH is only used when looking up man pages so it's optional (I recommend it).
  • PKG_CONFIG_PATH and CPATH is used at compile time to resolve dependencies.

Build libimobiledevice and ifuse from HEAD

Building on other platforms and OSes (reported in user comments)

Jump to Clone and Build.

Building on Ubuntu 16.04

Install development packages discovered through trial and error.

sudo apt-get install automake libtool pkg-config libplist-dev libplist++-dev python-dev libssl-dev libusb-1.0-0-dev libfuse-dev

Clone and Build

Clone the sources.

cd ~/usr/src
for x in libusbmuxd usbmuxd libimobiledevice ifuse; do git clone https://github.com/libimobiledevice/${x}.git;done

Now build in order (the order matters):

  1. libplist (not required on Ubuntu 16.04)
  2. libusbmuxd
  3. libimobiledevice
  4. usbmuxd
  5. ifuse

Note: (Optional) If you have a system package installed which is in the above list, then I recommend uninstalling it. However, if you can't uninstall it, then no big deal. It is mostly a precautionary measure. As long as you set the bash environment variables properly, then your compiled version should not reference your system packages. Uninstalling any system packages is by no means required.

Note 2: Removing usbmuxd was required on Debian Jessie 8.10 mentioned in comments.

Build libusbmuxd
cd ~/usr/src/libusbmuxd
./autogen.sh --prefix="$HOME/usr"
make && make install
Build libimobiledevice
cd ~/usr/src/libimobiledevice
./autogen.sh --prefix="$HOME/usr"
make && make install
Build usbmuxd

Unfortunately, sudo make install is required because it needs to write to /lib/udev/rules.d and /lib/systemd/system.

cd ~/usr/src/usbmuxd
./autogen.sh --prefix="$HOME/usr"
make && sudo make install
Build ifuse
cd ~/usr/src/ifuse
./autogen.sh --prefix="$HOME/usr"
make && make install

Connect iPhone

Create a mount point and verify the paths of the tools before executing.

$ mkdir -p ~/usr/mnt

$ type -P ifuse
/home/sam/usr/bin/ifuse

$ type -P idevicepair
/home/sam/usr/bin/idevicepair

Now attempt to mount using ifuse.

$ idevicepair pair
SUCCESS: Paired with device 37b633350ab83dc815a6a97dcd6d327b12c41968

$ ifuse ~/usr/mnt/

$ ls ~/usr/mnt/
AirFair  Books  CloudAssets  DCIM  Downloads  FactoryLogs  iTunes_Control  MediaAnalysis  PhotoData  Photos  PhotoStreamsData  PublicStaging  Purchases  Radio  Recordings  Safari  Vibrations

When you're finished. Unmount ~/usr/mnt using fusermount. For example,

fusermount -u ~/usr/mnt

Browsing Photos

The mounted iPhone has an empty Photos folder. Strangely, this has no photos. Instead, look in the DCIM folder for photos.

I have only copied photos off of my iPhone as a backup. I have not tried copying photos to my iPhone.

Browsing Music

It is a known issue music sync no longer works in later versions of iOS with libimobiledevice. Since Apple changed some things (outlined in linked issues), music sync hasn't worked since as early as iOS 6 and still doesn't work.

@samrocketman

This comment has been minimized.

Show comment
Hide comment
Owner

samrocketman commented Nov 1, 2016

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@samrocketman

samrocketman Nov 1, 2016

Photos are located in DCIM folder.

Owner

samrocketman commented Nov 1, 2016

Photos are located in DCIM folder.

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@joemclo

This comment has been minimized.

Show comment
Hide comment
@joemclo

joemclo Nov 11, 2016

Thanks,
This really helped me out.

Just a note, I got an error when I tried to build usbmuxd before libimobiledevice.
I swapped the order and it worked great

joemclo commented Nov 11, 2016

Thanks,
This really helped me out.

Just a note, I got an error when I tried to build usbmuxd before libimobiledevice.
I swapped the order and it worked great

@darka91

This comment has been minimized.

Show comment
Hide comment
@darka91

darka91 commented Nov 29, 2016

Thanks

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@samrocketman

samrocketman Dec 27, 2016

@joemclo I'll try my instructions again in a fresh Vagrant VM and update them. Thanks for letting me know.

edit: fixed

Owner

samrocketman commented Dec 27, 2016

@joemclo I'll try my instructions again in a fresh Vagrant VM and update them. Thanks for letting me know.

edit: fixed

@murshid1988

This comment has been minimized.

Show comment
Hide comment
@murshid1988

murshid1988 Dec 29, 2016

Holy Moly. Thanks. This works.

murshid1988 commented Dec 29, 2016

Holy Moly. Thanks. This works.

@luckrk

This comment has been minimized.

Show comment
Hide comment
@luckrk

luckrk Jan 1, 2017

Thank you for that!

luckrk commented Jan 1, 2017

Thank you for that!

@eura665

This comment has been minimized.

Show comment
Hide comment
@eura665

eura665 Jan 2, 2017

Thank you Sam!!!!!!!
This works with LinuxMint18.1 and iOS10.2 ;-) ;-) Now I access my phone via usb cabel

eura665 commented Jan 2, 2017

Thank you Sam!!!!!!!
This works with LinuxMint18.1 and iOS10.2 ;-) ;-) Now I access my phone via usb cabel

@Sadi58

This comment has been minimized.

Show comment
Hide comment
@Sadi58

Sadi58 Jan 8, 2017

Thanks a lot Sam!

And here's a tiny & handy script I wrote and added to Unity Launcher > Unity Tweak Tool menu as iOS Device info, iOS Device mount, and iOS Device unmount:

#!/bin/bash

info()
{
Device=$(lsusb | grep Apple | awk -F "Inc. " '{print $2}')
VendorID=$(lsusb | grep Apple | awk -F " " '{print $6}' | awk -F ":" '{print $1}')
ProductID=$(lsusb | grep Apple | awk -F " " '{print $6}' | awk -F ":" '{print $2}')
zenity --class=iOS --info --width 200 --height 200 --title="iOS Device Connected" --text="\n \
<big><b>$Device</b></big>\n \
<b>• Vendor ID:</b> $VendorID\n \
<b>• Product ID:</b> $ProductID"
}

mount()
{
cd ~/
mkdir -p 'iOS Device'
ifuse 'iOS Device'
nautilus --no-desktop --new-window 'iOS Device'
}

unmount()
{
cd ~/
fusermount -u 'iOS Device'
rm -R 'iOS Device'
}

##############

if [ $# -eq 0 ]
then
	echo "You should specify a function as parameter; e.g. view_device_info"
	exit 1
else
	for func do
		[ "$(type -t -- "$func")" = function ] && "$func"
	done
fi

exit 0

Later I might try to include frequently used iOS devices in udev rules so that they are mounted and displayed by nautilus automatically when they are plugged in, etc. That's why I have "device info" included as well...

Sadi58 commented Jan 8, 2017

Thanks a lot Sam!

And here's a tiny & handy script I wrote and added to Unity Launcher > Unity Tweak Tool menu as iOS Device info, iOS Device mount, and iOS Device unmount:

#!/bin/bash

info()
{
Device=$(lsusb | grep Apple | awk -F "Inc. " '{print $2}')
VendorID=$(lsusb | grep Apple | awk -F " " '{print $6}' | awk -F ":" '{print $1}')
ProductID=$(lsusb | grep Apple | awk -F " " '{print $6}' | awk -F ":" '{print $2}')
zenity --class=iOS --info --width 200 --height 200 --title="iOS Device Connected" --text="\n \
<big><b>$Device</b></big>\n \
<b>• Vendor ID:</b> $VendorID\n \
<b>• Product ID:</b> $ProductID"
}

mount()
{
cd ~/
mkdir -p 'iOS Device'
ifuse 'iOS Device'
nautilus --no-desktop --new-window 'iOS Device'
}

unmount()
{
cd ~/
fusermount -u 'iOS Device'
rm -R 'iOS Device'
}

##############

if [ $# -eq 0 ]
then
	echo "You should specify a function as parameter; e.g. view_device_info"
	exit 1
else
	for func do
		[ "$(type -t -- "$func")" = function ] && "$func"
	done
fi

exit 0

Later I might try to include frequently used iOS devices in udev rules so that they are mounted and displayed by nautilus automatically when they are plugged in, etc. That's why I have "device info" included as well...

@cedriczg

This comment has been minimized.

Show comment
Hide comment
@cedriczg

cedriczg Jan 9, 2017

I was able to perform all the steps. However I am getting following error when executing ifuse:

$ idevicepair pair
SUCCESS: Paired with device f874f69d8adcef0a2dc207e565e2085cab45da02
$ ifuse ~/usr/mnt/
Failed to connect to lockdownd service on the device.
Try again. If it still fails try rebooting your device.

How can I sort out this issue? Thanks in advance.

N.B.: I had also to compile libplist in order to get libplist.so.3 under my /usr/local/lib

cedriczg commented Jan 9, 2017

I was able to perform all the steps. However I am getting following error when executing ifuse:

$ idevicepair pair
SUCCESS: Paired with device f874f69d8adcef0a2dc207e565e2085cab45da02
$ ifuse ~/usr/mnt/
Failed to connect to lockdownd service on the device.
Try again. If it still fails try rebooting your device.

How can I sort out this issue? Thanks in advance.

N.B.: I had also to compile libplist in order to get libplist.so.3 under my /usr/local/lib

@rocmail520

This comment has been minimized.

Show comment
Hide comment
@rocmail520

rocmail520 Jan 12, 2017

To my knowledge, remove libimobiledevice6 and then follow the instructions from here.

code:
sudo apt-get remove libimobiledevice6

rocmail520 commented Jan 12, 2017

To my knowledge, remove libimobiledevice6 and then follow the instructions from here.

code:
sudo apt-get remove libimobiledevice6

@rocmail520

This comment has been minimized.

Show comment
Hide comment
@rocmail520

rocmail520 Jan 14, 2017

This enables to view/copy all the folders but how to transfer music to/from,,, lets say using banshee?

rocmail520 commented Jan 14, 2017

This enables to view/copy all the folders but how to transfer music to/from,,, lets say using banshee?

@pajraj

This comment has been minimized.

Show comment
Hide comment
@pajraj

pajraj Jan 14, 2017

Please help me, I am new to Linux.
The .bashrc settings: I have to insert these into my .bashrc? I searched and I have about 6 .bashrc files in the system, which one should include these?

Thank you

pajraj commented Jan 14, 2017

Please help me, I am new to Linux.
The .bashrc settings: I have to insert these into my .bashrc? I searched and I have about 6 .bashrc files in the system, which one should include these?

Thank you

@danielrmeyer

This comment has been minimized.

Show comment
Hide comment
@danielrmeyer

danielrmeyer Jan 17, 2017

I was completely screwed after updating my iphone to the current version 10.2 (14C92). I followed your steps and I am able to get my photos and data from my iphone. I really don't know how to express my gratitude fully, but thank you for this terrific write-up.

danielrmeyer commented Jan 17, 2017

I was completely screwed after updating my iphone to the current version 10.2 (14C92). I followed your steps and I am able to get my photos and data from my iphone. I really don't know how to express my gratitude fully, but thank you for this terrific write-up.

@drchriscole

This comment has been minimized.

Show comment
Hide comment
@drchriscole

drchriscole Jan 19, 2017

Trying this on 14.04 without much luck. Firstly also needed https://github.com/libimobiledevice/libplist as installed version was too old for libusbmuxd. All compilations went smoothly, but I still get this:

$: ~/usr/src/ifuse> ifuse ~/usr/mnt
Failed to connect to lockdownd service on the device.
Try again. If it still fails try rebooting your device.

Anyone managed to get this working on 14.04?

drchriscole commented Jan 19, 2017

Trying this on 14.04 without much luck. Firstly also needed https://github.com/libimobiledevice/libplist as installed version was too old for libusbmuxd. All compilations went smoothly, but I still get this:

$: ~/usr/src/ifuse> ifuse ~/usr/mnt
Failed to connect to lockdownd service on the device.
Try again. If it still fails try rebooting your device.

Anyone managed to get this working on 14.04?

@jrthorne

This comment has been minimized.

Show comment
Hide comment
@jrthorne

jrthorne Jan 22, 2017

Thanks heaps. this really helped me out. Damn iPhone automatic updates!

jrthorne commented Jan 22, 2017

Thanks heaps. this really helped me out. Damn iPhone automatic updates!

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@samrocketman

samrocketman Jan 22, 2017

@drchriscole I can try to get this working with Ubuntu 14.04 tomorrow.

Owner

samrocketman commented Jan 22, 2017

@drchriscole I can try to get this working with Ubuntu 14.04 tomorrow.

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@samrocketman

samrocketman Jan 22, 2017

I tried and was not able to get it to work with Ubuntu 14.04. I might be able to get it to work if I spent a few more hours on it. But I don't want to spend several hours on it.

Owner

samrocketman commented Jan 22, 2017

I tried and was not able to get it to work with Ubuntu 14.04. I might be able to get it to work if I spent a few more hours on it. But I don't want to spend several hours on it.

@martinmolema

This comment has been minimized.

Show comment
Hide comment
@martinmolema

martinmolema Jan 24, 2017

You rock! It works! Normally I always have problems compiling from source, but your instructions work first time right!

martinmolema commented Jan 24, 2017

You rock! It works! Normally I always have problems compiling from source, but your instructions work first time right!

@andreaferretti

This comment has been minimized.

Show comment
Hide comment
@andreaferretti

andreaferretti Jan 25, 2017

That was great!

andreaferretti commented Jan 25, 2017

That was great!

@joemac42

This comment has been minimized.

Show comment
Hide comment
@joemac42

joemac42 Jan 29, 2017

I'm also pretty new with this and I would like some further explanation on how to modify .bashrc. Do I just copy the code example verbatim and paste into the .bashrc in my home directory or is it located somewhere else? Also, do I need to uninstall libimobiledevice before doing any of this? Does that then mean that once the package maintainer's version catches up with iOS 10.2, I should undo this and switch back?

joemac42 commented Jan 29, 2017

I'm also pretty new with this and I would like some further explanation on how to modify .bashrc. Do I just copy the code example verbatim and paste into the .bashrc in my home directory or is it located somewhere else? Also, do I need to uninstall libimobiledevice before doing any of this? Does that then mean that once the package maintainer's version catches up with iOS 10.2, I should undo this and switch back?

@drchriscole

This comment has been minimized.

Show comment
Hide comment
@drchriscole

drchriscole Feb 4, 2017

@samrocketman oh well. Thanks for trying nonetheless.

drchriscole commented Feb 4, 2017

@samrocketman oh well. Thanks for trying nonetheless.

@kflavin

This comment has been minimized.

Show comment
Hide comment
@kflavin

kflavin Feb 8, 2017

Worked great, thanks!

kflavin commented Feb 8, 2017

Worked great, thanks!

@janclaussen

This comment has been minimized.

Show comment
Hide comment
@janclaussen

janclaussen Feb 9, 2017

For me nothing really works. I tried installing the files to the home folder and to the root /usr/src. In both cases no changes of the behaviour. I get the same error message:

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.

Plus this output:
type -p ifuse
/usr/local/bin/ifuse

I tried executing the commands as root, as well as the user with sudo commands when needed.

What am I doing wrong? Can't you create a repository for this?

janclaussen commented Feb 9, 2017

For me nothing really works. I tried installing the files to the home folder and to the root /usr/src. In both cases no changes of the behaviour. I get the same error message:

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.

Plus this output:
type -p ifuse
/usr/local/bin/ifuse

I tried executing the commands as root, as well as the user with sudo commands when needed.

What am I doing wrong? Can't you create a repository for this?

@benwinding

This comment has been minimized.

Show comment
Hide comment
@benwinding

benwinding Feb 16, 2017

After executing the following command:

$ ./autogen.sh --prefix="$HOME/usr"

I get the following error:

bash: ./autogen.sh: /bin/sh^M: bad interpreter: No such file or directory

Any sugguestions?

benwinding commented Feb 16, 2017

After executing the following command:

$ ./autogen.sh --prefix="$HOME/usr"

I get the following error:

bash: ./autogen.sh: /bin/sh^M: bad interpreter: No such file or directory

Any sugguestions?

@robertoandrade

This comment has been minimized.

Show comment
Hide comment
@robertoandrade

robertoandrade Feb 20, 2017

Trying to do this on Ubuntu 14.04 with iOS 10.2 and all seems to works but idevicepair pair yields: No device found, is it plugged in?.

When lsusb it shows the phone just fine on the list. Anybody had success with this kind of setup?

robertoandrade commented Feb 20, 2017

Trying to do this on Ubuntu 14.04 with iOS 10.2 and all seems to works but idevicepair pair yields: No device found, is it plugged in?.

When lsusb it shows the phone just fine on the list. Anybody had success with this kind of setup?

@stuhli

This comment has been minimized.

Show comment
Hide comment
@stuhli

stuhli Feb 20, 2017

Great work! You made my day!

After weeks of not getting my pictures backed up I'm now able to do so.

Thanks a lot!

stuhli commented Feb 20, 2017

Great work! You made my day!

After weeks of not getting my pictures backed up I'm now able to do so.

Thanks a lot!

@bigbroseur

This comment has been minimized.

Show comment
Hide comment
@bigbroseur

bigbroseur Feb 26, 2017

Works fine on Debian GNU/Linux 8 - 64 bits with iOS 12.2.1
Thanks

bigbroseur commented Feb 26, 2017

Works fine on Debian GNU/Linux 8 - 64 bits with iOS 12.2.1
Thanks

@acyuta108

This comment has been minimized.

Show comment
Hide comment
@acyuta108

acyuta108 Mar 1, 2017

@robertoandrade when you pasted the commands to the terminal, it seems like your clipboard inserted and ^M which is a newline character. Try typing it out or open a new terminal window to make sure your current terminal does not have some strange stuff in it.

acyuta108 commented Mar 1, 2017

@robertoandrade when you pasted the commands to the terminal, it seems like your clipboard inserted and ^M which is a newline character. Try typing it out or open a new terminal window to make sure your current terminal does not have some strange stuff in it.

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Mar 6, 2017

Sam, you rock it, man!

Host: minty Kernel: 4.4.0-53-generic x86_64 (64 bit)
Desktop: Cinnamon 3.2.7 Distro: Linux Mint 18.1 Serena
iOS: 10.2.1 (14D27)

ghost commented Mar 6, 2017

Sam, you rock it, man!

Host: minty Kernel: 4.4.0-53-generic x86_64 (64 bit)
Desktop: Cinnamon 3.2.7 Distro: Linux Mint 18.1 Serena
iOS: 10.2.1 (14D27)

@gangesh

This comment has been minimized.

Show comment
Hide comment
@gangesh

gangesh Mar 6, 2017

Works as stated!

Now I want to transfer files from computer to iphone and view there for sharing etc.
Possible?

gangesh commented Mar 6, 2017

Works as stated!

Now I want to transfer files from computer to iphone and view there for sharing etc.
Possible?

@mjensen007

This comment has been minimized.

Show comment
Hide comment
@mjensen007

mjensen007 Mar 16, 2017

UPDATE:
I followed all instructions but still got the error "GnuTLS error: Error in the pull function."

I was finally able to get it working by searching my HD for "libimobile*" and deleting every instance of this file/folder from my HD. Then I deleted libusbmuxd, libimobiledevice, usbmuxd, ifuse folders from my ~/usr/src/ director, ran through sam's detailed steps again, and it worked!

mjensen007 commented Mar 16, 2017

UPDATE:
I followed all instructions but still got the error "GnuTLS error: Error in the pull function."

I was finally able to get it working by searching my HD for "libimobile*" and deleting every instance of this file/folder from my HD. Then I deleted libusbmuxd, libimobiledevice, usbmuxd, ifuse folders from my ~/usr/src/ director, ran through sam's detailed steps again, and it worked!

@degenaro

This comment has been minimized.

Show comment
Hide comment
@degenaro

degenaro Mar 18, 2017

Excellent! Sam thanks a bunch for this post - helped me with Ubuntu 16.04 and iPhone 6 with IOS 10.2.1.

degenaro commented Mar 18, 2017

Excellent! Sam thanks a bunch for this post - helped me with Ubuntu 16.04 and iPhone 6 with IOS 10.2.1.

@mtwsec

This comment has been minimized.

Show comment
Hide comment
@mtwsec

mtwsec Mar 20, 2017

Thanks so much for the detailed instuctions, Sam!
Worked perfectly for me - Ubuntu 16.04, iphone 5c, IOS 10.1.1.

mtwsec commented Mar 20, 2017

Thanks so much for the detailed instuctions, Sam!
Worked perfectly for me - Ubuntu 16.04, iphone 5c, IOS 10.1.1.

@obrut2

This comment has been minimized.

Show comment
Hide comment
@obrut2

obrut2 Mar 20, 2017

Perhaps I messed something up, as I executed the instructions multiple times, but I am running into a problem.

I can pair the device, but ifuse returns:
Failed to connect to lockdownd service on the device.
Try again. If it still fails try rebooting your device.

I am on Ubuntu 14.04, and iPhone 5C with iOS 10.2.1. I noticed that others on 14.04 got the same error. So perhaps there is a library that needs upgrading. Was anyone on 14.04 successful at getting these instructions to work?

Thanks!

obrut2 commented Mar 20, 2017

Perhaps I messed something up, as I executed the instructions multiple times, but I am running into a problem.

I can pair the device, but ifuse returns:
Failed to connect to lockdownd service on the device.
Try again. If it still fails try rebooting your device.

I am on Ubuntu 14.04, and iPhone 5C with iOS 10.2.1. I noticed that others on 14.04 got the same error. So perhaps there is a library that needs upgrading. Was anyone on 14.04 successful at getting these instructions to work?

Thanks!

@obrut2

This comment has been minimized.

Show comment
Hide comment
@obrut2

obrut2 Mar 20, 2017

Now I can confirm that these instructions work on Ubuntu 16.04, but not 14.04. If anyone knows of the missing piece for 14.04, please post. Thanks!

obrut2 commented Mar 20, 2017

Now I can confirm that these instructions work on Ubuntu 16.04, but not 14.04. If anyone knows of the missing piece for 14.04, please post. Thanks!

@sooheib

This comment has been minimized.

Show comment
Hide comment
@sooheib

sooheib Mar 20, 2017

After executing the following command:

./autogen.sh --prefix="$HOME/usr"

I get the following error:

configure: error: Package requirements (libplist >= 1.11) were not met:

Requested 'libplist >= 1.11' but version of libplist is 1.10

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables libplist_CFLAGS
and libplist_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Any sugguestions?

sooheib commented Mar 20, 2017

After executing the following command:

./autogen.sh --prefix="$HOME/usr"

I get the following error:

configure: error: Package requirements (libplist >= 1.11) were not met:

Requested 'libplist >= 1.11' but version of libplist is 1.10

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables libplist_CFLAGS
and libplist_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Any sugguestions?

@starkraving

This comment has been minimized.

Show comment
Hide comment
@starkraving

starkraving Mar 22, 2017

Thanks, I was finally able to copy my iPhone's photos onto my Ubuntu 16.04 machine. Couple of things:
1 - Trying to unmount ~/usr/mnt gives the error "fusermount: old style mounting not supported"
2 - Can this be used to regain access to the phone's "Documents" folder as well? That's gone missing since the iOS 10 upgrade as well.

starkraving commented Mar 22, 2017

Thanks, I was finally able to copy my iPhone's photos onto my Ubuntu 16.04 machine. Couple of things:
1 - Trying to unmount ~/usr/mnt gives the error "fusermount: old style mounting not supported"
2 - Can this be used to regain access to the phone's "Documents" folder as well? That's gone missing since the iOS 10 upgrade as well.

@Lergill

This comment has been minimized.

Show comment
Hide comment
@Lergill

Lergill Mar 24, 2017

New to this, on Ubuntu 16.04 Gnome3, When you say $HOME you really mean your HOME file. search Internet how to add to a bash file Found Ubuntu page to use echo at beginning and >> ~/.bashrc at the end of the lines, is this correct or should I remove.
Idevicepair pair I get success but Ifuse : Failed to connect to lockdownd service on the device.
Try again. If it still fails try rebooting your device.

Lergill commented Mar 24, 2017

New to this, on Ubuntu 16.04 Gnome3, When you say $HOME you really mean your HOME file. search Internet how to add to a bash file Found Ubuntu page to use echo at beginning and >> ~/.bashrc at the end of the lines, is this correct or should I remove.
Idevicepair pair I get success but Ifuse : Failed to connect to lockdownd service on the device.
Try again. If it still fails try rebooting your device.

@ricciolino

This comment has been minimized.

Show comment
Hide comment
@ricciolino

ricciolino Mar 27, 2017

Hi, in my ubuntu 16.10 not work!
after installing libusbmuxd, qhen i try to install libimobiledevice i got this error:

checking for libusbmuxd... no
configure: error: Package requirements (libusbmuxd >= 1.0.9) were not met:

No package 'libusbmuxd' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables libusbmuxd_CFLAGS
and libusbmuxd_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

What can i do to fix?
Thanks

ricciolino commented Mar 27, 2017

Hi, in my ubuntu 16.10 not work!
after installing libusbmuxd, qhen i try to install libimobiledevice i got this error:

checking for libusbmuxd... no
configure: error: Package requirements (libusbmuxd >= 1.0.9) were not met:

No package 'libusbmuxd' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables libusbmuxd_CFLAGS
and libusbmuxd_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

What can i do to fix?
Thanks

@Lergill

This comment has been minimized.

Show comment
Hide comment
@Lergill

Lergill Mar 27, 2017

Doing sudo apt-get remove libimobiledevice6 (has mention by rocmail520) it uninstall a lot things, resinstall, then got this error
No package 'libusbmuxd' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables libusbmuxd_CFLAGS
and libusbmuxd_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
root@gill-All-Series:/home/gill/usr/src/libimobiledevice# make && make install
make: *** Pas de cible spécifiée et aucun makefile n'a été trouvé. Arrêt. = make: *** No targets specified and no makefile found.Stop
As beginner to all this were do I go from here.
Regards

Lergill commented Mar 27, 2017

Doing sudo apt-get remove libimobiledevice6 (has mention by rocmail520) it uninstall a lot things, resinstall, then got this error
No package 'libusbmuxd' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables libusbmuxd_CFLAGS
and libusbmuxd_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
root@gill-All-Series:/home/gill/usr/src/libimobiledevice# make && make install
make: *** Pas de cible spécifiée et aucun makefile n'a été trouvé. Arrêt. = make: *** No targets specified and no makefile found.Stop
As beginner to all this were do I go from here.
Regards

@lngndvs

This comment has been minimized.

Show comment
Hide comment
@lngndvs

lngndvs Mar 30, 2017

I will mention that the script worked on an Archlinux system. I had to open another terminal window to unmount. Very nice script. Thank you.

lngndvs commented Mar 30, 2017

I will mention that the script worked on an Archlinux system. I had to open another terminal window to unmount. Very nice script. Thank you.

@ricciolino

This comment has been minimized.

Show comment
Hide comment
@ricciolino

ricciolino Apr 1, 2017

it works! I uninstalled libimobiledevice6 before following step by step guide Sam! Thanks

ricciolino commented Apr 1, 2017

it works! I uninstalled libimobiledevice6 before following step by step guide Sam! Thanks

@andreaferretti

This comment has been minimized.

Show comment
Hide comment
@andreaferretti

andreaferretti Apr 2, 2017

Will this work with the new filesystem introduces in iOS 10.3?

andreaferretti commented Apr 2, 2017

Will this work with the new filesystem introduces in iOS 10.3?

@AnaGallardo

This comment has been minimized.

Show comment
Hide comment
@AnaGallardo

AnaGallardo Apr 3, 2017

I can't get it work :(

My ubuntu:
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"

Error:
$ /home/cau1/usr/bin/ifuse ~/usr/mnt/
Failed to connect to lockdownd service on the device.
Try again. If it still fails try rebooting your device.

iOS version iphone 5S:
10.2.1 (14D27)

$ sudo apt-get remove libimobiledevice6
El paquete «libimobiledevice6» no está instalado, no se eliminará

Thank in advance :D

AnaGallardo commented Apr 3, 2017

I can't get it work :(

My ubuntu:
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"

Error:
$ /home/cau1/usr/bin/ifuse ~/usr/mnt/
Failed to connect to lockdownd service on the device.
Try again. If it still fails try rebooting your device.

iOS version iphone 5S:
10.2.1 (14D27)

$ sudo apt-get remove libimobiledevice6
El paquete «libimobiledevice6» no está instalado, no se eliminará

Thank in advance :D

@simonavril

This comment has been minimized.

Show comment
Hide comment
@simonavril

simonavril Apr 5, 2017

Thanks so much for taking the time to do this!

simonavril commented Apr 5, 2017

Thanks so much for taking the time to do this!

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@samrocketman

samrocketman Apr 27, 2017

You're welcome.

Owner

samrocketman commented Apr 27, 2017

You're welcome.

@malanmurphy

This comment has been minimized.

Show comment
Hide comment
@malanmurphy

malanmurphy Apr 29, 2017

Thanks so much for the detailed walkthrough. Unfortunately this doesn't appear to be working with 10.3.1. Everything installed correctly and no obvious errors, and lsusb sees the device (although after first connect my system hangs for a few seconds), but idevicepair returns a "no device found" error (details below). More problematic, though, is that every time I unplug the iphone from my system, the iphone immediately reboots. Happens every time. I assume this is something very new (and very bad) with 10.3.1.

user@linux:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial

user@linux:~$ lsusb
Bus 001 Device 004: ID 05ac:12a8 Apple, Inc. iPhone5/5C/5S/6

user@linux:~$ sudo systemctl status usbmuxd
● usbmuxd.service - Socket daemon for the usbmux protocol used by Apple devices
Loaded: loaded (/lib/systemd/system/usbmuxd.service; static; vendor preset: enabled)
Active: active (running) since Sat 2017-04-29 15:44:29 PDT; 2min 2s ago
Docs: man:usbmuxd(8)
Main PID: 1658 (usbmuxd)
Tasks: 2
Memory: 844.0K
CPU: 13ms
CGroup: /system.slice/usbmuxd.service
└─1658 /usr/local/sbin/usbmuxd --user usbmux --systemd

Apr 29 15:44:29 vmngplus systemd[1]: Started Socket daemon for the usbmux protocol used by Apple devices.
Apr 29 15:44:29 vmngplus usbmuxd[1658]: [16:13:29.643][3] usbmuxd v1.1.1 starting up
Apr 29 15:44:29 vmngplus usbmuxd[1658]: [16:13:29.647][3] Successfully dropped privileges to 'usbmux'
Apr 29 15:44:29 vmngplus usbmuxd[1658]: [16:13:29.657][3] Could not get old configuration descriptor for device 1-4: -5
Apr 29 15:44:51 vmngplus usbmuxd[1658]: [16:13:51.120][2] Could not get serial number for device 1-4: -7
Apr 29 15:44:51 vmngplus usbmuxd[1658]: [16:13:51.120][3] Initialization complete
Apr 29 15:44:51 vmngplus usbmuxd[1658]: [16:13:51.120][3] Enabled exit on SIGUSR1 if no devices are attached. Start a new instance with "--exit" to trigger.

user@linux:~$ idevicepair pair
No device found, is it plugged in?

Output from /var/log/syslog:

Sep 26 17:02:22 linux kernel: [ 208.325808] usb 1-2: new high-speed USB device number 3 using ehci-pci
Sep 26 17:02:22 linux kernel: [ 208.472043] usb 1-2: New USB device found, idVendor=05ac, idProduct=12a8
Sep 26 17:02:22 linux kernel: [ 208.472047] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Sep 26 17:02:22 linux kernel: [ 208.472049] usb 1-2: Product: iPhone
Sep 26 17:02:22 linux kernel: [ 208.472051] usb 1-2: Manufacturer: Apple Inc.
Sep 26 17:02:22 linux kernel: [ 208.472060] usb 1-2: SerialNumber: f0ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sep 26 17:02:23 linux systemd[1]: Started Socket daemon for the usbmux protocol used by Apple devices.
Sep 26 17:02:23 linux usbmuxd[2143]: [17:02:23.440][3] usbmuxd v1.1.0 starting up
Sep 26 17:02:23 linux usbmuxd[2143]: [17:02:23.441][3] Successfully dropped privileges to 'usbmux'
Sep 26 17:02:23 linux usbmuxd[2143]: [17:02:23.445][3] Could not get old configuration descriptor for device 1-3: -5
Sep 26 17:02:23 linux usbmuxd[2143]: [17:02:23.471][3] Connecting to new device on location 0x10003 as ID 1
Sep 26 17:02:23 linux usbmuxd[2143]: [17:02:23.471][3] Initialization complete
Sep 26 17:02:23 linux usbmuxd[2143]: [17:02:23.471][3] Enabled exit on SIGUSR1 if no devices are attached. Start a new instance with "--exit" to trigger.
Sep 26 17:02:23 linux usbmuxd[2143]: [17:02:23.472][3] Connected to v2.0 device 1 on location 0x10003 with serial number f0ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sep 26 17:02:23 linux kernel: [ 209.584713] ipheth 1-2:4.2: Apple iPhone USB Ethernet device attached

...and when I disconnect the device, output from syslog:

Apr 29 15:57:46 linux kernel: [ 1606.551241] usb 1-2: USB disconnect, device number 4
Apr 29 15:57:46 linux usbmuxd[1658]: [16:26:46.536][3] usbmuxd shutting down
Apr 29 15:57:46 linux usbmuxd[1658]: [16:26:46.637][3] Shutdown complete

malanmurphy commented Apr 29, 2017

Thanks so much for the detailed walkthrough. Unfortunately this doesn't appear to be working with 10.3.1. Everything installed correctly and no obvious errors, and lsusb sees the device (although after first connect my system hangs for a few seconds), but idevicepair returns a "no device found" error (details below). More problematic, though, is that every time I unplug the iphone from my system, the iphone immediately reboots. Happens every time. I assume this is something very new (and very bad) with 10.3.1.

user@linux:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial

user@linux:~$ lsusb
Bus 001 Device 004: ID 05ac:12a8 Apple, Inc. iPhone5/5C/5S/6

user@linux:~$ sudo systemctl status usbmuxd
● usbmuxd.service - Socket daemon for the usbmux protocol used by Apple devices
Loaded: loaded (/lib/systemd/system/usbmuxd.service; static; vendor preset: enabled)
Active: active (running) since Sat 2017-04-29 15:44:29 PDT; 2min 2s ago
Docs: man:usbmuxd(8)
Main PID: 1658 (usbmuxd)
Tasks: 2
Memory: 844.0K
CPU: 13ms
CGroup: /system.slice/usbmuxd.service
└─1658 /usr/local/sbin/usbmuxd --user usbmux --systemd

Apr 29 15:44:29 vmngplus systemd[1]: Started Socket daemon for the usbmux protocol used by Apple devices.
Apr 29 15:44:29 vmngplus usbmuxd[1658]: [16:13:29.643][3] usbmuxd v1.1.1 starting up
Apr 29 15:44:29 vmngplus usbmuxd[1658]: [16:13:29.647][3] Successfully dropped privileges to 'usbmux'
Apr 29 15:44:29 vmngplus usbmuxd[1658]: [16:13:29.657][3] Could not get old configuration descriptor for device 1-4: -5
Apr 29 15:44:51 vmngplus usbmuxd[1658]: [16:13:51.120][2] Could not get serial number for device 1-4: -7
Apr 29 15:44:51 vmngplus usbmuxd[1658]: [16:13:51.120][3] Initialization complete
Apr 29 15:44:51 vmngplus usbmuxd[1658]: [16:13:51.120][3] Enabled exit on SIGUSR1 if no devices are attached. Start a new instance with "--exit" to trigger.

user@linux:~$ idevicepair pair
No device found, is it plugged in?

Output from /var/log/syslog:

Sep 26 17:02:22 linux kernel: [ 208.325808] usb 1-2: new high-speed USB device number 3 using ehci-pci
Sep 26 17:02:22 linux kernel: [ 208.472043] usb 1-2: New USB device found, idVendor=05ac, idProduct=12a8
Sep 26 17:02:22 linux kernel: [ 208.472047] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Sep 26 17:02:22 linux kernel: [ 208.472049] usb 1-2: Product: iPhone
Sep 26 17:02:22 linux kernel: [ 208.472051] usb 1-2: Manufacturer: Apple Inc.
Sep 26 17:02:22 linux kernel: [ 208.472060] usb 1-2: SerialNumber: f0ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sep 26 17:02:23 linux systemd[1]: Started Socket daemon for the usbmux protocol used by Apple devices.
Sep 26 17:02:23 linux usbmuxd[2143]: [17:02:23.440][3] usbmuxd v1.1.0 starting up
Sep 26 17:02:23 linux usbmuxd[2143]: [17:02:23.441][3] Successfully dropped privileges to 'usbmux'
Sep 26 17:02:23 linux usbmuxd[2143]: [17:02:23.445][3] Could not get old configuration descriptor for device 1-3: -5
Sep 26 17:02:23 linux usbmuxd[2143]: [17:02:23.471][3] Connecting to new device on location 0x10003 as ID 1
Sep 26 17:02:23 linux usbmuxd[2143]: [17:02:23.471][3] Initialization complete
Sep 26 17:02:23 linux usbmuxd[2143]: [17:02:23.471][3] Enabled exit on SIGUSR1 if no devices are attached. Start a new instance with "--exit" to trigger.
Sep 26 17:02:23 linux usbmuxd[2143]: [17:02:23.472][3] Connected to v2.0 device 1 on location 0x10003 with serial number f0ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sep 26 17:02:23 linux kernel: [ 209.584713] ipheth 1-2:4.2: Apple iPhone USB Ethernet device attached

...and when I disconnect the device, output from syslog:

Apr 29 15:57:46 linux kernel: [ 1606.551241] usb 1-2: USB disconnect, device number 4
Apr 29 15:57:46 linux usbmuxd[1658]: [16:26:46.536][3] usbmuxd shutting down
Apr 29 15:57:46 linux usbmuxd[1658]: [16:26:46.637][3] Shutdown complete

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@samrocketman

samrocketman May 7, 2017

I'm not sure what's going on with your device. I have an iPhone 5S with iOS 10.3.1 and it connects just fine. Tested on Ubuntu 16.04 per my written instructions.

Owner

samrocketman commented May 7, 2017

I'm not sure what's going on with your device. I have an iPhone 5S with iOS 10.3.1 and it connects just fine. Tested on Ubuntu 16.04 per my written instructions.

@alirezafour

This comment has been minimized.

Show comment
Hide comment
@alirezafour

alirezafour May 7, 2017

It worked for me Thanks a lot but I have a simple question:
where should I put my music from my computer to the device ?
I find this Device/iTunes_Control/Music/ and all of my music is there but they are weird they have different name and all in the F01-F99 folders
where should I put my music in order to don't damage to anything else :D ?

alirezafour commented May 7, 2017

It worked for me Thanks a lot but I have a simple question:
where should I put my music from my computer to the device ?
I find this Device/iTunes_Control/Music/ and all of my music is there but they are weird they have different name and all in the F01-F99 folders
where should I put my music in order to don't damage to anything else :D ?

@ricciolino

This comment has been minimized.

Show comment
Hide comment
@ricciolino

ricciolino May 14, 2017

Hello to everyone, as I posted 1 month ago, the procedure works on ubuntu 16.10 with ios 10.3.1 but always if you uninstall the libimobiledevice6 package first, the problem is that when you uninstall this package, you have a login loop And every time I have to reinstall ubuntu-desktop, does anyone know how to avoid this inconvenience?

ricciolino commented May 14, 2017

Hello to everyone, as I posted 1 month ago, the procedure works on ubuntu 16.10 with ios 10.3.1 but always if you uninstall the libimobiledevice6 package first, the problem is that when you uninstall this package, you have a login loop And every time I have to reinstall ubuntu-desktop, does anyone know how to avoid this inconvenience?

@debottamKundu

This comment has been minimized.

Show comment
Hide comment
@debottamKundu

debottamKundu May 20, 2017

Hi everyone, I uninstalled libmobiledevice6 and built it from the source, but I'm still getting the following error:

configure: error: preflight worker support requested but libimobiledevice could not be found

debottamKundu commented May 20, 2017

Hi everyone, I uninstalled libmobiledevice6 and built it from the source, but I'm still getting the following error:

configure: error: preflight worker support requested but libimobiledevice could not be found

@memnoth

This comment has been minimized.

Show comment
Hide comment
@memnoth

memnoth May 29, 2017

it doesn't work on iOS 10.3.2
i got an error that GnuTLS error: Error in the pull function.

memnoth commented May 29, 2017

it doesn't work on iOS 10.3.2
i got an error that GnuTLS error: Error in the pull function.

@pgorszkowski

This comment has been minimized.

Show comment
Hide comment
@pgorszkowski

pgorszkowski Jun 1, 2017

Do you have any suspicions why it does not work on ubuntu 14.04?

pgorszkowski commented Jun 1, 2017

Do you have any suspicions why it does not work on ubuntu 14.04?

@dno89

This comment has been minimized.

Show comment
Hide comment
@dno89

dno89 Jun 1, 2017

Thank you very much dude!

dno89 commented Jun 1, 2017

Thank you very much dude!

@cbatson

This comment has been minimized.

Show comment
Hide comment
@cbatson

cbatson Jun 6, 2017

THANK YOU

Here's the steps to build for OS X.

brew install libplist
brew uninstall libtool && brew install libtool
cd ~/usr/src
for x in libusbmuxd libimobiledevice ifuse; do git clone https://github.com/libimobiledevice/${x}.git;done
export PKG_CONFIG_PATH="${HOME}/usr/lib/pkgconfig:${PKG_CONFIG_PATH}"
export PATH="${HOME}/usr/bin:${PATH}"
export LD_LIBRARY_PATH="${HOME}/usr/lib:${LD_LIBRARY_PATH}"
cd ~/usr/src/libusbmuxd
./autogen.sh --prefix="$HOME/usr"
make && make install
cd ~/usr/src/libimobiledevice
./autogen.sh --prefix="$HOME/usr"
make && make install
cd ~/usr/src/ifuse
./autogen.sh --prefix="$HOME/usr"
make && make install

libtool uninstall/install due to this. usbmuxd appears to be unneeded on OS X.

cbatson commented Jun 6, 2017

THANK YOU

Here's the steps to build for OS X.

brew install libplist
brew uninstall libtool && brew install libtool
cd ~/usr/src
for x in libusbmuxd libimobiledevice ifuse; do git clone https://github.com/libimobiledevice/${x}.git;done
export PKG_CONFIG_PATH="${HOME}/usr/lib/pkgconfig:${PKG_CONFIG_PATH}"
export PATH="${HOME}/usr/bin:${PATH}"
export LD_LIBRARY_PATH="${HOME}/usr/lib:${LD_LIBRARY_PATH}"
cd ~/usr/src/libusbmuxd
./autogen.sh --prefix="$HOME/usr"
make && make install
cd ~/usr/src/libimobiledevice
./autogen.sh --prefix="$HOME/usr"
make && make install
cd ~/usr/src/ifuse
./autogen.sh --prefix="$HOME/usr"
make && make install

libtool uninstall/install due to this. usbmuxd appears to be unneeded on OS X.

@pixerit

This comment has been minimized.

Show comment
Hide comment
@pixerit

pixerit Jun 7, 2017

Has anyone worked with iOS 10.3.2? I'm having issues where it's causing iOS to crash and reboot.

pixerit commented Jun 7, 2017

Has anyone worked with iOS 10.3.2? I'm having issues where it's causing iOS to crash and reboot.

@softorchestra

This comment has been minimized.

Show comment
Hide comment
@softorchestra

softorchestra Jun 15, 2017

Holy F#@$ing Crapola Batman, this works XLNT!

I just got 3 machines working with this.

pixerit I'm using iOS 10.3.2 and haven't seen any issue yet. Happy as a clam as I can get my pictures off my phone again.

Thank You so much samrocketman, my hero this week! 👍

Apple is not playing well with the iPhone...shame on them...this is about the 4th time they broke Linux and probably intentional...I've been using my wife's iMac to get the pics off my phone. This is a huge find to Google and find this page... 👍

softorchestra commented Jun 15, 2017

Holy F#@$ing Crapola Batman, this works XLNT!

I just got 3 machines working with this.

pixerit I'm using iOS 10.3.2 and haven't seen any issue yet. Happy as a clam as I can get my pictures off my phone again.

Thank You so much samrocketman, my hero this week! 👍

Apple is not playing well with the iPhone...shame on them...this is about the 4th time they broke Linux and probably intentional...I've been using my wife's iMac to get the pics off my phone. This is a huge find to Google and find this page... 👍

@fwd079

This comment has been minimized.

Show comment
Hide comment
@fwd079

fwd079 Jun 17, 2017

Ubuntu 16.04, the set up doesn't work.
Fails on second step (~/src/libimobiledevice) when we type:
sudo ./autogen.sh --prefix="$HOME/usr"

Fails with following message:

checking for libusbmuxd... no

configure: error: Package requirements (libusbmuxd >= 1.0.9) were not met:

No package 'libusbmuxd' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables libusbmuxd_CFLAGS
and libusbmuxd_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

I've tried for two hours, abandoning the approach now. But reporting it.

fwd079 commented Jun 17, 2017

Ubuntu 16.04, the set up doesn't work.
Fails on second step (~/src/libimobiledevice) when we type:
sudo ./autogen.sh --prefix="$HOME/usr"

Fails with following message:

checking for libusbmuxd... no

configure: error: Package requirements (libusbmuxd >= 1.0.9) were not met:

No package 'libusbmuxd' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables libusbmuxd_CFLAGS
and libusbmuxd_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

I've tried for two hours, abandoning the approach now. But reporting it.

@softorchestra

This comment has been minimized.

Show comment
Hide comment
@softorchestra

softorchestra Jun 20, 2017

fwd079,

You need to build it, libusbmuxd is the first one on the list of packages to build from sources. Maybe you missed the part about adding LD_LIBRARY_CONFIG ? samrocketman made it pretty clear and gave you a snippet to add to your .bashrc (or .bash_profile is where I prefer to keep that type of stuff). If that doesn't point to $HOME/usr/lib it won't find the library.

Go back to the top and read the document again, and follow it rather than skipping through it.

softorchestra commented Jun 20, 2017

fwd079,

You need to build it, libusbmuxd is the first one on the list of packages to build from sources. Maybe you missed the part about adding LD_LIBRARY_CONFIG ? samrocketman made it pretty clear and gave you a snippet to add to your .bashrc (or .bash_profile is where I prefer to keep that type of stuff). If that doesn't point to $HOME/usr/lib it won't find the library.

Go back to the top and read the document again, and follow it rather than skipping through it.

@dakira

This comment has been minimized.

Show comment
Hide comment
@dakira

dakira Jun 24, 2017

Just an FYI, for 17.04 none of this is needed. You only need to install ifuse (from the official repositories) and mount your device as described here.

dakira commented Jun 24, 2017

Just an FYI, for 17.04 none of this is needed. You only need to install ifuse (from the official repositories) and mount your device as described here.

@PeterPanTW

This comment has been minimized.

Show comment
Hide comment
@PeterPanTW

PeterPanTW Jun 26, 2017

Sorry!

I want to ask a question.


Build libusbmuxd

cd ~/usr/src/libusbmuxd
./autogen.sh --prefix="$HOME/usr"
make && make install
Build libimobiledevice

cd ~/usr/src/libimobiledevice
./autogen.sh --prefix="$HOME/usr"
make && make install
Build usbmuxd

Unfortunately, sudo make install is required because it needs to write to /lib/udev/rules.d and /lib/systemd/system.

cd ~/usr/src/usbmuxd
./autogen.sh --prefix="$HOME/usr"
make && sudo make install
Build ifuse

cd ~/usr/src/ifuse
./autogen.sh --prefix="$HOME/usr"
make && make install


Where type These command?

PeterPanTW commented Jun 26, 2017

Sorry!

I want to ask a question.


Build libusbmuxd

cd ~/usr/src/libusbmuxd
./autogen.sh --prefix="$HOME/usr"
make && make install
Build libimobiledevice

cd ~/usr/src/libimobiledevice
./autogen.sh --prefix="$HOME/usr"
make && make install
Build usbmuxd

Unfortunately, sudo make install is required because it needs to write to /lib/udev/rules.d and /lib/systemd/system.

cd ~/usr/src/usbmuxd
./autogen.sh --prefix="$HOME/usr"
make && sudo make install
Build ifuse

cd ~/usr/src/ifuse
./autogen.sh --prefix="$HOME/usr"
make && make install


Where type These command?

@Jaykipu

This comment has been minimized.

Show comment
Hide comment
@Jaykipu

Jaykipu Jun 29, 2017

Great !! Thanks a lot. Works like a charm on Ubuntu 16.04 LTS.

Jaykipu commented Jun 29, 2017

Great !! Thanks a lot. Works like a charm on Ubuntu 16.04 LTS.

@OldUncleMe

This comment has been minimized.

Show comment
Hide comment
@OldUncleMe

OldUncleMe Jul 1, 2017

I had installed all the utilities mentioned or already had them onboard, but was unable to connect.
iPad Air II (10.3.2) & Ubuntu 16.04

Followed the steps above and it worked like a charm. Note that my iPad was disconnected to the
USB cable until the directions following "Now attempt to mount using ifuse."

Thanks for the writeup.
/..

OldUncleMe commented Jul 1, 2017

I had installed all the utilities mentioned or already had them onboard, but was unable to connect.
iPad Air II (10.3.2) & Ubuntu 16.04

Followed the steps above and it worked like a charm. Note that my iPad was disconnected to the
USB cable until the directions following "Now attempt to mount using ifuse."

Thanks for the writeup.
/..

@anton-khodak

This comment has been minimized.

Show comment
Hide comment
@anton-khodak

anton-khodak Jul 2, 2017

Thanks a lot, worked for Ubuntu 16.04, one thing is the speed of transfer is painfully slow, about 500 Kb/sec, is it just me?

anton-khodak commented Jul 2, 2017

Thanks a lot, worked for Ubuntu 16.04, one thing is the speed of transfer is painfully slow, about 500 Kb/sec, is it just me?

@cacampbell

This comment has been minimized.

Show comment
Hide comment
@cacampbell

cacampbell commented Jul 5, 2017

Thanks!

@binron

This comment has been minimized.

Show comment
Hide comment
@binron

binron Jul 5, 2017

My steps for OS X

brew uninstall libtool && brew install libtool
brew uninstall libimobiledevice && brew install --HEAD libimobiledevice
brew uninstall ifuse && brew install --HEAD ifuse

See also comment from cbatson (above)

binron commented Jul 5, 2017

My steps for OS X

brew uninstall libtool && brew install libtool
brew uninstall libimobiledevice && brew install --HEAD libimobiledevice
brew uninstall ifuse && brew install --HEAD ifuse

See also comment from cbatson (above)

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@samrocketman

samrocketman Jul 7, 2017

fwd079,
Do not run autogen.sh as the root user (sudo). Any environment variables you set will not be exported to the sudo environment without additional options. I recommend just running all commands as normal user unless otherwise specified.


PeterPanTW,
Those commands are meant to be typed in the terminal. Before following this guide I recommend looking up tutorials on bash and using the terminal.

Owner

samrocketman commented Jul 7, 2017

fwd079,
Do not run autogen.sh as the root user (sudo). Any environment variables you set will not be exported to the sudo environment without additional options. I recommend just running all commands as normal user unless otherwise specified.


PeterPanTW,
Those commands are meant to be typed in the terminal. Before following this guide I recommend looking up tutorials on bash and using the terminal.

@wuhuanyu

This comment has been minimized.

Show comment
Hide comment
@wuhuanyu

wuhuanyu Jul 13, 2017

Excellent work! And photos apprear! But can vmware player mount iphone? (I have a macos virtual machine installed in vmware)I gave it a shot just now but failed.

wuhuanyu commented Jul 13, 2017

Excellent work! And photos apprear! But can vmware player mount iphone? (I have a macos virtual machine installed in vmware)I gave it a shot just now but failed.

@areiniger

This comment has been minimized.

Show comment
Hide comment
@areiniger

areiniger Jul 15, 2017

Big thank ... it is working for me I can mount BUT the Photos directory if empty ... I have IOS 10.3.2 ... Other directories are OK. Any idea why?

areiniger commented Jul 15, 2017

Big thank ... it is working for me I can mount BUT the Photos directory if empty ... I have IOS 10.3.2 ... Other directories are OK. Any idea why?

@YasithLokuge

This comment has been minimized.

Show comment
Hide comment
@YasithLokuge

YasithLokuge Jul 20, 2017

Excellent work. Thanks a lot. Works like a charm!

YasithLokuge commented Jul 20, 2017

Excellent work. Thanks a lot. Works like a charm!

@alain-andre

This comment has been minimized.

Show comment
Hide comment
@alain-andre

alain-andre Jul 23, 2017

Thank you a LOT. You saved my month ;)

alain-andre commented Jul 23, 2017

Thank you a LOT. You saved my month ;)

@cwschmidt

This comment has been minimized.

Show comment
Hide comment
@cwschmidt

cwschmidt Jul 27, 2017

Works for Linux Mint 18.2 "Sonya"!
Had just to install some additional packages for compiling e.g "sudo apt-get install libtool m4 automake libfuse-dev" and I had to compile "libplist", too.

cwschmidt commented Jul 27, 2017

Works for Linux Mint 18.2 "Sonya"!
Had just to install some additional packages for compiling e.g "sudo apt-get install libtool m4 automake libfuse-dev" and I had to compile "libplist", too.

@krisztianb

This comment has been minimized.

Show comment
Hide comment
@krisztianb

krisztianb Aug 10, 2017

Thank you. The steps worked for my iPhone SE running iOS 10.3.3 and Ubuntu 16.04.
Into which folder do I have to copy my music and photos for them to be visible on the phone?
Nothing that I copy into the Photos folder is recognized by the phone. What am I doing wrong?

krisztianb commented Aug 10, 2017

Thank you. The steps worked for my iPhone SE running iOS 10.3.3 and Ubuntu 16.04.
Into which folder do I have to copy my music and photos for them to be visible on the phone?
Nothing that I copy into the Photos folder is recognized by the phone. What am I doing wrong?

@wolf-kuehnel

This comment has been minimized.

Show comment
Hide comment
@wolf-kuehnel

wolf-kuehnel Aug 13, 2017

I also had success using this with iOS 10.3.3. Thanks for publishing this.

wolf-kuehnel commented Aug 13, 2017

I also had success using this with iOS 10.3.3. Thanks for publishing this.

@osgyan

This comment has been minimized.

Show comment
Hide comment
@osgyan

osgyan Aug 18, 2017

Works like a Dream

osgyan commented Aug 18, 2017

Works like a Dream

@ubergeekster

This comment has been minimized.

Show comment
Hide comment
@ubergeekster

ubergeekster Aug 22, 2017

Got it working with Kubuntu 16.04 with all the latest updates and an iPhone 6plus running iOS 10.3.3

And for everyone who's getting the "Failed to connect to lockdownd service on the device." or the "GnuTLS error: Error in the pull function.
Failed to connect to lockdownd service on the device."
Unlock the device... try to mount and then pair the device and you should be good.

It totally works but I can't see johnny 6 pack mastering this.
I did this for a customer but I cringe thinking about him trying to run this step by step to grab photo's every time he wants to back them up off his phone.

ubergeekster commented Aug 22, 2017

Got it working with Kubuntu 16.04 with all the latest updates and an iPhone 6plus running iOS 10.3.3

And for everyone who's getting the "Failed to connect to lockdownd service on the device." or the "GnuTLS error: Error in the pull function.
Failed to connect to lockdownd service on the device."
Unlock the device... try to mount and then pair the device and you should be good.

It totally works but I can't see johnny 6 pack mastering this.
I did this for a customer but I cringe thinking about him trying to run this step by step to grab photo's every time he wants to back them up off his phone.

@T-C-R

This comment has been minimized.

Show comment
Hide comment
@T-C-R

T-C-R Aug 26, 2017

trying to get it done for Linux Mint 18.2 Sonya as well, couple of questions though:
all the libraries mentioned are already installed by the Mint default-installation, and in the most recent versions according to the sources, but it is not working out anyway ... I can connect the iphone, it is getting recognized instantly, but there are no files under "/run/user/100=/gphoto2://...." It is not clear to me what a compilation of the libraries from source will improve here, but Iḿ ready for this challenge as actually quite desperate having no access to the iphone-FS any longer.

Second, when I try to uninstall the the system-packages as advised, Synaptic-Packetmanagement is informing me that A LOT of other packages will be impacted by the given dependencies, e.g. cinnamon etc. . Quite scary ...

Is there something more I should know before getting started ?
Many thanks in advance,

T-C-R commented Aug 26, 2017

trying to get it done for Linux Mint 18.2 Sonya as well, couple of questions though:
all the libraries mentioned are already installed by the Mint default-installation, and in the most recent versions according to the sources, but it is not working out anyway ... I can connect the iphone, it is getting recognized instantly, but there are no files under "/run/user/100=/gphoto2://...." It is not clear to me what a compilation of the libraries from source will improve here, but Iḿ ready for this challenge as actually quite desperate having no access to the iphone-FS any longer.

Second, when I try to uninstall the the system-packages as advised, Synaptic-Packetmanagement is informing me that A LOT of other packages will be impacted by the given dependencies, e.g. cinnamon etc. . Quite scary ...

Is there something more I should know before getting started ?
Many thanks in advance,

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@samrocketman

samrocketman Aug 27, 2017

@areiniger photos are in the DCIM folder.

@krisztianb I haven't tried copying photos to iPhone; only off. It is a known issue that music no longer works in later versions of iOS with libimobiledevice.

@T-C-R as long as you set the environment variables correctly (i.e. LD_LIBRARY_PATH) you should be able to use this without uninstalling any system packages.

Owner

samrocketman commented Aug 27, 2017

@areiniger photos are in the DCIM folder.

@krisztianb I haven't tried copying photos to iPhone; only off. It is a known issue that music no longer works in later versions of iOS with libimobiledevice.

@T-C-R as long as you set the environment variables correctly (i.e. LD_LIBRARY_PATH) you should be able to use this without uninstalling any system packages.

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@samrocketman

samrocketman Aug 27, 2017

@ubergeekster Good points. I decided to break out a section for "Audience" so a reader can more quickly decide if this guide is right for them.

Owner

samrocketman commented Aug 27, 2017

@ubergeekster Good points. I decided to break out a section for "Audience" so a reader can more quickly decide if this guide is right for them.

@dwelden

This comment has been minimized.

Show comment
Hide comment
@dwelden

dwelden Aug 28, 2017

Also confirmed on Linux Mint 18.2 Sonya with iPhone SE, iOS 10.3.3. Now if only we could access music...

dwelden commented Aug 28, 2017

Also confirmed on Linux Mint 18.2 Sonya with iPhone SE, iOS 10.3.3. Now if only we could access music...

@a-playboy-me

This comment has been minimized.

Show comment
Hide comment
@a-playboy-me

a-playboy-me Aug 30, 2017

@samrocketman I could not understand the .bashrc file setting, can you give me more details about this setting operation.Thank you very much.
image

a-playboy-me commented Aug 30, 2017

@samrocketman I could not understand the .bashrc file setting, can you give me more details about this setting operation.Thank you very much.
image

@rhmoller

This comment has been minimized.

Show comment
Hide comment
@rhmoller

rhmoller Aug 30, 2017

Thank you. After building the specified libraries I can remote debug the iPad from Ubuntu with https://github.com/RemoteDebug/remotedebug-ios-webkit-adapter

rhmoller commented Aug 30, 2017

Thank you. After building the specified libraries I can remote debug the iPad from Ubuntu with https://github.com/RemoteDebug/remotedebug-ios-webkit-adapter

@a-playboy-me

This comment has been minimized.

Show comment
Hide comment
@a-playboy-me

a-playboy-me Aug 31, 2017

It works for iPhone 6 Plus iOS 10.1.1, but not for iPhone 5s iOS 10.3.2 and iOS 10.3.3.

a-playboy-me commented Aug 31, 2017

It works for iPhone 6 Plus iOS 10.1.1, but not for iPhone 5s iOS 10.3.2 and iOS 10.3.3.

@doomdevelop

This comment has been minimized.

Show comment
Hide comment
@doomdevelop

doomdevelop Sep 3, 2017

First step for me was removing libimobiledevice6:
sudo apt-get remove libimobiledevice6
Then continue as in description.

@sh518 , just open .bashrc in editor (like gedit or vim ),copy the giving setting in to , after that reload with command:
source ~/.bashrc
After that run all steps .

Perfect solution to access photos on iPhone 5, 10.3.2 from ubuntu 16.04 !
Thank you Sam !!!

doomdevelop commented Sep 3, 2017

First step for me was removing libimobiledevice6:
sudo apt-get remove libimobiledevice6
Then continue as in description.

@sh518 , just open .bashrc in editor (like gedit or vim ),copy the giving setting in to , after that reload with command:
source ~/.bashrc
After that run all steps .

Perfect solution to access photos on iPhone 5, 10.3.2 from ubuntu 16.04 !
Thank you Sam !!!

@a-playboy-me

This comment has been minimized.

Show comment
Hide comment
@a-playboy-me

a-playboy-me Sep 4, 2017

@doomdevelop Thanks a lot ! Another question: Is this libimobiledevice6 installed in ubuntu by default ?

a-playboy-me commented Sep 4, 2017

@doomdevelop Thanks a lot ! Another question: Is this libimobiledevice6 installed in ubuntu by default ?

@a-playboy-me

This comment has been minimized.

Show comment
Hide comment
@a-playboy-me

a-playboy-me Sep 4, 2017

When I removed the libimobiledevice6 and configured the environment, and then I run sudo reboot the ubuntu system was not able to logged in.

a-playboy-me commented Sep 4, 2017

When I removed the libimobiledevice6 and configured the environment, and then I run sudo reboot the ubuntu system was not able to logged in.

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@samrocketman

samrocketman Sep 15, 2017

@sh518 Boot to a live CD, mount your drive, and then chroot into it. Install the ubuntu-desktop package and reboot. Here's example commands assuming you have a basic 1 partion install (based on my guide for booting from RAID0).

mount /dev/sda1 /mnt
mount -o bind /dev /mnt/dev
mount -o bind /dev/pts /mnt/dev/pts
mount -o bind /sys /mnt/sys
mount -o bind /proc /mnt/proc
cp /etc/resolv.conf /mnt/etc/resolv.conf
chroot /mnt

#now inside of chroot install the package as if you were in your normal system
apt-get update
apt-get install ubuntu-desktop
exit
reboot
Owner

samrocketman commented Sep 15, 2017

@sh518 Boot to a live CD, mount your drive, and then chroot into it. Install the ubuntu-desktop package and reboot. Here's example commands assuming you have a basic 1 partion install (based on my guide for booting from RAID0).

mount /dev/sda1 /mnt
mount -o bind /dev /mnt/dev
mount -o bind /dev/pts /mnt/dev/pts
mount -o bind /sys /mnt/sys
mount -o bind /proc /mnt/proc
cp /etc/resolv.conf /mnt/etc/resolv.conf
chroot /mnt

#now inside of chroot install the package as if you were in your normal system
apt-get update
apt-get install ubuntu-desktop
exit
reboot
@sforce-dev

This comment has been minimized.

Show comment
Hide comment
@sforce-dev

sforce-dev Sep 15, 2017

will this work on an iphone in recovery/dfu mode?

sforce-dev commented Sep 15, 2017

will this work on an iphone in recovery/dfu mode?

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@samrocketman

samrocketman Sep 16, 2017

will this work on an iphone in recovery/dfu mode?

No idea.

Owner

samrocketman commented Sep 16, 2017

will this work on an iphone in recovery/dfu mode?

No idea.

@mukund-dharwadkar

This comment has been minimized.

Show comment
Hide comment
@mukund-dharwadkar

mukund-dharwadkar Sep 29, 2017

Great... Worked fine for my iphone 5c with Ubuntu 16.04. Thanks for sharing...

mukund-dharwadkar commented Sep 29, 2017

Great... Worked fine for my iphone 5c with Ubuntu 16.04. Thanks for sharing...

@BuddhiKasun

This comment has been minimized.

Show comment
Hide comment
@BuddhiKasun

BuddhiKasun Oct 8, 2017

Works! Thanks so much.

after last step ( ls ~/usr/mnt/ ) type in terminal

$ nautilus ~/usr/mnt/

files open in file manager.

BuddhiKasun commented Oct 8, 2017

Works! Thanks so much.

after last step ( ls ~/usr/mnt/ ) type in terminal

$ nautilus ~/usr/mnt/

files open in file manager.

@iben12

This comment has been minimized.

Show comment
Hide comment
@iben12

iben12 Oct 12, 2017

Thanks!

Works on Ubuntu Gnome 17.04 with

  • iPhone 6S on iOS 11.0.2
  • iPhone SE on iOS 10

iben12 commented Oct 12, 2017

Thanks!

Works on Ubuntu Gnome 17.04 with

  • iPhone 6S on iOS 11.0.2
  • iPhone SE on iOS 10
@acapop77

This comment has been minimized.

Show comment
Hide comment
@acapop77

acapop77 Oct 13, 2017

Thanks!
Works on Ubuntu 16.04 with iPhone SE on iOS 11.0.2

acapop77 commented Oct 13, 2017

Thanks!
Works on Ubuntu 16.04 with iPhone SE on iOS 11.0.2

@eldond

This comment has been minimized.

Show comment
Hide comment
@eldond

eldond Oct 20, 2017

👍

Thanks! This worked on Fedora 25 after translating the install command into sudo dnf install automake libtool pkgconfig libplist-devel python-devel openssl-devel libusbx-devel fuse-devel (some of which I already had installed). I didn't find a dnf equivalent for libplist++-dev, but I didn't seem to need it.

eldond commented Oct 20, 2017

👍

Thanks! This worked on Fedora 25 after translating the install command into sudo dnf install automake libtool pkgconfig libplist-devel python-devel openssl-devel libusbx-devel fuse-devel (some of which I already had installed). I didn't find a dnf equivalent for libplist++-dev, but I didn't seem to need it.

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@samrocketman

samrocketman Nov 2, 2017

@eldond thanks for mentioning the install command for fedora!

Owner

samrocketman commented Nov 2, 2017

@eldond thanks for mentioning the install command for fedora!

@njgraham

This comment has been minimized.

Show comment
Hide comment
@njgraham

njgraham Nov 4, 2017

Thanks! You saved me a lot of time!

  • Linux Mint 18.2 Sonya
  • iOS 10.3.3

njgraham commented Nov 4, 2017

Thanks! You saved me a lot of time!

  • Linux Mint 18.2 Sonya
  • iOS 10.3.3
@ynurmahomed

This comment has been minimized.

Show comment
Hide comment
@ynurmahomed

ynurmahomed Nov 8, 2017

Works on Ubuntu 16.04 + iOS 11.0.3

ynurmahomed commented Nov 8, 2017

Works on Ubuntu 16.04 + iOS 11.0.3

@treviser

This comment has been minimized.

Show comment
Hide comment
@treviser

treviser Nov 9, 2017

Thank you very much for this writeup. I did this on 2 Ubuntu 16.04 LTS desktops, step by step and it worked. I could transfer all photos. But after shutting down, I can not login anymore on both machines. If I type in the proper password, it says something like "Invalid session". How can I fix that?

treviser commented Nov 9, 2017

Thank you very much for this writeup. I did this on 2 Ubuntu 16.04 LTS desktops, step by step and it worked. I could transfer all photos. But after shutting down, I can not login anymore on both machines. If I type in the proper password, it says something like "Invalid session". How can I fix that?

@martinarielhartmann

This comment has been minimized.

Show comment
Hide comment
@martinarielhartmann

martinarielhartmann Nov 10, 2017

Works on Ubuntu 17.10 + iOS 11.0. Thanks!

martinarielhartmann commented Nov 10, 2017

Works on Ubuntu 17.10 + iOS 11.0. Thanks!

@ivanilves

This comment has been minimized.

Show comment
Hide comment
@ivanilves

ivanilves Nov 19, 2017

Works on Ubuntu 16.04 and iPhone6 iOS 10. Thanks!

ivanilves commented Nov 19, 2017

Works on Ubuntu 16.04 and iPhone6 iOS 10. Thanks!

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@samrocketman

samrocketman Nov 21, 2017

@treviser do you mean you can't log into your phone or log into your desktop at all? I've not encountered Invalid session. You might try logging in from a different runlevel. CTRL+ALT+F3 from your login screen and log in from the text-only interface. If you can log in from there then there's something wrong with your GUI. After light web searching for Ubuntu log in Invalid session your issue may stem from your account being locked. You can use an alternate account to unlock your account or boot a live CD and chroot in to unlock it.

TL;DR Internet says the fix is to change your password (maybe using passwd?).

Hint: to get back to the GUI from runlevel 3 you can press CTRL+ALT+F7

Owner

samrocketman commented Nov 21, 2017

@treviser do you mean you can't log into your phone or log into your desktop at all? I've not encountered Invalid session. You might try logging in from a different runlevel. CTRL+ALT+F3 from your login screen and log in from the text-only interface. If you can log in from there then there's something wrong with your GUI. After light web searching for Ubuntu log in Invalid session your issue may stem from your account being locked. You can use an alternate account to unlock your account or boot a live CD and chroot in to unlock it.

TL;DR Internet says the fix is to change your password (maybe using passwd?).

Hint: to get back to the GUI from runlevel 3 you can press CTRL+ALT+F7

@EvgenyIv96

This comment has been minimized.

Show comment
Hide comment
@EvgenyIv96

EvgenyIv96 Dec 3, 2017

Hi guys!
It doesn't work on lubuntu 16.04 neither 64 bit nor 32 bit for me.

Device: iPad Air (1st generation)
System: iOS 10.3.3

All packages have successfuly installed. Device is visible in system and I see it when use "lsusb" command, but there is error occured then I tried "idevicepair pair" command: idevicepair doesn't see the device.

I also have seen same issue in the comments, but there isn't way to resolve this problem. Please contact me if you had same trouble and found out to fix it.

2017-12-03 23 18 11
img_0274

EvgenyIv96 commented Dec 3, 2017

Hi guys!
It doesn't work on lubuntu 16.04 neither 64 bit nor 32 bit for me.

Device: iPad Air (1st generation)
System: iOS 10.3.3

All packages have successfuly installed. Device is visible in system and I see it when use "lsusb" command, but there is error occured then I tried "idevicepair pair" command: idevicepair doesn't see the device.

I also have seen same issue in the comments, but there isn't way to resolve this problem. Please contact me if you had same trouble and found out to fix it.

2017-12-03 23 18 11
img_0274

@algkalv

This comment has been minimized.

Show comment
Hide comment
@algkalv

algkalv Dec 12, 2017

Works for me. Thanks a lot!

algkalv commented Dec 12, 2017

Works for me. Thanks a lot!

@peatonet

This comment has been minimized.

Show comment
Hide comment
@peatonet

peatonet Dec 22, 2017

Working with Linux Mint 18.3 Cinnamon and iOS 11.2

peatonet commented Dec 22, 2017

Working with Linux Mint 18.3 Cinnamon and iOS 11.2

@CoolSpot

This comment has been minimized.

Show comment
Hide comment
@CoolSpot

CoolSpot Dec 29, 2017

On Ubuntu 16.04 Gnome attempt to remove libimobiledevice6 also tries to remove ubuntu-gnome-desktop.

~/usr/bin$ sudo apt-get remove libimobiledevice6
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
caribou python-dbus python-pyatspi
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
chrome-gnome-shell gdm3 gnome-session gnome-session-bin gnome-shell gnome-shell-extensions gvfs-backends ifuse libgpod-common libgpod4 libimobiledevice-utils libimobiledevice6 nautilus-share
rhythmbox-plugins ubuntu-gnome-desktop ubuntu-release-upgrader-gtk update-manager update-notifier upower usbmuxd
0 upgraded, 0 newly installed, 20 to remove and 0 not upgraded.
After this operation, 20.8 MB disk space will be freed.

Witnesses.

CoolSpot commented Dec 29, 2017

On Ubuntu 16.04 Gnome attempt to remove libimobiledevice6 also tries to remove ubuntu-gnome-desktop.

~/usr/bin$ sudo apt-get remove libimobiledevice6
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
caribou python-dbus python-pyatspi
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
chrome-gnome-shell gdm3 gnome-session gnome-session-bin gnome-shell gnome-shell-extensions gvfs-backends ifuse libgpod-common libgpod4 libimobiledevice-utils libimobiledevice6 nautilus-share
rhythmbox-plugins ubuntu-gnome-desktop ubuntu-release-upgrader-gtk update-manager update-notifier upower usbmuxd
0 upgraded, 0 newly installed, 20 to remove and 0 not upgraded.
After this operation, 20.8 MB disk space will be freed.

Witnesses.

@BecauseTheWorldIsRound

This comment has been minimized.

Show comment
Hide comment
@BecauseTheWorldIsRound

BecauseTheWorldIsRound Jan 3, 2018

Hello

Works great(!) with iPhone 7 Plus on Ubuntu 16.04 (iOS 11.2.1)

In case of some trouble, I would simply recommend to follow carefully this well made DIY page.
(old pkg uninstall [not libimobile6!]? bash variables? root for usbmuxd install? connect and unlock iphone and "trust" computer?)

Thank you very much!

Yves

BecauseTheWorldIsRound commented Jan 3, 2018

Hello

Works great(!) with iPhone 7 Plus on Ubuntu 16.04 (iOS 11.2.1)

In case of some trouble, I would simply recommend to follow carefully this well made DIY page.
(old pkg uninstall [not libimobile6!]? bash variables? root for usbmuxd install? connect and unlock iphone and "trust" computer?)

Thank you very much!

Yves

@rbock

This comment has been minimized.

Show comment
Hide comment
@rbock

rbock Jan 8, 2018

Works perfectly Ubuntu 17.04 with iphone6 and iOS 11!

What did not work is to uninstall the libimobiledevice6. Conflict resolution always suggested to install the very same...

Thank you very much!

Roland

rbock commented Jan 8, 2018

Works perfectly Ubuntu 17.04 with iphone6 and iOS 11!

What did not work is to uninstall the libimobiledevice6. Conflict resolution always suggested to install the very same...

Thank you very much!

Roland

@ProgrammerDan

This comment has been minimized.

Show comment
Hide comment
@ProgrammerDan

ProgrammerDan Jan 15, 2018

Confirmed working (with Mint extended instructions) for Mint 18.3 - Sylvia . Before following this instruction and as others have reported, the package manager versions were a total non-starter -- it would claim to auto-mount but nothing was accessible or visible on the device.

It took some surgery to uninstall as much of the packaged versions as possible -- I was able to remove basically everything except libimobiledevice package itself, as that package appears "tied" to the cinnamon package -- so not ideal to remove. But ifuse, usbmuxd, etc -- those were removable.

Following the instructions led to success, even with an older iPhone. Lifesaver, thank you for these instructions!

ProgrammerDan commented Jan 15, 2018

Confirmed working (with Mint extended instructions) for Mint 18.3 - Sylvia . Before following this instruction and as others have reported, the package manager versions were a total non-starter -- it would claim to auto-mount but nothing was accessible or visible on the device.

It took some surgery to uninstall as much of the packaged versions as possible -- I was able to remove basically everything except libimobiledevice package itself, as that package appears "tied" to the cinnamon package -- so not ideal to remove. But ifuse, usbmuxd, etc -- those were removable.

Following the instructions led to success, even with an older iPhone. Lifesaver, thank you for these instructions!

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@samrocketman

samrocketman Jan 23, 2018

I should probably note uninstalling packages from your OS is optional. The important part is setting bash environment variables so the compiled version does not accidentally reference OS installed versions. I added uninstalling merely as a precaution.

Edit:

note added:

Note: (Optional) If you have a system package installed which is in the above list, then I recommend uninstalling it. However, if you can't uninstaill it, then no big deal. It is mostly a precautionary measure. As long as you set the bash environment variables properly, then your compiled version should not reference your system packages. Uninstalling any system packages is by no means required.

Owner

samrocketman commented Jan 23, 2018

I should probably note uninstalling packages from your OS is optional. The important part is setting bash environment variables so the compiled version does not accidentally reference OS installed versions. I added uninstalling merely as a precaution.

Edit:

note added:

Note: (Optional) If you have a system package installed which is in the above list, then I recommend uninstalling it. However, if you can't uninstaill it, then no big deal. It is mostly a precautionary measure. As long as you set the bash environment variables properly, then your compiled version should not reference your system packages. Uninstalling any system packages is by no means required.

@qernigh

This comment has been minimized.

Show comment
Hide comment
@qernigh

qernigh Jan 30, 2018

Works with iPhone 8 Plus (iOS 11.2.2) for Debian Jessie (8.10). Had to 'apt-get remove usbmuxd'.

qernigh commented Jan 30, 2018

Works with iPhone 8 Plus (iOS 11.2.2) for Debian Jessie (8.10). Had to 'apt-get remove usbmuxd'.

@jtbr

This comment has been minimized.

Show comment
Hide comment
@jtbr

jtbr Feb 5, 2018

Thank you for these instructions! Confirmed working with Linux Mint 18.3. I can also confirm that I needed to build libplist first, and for clarity I removed the ifuse and libusbmuxd system packages (only -- others are dependencies for cinnamon and should not be removed).

I did a little tweak; first, in Mint, local apps/libs are under ~/.local, and .local/bin is already on the path by default. So I use --prefix="$HOME/.local". Also, to avoid having to always use LD_LIBRARY_PATH in my environment, I included the library path in the executables' rpath. Altogether, this meant using the following line for the autogen step for each library.

PKG_CONFIG_PATH="$HOME/.local/lib/pkgconfig" LD_LIBRARY_PATH="$HOME/.local/lib" CPATH="${HOME}/.local/include" LDFLAGS="-Wl,-rpath,$HOME/.local/lib" ./autogen.sh --prefix="$HOME/.local"

After that, no environment variables are needed, and the man pages "just work" (in mint anyway). Also the src directories can be removed, and most people will want to remove the build packages at least:

sudo apt-get remove libplist-dev libplist++-dev libssl-dev libusb-1.0-0-dev libfuse-dev

jtbr commented Feb 5, 2018

Thank you for these instructions! Confirmed working with Linux Mint 18.3. I can also confirm that I needed to build libplist first, and for clarity I removed the ifuse and libusbmuxd system packages (only -- others are dependencies for cinnamon and should not be removed).

I did a little tweak; first, in Mint, local apps/libs are under ~/.local, and .local/bin is already on the path by default. So I use --prefix="$HOME/.local". Also, to avoid having to always use LD_LIBRARY_PATH in my environment, I included the library path in the executables' rpath. Altogether, this meant using the following line for the autogen step for each library.

PKG_CONFIG_PATH="$HOME/.local/lib/pkgconfig" LD_LIBRARY_PATH="$HOME/.local/lib" CPATH="${HOME}/.local/include" LDFLAGS="-Wl,-rpath,$HOME/.local/lib" ./autogen.sh --prefix="$HOME/.local"

After that, no environment variables are needed, and the man pages "just work" (in mint anyway). Also the src directories can be removed, and most people will want to remove the build packages at least:

sudo apt-get remove libplist-dev libplist++-dev libssl-dev libusb-1.0-0-dev libfuse-dev
@Raineer

This comment has been minimized.

Show comment
Hide comment
@Raineer

Raineer Feb 11, 2018

This is so perfect, thank you SO MUCH. I was able to follow the instructions to the letter and it worked. I am quite versed in Linux but it still so helpful to have someone lay out all the steps like this. I did not have to build plist.

Debian 9 Stretch - 4.9.0-4-amd64 #1 SMP Debian 4.9.65-3+deb9u1 (2017-12-23) x86_64 GNU/Linux
iOS 11.2.5
iPhone 7

Raineer commented Feb 11, 2018

This is so perfect, thank you SO MUCH. I was able to follow the instructions to the letter and it worked. I am quite versed in Linux but it still so helpful to have someone lay out all the steps like this. I did not have to build plist.

Debian 9 Stretch - 4.9.0-4-amd64 #1 SMP Debian 4.9.65-3+deb9u1 (2017-12-23) x86_64 GNU/Linux
iOS 11.2.5
iPhone 7

@jangheejin

This comment has been minimized.

Show comment
Hide comment
@jangheejin

jangheejin Feb 20, 2018

Thanks so much! Worked for me!
iPhone SE, iOS 11.2.5, Ubuntu 16.04
This has been a major source of frustration for me, since I avoid WINE. I have a dual boot partition for when I absolutely need to use Windows for some reason, but I hate using it and it's a pain to have to shut down and restart multiple times just to grab photos off my phone.

jangheejin commented Feb 20, 2018

Thanks so much! Worked for me!
iPhone SE, iOS 11.2.5, Ubuntu 16.04
This has been a major source of frustration for me, since I avoid WINE. I have a dual boot partition for when I absolutely need to use Windows for some reason, but I hate using it and it's a pain to have to shut down and restart multiple times just to grab photos off my phone.

@paoletto

This comment has been minimized.

Show comment
Hide comment
@paoletto

paoletto Feb 28, 2018

Is there any way to access application data from ubuntu with libimobiledevice? i want to back up a game before resetting the system, i read that iExplorer can do that, and i recall that 12.04 was able to show me application folders on iOS 5. Is this still possible?

paoletto commented Feb 28, 2018

Is there any way to access application data from ubuntu with libimobiledevice? i want to back up a game before resetting the system, i read that iExplorer can do that, and i recall that 12.04 was able to show me application folders on iOS 5. Is this still possible?

@mchandler-80027

This comment has been minimized.

Show comment
Hide comment
@mchandler-80027

mchandler-80027 Mar 16, 2018

Thank you, thank you, thank you!
Worked like a charm on Ubuntu 16.04 LTS and iOS 11.2.6 (iPhone 6s).

mchandler-80027 commented Mar 16, 2018

Thank you, thank you, thank you!
Worked like a charm on Ubuntu 16.04 LTS and iOS 11.2.6 (iPhone 6s).

@shchukax

This comment has been minimized.

Show comment
Hide comment
@shchukax

shchukax Mar 22, 2018

Still works (sort of)! My problem is that inside the DCIM/100APPLE filder I can only see about 10 or so images from the last few datys, however looking in Photos app on the iphone, I have hundreds of images dating back several years. How do I access the rest of them?

shchukax commented Mar 22, 2018

Still works (sort of)! My problem is that inside the DCIM/100APPLE filder I can only see about 10 or so images from the last few datys, however looking in Photos app on the iphone, I have hundreds of images dating back several years. How do I access the rest of them?

@samrocketman

This comment has been minimized.

Show comment
Hide comment
@samrocketman

samrocketman Mar 30, 2018

@shchukax you could try a find command to search for your photos in case they're in a different folder.

Owner

samrocketman commented Mar 30, 2018

@shchukax you could try a find command to search for your photos in case they're in a different folder.

@mobelsmile

This comment has been minimized.

Show comment
Hide comment
@mobelsmile

mobelsmile Apr 16, 2018

Thank you,
Worked for me, IPhone6 Ubnutu16 LTS

mobelsmile commented Apr 16, 2018

Thank you,
Worked for me, IPhone6 Ubnutu16 LTS

@scartoalex

This comment has been minimized.

Show comment
Hide comment
@scartoalex

scartoalex Apr 23, 2018

The only way worked on xubu16, respect, really needed it. Tnks ALOT!

scartoalex commented Apr 23, 2018

The only way worked on xubu16, respect, really needed it. Tnks ALOT!

@Fraisdos

This comment has been minimized.

Show comment
Hide comment
@Fraisdos

Fraisdos Apr 27, 2018

Good day,

Thanks for the above, work great on latest raspbian lite (hardware raspberry pi 3b+) with iPhone 7 and iOS 11.3 when using tools located into $Home/usr/bin.
I tried as well to replace all existing libimobiledevice, ifuses, ...from the raspbian official packages by using prefix=/usr/ when compiling. I still get the error -3. Do you have any idea how to fix this ?

Fraisdos commented Apr 27, 2018

Good day,

Thanks for the above, work great on latest raspbian lite (hardware raspberry pi 3b+) with iPhone 7 and iOS 11.3 when using tools located into $Home/usr/bin.
I tried as well to replace all existing libimobiledevice, ifuses, ...from the raspbian official packages by using prefix=/usr/ when compiling. I still get the error -3. Do you have any idea how to fix this ?

@hazim1093

This comment has been minimized.

Show comment
Hide comment
@hazim1093

hazim1093 May 14, 2018

Just Uninstalling libimobiledevice6 solved the -3 error for me.

Credits: https://gist.github.com/samrocketman/70dff6ebb18004fc37dc5e33c259a0fc#gistcomment-1969668

hazim1093 commented May 14, 2018

Just Uninstalling libimobiledevice6 solved the -3 error for me.

Credits: https://gist.github.com/samrocketman/70dff6ebb18004fc37dc5e33c259a0fc#gistcomment-1969668

@meilin996

This comment has been minimized.

Show comment
Hide comment
@meilin996

meilin996 May 19, 2018

it works! greate job!

meilin996 commented May 19, 2018

it works! greate job!

@dentaku65

This comment has been minimized.

Show comment
Hide comment
@dentaku65

dentaku65 May 19, 2018

Big thanks for this! Used on xubuntu 16.04 only for backup/restore (I don't mind fuse stuff). Great