Unable to mount iPhone 8 Plus on Manjaro KDE

Hello Friends,

I am using Manjaro KDE on my home desktop Lenovo AIO A340 for a few months now. I recall connecting my iPhone 8 Plus with OS 14.6 to download pictures onto the desktop without any hassles. But for past few days, I am facing a challenge in doing so.

That is when I connect my phone to the desktop, I see that desktop is recognizing a device connected, but shows it as camera. Then when I click mount and open option from Disks and Devices icon in system tray, nothing gets mounted. I tried searching for the device in Dolphin and command line, but not successful, Here are a few screenshots I have taken in this regard. Any pointers to resolve this issue will be highly appreciated. Thank you.

[ganeshp@anuganeshdesktop-a34024iwl ~]$ mtp-detect
libmtp version: 1.1.18

Listing raw device(s)
No raw devices found.
[ganeshp@anuganeshdesktop-a34024iwl ~]$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 174f:243e Syntek Integrated Camera
Bus 001 Device 005: ID 05ac:12a8 Apple, Inc. iPhone 5/5C/5S/6/SE
Bus 001 Device 002: ID 17ef:60a9 Lenovo Lenovo Essential Wireless Keyboard and M
ouse Combo
Bus 001 Device 004: ID 8087:0a2a Intel Corp. Bluetooth wireless interface
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[ganeshp@anuganeshdesktop-a34024iwl ~]$ cat /usr/lib/udev/rules.d/69-libmtp.rule
s
# UDEV-style hotplug map for libmtp
# Put this file in /etc/udev/rules.d

ACTION!="add", ACTION!="bind", GOTO="libmtp_rules_end"
ENV{MAJOR}!="?*", GOTO="libmtp_rules_end"
SUBSYSTEM=="usb", GOTO="libmtp_usb_rules"
GOTO="libmtp_rules_end"

LABEL="libmtp_usb_rules"

# If we have a hwdb entry for this device, act immediately!
ENV{ID_MTP_DEVICE}=="1", SYMLINK+="libmtp-%k", GOTO="libmtp_rules_end"

# Fall back to probing.
# Some sensitive devices we surely don't wanna probe
# Color instruments
ATTR{idVendor}=="0670", GOTO="libmtp_rules_end"
ATTR{idVendor}=="0765", GOTO="libmtp_rules_end"
ATTR{idVendor}=="085c", GOTO="libmtp_rules_end"
ATTR{idVendor}=="0971", GOTO="libmtp_rules_end"
# Canon scanners that look like MTP devices (PID 0x22nn)
ATTR{idVendor}=="04a9", ATTR{idProduct}=="22*", GOTO="libmtp_rules_end"
# Canon digital camera (EOS 3D) that looks like MTP device (PID 0x3113)
ATTR{idVendor}=="04a9", ATTR{idProduct}=="3113", GOTO="libmtp_rules_end"
# Sensitive Atheros devices that look like MTP devices
ATTR{idVendor}=="0cf3", GOTO="libmtp_rules_end"
# Sensitive Atmel JTAG programmers
ATTR{idVendor}=="03eb", GOTO="libmtp_rules_end"
# Sensitive Philips device
ATTR{idVendor}=="0471", ATTR{idProduct}=="083f", GOTO="libmtp_rules_end"
# DUALi NFC readers
ATTR{idVendor}=="1db2", ATTR{idProduct}=="060*", GOTO="libmtp_rules_end"
# HP printers
ATTR{idVendor}=="03f0", ENV{ID_USB_INTERFACES}=="*:0701??:*|*:ffcc00:", GOTO="li
bmtp_rules_end"
# Printers
ENV{ID_USB_INTERFACES}=="*:0701??:*", GOTO="libmtp_rules_end"

# Autoprobe vendor-specific, communication and PTP devices
ENV{ID_MTP_DEVICE}!="1", ENV{MTP_NO_PROBE}!="1", ENV{COLOR_MEASUREMENT_DEVICE}!=
"1", ENV{ID_GPHOTO}!="1", ENV{libsane_matched}!="yes", ATTR{bDeviceClass}=="00|0
2|06|ef|ff", PROGRAM="/usr/lib/udev/mtp-probe /sys$env{DEVPATH} $attr{busnum} $a
ttr{devnum}", RESULT=="1", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_
MEDIA_PLAYER}="1"

