2005-10-06 08:08:22

by Ferry

[permalink] [raw]
Subject: MTP - Media Transfer Protocol support

Hey there,

I don't know if this is the right place, but I would like to inquire on
the status of MTP support in the kernel.

MTP is a new protocol by Microsoft if I'm not mistaken. It stands for
Media Transfer Protocol. It's going to replace the mass storage support
on a lot of new MP3 players and from what I've seen, also on other
mobile devices like phones and camera's.

MTP, from what I've seen so far, has 2 folders at the moment (atleast on
my MP3 device / iRiver T10). Music and Data. Music can only be written
by software like Media Player 10, because it has to do with DRM. Data
however can be written as a filesystem. The latter is what I would like
support for (I don't care about DRM).

Microsoft appearantly publishes the specifications, unfortunately for
most of us it's Microsoft word format, in an executable. Would convert
this for you, but I don't know how legal that is.

http://www.microsoft.com/downloads/details.aspx?FamilyID=fed98ca6-ca7f-4e60-b88c-c5fce88f3eea&displaylang=en

Sorry if this is the wrong place to ask. But I figured it needs kernel
support first, because the USB device isn't recognized at all. MTP has a
general USB interface like mass storage from what I understand, so we'll
need drivers for that first I think.

For those interested, PLX appearantly has written something to support
MTP on (some?) of their chips for phones. Haven't been able to find the
software so far.
http://www.plxtech.com/products/exp_apps/files/ExApps18_MobilePhone.pdf

As always, all you guys do is really appreciated. Keep up the good work.

TIA

Ferry


2005-10-06 08:30:20

by Éric Piel

[permalink] [raw]
Subject: Re: MTP - Media Transfer Protocol support

10/06/2005 10:08 AM, Freaky wrote/a écrit:
> Hey there,
>
:
:
>
> MTP, from what I've seen so far, has 2 folders at the moment (atleast on
> my MP3 device / iRiver T10). Music and Data. Music can only be written
> by software like Media Player 10, because it has to do with DRM. Data
> however can be written as a filesystem. The latter is what I would like
> support for (I don't care about DRM).
So they've published the spec a week ago and you already have a device
using it? Blasing fast!


>
> Microsoft appearantly publishes the specifications, unfortunately for
> most of us it's Microsoft word format, in an executable. Would convert
> this for you, but I don't know how legal that is.
>
> http://www.microsoft.com/downloads/details.aspx?FamilyID=fed98ca6-ca7f-4e60-b88c-c5fce88f3eea&displaylang=en
>
Did it, nothing to agree or to sign. FWIW, the document converted to
PDF, only with opensource software, is available here (supprisingly,
inside the document it's written that it's a draft):
http://pieleric.free.fr/MTP_Enhanced.pdf

Eric

2005-10-06 08:42:25

by Bernd Petrovitsch

[permalink] [raw]
Subject: Re: MTP - Media Transfer Protocol support

On Thu, 2005-10-06 at 10:30 +0200, Eric Piel wrote:
[...]
> So they've published the spec a week ago and you already have a device
> using it? Blasing fast!

If the spec documents just the already implemented behaviour, this is
easy.

SCNR,
Bernd
--
Firmix Software GmbH http://www.firmix.at/
mobil: +43 664 4416156 fax: +43 1 7890849-55
Embedded Linux Development and Services

2005-10-06 09:28:57

by Oliver Neukum

[permalink] [raw]
Subject: Re: MTP - Media Transfer Protocol support

Am Donnerstag, 6. Oktober 2005 10:08 schrieb Freaky:

> Sorry if this is the wrong place to ask. But I figured it needs kernel
> support first, because the USB device isn't recognized at all. MTP has a
> general USB interface like mass storage from what I understand, so we'll
> need drivers for that first I think.

There is an USB list:
[email protected]

If you want to support this as a true filesystem with permissions,
you will need a kernel driver. If not, you can access the device by
libusb.

What do you mean by "not recognised at all"? Does lsusb show it?

Regards
Oliver

2005-10-06 09:33:48

by Oliver Neukum

[permalink] [raw]
Subject: Re: MTP - Media Transfer Protocol support

Am Donnerstag, 6. Oktober 2005 10:30 schrieb Eric Piel:

> Did it, nothing to agree or to sign. FWIW, the document converted to
> PDF, only with opensource software, is available here (supprisingly,
> inside the document it's written that it's a draft):
> http://pieleric.free.fr/MTP_Enhanced.pdf

Judging by this document your best bet is to enhance gphoto2 which is using
libusb

http://www.gphoto.org

Regards
Oliver

2005-10-06 11:02:24

by Ferry

[permalink] [raw]
Subject: Re: MTP - Media Transfer Protocol support

Can't check now, but what I mean is that syslog will only give one line,
that an USB device is inserted. Nothing more. I can find the device in
/sys/usb... so the system sees it, it just doesn't know what to do with
it.

Will checkup on libusb, I'm not a programmer though. Know a little C++
syntax, but no API's and this hardware stuff is way beyond me for now.

Can get you the USB device ID's and such if you would like those.

On Thu, October 6, 2005 11:28, Oliver Neukum said:
> Am Donnerstag, 6. Oktober 2005 10:08 schrieb Freaky:
>
>> Sorry if this is the wrong place to ask. But I figured it needs kernel
>> support first, because the USB device isn't recognized at all. MTP has a
>> general USB interface like mass storage from what I understand, so we'll
>> need drivers for that first I think.
>
> There is an USB list:
> [email protected]
>
> If you want to support this as a true filesystem with permissions,
> you will need a kernel driver. If not, you can access the device by
> libusb.
>
> What do you mean by "not recognised at all"? Does lsusb show it?
>
> Regards
> Oliver
>
>


--
Freaky
------------------------------------------------------
http://www.gnu.org/philosophy/no-word-attachments.html
http://www.gnu.org/philosophy/can-you-trust.html
------------------------------------------------------

2005-10-06 18:32:14

by Greg KH

[permalink] [raw]
Subject: Re: [linux-usb-devel] Re: MTP - Media Transfer Protocol support

On Thu, Oct 06, 2005 at 01:02:19PM +0200, Freaky wrote:
> Can't check now, but what I mean is that syslog will only give one line,
> that an USB device is inserted. Nothing more. I can find the device in
> /sys/usb... so the system sees it, it just doesn't know what to do with
> it.

There is no such directory as "/sys/usb", sorry.

greg k-h

2005-10-07 17:51:06

by Éric Piel

[permalink] [raw]
Subject: Re: MTP - Media Transfer Protocol support

(resent, it seems it hasn't reached the LKML on the first time)
10/06/2005 10:30 AM, Eric Piel wrote/a écrit:

>> Microsoft appearantly publishes the specifications, unfortunately for
>> most of us it's Microsoft word format, in an executable. Would convert
>> this for you, but I don't know how legal that is.
>>
>> http://www.microsoft.com/downloads/details.aspx?FamilyID=fed98ca6-ca7f-4e60-b88c-c5fce88f3eea&displaylang=en
>>
>
> Did it, nothing to agree or to sign. FWIW, the document converted to
> PDF, only with opensource software, is available here (supprisingly,
> inside the document it's written that it's a draft):
Deep deep apologies, I've just checked again, and in fact it seems like
yesterday I probably pressed the button without noticing I was agreeing
the license (too many "yes" buttons in my life) (or there was a nasty
bug in wine?). IANAL, so even after carefully reading it I didn't manage
to understand if it was illegal for me to read the Specification and do
a backup on my ftp server (and then give a link to it). Anyway, I've
removed it from there. I'd probably advise people who've downloaded it
to delete it.

In addition, for the ones who were interested in implementing OS support
for MTP, the points 2a and 2b seem quite frightening (also I have no
clue if what you would develop after reading the spec would
automatically become a "Licensed implementation"). Probably safer to go
back to the usual reverse engineering "daily life"... Actually there are
several free documents floating around that should make it not so
difficult anyway.

Part of the license that I've probably agreed is appended at the end of
this email. (Not everything because it seems that LKML doesn't allow me
for this)
Again, sincere apologies,
Eric Piel

---
:
:

SPECIFICATION LICENSE

The Specification is protected by copyright and other intellectual
property laws and treaties. Microsoft or its suppliers own the title,
copyright, and other intellectual property rights in the Specification.
Microsoft reserves all rights not expressly granted to you in this
agreement. The Specification is licensed, not sold.


1. GRANT OF LICENSE. This section of the agreement describes your
general rights to install and use the Specification. The license rights
described in this section are subject to all other terms and conditions
of this agreement. You may:

* install and use up to 20 copies of the Specification to design,
develop, and test your application or product that utilizes the
Specification (your "Licensed Implementation") and;
* make a reasonable number of copies of the Specification for backup and
archival purposes.


2. LICENSE LIMITATIONS

(a) This license does not include the right to build a Licensed
Implementation for a personal computer that implements that “Enhanced
Initiator” features, as described in the Specification. To build such
an implementation, you must obtain a separate license from Microsoft.
Please contact [email protected] to request this license.

(b) This license does not include the right to distribute your Licensed
Implementation. In order to distribute your Licensed Implementation, you
must download the Microsoft Windows Media Transport Porting Kit and
accept its license terms.
(c) You must not
* alter any copyright, trademark or patent notice in the Specification;
* use Microsoft’s trademarks in your Licensed Implementation’s name or
in a way that suggests your Licensed Implementation come from or are
endorsed by Microsoft;
* include the Specification in malicious, deceptive or unlawful programs; or

(d) You may not alter any component of the Specification.

(e) Subject to the limitation in Section 2 (a), Your Licensed
Implementation must implement the Specification in its entirety.
However, you are not required to implement any portion of the
Specification that is identified as “optional”. If you choose to
implement a portion of the Specification that is identified as optional,
you must implement that portion in its entirety.


2005-10-08 11:20:30

by Giuseppe Bilotta

[permalink] [raw]
Subject: Re: MTP - Media Transfer Protocol support

On Fri, 07 Oct 2005 19:51:03 +0200, Eric Piel wrote:

> Deep deep apologies, I've just checked again, and in fact it seems like
> yesterday I probably pressed the button without noticing I was agreeing
> the license (too many "yes" buttons in my life) (or there was a nasty
> bug in wine?). IANAL, so even after carefully reading it I didn't manage
> to understand if it was illegal for me to read the Specification and do
> a backup on my ftp server (and then give a link to it). Anyway, I've
> removed it from there. I'd probably advise people who've downloaded it
> to delete it.

I was able to extract the .doc file from the executable without
running it[1] so I am not bound by any license (there is no license
involved in downloading it, nor in the document itself). I produced a
.pdf using OOo 1.9.122. I would put it online, but the document's
first page reads:

"""
For Review and Discussion Only
Draft Document Subject to Revision or Rejection
Not For Publication or General Distribution
"""

so I'm still not sure if I can pass it on or not.

[1] using the appropriate packer plugin in Total Commander

--
Giuseppe "Oblomov" Bilotta

"I'm never quite so stupid
as when I'm being smart" --Linus van Pelt