22
Apr

As some of you know I have an iPhone 3G, though I am a linuxguy. Most people who have one know that it is a nice phone (that is, after jailbreaking of course :D ) and I’m really looking forward to the next generation (If it gets promicous mode for WiFi I will most probably try to get one from my carrier). But of course, one huge problem with this device is being bound to Apples iTunes for syncing music, making backups,…

Well, ok, this was the big problem until recently, when usbmuxd was released. This neat daemon allows to access the iPhone, and with the help of libmobiledevice one can do most stuff required to get a usable device for linux. So, what is possible right now?

With a GUI you can do this:

Syncing & Play music: libgpod-git got support for the iPhone, so one can use gtkpod to upload and download it (but both gtkpod and gtkpod-git are sloooow) or rhythmbox if you just want to play your music (adding doesn’t seem to work).

Moving the icons: With sbmanager you get a nice GUI to move arround the App icons on your device

Those functions are CLI only right now:

Installing Apps: Using ideviceinstaller, you can create Backups of you Apps (including local data) and restore those files.

Make & restore backups: The idevicebackup tool allows you to create and restore backups of your devices data.

Tunneling: Using iproxy you can create a local proxy server to allow your computer to access the internet

Tethering: There is a kernel module that allows to use the iPhones Tethering function (if it is enabled in the iPhone Settings and your carrier allows this), so you can use it as a eth-Device (works fine with networkmanager, just plug&play after installing the kernel module :-) )

What does not work yet? Well, I didn’t try to sync calendar/contacts/… stuff, but this is still in testing. Also, a GUI for the CLI stuff would be neat.

How can you get this on your Arch Linux? Quite easy, you just need to build some packages, here is what I installed/replaced with -git (order matters ;-) )

usbmuxd (tar)
libplist (tar)
libimobiledevice (tar)
ifuse (tar)
sbmanager-git (tar) [Change PKGBUILD on x86_64]
ideviceinstaller-git (tar) [Change PKGBUILD on x86_64]
libgpod-git (tar)
gtkpod-git (tar) [not required, but has better performance than stock gtkpod, or use stock rhythmbox]
nautilus-ideviceinfo-git (tar) [not sure yet]
ipheth-git (tar)
gvfs [Rebuild for your architecture to automount the iPhone]

Even after rebooting everything works ok, but rhythmbox can’t move files onto the phone. If you want to use gvfs you have to restart the gvfs daemon by logging out and in again (or rebooting? not sure…).

A note to the Ubuntu Guys: I just plugged my iPhone into an unobserved Ubuntu 10.04 beta2 (thx Babsie), Ubuntu does everything but tethering out of the box. Maybe I will give the upcoming release a try.

Have Fun with this

Leave a Reply