Procrastiblog

February 16, 2009

Using an iPod Nano on Linux

Filed under: Linux — Chris @ 6:43 pm

I recently bought an iPod Nano and I’m pleased to report it works just fine with Ubuntu 8.10 (aka Intrepid) and Amarok. I’m able to sync MP3s and podcasts (including video podcasts). I’m even able to transcode videos to MP4 and copy them over by hand. The only hitch is certain special menu entries like “Videos -> TV Shows” that seem to be controlled by iTunes and are, in my case, sadly depopulated. (This isn’t a Linux-specific issue. I was never able to get Audible audiobooks into the top-level “Audiobooks” menu on my old iPod. That was on a Mac, using iTunes. I’m thinking Apple wants to nudge you towards the iTunes Store.)

The instructions here and here are for the most part sufficient, but I thought I’d try to update and boil them down to a few easy steps, if only to increase the overall quality of Google searches for “ipod linux”. The instructions below are for Amarok, but should be easily adapted to Rhythmbox or gtkpod.

[UPDATE] These instructions are for a FAT32-formatted iPod, which includes any brand-new iPod which has not previously been connected to a Mac. I don’t recommend trying to use an HFS+-formatted iPod on Linux. The support for HFS+ is flaky and the filesystem tends to get corrupted frequently. (This may mainly be a problem with going back and forth between Mac and Linux, but there’s no good reason to use HFS+ unless you are going back and forth.) [/UPDATE]

  1. You will need to install libgpod and Amarok. Unfortunately, the version of libgpod in the stable repositories of Ubuntu, Debian, and Red Hat (v0.6.0) doesn’t support the newer (4G) Nanos. The only real consequence of this is a lack of per-track cover art (“Cover Flow” works fine), so you may be tempted to ignore it. Fortunately, it’s relatively easy to backport v0.7.0 to Intrepid. Unfortunately, you also need to rebuild Amarok/Rhythmbox/gtkpod/whatever against the new library (the Jaunty repo has the right version of libgpod, but not the rebuilt version of Amarok). Fortunately, I did this all for you, and you can grab a versions of libgpod and Amarok that support 4G Nanos on Intrepid from my PPA (click on “Follow these instructions” to add the PPA as an APT repository, or just download the .debs and use gdbi or dpkg).[UPDATE] Hardy packages are available here. Jaunty packages are here (Note: you have to use an unofficial Amarok 1.4 package, because Amarok 2.0 doesn’t support iPods at all (don’t ask)). The official Jaunty repos now have an updated version of gtkpod, but  not Rhythmbox AFAICT.  [/UPDATE]
  2. The iPod’s track database is encrypted, so you’ll have to help your computer decode it. Find its serial number using
    sudo lsusb -v | grep -i 'Serial.*[0-9A-Z]\{16\}'

    This will output something like

      iSerial                 3 000A27001DE47C90

    Copy-and-paste the 16 hex digits into /media/IPOD/iPod_Control/Device/SysInfo like so:

    FirewireGuid: 000A27001DE47C90

    (If your iPod isn’t mounted at /media/IPOD, use mount and look for an entry for /dev/sdb1, sdb2, or sdc1.)

  3. Now, you can go into “Settings -> Configure Amarok… -> Media Devices” and add your iPod. It should be automatically detected.
  4. If you click on “Devices” on the left-hand side of the Amarok window, you should see your iPod. Click on the iPod button and set your iPod model. Wikipedia has a handy illustrated table if you don’t happen to know which G your model belongs to (current on-sale models are the 6G Classic, 4G Nano, and 3G Shuffle).
  5. You can connect, you can sync (“Transfer”), and you can disconnect. You may have to fiddle with the “Post-disconnect command” in the “Media Device Configuration.” This one works for me:
    gnome-eject -n -p /media/IPOD

    If the iPod is still mounted after disconnection (i.e., the iPod screen still says “Connected”), you can use

    sudo eject /dev/sdb1

    (or sdc1, or whatever. You may accidentally eject a different USB device.)

[UPDATE 4/17/2009] I’m giving up on Amarok for managing my Nano: it stopped working with videos and I can’t figure out why.

About these ads

21 Comments

  1. This works great! I’ve spent two months trying to get this to work and now it does, whew. Mr. Conway you’re awesome.

    Comment by al451f — March 2, 2009 @ 9:10 am

  2. Really glad I could help!

    Comment by Chris — March 2, 2009 @ 9:16 am

  3. [...] not saying my posts have been all-time greats, but we need more signal and less noise… Could we convince at least [...]

    Pingback by Planet Courant « Procrastiblog — March 16, 2009 @ 6:02 pm

  4. thank you thank you thank you thank you thank you! :D

    Comment by Rebecca — March 25, 2009 @ 8:32 am

  5. Eck… I have Ubuntu 8.10 and an 8gig iPod nano. The new one, of course. Will these instructions work??

    Comment by lissa — March 25, 2009 @ 4:36 pm

  6. lissa, I think they should. That’s exactly what I have.

    Comment by Chris — March 25, 2009 @ 4:39 pm

  7. Great Instruction!

    Thank you!

    Marry me?

    Comment by demaya — April 7, 2009 @ 7:12 am

  8. Great Instruction!

    Thank you!

    Marry me? =)

    Comment by demaya — April 7, 2009 @ 7:12 am

  9. Great!
    But, how to fix this with hardy 8.04?

    Comment by Maxim — April 15, 2009 @ 6:34 pm

  10. Maxim, try here: https://launchpad.net/~nicknak/+archive/ppa

    Comment by Chris — April 15, 2009 @ 6:51 pm

  11. GENIAL!!
    THANK YOU!!!!
    “Merci beaucoup” ;-)

    Comment by Maxim — April 15, 2009 @ 7:19 pm

  12. I absolutely LOVE you, THANK YOU SO MUCH!!!

    Comment by Andrés — May 5, 2009 @ 10:58 pm

  13. Hi

    I’ve been trying for three days to get some videos on my iPod and I can’t.

    I followed your instructions and still can’t…

    I can put as many songs as I want but no videos… I’ve changed the format to .mp4 and everything but in Amarok I can only see Playlists and with gtkpod I can also see the Photos folder, but still no videos…

    If anyone could help me I’d really apreciate it.

    Thanks.

    Comment by dvitto — May 20, 2009 @ 7:14 am

  14. Forgot to say it’s a 4th Generation 16GB nano.

    thank you!

    Comment by dvitto — May 20, 2009 @ 7:15 am

  15. dvitto, I also had a problem with videos on Amarok, which is one reason I have stopped using it. If you have gtkpod 0.7.0, you should be able to drag .mp4 videos onto your iPod. Do you get an error message?

    Comment by Chris — May 20, 2009 @ 10:22 am

  16. Have you tried subscribing to a video podcast?

    Comment by Chris — May 20, 2009 @ 10:23 am

  17. I’ve had Bogdan’s Amarok 1.4.10 for Jaunty installed for a while, and I still can’t see covers on my 4G nano.

    I loaded all covers into amarok, the iPod gets recognized as a 4G nano, and I click Update Artwork, it says “Artwork updated for 1919 tracks”, but nothing actually happened on the Pod.

    Comment by Max — May 23, 2009 @ 1:22 pm

  18. [...] myself, and to hopefully avoid some of the problems I’ve had using iPods with Linux (see here and here), I decided to buy a Sandisk Sansa Fuze. This is basically a generic Nano: an 8GB solid [...]

    Pingback by Sansa iPod « Procrastiblog — June 11, 2009 @ 3:44 pm

  19. :'( using mandriva 2009.1, is there no way to have amarok work with my ipod ?!

    Comment by Maik — June 25, 2009 @ 3:42 pm

  20. I don’t know how to say thank you enough! This version of Amarok in Jaunty is the ONLY one that says it works with the Nano 4G AND ACTUALLY DOES WORK! I haven’t tried videos and what not, but the cover art works great. Thank you so much!

    Comment by Louis Cunningham — June 26, 2009 @ 11:11 pm

  21. This feed has been out for awhile and I just never found it but do you think that it is possible for you to give links to everything that was mentioned. Also I have a iPod Nano 4th Generation. Think this will work?

    Comment by Coolio — February 13, 2012 @ 9:11 pm


RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

The Silver is the New Black Theme. Create a free website or blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: