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.
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.This works for me, on Ubuntu 18.04: https://ubuntuforums.org/showthread.php?t=2376741&p=13779062#post13779062