Skip to content

Fixed MTP problems with Sony NWZ-S639F – pre-built packages for Debian and Ubuntu

Pesky PIDS for mtp connection music player devices. The NWZ-S639 is a lovely player, 16Gb, 40 hours battery life, amazing sound, but it has a couple of problems, one in hardware (annoying proprietary Sony USB connector), one in software (it doesn’t show up as an MTP device in current versions of Debian (Lenny) and Ubuntu (Intrepid) even though it is.) This means you can’t do cool MTP stuff like update cover art on the device, etc. The fix allows allows it to be visible and thus show up in MTP-capable players like amarok or banshee.

You need to rebuild mtp from source and manually add the device ID in the MTP config. Here’s how I did it – and a couple of packages if you just want to grab them. The instructions are shamelessly pinched from the ubuntu forums, but I’ve tweaked them (don’t need to upgrade HAL) and added the actual packages. YMMV!

To skip the instructions and just get your player working, grab the Debian packages

If you want to do it yourself (I wouldn’t randomly insert random debs into my system either!), or just want to follow along at home, here’s how:

  • lsusb | grep Sony #(look for the ID bit – mine’s  ID 054c [vendor bit]: 038e[PID bit])
  • mkdir tmp && cd tmp
  • sudo apt-get build-dep libmtp7
  • sudo apt-get source libmtp7

Edit the src:

  • vim libmtp-

Add a line like this  for vendor and PID retrieved from lsusb as above

  • { “Sony”, 0x054c, “Walkman NWZ-S639F”, 0x038e, DEVICE_FLAG_UNLOAD_DRIVER },

  • Build it!
  • apt-get –build source libmtp7

When it’s finished, install the newly created packages

  • sudo dpkg -i *deb

Check your udev rules are updated

  • grep 038e /etc/udev/rules.d/libmtp7.rules

Result – ATTR{idVendor}==”054c”, ATTR{idProduct}==”038e”, SYMLINK+=”libmtp-%k”, MODE=”660″, GROUP=”audio”

  • Reboot.

You’ll also need to pin these to keep these version. Create or edit /etc/apt/preferences and add this

Package: libmtp7
Pin: version
Pin-Priority: 1001

Package: libmtp-doc
Pin: version
Pin-Priority: 1001

Package: libmtp-dev
Pin: version
Pin-Priority: 1001

Package: mtp-tools
Pin: version
Pin-Priority: 1001

To verify it has worked, use mtp-detect. Here’s the result on my box (I sometimes have to issue this command twice, once to clear the bus)

Posted in Debian, GNU/Linux, Hardware, Ubuntu.

Tagged with , , .

Milkshake blog

So this is my blog where I write the sort of stuff that’s clogging the rest of the Interwebs – as Tim Berners Lee says “To dissipate the worry of expectation of quality, I resolve to lower the bar. More about what I had for breakfast.”
What another blog? Yes, I finally resurrected which is for more, ahem, cultural and purely fun stuff and for my attempt to get a collective of folks together to hack on digital TV gubbins.

This is because, having had attempts at writing on the Web that go back to, um, 1996, with domains since 1998, I have tried to cram different interests into the same namespace and it confuses my reader (eg mates and family) – ‘why all the crap about computers?’ some would say, whilst others thought that there was too many pictures of beer hats instead of Sun boxes.

So, if you know me, if you like the Fall or Carry On films, if you know what Debian or DVB-T is.

Not quite as clearcut as that, but it’ll do for now.

Posted in About.