[root@rhce-ryanrudolf]# rm -rf / 2> /dev/null

things I break/fix for fun and learning

Nov 25, 2019 - 3 minute read - Comments

Accessing iOS - iPad and iPhone in Fedora Linux

I have several iOS devices (iPhone and iPAD) and this is the first time that I need to connect them to my Fedora Linux laptop. I thought that its just a matter of plugging in the USB cable and then the iPhone / iPAD will present itself as a storage device but I was mistaken.

Doing a dmesg | tail -n 10 , it shows that it detects the iPAD -

ryanrudolf@t540p-linux ~]$ dmesg | tail -n 10
[98646.932944] userif-2: sent link down event.
[98646.932947] userif-2: sent link up event.
[117921.550804] usb 3-1: new high-speed USB device number 7 using xhci_hcd
[117921.678530] usb 3-1: New USB device found, idVendor=05ac, idProduct=12ab, bcdDevice= 7.06
[117921.678533] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[117921.678534] usb 3-1: Product: iPad
[117921.678535] usb 3-1: Manufacturer: Apple Inc.
[117921.678536] usb 3-1: SerialNumber: a78d468d30d85b1aa38b6bcd69d59b3f040bacee
[117922.243651] ipheth 3-1:4.2: Apple iPhone USB Ethernet device attached
[117922.249768] ipheth 3-1:4.2 enp0s20u1c4i2: renamed from eth0
[ryanrudolf@t540p-linux ~]$ 

But it stops there and there are no storage devices associated with it. I can’t do the regular mount /dev/sdX /mnt/mnt_point. A quick google search and we need to install additional packages to pair and mount the iPAD.

Installing Packages and Preparing the iOS Device

  1. Install additional packages - sudo yum install ifuse libplist libplist-python libimobiledevice-utils libimobiledevice-devel libimobiledevice usbmuxd

  2. Create a mount point for the iPAD / iOS - sudo mkdir -p /mnt/iOS

  3. Pair the device - idevice pair. On my first try it gave error -

    [ryanrudolf@t540p-linux ~]$ idevicepair pair
    ERROR: Could not validate with device a78d468d30d85b1aa38b6bcd69d59b3f040bacee because a passcode is set. Please enter the passcode on the device and retry.
    [ryanrudolf@t540p-linux ~]$ 

I need to disconnect / reconnect USB cable and after that press Trust -

Then it prompts to enter device passcode -

Once I enter the correct passcode, I am now getting a SUCCESS in idevicepair pair

[ryanrudolf@t540p-linux accessing-ios-in-fedora-linux]$ idevicepair  pair
SUCCESS: Paired with device a78d468d30d85b1aa38b6bcd69d59b3f040bacee
[ryanrudolf@t540p-linux accessing-ios-in-fedora-linux]$ 

Mounting and Un-mounting the iOS Device

  1. Mount the device using the ifuse command - ifuse /mnt/iOS. Verify with the df -h command and it shows that the device is now mounted.

    [ryanrudolf@t540p-linux accessing-ios-in-fedora-linux]$ df -h | grep ifuse
    ifuse            30G   29G  1.6G  95% /mnt/iOS
    [ryanrudolf@t540p-linux accessing-ios-in-fedora-linux]$ 
  2. List the mount point - ls /mnt/iOS and the contents can now be accessed!

    [ryanrudolf@t540p-linux accessing-ios-in-fedora-linux]$ ls /mnt/iOS/
    Books  DCIM  Downloads  iTunes_Control  MediaAnalysis  PhotoData  Photos  PublicStaging  Purchases  Radio  Recordings
    [ryanrudolf@t540p-linux accessing-ios-in-fedora-linux]$ ls /mnt/iOS/DCIM/
    [ryanrudolf@t540p-linux accessing-ios-in-fedora-linux]$ 
  3. Once we are done copying files from the iOS device to Linux, we need to unnmount it before removing the USB cable - sudo umount /mnt/iOS

    [ryanrudolf@t540p-linux accessing-ios-in-fedora-linux]$ sudo umount /mnt/iOS
    [sudo] password for ryanrudolf: 
    [ryanrudolf@t540p-linux accessing-ios-in-fedora-linux]$ df -h | grep fuse
    [ryanrudolf@t540p-linux accessing-ios-in-fedora-linux]$ 

And that’s it! Now I can access my iOS devices under Fedora Linux.