Just a quick heads up for people.
There is a known bug with the last released version of libmtp (0.2.6.1) and the E200v2 and Fuze players. With any luck, the next version released should be a lot more useful.
In the meantime there *is* a work-around, but it’s fairly technical. If you’re not happy building programs, then leave this.
This may break other players using mtp.
-
Get libmtp 0.2.6.1 source from http://libmtp.sourceforge.net/index.php?page=download
-
Get the stuff you need to build it (sudo apt-get build-dep libmtp )
-
Edit the source files as follows:
In the file /src/usbglue.c Add #if(0) before the line that contains // First check if we know about the device already.
In the file /src/usbglue.c Add #endif before the line that contains // If we didn’t know it, try probing the “OS Descriptor”.
In the file /src/music-players.h, change the lines in the file relate to your player so that they read like the ones below.
{ “SanDisk”, 0x0781, “Sansa Fuze”, 0x74c0, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
{ “SanDisk”, 0x0781, “Sansa e280 v2”, 0x7422, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
If your player is a v2 player and it’s not included above, it may still work provided you edit the line relevant to your player.
-
Run ./configure then make and make install (as usual)
-
run ./hotplug.sh and choose “no” to the HAL rules
-
Create a link:
cd /usr/lib
ln -s libmtp.so /usr/local/lib/libmtp.so.6
ln -s libmtp.so.6 /usr/local/lib/libmtp.so.6
- Your fuze or e200v2 player should work with Rhythmbox, Amarok or whatever else that uses libmtp.