Media Transfer Protocol -> Kernel Space implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Folks,

I have a thought that I want to run through some more experienced minds
in regards to migrating the various user space Media Transfer Protocol
implementations (libmtp, gphoto) into the kernel.

I think most people here would have encountered the MTP before now, but
here is a bit of pre-reading just in case.

http://en.wikipedia.org/wiki/Media_Transfer_Protocol
http://www.usb.org/developers/devclass_docs/MTP_1.0.zip

Anyways, we currently have two implementations of the protocol which
both are user-space implementations running through libusb.

These implementations have a couple of issues:

     I. Devices are locked to the first application to grab control
    II. Some devices will not charge without a connection being
        established and maintained by an application
   III. Polling for new devices is hard.  There are no really good ways
        to see which mtp devices are connected, and then pick which ones
        to connect to.
    IV. Depend on libusb which seems to have stalled in development,
        although I am not certain if this is an issue or not.

We have considered writing a user-space mtp connection daemon (using
libmtp) and talking to client applications asynchronously through d-bus
or something like it, but I would much rather have this be handled by
the kernel.

I would like to see the kernel manage connecting to the device,
exporting the device file hierarchy as a mountable file system, then use
a nice sanitized API through which user space can poll and talk to mtp
devices asynchronously.

-- 
Ted Bullock <tbullock@xxxxxxxxxxx>
http://www.comlore.com
High Voltage Software Engineer

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux