Ubuntu – IPhone mounts only once, doesn’t show Pictures, Documents on remount

iphonemountphotousb

I have an iPhone 8 that initially connects via USB so that the Pictures and Documents folders are available under Ubuntu 17.10. However this works only once between Ubuntu reboots.

How do I troubleshoot this?

This must be a bug or a configuration issue, not some software missing or completely defunct, because it actually works first time after a reboot.

What happens is that if I disconnect and connect the iPhone again the folder Pictures does not re-appear in the Files application. The folder Documents does appear upon a second re-connect but does not on the third re-connect.
I do not see any errors in the dmesg.

I see it being recognised via USB

[234230.482987] usb 1-1: USB disconnect, device number 6
[234250.239084] usb 1-1: new high-speed USB device number 7 using xhci_hcd
[234250.385353] usb 1-1: New USB device found, idVendor=05ac, idProduct=12a8
[234250.385358] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[234250.385362] usb 1-1: Product: iPhone
[234250.385365] usb 1-1: Manufacturer: Apple Inc.
[234250.385369] usb 1-1: SerialNumber: **** (number skipped)

I have checked this thread on How do I access iOS camera pictures on Ubuntu 17.04? and run

idevicepair validate 

got this:

ERROR: Device returned unhandled error code "-3"

run this

idevicepair unpair && idevicepair pair

and was able to successfully re-validate after entering my iPhone passcode but the folders would not re-appear.

After another re-connect I see this

idevicepair validate

No device found, is it plugged in?

Trying to access it via afc://SerialNumber schema in Files application tells me

libimobiledevice Error:No device found. Make sure usbmuxd is set up
correctly.

usbmuxd --version

usbmuxd 1.1.0

usbmuxd --verbose -f
[06:44:02.000][3] usbmuxd v1.1.0 starting up  
[06:44:02.000][0] Could not open lockfile
sudo usbmuxd --verbose -f
[06:47:04.774][3] usbmuxd v1.1.0 starting up
[06:47:04.775][4] Creating socket
[06:47:04.775][4] Initializing USB
[06:47:04.781][4] Found new device with v/p 05ac:12a8 at 1-9
[06:47:04.781][3] Could not get old configuration descriptor for device 1-9: -5
[06:47:04.781][4] Setting configuration for device 1-9, from 0 to 4
[06:47:04.786][4] Found interface 1 with endpoints 04/85 for device 1-9
[06:47:04.810][4] Using wMaxPacketSize=512 for device 1-9
[06:47:04.810][3] Connecting to new device on location 0x10009 as ID 1
[06:47:04.810][4] 1 device detected
[06:47:04.810][3] Initialization complete
[06:47:04.810][3] Connected to v2.0 device 1 on location 0x10009 with serial number SerialNumber
[06:47:04.810][4] preflight_worker_handle_device_add: Starting preflight on device SerialNumber...
[06:47:04.810][4] New client on fd 13
[06:47:04.827][4] New client on fd 15
[06:47:04.829][4] Client 15 connection closed
[06:47:04.829][4] Disconnecting client fd 15
[06:47:04.837][4] New client on fd 15
[06:47:04.838][4] Client 15 connection closed
[06:47:04.838][4] Disconnecting client fd 15
[06:47:04.891][4] preflight_worker_handle_device_add: StartSession success for device SerialNumber
[06:47:04.891][4] preflight_worker_handle_device_add: Finished preflight on device SerialNumber
[06:47:04.892][4] Disconnecting client fd 13
[06:47:05.775][4] New client on fd 12
[06:47:05.775][4] New client on fd 13
[06:47:05.776][4] Client 13 connection closed
[06:47:05.776][4] Disconnecting client fd 13
[06:47:05.776][4] New client on fd 13
[06:47:05.782][4] Disconnecting client fd 13
[06:47:05.812][4] New client on fd 13
[06:47:05.812][4] Client 13 connection closed
[06:47:05.812][4] Disconnecting client fd 13
[06:47:05.812][4] New client on fd 13
[06:47:05.814][4] New client on fd 14
[06:47:05.817][4] New client on fd 15
[06:47:05.820][4] New client on fd 16
[06:47:05.820][4] Client 16 connection closed
[06:47:05.820][4] Disconnecting client fd 16
[06:47:05.820][4] New client on fd 16
[06:47:05.820][4] Client 16 connection closed
[06:47:05.820][4] Disconnecting client fd 16
[06:47:05.830][4] New client on fd 16
[06:47:05.830][4] Client 16 connection closed
[06:47:05.830][4] Disconnecting client fd 16
[06:47:05.874][4] Disconnecting client fd 13
[06:47:05.875][4] New client on fd 13
[06:47:05.876][4] New client on fd 16
[06:47:05.876][4] Client 13 connection closed
[06:47:05.876][4] Disconnecting client fd 13
[06:47:05.878][4] New client on fd 13
[06:47:05.878][4] Client 13 connection closed
[06:47:05.878][4] Disconnecting client fd 13
[06:47:05.878][4] New client on fd 13
[06:47:05.879][4] Client 13 connection closed
[06:47:05.879][4] Disconnecting client fd 13
[06:47:05.882][4] New client on fd 13
[06:47:05.882][4] Client 13 connection closed
[06:47:05.883][4] Disconnecting client fd 13
[06:47:05.900][4] New client on fd 13
[06:47:05.901][4] Disconnecting client fd 16
[06:47:05.906][4] New client on fd 16
[06:47:05.907][4] Disconnecting client fd 15