LABEL="libmtp_rules_end"

iPhone device presence is acknowledged as Camera -
disksanddevices

When I typed mtp: in url section of dolphin -

Regards
Ganesh

Possible cause/solution?

I would make sure i go once more time trough this iOS - ArchWiki

Hello @bogdancovaciu,

Thank you for your timely advise. I followed the steps as mentioned in the write up. I found ifuse package was not installed on my computer. I installed it from AUR repo using pamac GUI. Created a folder by name iphone in my home folder. Now I am able to open not only photos, but multiple other folders and files. Only one concern though. Each time I try to connect iPhone, I have to run the following commands, without which it wont connect -

idevicepair unpair
ifuse -o allow_other ~/iphone

I wasn’t sure how to unmount, so tried only the following command -

idevicepair unpair

I see a message saying SUCCESS: Unpaired with device xxxxxxxxxx. But even after that I am able to access the phone contents. So I have two queries - first one is there any way I can connect to my phone without running any commands on konsole and second how do I cleanly unpair and disconnect my phone?

Thank you so much.

Regards
Ganesh

Not sure if you don’t have to add your user to a special group, either related to usbmuxd or the ifuse … i’ll have to read more about, as i don’t have any apple device.

Hello @bogdancovaciu,

I tried a couple of things today to achieve my goal. None of them gave me the results though -

  1. I found one special group relevant to this context usbmux. I added my user id to that group. Restarted the computer. No changes in the behavior. So reverted back to earlier setting.

  2. I found one article in arch forum which said we can comment the last line which will result in usbmuxd exit when device is removed. After commenting i restarted the computer. After restart no change. So reverted back to earlier setting.

[ganeshp@anuganeshdesktop-a34024iwl ~]$ cat /lib/udev/rules.d/39-usbmuxd.rules
'# usbmuxd (Apple Mobile Device Muxer listening on /var/run/usbmuxd)

'# systemd should receive all events relating to device
SUBSYSTEM==“usb”, ENV{DEVTYPE}==“usb_device”, ENV{PRODUCT}==“5ac/12[9a][0-9a-f]/
|5ac/8600/”, TAG+=“systemd”

'# Initialize iOS devices into “deactivated” USB configuration state and activate
usbmuxd
SUBSYSTEM==“usb”, ENV{DEVTYPE}==“usb_device”, ENV{PRODUCT}==“5ac/12[9a][0-9a-f]/
|5ac/8600/”, ACTION==“add”, ENV{USBMUX_SUPPORTED}=“1”, ATTR{bConfigurationValu
e}=“0”, OWNER=“usbmux”, ENV{SYSTEMD_WANTS}=“usbmuxd.service”

'# Make sure properties don’t get lost when bind action is called
SUBSYSTEM==“usb”, ENV{DEVTYPE}==“usb_device”, ENV{PRODUCT}==“5ac/12[9a][0-9a-f]/
|5ac/8600/”, ACTION==“bind”, ENV{USBMUX_SUPPORTED}=“1”, OWNER=“usbmux”, ENV{SY
STEMD_WANTS}=“usbmuxd.service”

'# Exit usbmuxd when the last device is removed
SUBSYSTEM==“usb”, ENV{DEVTYPE}==“usb_device”, ENV{PRODUCT}==“5ac/12[9a][0-9a-f]/
|5ac/8600/”, ACTION==“remove”, RUN+="/usr/bin/usbmuxd -x"

So all I see is I am close to the solution, but not there yet. For now I will manage with the two commands to be executed at konsole i.e. idevicepair pair and ifuse -o allow_other ~/iPhone. Hopefully some better solution will emerge in immediate future. Thanks again.

Regards
Ganesh

Maybe you need to edit the /etc/fuse.conf and uncomment the user_allow_other
Also is interesting that on the ifuse github they still mention to add user to the fuse group

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.