From: Philip L. <ph...@ov...> - 2017-12-11 02:26:17
|
On Sun, 10 Dec 2017 10:41:25 +0000 Alistair Buxton <a.j...@gm...> wrote: > On 10 December 2017 at 02:11, Alistair Buxton <a.j...@gm...> > wrote: > > On 9 December 2017 at 22:59, Philip Langdale <ph...@ov...> > > wrote: > >> I don't know about how reasonable your device side call trace is > >> but: > >> > >> https://git.gnome.org/browse/gvfs/tree/daemon/gvfsbackendmtp.c?h=gnome-3-26#n2527 > >> > >> You need to declare the android extension string for gvfsd-mtp to > >> try and use the > >> direct I/O extensions. > >> > >> --phil > > > > That's the problem then. I didn't declare the extension strings, > > just implemented the functions. But interestingly, gvfs still uses > > some of the android extensions - I have seen at least > > GET_PARTIAL_FILE_64 in my logs after I added it. > > > > I will implement those strings tomorrow and report back if it > > works. > > Okay, this worked - I added the extension strings and now gvfs is > calling my stubs. So I need to finish implementing those. Glad to hear. > Would I be right in saying the microsoft extensions are the operations > beginning with 0x98.. and the google ones are the ones beginning with > 0x95..? > > If I don't implement the 0x98.. operations (object properties), is it > okay to not send the microsoft extension string? I don't know. I didn't consider if there's a specific namespace there, but I guess it makes sense. > Finally, where are the google extensions documented? They don't seem > to be in the MTP spec. > They are not part of the core spec, so would not be documented there. I never found any documentation for them - I used: https://github.com/hanwen/go-mtpfs as my reference as this was written by a Googler who understood how the extensions worked. --phil |