Date

Required packages:

libgpod4, gtkpod, ifuse, usbmuxd

Steps:

After having installed the above packages

sudo mkdir /media/iPhone (you can choose whatever location you desire)
sudo chown `whoami` /media/iPhone
ifuse /media/iPhone (this will mount your iphone on /media/iPhone)
mkdir -p /media/iPhone/iTunes_Control/Device
sudo lsusb -v | grep iSerial

this will output like something this:

  iSerial                 1 0000:00:12.2
  iSerial                 1 0000:00:13.2   iSerial                 3 8372189bcafb324324eafbs8432b4235b32130537   iSerial                 1 0000:00:12.0   iSerial                 0

  iSerial                 1 0000:00:12.1
  iSerial                 0
  iSerial                 1 0000:00:13.0
  iSerial                 1 0000:00:13.1
  iSerial                 1 0000:00:14.5
ipod-read-sysinfo-extended 8372189bcafb324324eafbs8432b4235b32130537 /media/iPhone
  1. check if /media/iPhone/iTunes_Control/Device/SysInfoExtended now exists

  2. launch gtkpod and follow the on-screen instructions. If it shows any warnings don't worry too much ;)

  3. You should now be able to access your iphone playlist and add songs.

    After doing anything you want don't forget to "save changes" on gtkpod and quit normally

  4. Then before unplugging your iphone always remember to unmount it using

    fusermount -u /media/iPhone.

From now on you can mount your iphone with

ifuse /media/iPhone

synchronize it with gtkpod and unmount it with

fusermount -u /media/iPhone