usbmuxd
Introduction
usbmuxd: USB Multiplex Daemon. This bit of software is in charge of talking to your iPhone or iPod Touch over USB and coordinating access to its services by other applications.
usbmuxd is currently maintained by Hector Martin (the author of this blog). The current implementation is based on an asynchronous server core based around libusb-1.0, and the framework and client library from the earlier libusb-0.1 thread-based implementation. Current contributors include Nikias Bassen, Hector Martin, Bastien Nocera, Paul Sladen, and Martin Szulecki.
What’s this for?
You will need this package in order to sync music and information with your iPhone or iPod Touch device under Linux. By itself, you can use it to tunnel SSH sessions over USB if your phone is jailbroken (or any other TCP-based service on the phone). In order to talk to the “official” syncing mechanisms, you will also need libimobiledevice and friends. You can use iFuse to mount the data root of your device, whether it is jailbroken or not.
Recent betas of libgpod should be available to sync music to and from one of these devices. Keep in mind that all of these projects are currently under heavy development and may or may not work – all feedback is appreciated. Also, remember that iPhone OS 4.0 will disable third-party music sync again, so do not update if you want to keep this functionality.
Dependencies
- libusb-1.0.3 or later. Older versions will not work.
- cmake-2.6 or later
- udev, if you want proper hotplug support
- Maybe a recent kernel. There have been some issues reported with older kernels related to USB ZLP packets. If you experience stability issues, let us know.
Source download
The current release of usbmuxd is v1.0.5.
Source package: usbmuxd-1.0.5.tar.bz2
Please read the README file for build instructions and usage help.
Distro packages
The libimobiledevice website has a list of distribution repositories that contain recent versions of usbmuxd and other software used for iPhone/iTouch sync on Linux.
Development, feedback, and support
To participate in the development process and discuss it, please join the libimobiledevice-devel mailing list. Users should also seek support there at this time.
You can grab a copy of the development version and history using Git:
$ git clone git://git.marcansoft.com/usbmuxd.git
$ # or
$ git clone http://git.marcansoft.com/repos/usbmuxd.git
You can also browse the source code online.