How to Mount an MTP Mobile Device on Linux

· 378 words · 2 minutes

I recently ran into trouble attempting to mount my GrapheneOS phone to my laptop running Fedora Linux via the Media Transfer Protocol (MTP) and discovered a simple and effective solution.

Use a USB 3.0 Port

First, ensure that the device was plugged in to the laptop through a USB 3.0 port, if possible. From a brief glance online, it seems that USB 2.0 ports may cause issues with dropped connections over MTP. This is purely anecdotal since I don't have any evidence to link showing that USB 2.0 causes issues but I can confirm that switching to a USB 3.0 port seemed to cut out most of my issues.

Switch USB Preferences to MTP

Secondly, you need to ensure that the phone's USB preferences/mode is changed to MTP or File Transfer once the phone is plugged in. Other modes will not allow you to access the phone's file system.

Install jmtpfs

Next, I used the jmtpfs package to mount my phone to my laptop. There are other packages that exist, but this one worked perfectly for me. On Fedora Linux, you can install it like this:

sudo dnf install jmtpfs -y

Create a Mount Point

Once you have the package installed, you just need to create a folder for the device to use as a mount point. In my case, I used /mnt/pixel:

sudo mkdir /mnt/pixel
sudo chown -R $USER:$USER /mnt/pixel

Mount & Access the Phone's File System

Finally, plug-in and mount the device and you should be able to see all storage (internal and external) inside your new folder!

jmtpfs /mnt/pixel

The output should look something like this:

Device 0 (VID=18d1 and PID=4ee1) is a Google Inc Nexus/Pixel (MTP).
Android device detected, assigning default bug flags

Now you are mounted and can do anything you'd like with the device's files:

cd /mnt/pixel
ls -lha

From here, you will be able to see any internal or external storage available on the device:

total 0
drwxr-xr-x.  3 user user  0 Jan  1  1970  .
drwxr-xr-x.  1 root root 10 Oct  4 13:29  ..
drwxr-xr-x. 16 user user  0 Apr 21  4426383 'Internal shared storage'