Re: Media Transfer Protocol -> Kernel Space implementation

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

 



On Fri, Dec 26, 2008 at 01:55:21PM -0700, Ted Bullock wrote:
> 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.

libusb just came out with the new 1.0 release, and a libusb-compat
release last week or so, showing that development on it is not stalled
at all.

> 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.

Why would you want this handled by the kernel?  What kind of
userspace/kernelspace interface should the MTP device show?

> 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.

You can do this today with fuse in userspace, right?  Why not do that
instead, it makes more sense than putting a new filesystem in the
kernel.

thanks,

greg k-h
--
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