3

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.

1
  • Another error message that I see is "Unable to open a folder for Documents on iPhone" "No such interface 'org.gtk.vfs.Mount' on object at path /org/gtk/vfs/mount/1". But the folder Documents actually gets mounted and is accessible in Files. – Diego Jun 8 '18 at 5:28
3

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.

1

This works for me, on Ubuntu 18.04: https://ubuntuforums.org/showthread.php?t=2376741&p=13779062#post13779062

$ cat /lib/udev/rules.d/39-usbmuxd.rules
# usbmuxd (Apple Mobile Device Muxer listening on /var/run/usbmuxd)

# Initialize iOS devices into "deactivated" USB configuration state and activate usbmuxd
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="12[9a][0-9a-f]", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}="0", OWNER="usbmux", TAG+="systemd", ENV{SYSTEMD_WANTS}="usbmuxd.service", RUN+="/bin/systemctl start usbmuxd"

# Exit usbmuxd when the last device is removed
ACTION=="remove", SUBSYSTEM=="usb", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", ENV{INTERFACE}=="255/*", RUN+="/bin/systemctl stop usbmuxd"
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.