A socket daemon to multiplex connections from and to iOS devices. usbmuxd stands for "USB multiplexing daemon". This daemon is in charge of multiplexing connections over USB to an iOS device. The daemon is automatically started by udev or systemd depending on what you have configured upon hotplug of an iOS device and exits if the last device was unplugged. When usbmuxd is running it provides a socket interface at /var/run/usbmuxd that is designed to be compatible with the socket interface that is provided on macOS. You should also create an usbmux user that has access to USB devices on your system. Alternatively, just pass a different username using the -U argument. usbmuxd is not used for tethering data transfers which uses a dedicated USB interface to act as a virtual network device. The higher-level layers, especially if you want to write an application to interact with the device, are handled by libimobiledevice.
Features
- Open-Source implementation of proprietary usbmuxd daemon
- Tested on Linux, macOS, Windows and Android platforms
- Supports udev and systemd for automatic activation
- Supports latest device firmware releases
- Supports multiple connections to different ports in parallel
- The daemon is automatically started by udev or systemd depending on what you have configured upon hotplug