libmtp and Ubuntu Jaunty (mtp devices), Rhythmbox

LIBMTP and UBUNTU JAUNTY

I installed a clean ubuntu Jaunty 64 bit, and when plugging in an mp3 player I found that Rhythmbox could not found my player because of an libmtp panic error, sth like this:

PTP: Opening session
LIBMTP PANIC: Unable to read device information on device 6 on bus 0, trying to continue

Apparently there is a bug already in launchpad:

https://bugs.launchpad.net/bugs/348287

I found out that Jaunty uses 0.3.0 of libmtp which dates back from 2008.

Seeing that this is quite annoying, I downloaded the latest libmtp and compiled them by hand:

You’ll need libusb-dev library (apt-get install libusb-dev), which can be installed by means of apt-get.

Latest release of libmtp:

http://libmtp.sourceforge.net/index.php The latest is 0.3.6

as always:

./configure

make

sudo make install

By default, this installs:

:/usr/local/lib$ ls -l

-rw-r–r– 1 root root 839976 2009-05-04 18:46 libmtp.a

-rwxr-xr-x 1 root root 805 2009-05-04 18:46 libmtp.la

lrwxrwxrwx 1 root root 15 2009-05-04 18:46 libmtp.so -> libmtp.so.8.2.1

lrwxrwxrwx 1 root root 15 2009-05-04 18:46 libmtp.so.8 -> libmtp.so.8.2.1

the libmtps that come in Jaunty are in /usr/lib:

/usr/lib/libmtp.so.8

/usr/lib/libmtp.so.8.0.0

back these files up in some place in your home:

Remove those in /usr/lib and soft link to new ones:

If you are still in /usr/lib

ln -s /usr/local/lib/libmtp.so.8.2.1 libmtp.so.8

ln -s /usr/local/lib/libmtp.so.8.2.1 libmtp.so.8.0.0

Of course, you need to be root for that.

That’s it!! If you plug your mp3 and start Rhythmbox, it should work.

Advertisements

About jordilin

I'm a Senior Software Engineer with an MSc in Telecommunications Engineering. I've got a range of interests including Linux, a very powerful and limitless operating system, travelling, gastronomy and technology.
This entry was posted in HOWTOs, Ubuntu Linux and tagged , , , , . Bookmark the permalink.

6 Responses to libmtp and Ubuntu Jaunty (mtp devices), Rhythmbox

  1. Mauricio says:

    I have the same problems. I followed your advice but it still does not work for me. When I run mtp-detect it shows that is using the new (0.3.6) libmtp and finds the raw device (Walkman NWZ-A829). Then it says:

    LIBMTP PANIC: Unable to read device information on device 2 on bus 0, trying to continueUnable to open raw device 0
    OK.

    And that it. Rhythmbox show nothing either.

    Any suggestions?

  2. Mauricio says:

    I managed to get it to work. I simply unmount the device via desktop icon then ran mtp-detect again and it worked. But still, when I plug the player the OS ask what to do and if I select to open Rhythmbox (the default) is doesn’t work unless I first unmount it. It’s kind of anoying.

    Do you know any solution to this or workaround?

  3. Hi, cool post. I have been thinking about this topic,so thanks for blogging. I’ll certainly be subscribing to your site. Keep up the good work

  4. Thomas says:

    Thanks a lot for this information, it solved my problems!

    Instead of replacing the files in /usr/lib there’s also another way utilizing custom .deb-packages, and it’s quite simple:

    1) Download the source package from the libmtp homepage
    2) Get the Ubuntu source package of libmtp8 with ‘apt-get source libmtp8’
    3) Copy the debian subfolder from the Ubuntu source to the Original source (you don’t need the Ubuntu source from here on)
    4) Edit the changelog file therein and add another entry on top where you replace the version number with e.g. 0.3.6-1
    5) in the root folder of the source run ‘dpkg-buildpackage -rfakeroot -uc -b’ (you might want to try ‘apt-get build-dep libmtp8’ first to get all build dependencies)
    6) Finally install the created .deb-packages in the parent folder with ‘dpkg -i ‘

    Thought you might be interested in this since it conflicts less with the package system than handcrafted symbolic links.

  5. David Hancock says:

    Thanks for that – works as advertised.

  6. Andysan says:

    Does anyone have any links to built .deb files please? I’ve tried the instructions as described in Thomas’ post built it fails for me(?).

    Thanks in advance.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s