UMTP Responder Versions Save

Lightweight USB Media Transfer Protocol (MTP) responder daemon for GNU/Linux

umtprd-1.6.2

2 years ago
  • Storage : Global and per storage UID/GID override options :

    • Global and per storage UID/GID can be specified in the configuration file.
  • Code fixes / improvements :

    • Message queue (-cmd: operations) possible issue fixed.
    • More checks added during the MTP operations.

umtprd-1.5.1

2 years ago
  • Storage : new flags and modes :

    • "locked" flag support.

    • "removable" flag support.

  • New dynamic/runtime commands (umtprd -cmd:COMMAND) :

    • "lock"/"unlock" commands to dynamically lock/unlock lockable storage.

      Examples:

      Unlock all locked storage (set with the 'locked' option in the configuration file) :

      umtprd -cmd:unlock
      

      Lock all lockable storage (set with the 'locked' option in the configuration file) :

      umtprd -cmd:lock
      
    • "addstorage"/"rmstorage" commands to dynamically add/remove storage.

      Examples:

      umtprd '-cmd:addstorage:/tmp Tmp rw'
      
      umtprd '-cmd:rmstorage:Tmp'
      

      Use double-quotes when arguments have spaces in them:

      umtprd '-cmd:addstorage:/path "My Path" rw,removable'
      
      umtprd '-cmd:rmstorage:"My Path"'
      
  • Added umask configuration entry and fix permissions on send objects.

  • USB 3.0 SuperSpeed support.

  • Supports files rename at the MTP device side.

  • New "firmware_version" configuration field : set the MTP device info value.

  • Many fixes and improvements :

    • Fix inotify for root folders when using multiple storage.

    • Add guard to avoid storage from being added twice.

    • Update the file size information to the dataset when modifying the file content.

    • Check that fs handles db is valid before using it to get entries.

    • Security fix : Fix the invalid ".." setObjectPropValue access trick.

    • Fix deadlock when SendObject / GetObjectHandles fail.

    • Fix permissions on newly created folders.

    • Configuration file : realign user usb buffers size.

    • Internal : Remove redundant code and possible double closedir issue. (Fix segmentation fault with uClibc).

    • Reduce the default max usb read/write buffer size to 8KB. (This is required by some SoCs, e.g. the iMX series)

    Many thanks to all the contributors !

umtprd-1.3.6

4 years ago
  • MTP Storage mount / unmount support (-cmd:mount:[store name] / -cmd:unmount:[store name] / ).

  • Config file :

    • "storage" operation : new "notmounted" option.
    • New usb_max_rd_buffer_size option (iMX6 issue workaround).
    • New usb_max_wr_buffer_size option (iMX6 issue workaround).
    • New read_buffer_cache_size option (iMX6 issue workaround).
  • Config file path can be changed in the command line (-conf:[Config file path]).

  • Async/inotify event : Send file size changes.

  • Fix : GadgetFs -> Handle unexpected disconnection while transferring a file.

  • Fix : Shared multi-drives inotify events.

  • Code fixes / improvements :

    • MTP operations : Better errors handling.
    • Code refactoring (MTP operations code separated).

umtprd-1.0.0

4 years ago
  • Major update ! : Now support all file operations !

  • Config file : storage "rw"/"ro" parameter added to write protect a drive.

  • Performance : Read and write throughput increased (~ 4x speedup).

  • Fix >2GB files listing.

  • Fix >2GB files access support on 32 bits systems.

  • File read/write transfer cancel operation supported.

  • Drives and objects properties support.

  • New supported commands :

    • MTP_OPERATION_GET_PARTIAL_OBJECT_64
    • MTP_OPERATION_SEND_PARTIAL_OBJECT
    • MTP_OPERATION_BEGIN_EDIT_OBJECT
    • MTP_OPERATION_END_EDIT_OBJECT
    • MTP_OPERATION_TRUNCATE_OBJECT
    • MTP_REQ_CANCEL
    • MTP_REQ_RESET
    • MTP_REQ_GET_DEVICE_STATUS
    • MTP_OPERATION_GET_DEVICE_PROP_DESC
    • MTP_OPERATION_GET_DEVICE_PROP_VALUE
    • MTP_OPERATION_GET_OBJECT_REFERENCES
    • MTP_OPERATION_GET_OBJECT_PROP_LIST
    • MTP_OPERATION_GET_OBJECT_PROP_VALUE
    • MTP_OPERATION_SET_OBJECT_PROP_VALUE
  • Many others fixes and improvements !

umtprd-0.9.7

5 years ago
  • MTP event support added : The MTP initiator is now notified when files/folders are removed or added from the responder.

  • Various debug messages fixes and improvements.

umtprd-0.9.2

5 years ago
  • Generic FunctionFS/libcomposite support added !

  • New configuration option : show/hide hidden files option.

  • It now follows the symbolic links.

umtprd-0.8.6

5 years ago
  • Daemon mode :

    • New "loop_on_disconnect" config file option.
  • Bug fixes / Improvements :

    • Windows host : Non-empty folder deletion issue fixed.

    • Severals memory leaks in daemon mode fixed.

    • GadgetFs init/deinit reworked.

v0.8.1

6 years ago

Initial release.

Tested on Raspberry Pi Zero and Atmel Sama5D2 Xplained boards.