Waiting to synchronize your unjailbroken iPhone or iPod Touch on Linux over USB?
No, no. Apple is not releasing iTunes for Linux.
What kept your (not jailbroken) bling bling from being accessed on Linux and limited to synchronization with one Mac or Windows computer could soon be history as a new interesting project has been started.
iFuse (along with it’s backend library libiphone) is a project to allow mounting any iPhone or iPod Touch on Linux over the standard USB cable (so far you could only mount jailbroken ones over the network using ssh) using the fuse filesystem abstraction.
For this to work the project is based on a lot of USB traffic reverse engineering of the iTunes protocol stack to talk with the device.
The current state is pretty astounding as they have a working (not 100% stable though) read/write capable implementation and a backend library which can be used in applications to take further use of the device.
More services can be explored and sms/addressbook/calendar access is already in reach (although needs to be implemented).
A testrun with the library showed how young the library actually is and I had to adjust some autofoo to make it compile correctly.
Another issue had been that on openSUSE the iPhone/iPod Touch gets automounted as camera devices and libiphone has reported cryptic errors on attempts to access the device.
The project requires that you generate encryption keys prior to communicating with any device due to the SSL driven protocol layer once for a computer. This corelates to the iTunes limitation that you can only synchronize your bling bling with one library and takes up to a two or three minutes to do.
Upon the first “contact” of your computer and the device, both devices enter a pairing process which is fast and trivial enabling generic communication from that point on.
Using iFuse one can mount the device to some location and it can be used with Linux tools like gtkpod or other media players/managing tools like any other iPods.
The cool thing is now that this will enable you to plug in an out of the box iPhone or iPod Touch to your (or that of your friends) Linux desktop and modify contents on it.
The library is nearing a first release milestone, it is still pretty unstable and needs some more polish but heading a very good way.
Please mind that no Linux media player manager application is able to deal with the iTunes library on your device if you have a 2.0+ version firmware. It might even potentially destroy your iTunes library (not your whole bling, just the music/playlist and so on) if you use it.
I’ll try to package this as soon as we see the first release of this great piece of work.
Zach C. on the libiphone mailinglist writes:
Just upgraded, ran iphoneclient on the phone. iPhone firmware 2.1 appears to work out of the box, no code change needed. Business as usual. :)
The library has been tested with the new 2.1 firmware realeased by Apple. It appears to work without problems! Any protocol changes would most likely make devices with older firmwares not work anyway, so Apple has to keep it compatible.