Recently got a Creative Zen 8GB and wanted to manage its music using Amarok. The PC runs Mandriva 2008.0 which comes with Amarok 1.4.8. The Creative Zen does not provide a standard USB mass storage interface so you can't just plug it into the USB port of your PC and start copying files. Creative devices use their own proprietary Media Transport Protocol so Amarok uses libmtp to access the device.
Unfortunately, the version of libmtp which comes with Mandriva 2008.0 is 0.2.1 which does not recognise the 8GB Zen (USB vid:0x41e pid:0x4157) so Amarok cannot connect to the Zen. However, the latest version of the libmtp code does recognise this Zen so the only solution was to rebuild Amarok using the latest libmtp.
Users who want to use their shiny new iPod may also face a similar issue. Mandriva 2008.0 comes with version 0.5.2 of libgpod, whereas the latest version of the code which supports new iPods such as the 80GB Classic is 0.6.0. You'll need a version of Amarok or gtkPod built against version 0.6 if you want to use a newer iPod.
I couldn't find adequate versions of these libraries on a site such as the PLF. Luckily the Mandiva wiki has quiet a good description of how to go about the whole process of rebuilding your packages see Mandriva RPM HowTo. I'm not going into the full details but heres an overview of the steps required:
Create an rpm directory in your home directory and create the required sub-directories as described in the HOWTO.
$ cd rpm
$ ls
BUILD/ RPMS/ SOURCES/ SPECS/ SRPMS/ tmp/
Rather than using the raw library source code to create the new rpms, a faster solution was to find more up-to-date rpms for a later version of Mandriva i.e. 2008.1 or Cooker and use these to build the new rpms for 2008.0. This is done by extracting the spec file and zipped source from the rpm and putting them in SPEC and SOURCES. Edit the spec file to build for 2008.0. When building, it will be built against the -devel libraries you have installed on your machine. Each rpm will have several dependencies so you'll have to install several -devel rpms before the new rpm is build successfully. These will include KDE devel libs, curl-devel, openssl-devel, musicbrainz-devel and many others.
Once all the new rpms are built, remove the old amarok, libmtp, libgpod etc. rpms and install your new rpms. I can confirm that the 8GB Zen works fine with libmtp version 0.2.5.
RPMS which I had to build:
$ cd SPECS
$ ls
amarok.spec gtkpod.spec gnomad2.spec libgpod.spec libmtp.spec
I can also confirm that the iPod Classic 80GB works with libgpod 0.6.0. Just remember that you must edit a text file on the actual iPod to get around Apple's stupid hash. README.sysinfo which comes with libgpod describes the process.
Friday, January 11, 2008
Subscribe to:
Posts (Atom)
