Simple MTP fuse filesystem driver.
Go to file
Cyp 2c44f913e8 On partial read/write, keep reading.
This avoids rsync errors and avoids data loss with cp, due to
failing to copy the last byte of 0.1953125% of files.

Unless direct_io is set, fuse expects a full read/write.

As a workaround for a device hanging bug, if the length of a file
on a Samsung device is 500 bytes modulo 512 bytes, libmtp returns a
partial read omitting the last byte which must be requested
separately.

Fixes #85.
2023-10-28 11:28:59 +02:00
debian Bump release version to 0.4.0 2020-07-22 21:27:19 +02:00
man Support for <device file> option when doing --device-list 2015-08-23 13:55:52 +03:00
src On partial read/write, keep reading. 2023-10-28 11:28:59 +02:00
.gitignore git ignore build debris 2020-07-18 17:21:51 +01:00
AUTHORS initial import 2012-09-22 12:43:05 +02:00
COPYING change COPYING GPLv3 to GPLv2 2012-10-08 13:29:47 +02:00
ChangeLog initial import 2012-09-22 12:43:05 +02:00
INSTALL copyright update 2014-07-09 12:34:00 +02:00
NEWS Bump release version to 0.4.0 2020-07-22 21:27:19 +02:00
README.md update readme file 2013-12-03 19:52:12 +01:00
autogen.sh Fix linux-izm in shebang 2015-08-21 12:17:14 +03:00
configure.ac Bump release version to 0.4.0 2020-07-22 21:27:19 +02:00
makefile.am bump release version to 0.2 2013-12-03 22:02:39 +01:00
simple-mtpfs.spec Bump release version to 0.4.0 2020-07-22 21:27:19 +02:00

README.md

ABOUT

SIMPLE-MTPFS (Simple Media Transfer Protocol FileSystem) is a file system for Linux (and other operating systems with a FUSE implementation, such as Mac OS X or FreeBSD) capable of operating on files on MTP devices attached via USB to local machine. On the local computer where the SIMPLE-MTPFS is mounted, the implementation makes use of the FUSE (Filesystem in Userspace) kernel module. The practical effect of this is that the end user can seamlessly interact with MTP device files.

LATEST VERSION

Latest sources of the software can be found at: simple-mtpfs

INSTALLATION

Simple-mtpfs depends on fuse (version >= 2.7.3) and libmtp. It also requires the C++ compiler to support C++11 standard.

To install the driver, follow these steps:

$ mkdir build && cd build
$ ../configure
$ make
$ make install (as root)

Due to MTP nature, it is necessary to use a folder, where the temporary files downloaded will be downloaded. The project can be configured to use custom directory for such files. To configure the simple-mtpfs to use desired temporary directory, add --with-tmpdir=TMPDIR option to configure script. Default value for temporary directory is /tmp.

If you got the sources from git repository, first you have to run:

$ ./autogen.sh

MOUNTING

To mount MTP-based device to your local filesystem, simply run:

$ simple-mtpfs mountpoint [options]

If you have more than one MTP device attached to the computer, it is possible to specify which device, you are willing to mount. Either by entering its order number or special file usually placed in /dev:

MOUNTING BY NUMBER

$ simple-mtpfs --device <number> mountpoint [options]

Where the <number> should contain a numeric order of the device, you are about to mount. To get a list of all attached devices, execute following:

$ simple-mtpfs --list-devices
<number>: <device name>
<number>: <device name>
...

MOUNTING BY SPECIAL FILE

Enter special device file as the first argument to simple-mtpfs. The special device file is usually named as /dev/libmtp-*.

$ simple-mtpfs <device> mountpoint [options]

UNMOUNTING

To unmount MTP device, execute following command:

$ fusermount -u <mountpoint>

BUG REPORTS

Report bugs to phatina@gmail.com or simple-mtpfs issues.