Transfer music to iPhone

Ok, let’s try libimobiledevice!

Disconnect your phone.

sudo pacman -Syu libimobiledevice

sudo systemctl enable --now usbmuxd.service

Make sure the service is running:

systemctl status usbmuxd.service

Connect your phone.

libmobiledevice (well, libmobiledevice-git) is a dependency of ifuse-git:

Dependencies (4)

fuse (fuse2)
libimobiledevice-git
libplist-git
git (git-git, git-vfs) (make)

So it would presumably be installed.

1 Like

sudo pacman -Syu libimobiledevice
[sudo] password for yuli:
:: Synchronising package databases…
core is up to date
extra is up to date
community is up to date
multilib is up to date
endeavouros is up to date
warning: libimobiledevice-1.3.0-5 is up to date – reinstalling
:: Starting full system upgrade…
resolving dependencies…
looking for conflicting packages…

Package (1) Old Version New Version Net Change

extra/libimobiledevice 1.3.0-5 1.3.0-5 0.00 MiB

Total Installed Size: 1.54 MiB
Net Upgrade Size: 0.00 MiB

:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [------------------------------------] 100%
(1/1) checking package integrity [------------------------------------] 100%
(1/1) loading package files [------------------------------------] 100%
(1/1) checking for file conflicts [------------------------------------] 100%
:: Processing package changes…
(1/1) reinstalling libimobiledevice [------------------------------------] 100%
:: Running post-transaction hooks…
(1/2) Arming ConditionNeedsUpdate…
(2/2) Checking which packages need to be rebuilt
[yuli@yuli-PC ~]$ sudo systemctl enable --now usbmuxd.service
The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled using systemctl.

Possible reasons for having this kind of units are:
• A unit may be statically enabled by being symlinked from another unit’s
.wants/ or .requires/ directory.
• A unit’s purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, …).
• In case of template units, the unit is meant to be enabled with some
instance name specified.
[yuli@yuli-PC ~]$ systemctl status usbmuxd.service
● usbmuxd.service - Socket daemon for the usbmux protocol used by Apple devices
Loaded: loaded (/usr/lib/systemd/system/usbmuxd.service; static)
Active: active (running) since Sun 2022-01-02 18:59:32 GMT; 3min 6s ago
Docs: man:usbmuxd(8)
Main PID: 35566 (usbmuxd)
Tasks: 2 (limit: 17894)
Memory: 1.1M
CPU: 13ms
CGroup: /system.slice/usbmuxd.service
└─35566 /usr/bin/usbmuxd --user usbmux --systemd

Jan 02 18:59:32 yuli-PC systemd[1]: Started Socket daemon for the usbmux protocol used by Apple devices.
Jan 02 18:59:32 yuli-PC usbmuxd[35566]: [18:59:32.797][3] usbmuxd v1.1.1 starting up
Jan 02 18:59:32 yuli-PC usbmuxd[35566]: [18:59:32.799][3] Successfully dropped privileges to ‘usbmux’
Jan 02 18:59:32 yuli-PC usbmuxd[35566]: [18:59:32.799][3] Using libusb 1.0.24
Jan 02 18:59:32 yuli-PC usbmuxd[35566]: [18:59:32.804][3] Initialization complete
Jan 02 18:59:32 yuli-PC usbmuxd[35566]: [18:59:32.804][3] Enabled exit on SIGUSR1 if no devices are attached>
Jan 02 19:01:42 yuli-PC systemd[1]: /usr/lib/systemd/system/usbmuxd.service:7: PIDFile= references a path be>
lines 1-18/18 (END)…skipping…
● usbmuxd.service - Socket daemon for the usbmux protocol used by Apple devices
Loaded: loaded (/usr/lib/systemd/system/usbmuxd.service; static)
Active: active (running) since Sun 2022-01-02 18:59:32 GMT; 3min 6s ago
Docs: man:usbmuxd(8)
Main PID: 35566 (usbmuxd)
Tasks: 2 (limit: 17894)
Memory: 1.1M
CPU: 13ms
CGroup: /system.slice/usbmuxd.service
└─35566 /usr/bin/usbmuxd --user usbmux --systemd

Jan 02 18:59:32 yuli-PC systemd[1]: Started Socket daemon for the usbmux protocol used by Apple devices.
Jan 02 18:59:32 yuli-PC usbmuxd[35566]: [18:59:32.797][3] usbmuxd v1.1.1 starting up
Jan 02 18:59:32 yuli-PC usbmuxd[35566]: [18:59:32.799][3] Successfully dropped privileges to ‘usbmux’
Jan 02 18:59:32 yuli-PC usbmuxd[35566]: [18:59:32.799][3] Using libusb 1.0.24
Jan 02 18:59:32 yuli-PC usbmuxd[35566]: [18:59:32.804][3] Initialization complete
Jan 02 18:59:32 yuli-PC usbmuxd[35566]: [18:59:32.804][3] Enabled exit on SIGUSR1 if no devices are attached. Start a new instance with “–exit” to trigger.
Jan 02 19:01:42 yuli-PC systemd[1]: /usr/lib/systemd/system/usbmuxd.service:7: PIDFile= references a path below legacy directory /var/run/, updating /var/run/usbmuxd.pid → /run/usbmuxd.pid; please update the unit file accordingly.
~
~
● usbmuxd.service - Socket daemon for the usbmux protocol used by Apple devices
Loaded: loaded (/usr/lib/systemd/system/usbmuxd.service; static)
Active: active (running) since Sun 2022-01-02 18:59:32 GMT; 3min 6s ago
Docs: man:usbmuxd(8)
Main PID: 35566 (usbmuxd)
Tasks: 2 (limit: 17894)
Memory: 1.1M
CPU: 13ms
CGroup: /system.slice/usbmuxd.service
└─35566 /usr/bin/usbmuxd --user usbmux --systemd

Jan 02 18:59:32 yuli-PC systemd[1]: Started Socket daemon for the usbmux protocol used by Apple devices.
Jan 02 18:59:32 yuli-PC usbmuxd[35566]: [18:59:32.797][3] usbmuxd v1.1.1 starting up
Jan 02 18:59:32 yuli-PC usbmuxd[35566]: [18:59:32.799][3] Successfully dropped privileges to ‘usbmux’
Jan 02 18:59:32 yuli-PC usbmuxd[35566]: [18:59:32.799][3] Using libusb 1.0.24
Jan 02 18:59:32 yuli-PC usbmuxd[35566]: [18:59:32.804][3] Initialization complete
Jan 02 18:59:32 yuli-PC usbmuxd[35566]: [18:59:32.804][3] Enabled exit on SIGUSR1 if no devices are attached>
Jan 02 19:01:42 yuli-PC systemd[1]: /usr/lib/systemd/system/usbmuxd.service:7: PIDFile= references a path be>
~

Usbmux daemon

usbmuxd is required to make connections to iOS devices all. systemd comes with udev rule to automatically start and stop this daemon so no user interaction is required.

“No user interaction is required.”

1 Like

And…what happened when you connected your phone?

No need to enable-start then. You are right! Only connecting the device should get the daemon started.

Insert the iOS device and verify that usbmuxd.service automatically started.

systemctl status usbmuxd.service

when connect my iPhone i can`t see it in my devices

Screenshot_20220102_195212

Was the iPhone unlocked before you plugged it into the computer? Did you get a popup on the iPhone that asked if you want to allow the computer to access files on the iPhone?

On top of what you mentioned above, do you think this also need to be done:

Pairing

In order to be able to connect to the iOS device, it must be connected via USB to the computer.

Note: Device screen must be unlocked

idevicepair pair

SUCCESS: Paired with device d8e8fca2dc0f896fd7cb4cb0031ba249

If you have multiple iOS devices connected --udid ios_udid parameter can be passed to target specific device.

Probably.

(Not the --udid ios_udid part).

@Omurtak

Connecting your phone to the computer, make sure the screen is unlocked and you give the computer access to your phone as mentioned above by @Stagger_Lee.

Then run:

idevicepair pair

idevicepair pair
SUCCESS: Paired with device 00008030-000218D40EC0802E

but stil cannot see my device on section :Devices

sudo ifuse ~/iPhone

1 Like

idevicepair pair
SUCCESS: Paired with device 00008030-000218D40EC0802E
[yuli@yuli-PC ~]$ sudo ifuse ~/iPhone
[sudo] password for yuli:
There was an error accessing the mount point: Permission denied
[yuli@yuli-PC ~]$

i dont kno why, i give permition on my iPhone for trusted device
:grinning:

Try this:
sudo ifuse -o allow_other ~/iPhone

Maybe:

sudo ifuse -o allow_other ~/iPhone

@pebcak - apparently you type slightly faster than I do…

1 Like

same

There was an error accessing the mount point: Permission denied

In your secreenshot, I am not seeing an iPhone directory in your Home.

Did you create the directory?

mkdir ~/iPhone

1 Like

I guess the problem might have been this all along :wink:

1 Like

anyway thanks for attention guys,this is great distro im verry happy to use it :grinning: