A while ago I had the opportunity of swapping my 60Gb iPod (5G) for a 160Gb iPod Classic (6G), and naturally I accepted, only to be bitten by the “No music” bug.
The old iPod, and an iPod Nano I also use, can easily be updated with new music and playlists through number of Linux applications such as gtkpod and the banshee media player.
Whenever I did the same on the iPod Classic it would simply say “No music” whenever I turned it on, but when I plugged it into the computer all the music and audiobooks were there.
Apparently Apple found it amusing to add a checksum to the itunes database on the iPod, and make the iPod say “No music” whenever the checksum didn’t match.
Even though gtkpod and banshee claimed to support the iPod Classic through a workaround, I had no end of problems. Sometimes updates to the iPod would work, at other times it would just refuse to see the music.
In the end I’ve managed to get it to work reliably, at least over about 10 substantial updates.
First, I reset the iPod using iTunes for windows to get a clean iPod with a vfat file system.
Second, I plugged it into a Linux computer with the newest gtkpod and libgpod 0.7 from Debian experimental (now in unstable) and immediately ran the “ipod-read-sysinfo-extended” which finds and stores the firewire ID of the iPod for use in calculating the checksum.
From this point on the iPod Classic has updated correctly each time but I’m sticking to the newest version of gtkpod availble in Debian.
I have little idea why I had so many problems before. There might have been an upgrade to libgpod inbetween, it might be because I moved from a HFS+ filesystem to a vfat filesystem or it might be because I tried with too many different applications earlier, some of them using the previous version of libgpod which didn’t support the iPod Classic.