I have a new iphone or ipod touch and I want to sync with linux. What to I do please?

Marcan has provided some excellent blog entries so have a look at these. If you are unsure about your firmware version and your iphone or itouch is recent then its probably version 3.

Users with 3.x firmware

Users with 2.x firmware

I am receiving the error message "ipod database Import failed illegal seek to offset 0" when trying to use an iphone 3G with gtkpod?

This error means that the libgpod library installed on your system is the incorrect version. At the moment you will require the version from the
sourceforge git repository. Ensure other versions of libgpod are removed from the system to avoid gtkpod using them by mistake.

I have just upgraded my new ipod to the 1.1.3 firmware and have successfully jailbreaked but gtkpod will not work with it?

To quote DarkShadow in full:
"I just upgraded to the dev team 1.1.3 jailbreak and to use it with gtkpod you have to modify the mount command and change /var/root/Media to /var/mobile/Media in iPod convenience's scripts. After that it will work with gtkpod again."

My iPhone or iTouch doesnt have a USB connection. How can I mount it on my linux box?

The iPhone or iTouch, at present has to be mounted using sshfs. Openssh must also be installed on the iPod Touch for this to work.
The folks at Ubuntu have provided a very helpful site for information on getting these iPods to work.

I have heard that my iPhone or iTouch must be jailbroken. What does that mean?

Answer taken from here

The iPhone or iPod Touch must first be "jailbroken" so that you can modify the software which it runs.
Determine your Firmware Version
Follow this wiki page for information on how to properly jailbreak.
It has directions for both 1.1.1 and 1.1.2 firmwares. Note that if you want to keep firmware 1.1.2, you may need a Mac or Windows machine to assist you.

My iPod is an iPhone, iTouch, Classic or Nano3g. My tunes show up in gtkpod but I see nothing on the iPod when I eject?

This is to do with requiring your iPod model number in a sysinfo file located on the iPod. Please see here for details.

Loaded up gtkpod for the first time and I receive the message "Could not open "iTunesDB.ext" for reading extended info. Extended info will not be used."?

iTunesDB.ext is a gtkpod/libgpod specific file. If you have never uploaded music using gtkpod to the your iPod, then it's perfectly normal that this file is absent. This file will be created automatically by gtkpod at the save stage (if you enabled "Edit->Preferences->Write extended information" of course).

But even if you consider not using this extended information, all should work. You will lose only some bonuses like detection of duplicates.

Installed libmp4v2 or libgpod from source to /usr/local/lib, but gtkpod is unable to locate or

If you install to /usr/local/lib please don't forget to add the path to LD_LIBRARY_PATH:


You can add those lines to your ~/.bashrc or add it globally to

Files copied to gtkpod but they don't appear in the database (0.80, Tony Williams)?

I'm having a problem that I wonder if you've seen. I've setup gtkpod. launch it and add files. I can hear the ipod harddrive spin up. If I go onto the ipod directly I can see the space being used and can even see the new files on the ipod. However the ipod interface doesn't show the new files and gtkpod keeps telling me that there are orphaned files.

I finally figured out the problem. In my fstab I had the filesystem set to 'auto' and it was mounting as msdos instead of vfat. I specified vfat in fstab and voila! I'm a happy happy man.

Filenames on the iPod appear in DOS 8.3 format and syncing to the iPod is not working as expected?

You need to specify "vfat" as file system type. How to do that depends on which way you use to mount the iPod -- see the README file for more details.

./ does not work?

A ubuntu user has reported that he had to set

ACLOCAL_FLAGS=" -I /usr/share/aclocal/"

in order to get ./ to work.

The following error message is displayed when accessing the device:

ieee1394: sbp2: aborting sbp2 command
Test Unit Ready 00 00 00 00 00

(Markus Gaugusch):
It is possible that hotplug and the "sg" support are not working well together. Try disabling "sg" support in the kernel configuration or
unload the "sg" module if you are using modules.

(Justin Thiessen):
Forcing the sbp2 module to serialized I/O seems (so far) to have solved the problem.


Looks like the driver is going to be set to default to serialized I/O in kernel 2.6.14, anyways.

The following error message is displayed when accessing the device

usb-storage: Attempting to get CSW...
usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
usb-storage: Status code -75; transferred 0/13

Solution (by Ingo Reimann)
I tried to use an iPod Mini with my nforce2-Board, kernel 2.6.14/2.6.15 debian sid and got messages like [above] in dmesg. /dev/sda appeared, but fdisk -l did not show anything

The solution, that i found in a discussion on was to unload ehci_hcd.

When connecting an iPod via USB to a 2.6 kernel machine the iPod wil be recognized but not work correctly. In /var/log/messages you'll see the a bunch of "Buffer I/O error on device sd?" when connecting the iPod (Jonas Bergler, Kevin Venkiteswaran)

Solution (by "jeffmock")
Disable CONFIG_EFI_PARTITION (File Systems -> Partition Types -> Advanced Partition Selection -> EFI GUID Partition support) in your kernel configuration, recompile.
Details can be found at


"This problem could potentially happen with both 2.4 and 2.6 kernels.

A longer story follows and perhaps someone can come up with a more sensible solution for the long run.

The iPod looks like a removable disk drive to the host computer. When it is attached to the computer, the mini iPod reports a capacity of 7999488 512-byte sectors (or about 4GB). This turns out to be wrong for whatever reason. The mini iPod only really has 7999376 sectors and it exaggerates by 112 sectors. The other quality of the iPod is that if the computer attempts to read a sector greater than the actual capacity but less than the reported capacity, the iPod will dutifully report an I/O error, but it won't respond to any future requests until you unplug/plug the iPod."

I followed the kernel recompile instructions for distro, disabled only the CONFIG_EFI_PARTITION option, and things ran perfectly for me afterwards. As indicated above, hopefully a better long-term solution will emerge soon."

(Jorg Schuler: it seems a patch was introduced in kernel version 2.6.10: "<> [PATCH] USB Storage: Add unusual_devs entry for iPod This patch adds an unusual_devs.h entry for the Apple iPod as it reports one too many sectors. The patch was submitted by Avi Kivity <> and re-diffed by me.")

If you have a similar problem with a newer kernel, make sure the USB port you connected your iPod to has sufficient power, because it may cause a similar error.

SHUFFLE won't play music after reformatting

Solution (by Mark Davis)
The SHUFFLE seems to care about the volume name which has to be "IPOD". Try to format as (replace /dev/sda1 with the appropriate device file for your SHUFFLE!):

mkdosfs -F32 -n IPOD /dev/sda1

Calendar entries mixed up?

The iPod does not appear to like times specified in UTC (indicated by a trailing 'Z'). KOrganizer seems to do this. If you know how to work around it let me know.

m4a files created by faac cannot be added by gtkpod (gentoo)?

There appear to be some versions of faac that do not create 'good' m4a files. The problem could be solved under gentoo by using version 1.24.
In order to make error tracking easier, more detailled error messages are displayed when tracks could not be added for any reason starting with version 0.91-CVS of gtkpod.

gtkpod crashes when reading the iTunesDB (Fedora)

It appears that crashes were observed with kernel version 2.6.11-1.35_FC3. An upgrade to 2.6.12-1.1376_FC3 got rid of the problem. This was with gtkpod-0.94.0 and Athlon64 3000+.

After updating the firmware of a 1st-gen iPod nano**, crashes are also observed with Fedora Core 5, kernel 2.6.20-1.2320.fc5, gtkpod 0.99.4 (which worked with the previous firmware). Downloading, building, and installing gtkpod 0.99.10 and libgpod 0.6.0 solved the problem.

Problems connecting the iPod to Solaris/SPARC

Current (as of 2006/03/30) versions of the Solaris pcfs SPARC driver have a bug where the correct filesystem/partition layout may not be
recognized, and this is true for iPods. This prevents the iPod partition from being mounted on Solaris SPARC. In order to work
around this, one must prevent pcfs from detecting the first FAT32 filesystem, forcing it to move on to the second one. This can be done
by changing the filesystem identifier like so:

  1. dd if=/dev/rdsk/c3t0d0s2 of=/tmp/ipod.orig count=1
  2. cp /tmp/ipod.orig /tmp/ipod.modified <edit /tmp/ipod.modified and change the first occurance of "FAT32" (at offset 0x52 for me) to something else like "CAT32">
  3. dd if=/tmp/ipod.modified of=/dev/rdsk/c3t0d0s2 count=1

The above modification may or may not affect usage on other systems. Some reports encounter no problems using the iPod or iTunes after
making it. In my own experience, my iPod hard locked moving from a SPARC system to an x86 system, and I had to undo the change. Wrapper
scripts to handle this may be desirable on SPARC.

Eric Enright

iTunes cannot read the contents of the iPhone

If you connect your iPhone to iTunes and get the message "iTunes cannot read the contents of the iPhone," you can easily fix this by removing or renaming the /var/mobile/Media directory:
$ ssh root@iphone
$ mv /var/mobile/Media /var/mobile/Media.aside
$ rm -r /var/mobile/Media
After this you should be able to sync from iTunes again. Note that it will create the /var/mobile/Media hierarchy from scratch, and you will lose any music, videos, and photos currently on the phone.