PCsuggest

  • Quick tip
  • SECURITY
  • NETWORKING
  • OpenWrt
  • HARDWARE

How to connect a USB MTP device on Linux

Updated - June 5, 2020 by Arnab Satapathi

We often need to access the data of an MTP USB device, like a smartphone or media player.

And almost every such handheld device is equipped with a micro, mini or type C USB port. These ports are for data transfer or for charging.

And that's when MTP comes to play its role, as a bridge between two systems.

So, in this post we'll learn about MTP and it's application. Also, how to connect those devices to a PC, running Windows or Linux.

Contents

  • What is MTP?
  • MTP USB device driver
    • Windows device driver
    • Linux driver
  • MTP USB device on Android
  • Accessing the files
  • Conclusion

What is MTP?

The word MTP stands for Media Transfer Protocol although many other abbreviations exists.

So, basically a communication protocol between two different devices to transfer data back and forth. It's developed by Microsoft as a part of their Windows Media Framework.

MTP is an extension of another very similar communication protocol PTP. Which is specially for older generation Cameras and Media Players for transferring pictures.

As the term Media is stressed here, so you can think it as an optimized protocol for transferring media files such as Pictures, Videos and Music files. However, it works just as well as for other file types.

MTP USB device driver

Let's know about the driver support of various MTP devices on Windows and Linux.

Windows device driver

As MTP is developed by Microsoft, so there's no need of installing any driver on Windows Vista and later versions.

amazon prime logo
Try AmazonPrime for free
Enjoy free shipping and One-Day delivery, cancel any time.

However, MTP driver support could be added on Windows XP by installing Windows Media Player version 10 or later.

It shows up as a portable device in the Windows  device manager.

mtp usb device driver

If your device is not showing up, then just update the mtp usb device driver on Windows 10 by double tapping on the unrecognized portable devices.

Linux driver

On Linux, MTP support is provided by libmtp, the open source implementation of MTP protocol.

However, only libmtp is not enough to connect a USB MTP devices on Linux. A proper backend like Gvfs or kio-mtp is also required.

So, if you don't have the proper MTP related tools, install them with apt on any Debian based Linux distribution.

sudo apt-get install gvfs-backends gvfs-bin gvfs-fuse gvfs-daemons

It's managed by, gvfsd-fuse and you just have to find the mount directory. For that few basic commands will be sufficient.

mount | grep 'gvfsd-fuse'
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

From the above command, you've got an idea that you can access the files on Linux under the /run/user/1000/gvfs directory.

gvfs mtp on linux

You can see the directory path of the MTP device, a bit weird naming though.

MTP USB device on Android

Almost every android device features both PTP and MTP for transferring files to and from a PC. You may need to enable it, depending on your vendor's preset.

So, if your phone is not being detected as an android MTP device, then you might just need to enable it.

After connecting the device to a PC with the USB cable, drag down the notification panel. You will see a notification about how you want to connect your device to your PC.

Then just enable the Transfer Files option from the selection menu.

mtp usb device android

Then You can access the files of the android device from your PC.

Accessing the files

You can use any file manager like Windows Explorer and accessing the files.

It's just plug and play on Windows 10, could be accessed by Windows Explorer as and external device, screenshot below.

USB MTP device Windows 10
USB MTP device Windows 10

If all the required libraries and backends are installed, MTP is also just a matter or plugging in the device on Linux.

An example below with the Gvfs backed, using the PCManFM-Qt file manager.

mtp device linux

So, you can notice that the mtp:// protocol is up here in the file manager's path bar, which is not known to many applications.

But you can access the files with other applications if you use the proper path. Check the Linux driver section above to get a proper path location.

Conclusion

MTP is widely adopted among portable devices like Digital cameras, mp3 players, digital video player and most Android devices.

However, MTP is very different from its counterpart USB mas storage, which is a block device. It could be the only way to connect some portable devices to a PC. So comes with its own set of problems, like only one file operation could be done at any given moment.

But there's a distinct advantage of MTP, any file rarely gets corrupted during transfer. Even you pull out the USB cable in middle of the operation.

Hope you've got a fair idea of MTP USB device and it's drivers. Here you can know more details about this protocol.

Filed Under: Quick tip Tagged With: mtp, usb

Your comments
  1. david says

    February 13, 2019

    You can use in Linux the jmtpfs for mounting.

    Reply
  2. sokai says

    March 16, 2018

    MTP files transfer is sooo slow: have an look at https://github.com/google/adb-sync

    Reply
    • Arnab Satapathi says

      March 16, 2018

      It's a very feedback, thanks!

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Copyright © PCsuggest.com · All rights reserved.

  • Home
  • About
  • Contact
  • Privacy Policy
  • Sitemap