LinuxQuestions.org
Did you know LQ has a Linux Hardware Compatibility List?
Go Back   LinuxQuestions.org > Articles > Jeremy's Magazine Articles
User Name
Password

Notices

By jeremy at 2005-03-07 09:54
Tech Support
The iPod and the Penguin
Written by Jeremy Garcia

Q. I am using Fedora Core 2 and can’t connect to my new iPod. Can you help?

A. While Linux isn't officially supported by Apple, the iPod works well with Linux nonetheless, albeit with a minor caveat.


If you’re running a pre- 2.6 kernel, using the iPod can be as easy as plugging it in, mounting it, and downloading an application such as gtkpod( http://gtkpod.sourceforge.net/ ) to upload songs and playlists, and edit ID3 tags, among other tasks. In fact, if you really like Apple's iTunes, you can also try the latest beta release of CodeWeavers’ CrossOver Office( http://www.codeweavers.com ), which may allow you to run the Microsoft Windows version of iTunes on Linux.

However — and this is the caveat — if you run Fedora Core 2 or another 2.6.x- based Linux distribution, you’ll notice that your system recognizes the iPod when you plug it in, but otherwise fails to mount the device. Specifically, you should notice something similar to the following in /var/log/messages when you plug the iPod in:

Quote:
sda:end_request: I/O error, dev sda, sector 39063016
Buffer I/O error on device sda, logical block 4882877
end_request: I/O error, dev sda, sector 39063016
Buffer I/O error on device sda, logical block 4882877
So what’s the problem? To Linux, the iPod looks like a removable disk drive. Regardless of whether you use USB or Firewire to connect the iPod to your computer, Linux uses SCSI emulation to access it. The first part of the problem is that the iPod reports that it has slightly more sectors than it actually has. This alone wouldn’t cause the errors shown above, but the iPod rejects all additional I/O requests if an attempt is made to access a sector that is greater than the actual number of sectors but less than the reported number of sectors. So, your machine “locks” the iPod simply by accessing a disk sector that the iPod reports as being there.( To reset the iPod, you have to unplug it.)

You may be asking yourself why are only 2.6.x based kernels affected? When you attempt to mount the iPod, the Linux kernel tries to find its partition table. For most file systems, the partition table is on the first sector of the partition. 2.6- based kernels, however, support a new type of partition table called EFI( part of the extensible firmware initiative) that's located in the last few sectors of a partition. On the iPod, unfortunately, these last few sectors are in the space that causes the iPod to lock if accessed.

The easiest fix is to remove EFI partition support from the kernel, as you probably don't need the feature. To disable EFI, de-select the CONFIG_EFI_PARTITION option( File systems, Partition Types, EFI GUID Partition support) and then recompile your kernel. Once you boot into this kernel, you can access and enjoy your iPod.

While detailed kernel compilations instructions are beyond the scope of this article, you can find many guides on the web, including the Kernel Building HOWTO at http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html. You can also find modified kernel RPMs for FC2 at http://mirror.linuxquestions.org/pub/lq/iPod/.

If you do choose to recompile yourself, don’t forget to select all of the options that your previously installed kernel had. Your distribution should have a copy of the configuration file that was used for the running kernel in the appropriate kernel source package. And if you know your hardware very well, you can also use the latest “Linus” kernel available from http://kernel.org.

While having to recompile the kernel on 2.6.x-based distributions is a minor inconvenience, enjoying the iPod with Linux is well worth it.

Have fun!

by Caeda on Sun, 2005-03-13 12:24
Well, since suse already annouced 9.3 will have full ipod support.. suppose this is a dead issue?

by jeremy on Sun, 2005-03-13 12:38
Well, I'm not sure a single distribution claiming support makes it a dead issue, but this is certainly something that should be cleaned up as time goes on. Until that happens, hopefully you'll find the article useful.

--jeremy

by av_flagship on Sat, 2006-12-30 04:49
Quote:
Originally Posted by jeremy
Well, I'm not sure a single distribution claiming support makes it a dead issue, but this is certainly something that should be cleaned up as time goes on. Until that happens, hopefully you'll find the article useful.

--jeremy
--Indeed NOT a dead issue. I just recompiled my kernel for the umpteenth time today trying to figure out why my ipod doesn't work anymore. I'm really hoping that disabling "advanced partition selection" will stop this madness. Right now, I have that selected to enable support for hard drives partitioned on a mac. I'm not really sure that I need that though. I do have an HFS+ firewire drive, but there's another setting for HFS+ partitions in the kernal config, so hopefully this efi stuff is what's stopping my ipod after upgrading my kernel. I really don't want to be stuck with the default ubuntu kernel over a stupid ipod

by av_flagship on Sat, 2006-12-30 05:02
$ sudo mount /mnt/ipod
mount: wrong fs type, bad option, bad superblock on /dev/ipod,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

$ dmesg | tail
FAT: codepage cp437 not found
FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
Unable to load NLS charset cp437
FAT: codepage cp437 not found
Unable to load NLS charset cp850
FAT: codepage cp850 not found
Unable to load NLS charset cp850
FAT: codepage cp850 not found
Unable to load NLS charset cp850
FAT: codepage cp850 not found


(the codepage cp850 bits appeared after I followed the mini-howto posted at the address below )

http://linuxfordummies.org/index.php...ecent;start=60


  



All times are GMT -5. The time now is 08:50 AM.

Main Menu
Advertisement

My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration