29 May 2008

iPod Classic with Amarok on Linux

by Anton Piatek

When I first bought my iPod classic, Amarok hadn’t yet got support for the new SHA1 hashing that was being done in the song db. Then it was only in cvs, and while I remember compiling from source I don’t think I ever got round to running that code.

Of course I found out the hard way that Amarok didn’t have support for my iPod, and nearly bricked the thing. Thankfully a windows box and iTunes could reset it.

I now have it working, however it took a little fiddling. If you are trying to get it working, you absolutely must read before starting, especially #My_iPod_does_not_show_any_music, as this explains how to set up the magic ID number. Unfortunately earlier pages didn’t say whether to add the 0x in from of the ID, and I remember having lots of difficulty just with libgpod and gtkpod. While I am mentioning it, the versions you need for an iPod Classic are: Amarok 1.4.8 and libgpod 0.6.0

So you have them installed, and you want to get Amarok managing your iPod – Well, I plugged it in, amarok detected it popped up a window asking if it should mount it as an iPod. I said yes, copied some songs, ejected it and BANG! – My iPod wouldnt show any songs.

It seems that the data uploaded by iTunes isn’t the same as by Amarok, and the iPod doesnt like that. Deleting the contents of the iPod_Control folder from the iPod seemed to make Amarok and the iPod happy. Of course Amarok needed to recreate some folder structure, but it asked nicely. Also, if you do this, don’t forget you have to recreate your SysInfo file again before Amarok uploads any songs.

Anyway, I now have an iPod that I can upload to with Linux (which is a hell of a lot faster than iTunes – iTunes took about 30 hours to copy ~30G of music, Amarok took about 3 hours), podcasts work and even some cover art has been copied.

If you have any problems, you can reboot the iPod by holding the Menu and select button down together for a few seconds. If the songs list comes up blank, then you have something wrong and Amarok didnt write the hash correctlty – check the SysInfo file, delete all music from the iPod in Amarok, and copy a few test tracks, disconnect and check if you have it right.

You can also use the Smart Playlists to sync to the iPod – Favourite tracks, Newest tracks and All Collection are good ones to use. Of course you can create your own custom smart playlists too.

Best of all, Amarok is properly multi-threaded so I can copy my entire music collection to my iPod, while playing music and Amarok and writing blog posts – on windows syncing an iPod used to make the system struggle, and iTunes became rather unresponsive…

tags: amarok - ipod - Linux - Music - programs