Now the folder Documents is mounted and shown but not the Pictures.

On reconnect I get this error message pop-up dialog (from Files?)

Unable to open a folder for Documents on iPhone Cache invalid, retry
(internally handled)

[06:53:16.072][4] New client on fd 11
[06:53:16.073][4] Client 11 connection closed
[06:53:16.073][4] Disconnecting client fd 11
[06:53:16.573][4] New client on fd 11
[06:53:16.574][4] Client 11 connection closed
[06:53:16.574][4] Disconnecting client fd 11
[06:53:17.204][4] Found new device with v/p 05ac:12a8 at 1-10
[06:53:17.205][3] Could not get old configuration descriptor for device 1-10: -5
[06:53:17.205][4] Setting configuration for device 1-10, from 0 to 4
[06:53:17.258][4] Found interface 1 with endpoints 04/85 for device 1-10
[06:53:17.290][4] Using wMaxPacketSize=512 for device 1-10
[06:53:17.291][3] Connecting to new device on location 0x1000a as ID 2
[06:53:17.298][3] Connected to v2.0 device 2 on location 0x1000a with serial number SerialNumber
[06:53:17.306][4] preflight_worker_handle_device_add: Starting preflight on device SerialNumber...
[06:53:17.306][4] New client on fd 14
[06:53:17.353][4] New client on fd 16
[06:53:17.353][4] Client 16 connection closed
[06:53:17.353][4] Disconnecting client fd 16
[06:53:17.377][4] New client on fd 16
[06:53:17.377][4] Client 16 connection closed
[06:53:17.377][4] Disconnecting client fd 16
[06:53:17.415][4] preflight_worker_handle_device_add: StartSession success for device SerialNumber
[06:53:17.415][4] preflight_worker_handle_device_add: Finished preflight on device SerialNumber
[06:53:17.415][4] New client on fd 15
[06:53:17.415][4] New client on fd 16
[06:53:17.415][4] Client 15 connection closed
[06:53:17.415][4] Disconnecting client fd 15
[06:53:17.416][4] Disconnecting client fd 14
[06:53:17.418][4] Disconnecting client fd 16

But now the afc:// starts working and I can finally see folders in Files:

AirFair      DCIM            iTunesRestore    PhotoData      Purchases
Books        Downloads       LoFiCloudAssets  Photos         Radio
CloudAssets  iTunes_Control  MediaAnalysis    PublicStaging  Recordings

So herewith I seem to have a workaround for accessing the Photos folder. Obvioulsly I would like it to work without the sudo clutches.

Best Answer

Upgrading usbmuxd solves the issue. I downloaded a newer package from https://packages.ubuntu.com/cosmic/usbmuxd (1.1.1~git20180428.b95a0a0-1) and installed it. Surprisingly, it was compatible with Ubuntu 18.04.