View Single Post
  #1 (permalink)  
Old 05-30-2007, 02:09 AM
gmureddu's Avatar
gmureddu gmureddu is offline
Think out of the Box
 
Join Date: Feb 2007
Location: Mexico City, Mexico
Posts: 422
Send a message via ICQ to gmureddu Send a message via AIM to gmureddu Send a message via MSN to gmureddu Send a message via Yahoo to gmureddu
Good news for Linux users: MTPFS

There is a new virtual filesystem for Linux systems, MTPFS, which makes it possible to 'mount' MTP devices (as supported by libmtp) just like any other filesystem, or to be more precise, just like the Shell Extension works for MTP devices on Windows (i.e making the device accessible from either the Explorer shell or the Command line in Windows). MTPFS is a fuse module and as such has some requirements that have to be met before you can build it, you require the development packages for:
  • fuse (duh!)
  • glib
  • gthread
  • mad (libmad)
  • id3tag (libid3tag)
  • libmtp (duh!)
Once all the dependencies are covered, all that is left is to build the module in the usual fasion:

Code:
./configure # optionally you may define a --prefix=dir, i.e like --prefix=/usr
make
su -c make install
Here's a run of the different options and syntax (these are general fuse options):
Code:
usage: mtpfs mountpoint [options]

general options:
    -o opt,[opt...]        mount options
    -h   --help            print help
    -V   --version         print version

FUSE options:
    -d   -o debug          enable debug output (implies -f)
    -f                     foreground operation
    -s                     disable multi-threaded operation

    -o allow_other         allow access to other users
    -o allow_root          allow access to root
    -o nonempty            allow mounts over non-empty file/dir
    -o default_permissions enable permission checking by kernel
    -o fsname=NAME         set filesystem name
    -o large_read          issue large read requests (2.4 only)
    -o max_read=N          set maximum size of read requests

    -o hard_remove         immediate removal (don't hide files)
    -o use_ino             let filesystem set inode numbers
    -o readdir_ino         try to fill in d_ino in readdir
    -o direct_io           use direct I/O
    -o kernel_cache        cache files in kernel
    -o [no]auto_cache      enable caching based on modification times
    -o umask=M             set file permissions (octal)
    -o uid=N               set file owner
    -o gid=N               set file group
    -o entry_timeout=T     cache timeout for names (1.0s)
    -o negative_timeout=T  cache timeout for deleted names (0.0s)
    -o attr_timeout=T      cache timeout for attributes (1.0s)
    -o ac_attr_timeout=T   auto cache timeout for attributes (attr_timeout)
    -o intr                allow requests to be interrupted
    -o intr_signal=NUM     signal to send on interrupt (10)

    -o max_write=N         set maximum size of write requests
    -o max_readahead=N     set maximum readahead
    -o async_read          perform reads asynchronously (default)
    -o sync_read           perform reads synchronously
Remember for proper fuse operation a kernel 2.6.20 or later is recommended, as the fuse interface in older kernels is faulty and very buggy. You should be able to install the fuse libraries from your distribution's repository/media disks, or you may build it from source.

Enjoy!
Reply With Quote Submit to Digg Submit to Del.icio.us Submit to Jeqq
Sponsored Links