MTP

MTP (Media Transfer Protocol) is a protocol to allow the transfer of files to external devices. It is provided by several programs, most of them depending on FUSE.

Kernel
Prepare for MTP implementations by activating  in the kernel:

USE flags
depends on. It turned out that at least version 1.1.8 is needed to make it work. libmtp will scan the usb bus and send messages to the log for all attached usb devices Dec 29 11:58:42 localhost kernel: usb 1-1.2: new full-speed USB device number 8 using ehci-pci Dec 29 11:58:42 localhost mtp-probe: checking bus 1, device 8: "/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1.2" Dec 29 11:58:42 localhost mtp-probe: bus: 1, device: 8 was not an MTP device Dec 29 11:59:51 localhost kernel: usb 1-5.1: new low-speed USB device number 10 using ehci-pci Dec 29 11:59:51 localhost kernel: input: Logitech Trackball as /devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5.1/1-5.1:1.0/0003:046D:C404.0007/input/input25 Dec 29 11:59:51 localhost kernel: hid-generic 0003:046D:C404.0007: input: USB HID v1.10 Mouse [Logitech Trackball] on usb-0000:00:1d.7-5.1/input0 Dec 29 11:59:51 localhost mtp-probe: checking bus 1, device 10: "/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5.1" Dec 29 11:59:51 localhost mtp-probe: bus: 1, device: 10 was not an MTP device Dec 29 11:59:51 localhost kernel: input: Logitech Logitech Illuminated Keyboard as /devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5.4/1-5.4:1.0/0003:046D:C318.0008/input/input26 Dec 29 11:59:51 localhost kernel: hid-generic 0003:046D:C318.0008: input: USB HID v1.11 Keyboard [Logitech Logitech Illuminated Keyboard] on usb-0000:00:1d.7-5.4/input0 Dec 29 11:59:51 localhost kernel: input: Logitech Logitech Illuminated Keyboard as /devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5.4/1-5.4:1.1/0003:046D:C318.0009/input/input27 Dec 29 11:59:51 localhost kernel: hid-generic 0003:046D:C318.0009: input: USB HID v1.11 Device [Logitech Logitech Illuminated Keyboard] on usb-0000:00:1d.7-5.4/input1 Dec 29 11:59:51 localhost mtp-probe: checking bus 1, device 11: "/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5.4" Dec 29 11:59:51 localhost mtp-probe: bus: 1, device: 11 was not an MTP device.

Emerge
Install :

Configuration
Appropriate user need to be in the  group:

Modify :

Usage

 * Mount:

Unmount:

Installation
We need to unmask 2 packages in :

Emerge
Install :

Configuration
Appropriate users need to be in the  group:

Usage
Mount:

Note: If you don't run go-mtpfs in the background (with  at the end), you will need another console to browse the device and to unmount it.

Unmount:

When you unmount the device, go-mtpfs will quit.

gphotofs
gphotofs is a FUSE file system for interfacing with digital cameras using gphoto2. Most modern mobile phones are cameras at the same time, and gphotofs can be a good alternative to mtpfs or go-mtpfs.

Emerge
Install :

Usage
Mount:


 * unmount:

simple-mtpfs
Another FUSE file system implementation for use with MTP devices is simple-mtpfs.

Emerge
Install :

Usage
Mount:

Unmount:

Gnome
Install with the   USE flag enabled.

KDE SC 4
kio-mtp is a slave for KDE's KIO framework. It is still unstable, but it is in the main repository.

First, install:

Quit KDE, and relaunch it. Now your MTP devices appear e.g. in Dolphin.

KDE 5
kio-extras contains MTP support, but it requires the  use flag.

Enable the global  use flag:

ALTERNATIVELY, enable it in kio-extras:

Then, install:

This worked for me after a restart, but quitting KDE and restarting is probably sufficient to get it working.

gMTP
gMTP is a simple MTP client for Solaris and Linux.

It is sufficient to just install and run :

Click on connect. A few second later, you will get the file hierarchy of your device. You can start to manipulate the files. It support features like Album Artwork and play lists.

Thunar
To have thunar automount MTP and other volumes, install

Troubleshooting

 * If your device is not recognized by libmtp, try upgrading to latest (or even live) version - e.g. 1.1.8.
 * Some ROMs(e.g. PAC rom) require to unlock the screen of your device. If you don't - you'll see the device as empty.
 * Sometimes (e.g. on HTC One X) USB debugging automatically turns on when device is connected to PC. You need to turn debugging off, otherwise libmtp can't recognize device.
 * Make sure your Android device is not going to sleep and the screen is not getting locked. Set screen timeout to very long values, or enable in Development section flag "Do not turn off the screen".
 * Lumia devices might require version 1.1.9 and  to be mounted properly.
 * Lumia devices must be unlocked to be able to connect (enter your PIN).