Code Monkey home page Code Monkey logo

go-mtpfs's People

Contributors

andreasf avatar automaciej avatar bezineb5 avatar bryant1410 avatar cpatulea avatar ebfe avatar hanwen avatar kainhofer avatar mvdan avatar nozim avatar zeerd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

go-mtpfs's Issues

Crash Ubuntu 12.10 32bits

I have several crash like this one when transfering several files, I'm using the compiled binary for linux.
Connecting to Galaxy Nexus and Nexus 10, crash seems random


2012/12/27 09:57:37 sending file without backing store: "11 - myfile.mp3"
panic: sending file without backing store: "11 - myfile.mp3"

goroutine 9 [running]:
log.Panicf(0x8150734, 0x26, 0xb7455d40, 0x1)
/home/hanwen/vc/go/src/pkg/log/log.go:0 +0x99
main.(_fileNode).send(0x187cf090, 0x0, 0x0)
/home/hanwen/go/src/go-mtpfs/fs.go:233 +0x116
main.(_pendingFile).Flush(0x187c7248, 0x187cf000, 0x0)
/home/hanwen/go/src/go-mtpfs/fs.go:662 +0x66
github.com/hanwen/go-fuse/fuse.(_FileSystemConnector).Flush(0x18701c90, 0x18767f10, 0x18767f38, 0x40, 0x1873f140, ...)
/home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/api.go:0 +0x7e
github.com/hanwen/go-fuse/fuse.(_LockingRawFileSystem).Flush(0x187300b0, 0x18767f10, 0x18767f38, 0x0, 0x1873f1e0, ...)
/home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/api.go:0 +0x71
github.com/hanwen/go-fuse/fuse.doFlush(0x18744310, 0x18767e00, 0x40)
/home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/api.go:0 +0x56
github.com/hanwen/go-fuse/fuse.(_MountState).handleRequest(0x18744310, 0x18767e00, 0x18767e00)
/home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/api.go:0 +0x221
github.com/hanwen/go-fuse/fuse.(_MountState).loop(0x18744310, 0x1, 0x0)
/home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/api.go:0 +0x7b
created by github.com/hanwen/go-fuse/fuse.(*MountState).readRequest
/home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/api.go:0 +0x7af

goroutine 1 [syscall]:
syscall.Syscall()
/home/hanwen/vc/go/src/pkg/syscall/asm_linux_386.s:0 +0x1f
syscall.Read(0x9, 0x18970000, 0x11000, 0x11000, 0x187002e8, ...)
/home/hanwen/vc/go/src/pkg/syscall/env_unix.go:0 +0x5c
os.(_File).read(0x187002e8, 0x18970000, 0x11000, 0x11000, 0x90, ...)
/home/hanwen/vc/go/src/pkg/os/dir_unix.go:0 +0x44
os.(_File).Read(0x187002e8, 0x18970000, 0x11000, 0x11000, 0xb7451b58, ...)
/home/hanwen/vc/go/src/pkg/os/dir_unix.go:0 +0x67
github.com/hanwen/go-fuse/fuse.(_MountState).readRequest(0x18744310, 0x18767000, 0x18767000, 0x0, 0x18744374, ...)
/home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/api.go:0 +0x1b8
github.com/hanwen/go-fuse/fuse.(_MountState).loop(0x18744310, 0x0, 0xf)
/home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/api.go:0 +0x4f
github.com/hanwen/go-fuse/fuse.(*MountState).Loop(0x18744310, 0x1)
/home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/api.go:0 +0x46
main.main()
/home/hanwen/go/src/go-mtpfs/main.go:90 +0xdf4

goroutine 2 [syscall]:
created by runtime.main
/home/hanwen/vc/go/src/pkg/runtime/proc.c:-1577

goroutine 3 [syscall]:
syscall.Syscall()
/home/hanwen/vc/go/src/pkg/syscall/asm_linux_386.s:0 +0x1f
syscall.Read(0x9, 0x189c5000, 0x11000, 0x11000, 0x187002e8, ...)
/home/hanwen/vc/go/src/pkg/syscall/env_unix.go:0 +0x5c
os.(_File).read(0x187002e8, 0x189c5000, 0x11000, 0x11000, 0x8060885, ...)
/home/hanwen/vc/go/src/pkg/os/dir_unix.go:0 +0x44
os.(_File).Read(0x187002e8, 0x189c5000, 0x11000, 0x11000, 0x0, ...)
/home/hanwen/vc/go/src/pkg/os/dir_unix.go:0 +0x67
github.com/hanwen/go-fuse/fuse.(_MountState).readRequest(0x18744310, 0x18782001, 0x18782000, 0x0, 0x1874813c, ...)
/home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/api.go:0 +0x1b8
github.com/hanwen/go-fuse/fuse.(_MountState).loop(0x18744310, 0x1, 0x0)
/home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/api.go:0 +0x4f
created by github.com/hanwen/go-fuse/fuse.(*MountState).readRequest
/home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/api.go:0 +0x7af

goroutine 4 [finalizer wait]:
created by runtime.gc
/home/hanwen/vc/go/src/pkg/runtime/mgc0.c:-1343

ENXIO at end of file

fs/android.go has the following code:

func (f *androidFile) Read(dest []byte, off int64) (fuse.ReadResult, fuse.Status) {
if off >= f.node.Size {
// ENXIO = no such address.
return nil, fuse.Status(int(syscall.ENXIO))
}

Notably, this breaks when reading some files at EOF, e.g. when using "cat" or "cp" to copy SQLite database files or other files that happen to be a multiple of the read block size in length. Example of the issue:

[rpolzer@rpolzer SD-Karte]$ dd if=/dev/zero of=64k.txt bs=1k count=64
2014/02/17 11:16:48 0 bytes in 22.117094ms: 0 mb/s
2014/02/17 11:16:48 65536 bytes in 79.899594ms: 0 mb/s
64+0 records in
64+0 records out
65536 bytes (66 kB) copied, 0.0848392 s, 772 kB/s
[rpolzer@rpolzer SD-Karte]$ cat 64k.txt
cat: 64k.txt: No such device or address

strace shows:
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 32768) = 32768
write(1, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 32768) = 32768
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 32768) = 32768
write(1, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 32768) = 32768
read(3, 0xb0f000, 32768) = -1 ENXIO (No such device or address)
write(2, "cat: ", 5cat: ) = 5

This breaks the exit status of cat, cp etc. which is quite annoying.

I suggest:

if off > f.node.Size, sure, sounds log-worthy, but should this really set errno? It doesn't for regular files. So, report no error but just a 0 bytes read.
if off == f.node.Size, report a 0 bytes read instead, but no error and no logging.

This is consistent with how regular files behave:

$ echo aa > x.txt
$ strace -fe read,lseek perl -e '
sysread STDIN, $x, 7;
sysread STDIN, $x, 2;
sysread STDIN, $x, 2;
seek STDIN, 2000, 0;
sysread STDIN, $x, 7
' < x.txt
...
read(0, "aa\n", 7) = 3
read(0, "", 2) = 0
read(0, "", 2) = 0
lseek(0, 2000, SEEK_SET) = 2000
lseek(0, 0, SEEK_CUR) = 2000
read(0, "", 7) = 0

Browsing entire Android device filesystem

Is it possible to use go-mtpfs to browse the entire device filesystem if the device is rooted? It would be very cool to replace ADB for browsing system files with this if possible.

Where are docs?

Hello,

You People created a hell one good tool :)
BUT :) where is some docs, especially for -dev="" switch ? I found that, this allow to filter out what I want to mount but how to do it?
If I just type into dev param (I have nexus 7 2013 LTE) "18d1:4ee2 ", go-mtpfs throw errors... So how it should look like the -dev="" parameter (for vid, pid and/or serial no.) ?

LIBUSB_ERROR_TIMEOUT on Samsung Galaxy Note 2

I followed the conversation on the recently-closed bug for Samsung devices (#29), but unfortunately I am still hit by the LIBUSB_ERROR_TIMEOUT bug. I'm on Debian Wheezy.

I'm on the latest revision of go-mtpfs, I believe:

nknouf@nomadicsounds go-mtpfs> git rev-parse HEAD 731851c9363ffa26206219b9fbec1897f0b3d9d1

The debug logs don't provide much info for me:

nknouf@nomadicsounds go-mtpfs> ../../../../bin/go-mtpfs -debug=usb,mtp -usb-timeout=10000 /media/noteII
2013/03/24 10:28:49 MTP request OpenSession [1101278637]
2013/03/24 10:28:59 MTP sendreq failed: LIBUSB_ERROR_TIMEOUT
2013/03/24 10:28:59 OpenSession failed: LIBUSB_ERROR_TIMEOUT; attempting reset
2013/03/24 10:28:59 USB: ReleaseInterface 0x0, err: <nil>
2013/03/24 10:28:59 USB: Close, err: <nil>
2013/03/24 10:29:00 USB: Open, err: <nil>
2013/03/24 10:29:00 USB: ClaimInterface 0x0, err: <nil>
2013/03/24 10:29:00 MTP request OpenSession [1267048825]
2013/03/24 10:29:10 MTP sendreq failed: LIBUSB_ERROR_TIMEOUT
2013/03/24 10:29:10 Configure failed: OpenSession after reset: LIBUSB_ERROR_TIMEOUT
nknouf@nomadicsounds go-mtpfs>

Any suggestions of what else to try?

Can't copy more than a hundred of MB to my Nexus 10

I'm using Ubuntu 12.10 and I've installed go-mtpfs through the PPA webupd8team.

I've tried numerous times to copy an MKV file to my Nexus 10. To the system (Ubuntu) it appears as if the file has been copied without any problems, but when I see the file size in the tablet it's just a few hundred MB big.
It's like if at some point all the data was discarded.

Iotop showed during the whole operation reads and writes to the correct source and destiny folders at a high rate (~45 MB/s).

Copying the files under Windows 7 with the same MTP mode worked perfectly, although slower (~25 MB/s).

Cross compiling for ARM platform fails

When trying to cross compile for arm (setting GOARCH=arm), I am getting lot of undefined errors. Regular compilation is fine.

github.com/hanwen/go-mtpfs/usb

tmp/go/src/github.com/hanwen/go-mtpfs/usb/print.go:5: undefined: CLASS_PER_INTERFACE
tmp/go/src/github.com/hanwen/go-mtpfs/usb/print.go:7: undefined: CLASS_AUDIO
tmp/go/src/github.com/hanwen/go-mtpfs/usb/print.go:9: undefined: CLASS_COMM
tmp/go/src/github.com/hanwen/go-mtpfs/usb/print.go:11: undefined: CLASS_HID
tmp/go/src/github.com/hanwen/go-mtpfs/usb/print.go:13: undefined: CLASS_PHYSICAL
tmp/go/src/github.com/hanwen/go-mtpfs/usb/print.go:15: undefined: CLASS_PRINTER
tmp/go/src/github.com/hanwen/go-mtpfs/usb/print.go:17: undefined: CLASS_IMAGE
tmp/go/src/github.com/hanwen/go-mtpfs/usb/print.go:19: undefined: CLASS_MASS_STORAGE
tmp/go/src/github.com/hanwen/go-mtpfs/usb/print.go:21: undefined: CLASS_HUB
tmp/go/src/github.com/hanwen/go-mtpfs/usb/print.go:23: undefined: CLASS_DATA
tmp/go/src/github.com/hanwen/go-mtpfs/usb/print.go:23: too many errors

Fail to copy a folder - think that's the quotes in the name

I've tried to copy the following tree to my nexus 4:

2006 - One Cold Winter's Night (Live)
├── CD1
│   ├── 01 - Intro - Un Assassinio Molto Silenzioso.mp3
│   ├── 02 - The Black Halo.mp3
│   ├── 03 - Soul Society.mp3
│   ├── 04 - The Edge Of Paradise.mp3
│   ├── 05 - Center Of The Universe.mp3
│   ├── 06 - Nights Of Arabia.mp3
│   ├── 07 - Abandoned.mp3
│   ├── 08 - Forever.mp3
│   ├── 09 - Keyboard Solo.mp3
│   ├── 10 - The Haunting (Somewhere In Time).mp3
│   └── 11 - Moonlight.mp3
└── CD2
    ├── 01 - When The Lights Are Down.mp3
    ├── 02 - Elizabeth (Part I, II & III).mp3
    ├── 03 - March Of Mephisto.mp3
    ├── 04 - Karma.mp3
    ├── 05 - Drum Solo.mp3
    ├── 06 - Farewell.mp3
    └── 07 - Outro.mp3

2 directories, 18 files

and got this error:

2013/02/11 11:32:37 error fetching: PTP Layer error 02fe: LIBMTP_Get_File_To_File_Descriptor(): Could not get file from device.
(Look this up in ptp.h for an explanation.)

Then I manually create the folder, and copy the files by hand (without the CD1 and CD2 directories) and it works like a charm.

Mac OS X 10.7.4 usb.go struct size calculation error

Just an FYI -
Installing on Mac OS X 10.7.5 using go-mtpfs and go-fuse from 3/5/2013 (the latest as of this writing)
here's the errors I'm getting for go-mtpfs:

Its a short one but I assume its important:

# github.com/hanwen/go-mtpfs/usb
usb.go:43:15: struct size calculation error off=72 bytesize=64

This looks like a problem with libusb-1.0.9, but I'm not familiar with Go, and I certainly don't know cgo.

Hope this helps.

Cannot install in debian squeeze

Hi,

I was able to connect my samsung galaxy S 3 lte and with udev I can mount and umount (both auto) with normal user. I've downloaded go-mtpfs binary from your site. I wasn't able to compile your package (32-bit even if my machine is 64-bit) cause the following errors:

go install github.com/hanwen/go-mtpfs

github.com/hanwen/go-mtpfs/usb

error: 'libusb_error_name' undeclared (first use in this function)
error: (Each undeclared identifier is reported only once
error: 'LIBUSB_SPEED_SUPER' undeclared (first use in this function)
error: 'LIBUSB_SPEED_LOW' undeclared (first use in this function)
error: 'libusb_get_device_speed' undeclared (first use in this function)
error: 'LIBUSB_SPEED_UNKNOWN' undeclared (first use in this function)
error: 'LIBUSB_SPEED_HIGH' undeclared (first use in this function)
error: 'LIBUSB_SPEED_FULL' undeclared (first use in this function)

hear is my usb-go (relevant lines)

// The usb package is a straighforward cgo wrapping of the libusb 1.0
// API. It only supports the synchronous API, since Goroutines can be
// used for asynchronous use-cases.

package usb

// #cgo LDFLAGS: -lusb-1.0
// #cgo CFLAGS: -I/usr/include/libusb-1.0
// #include <libusb.h>
import "C"

import (
"fmt"
"reflect"
"unsafe"
)

const SPEED_UNKNOWN = C.LIBUSB_SPEED_UNKNOWN
const SPEED_LOW = C.LIBUSB_SPEED_LOW
const SPEED_FULL = C.LIBUSB_SPEED_FULL
const SPEED_HIGH = C.LIBUSB_SPEED_HIGH
const SPEED_SUPER = C.LIBUSB_SPEED_SUPER

var SPEED_names = map[byte]string{
byte(SPEED_UNKNOWN): "UNKNOWN",
byte(SPEED_LOW): "LOW",
byte(SPEED_FULL): "FULL",
byte(SPEED_HIGH): "HIGH",
byte(SPEED_SUPER): "SUPER",
}

type ControlSetup C.struct_libusb_control_setup
type Transfer C.struct_libusb_transfer

I'm on debian squeeze. Thanks if you can help.

Regards

Vincenzo

Successfully compiled after passage from squeeze to sweezy (testing) always 32-bit. Now with udev and fstab correct entries I'm able to mount and umount automatically copy, create folders, files, edit them in kwrite with go-mtpfs. Even with binary on your site I was able to do such things (phone model Samsung galaxy 3 GT-I9305 LTE not rooted)

Thanks

Vincenzo

unable to install

azrull@MacBook:~$ go get github.com/hanwen/go-mtpfs

github.com/hanwen/go-fuse/raw

/tmp/go/src/github.com/hanwen/go-fuse/raw/print_linux.go:12: undefined: CAP_XTIMES
/tmp/go/src/github.com/hanwen/go-fuse/raw/print_linux.go:13: undefined: CAP_VOL_RENAME
/tmp/go/src/github.com/hanwen/go-fuse/raw/print_linux.go:14: undefined: CAP_CASE_INSENSITIVE
azrull@MacBook:~$ sudo mv /tmp/go/bin/go-mtpfs /usr/local/sbin/go-mtpfs
mv: cannot stat `/tmp/go/bin/go-mtpfs': No such file or directory

go-mtpfs fails with with internal + external SD card

Mounting Android devices works only with internal SD card, if external SD Card is present then mounting fails.

$ go-mtpfs /mnt/
2013/11/28 12:48:02 compiled against libmtp 1.1.5
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
2013/11/28 12:48:02 found device Samsung: Galaxy models (MTP) (04e8:6860) @ bus 2, dev 40
:
ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device
inep: usb_get_endpoint_status(): No such device
outep: usb_get_endpoint_status(): No such device
usb_clear_halt() on IN endpoint: No such device
usb_clear_halt() on OUT endpoint: No such device
usb_clear_halt() on INTERRUPT endpoint: No such device
libusb_open() failed!: No such device
LIBMTP PANIC: Could not init USB on second attempt
2013/11/28 12:48:02 rdev.open failed: open: open returned nil

can't seem to access my galaxy s3 from my debian testing

So I am a happy brand new user of a galaxy s3 (which has survived a substantially high hall on its first day, not that you probably care too much) and I was to try to access its files and I found is not as straightforward as I would have hoped.

So I wonder if you can help me sort this out. I have compiled it against the available libmtp (which is 1.1.3 at debian testing) and the device it's detected properly, however there is no mounting happening. When I access the mount directory it is empty. Is there any feedback I can provide? After a while I got the following:

PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device

ariel@mescamovil:~$ LIBMTP PANIC: failed to open session on second attempt
2013/02/01 13:20:46 rdev.open failed: open: open returned nil

[1]+ Exit 1 go-mtpfs a

I made sure the device is unlocked.

Crash when MediaMonkey (under wine) scans the device

Hey, I opened MediaMonkey (under whine) while having mounted my Android phone with go-mtpfs. It crashes quickly with the following messages:

I'm on Archlinux and compiled go-mtpfs from git using AUR (commit 5bc93a3)

Heres's the log. Somewhere near the bottom is a "panic: runtime error: slice bounds out of range" message.

kugel@thomas-nb:~$ go-mtpfs -android=true -debug=mtp mnt
2013/10/15 10:18:54 MTP request OpenSession [77531165]
2013/10/15 10:18:54 MTP response SessionAlreadyOpened [1783576951]
2013/10/15 10:18:54 MTP request CloseSession []
2013/10/15 10:18:54 MTP response OK []
2013/10/15 10:18:54 MTP request OpenSession [1405567681]
2013/10/15 10:18:54 MTP response OK []
2013/10/15 10:18:54 MTP request GetStorageIDs []
2013/10/15 10:18:54 MTP data 0x14 bytes
2013/10/15 10:18:54 MTP response OK []
2013/10/15 10:18:54 MTP decoded &mtp.Uint32Array{Values:[]uint32{0x10001}}
2013/10/15 10:18:54 MTP request GetStorageInfo [65537]
2013/10/15 10:18:54 MTP data 0x58 bytes
2013/10/15 10:18:54 MTP response OK []
2013/10/15 10:18:54 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:54 MTP request GetDeviceInfo []
2013/10/15 10:18:54 MTP data 0x1db bytes
2013/10/15 10:18:54 MTP response OK []
2013/10/15 10:18:54 MTP decoded &mtp.DeviceInfo{StandardVersion:0x64, MTPVendorExtensionID:0x6, MTPVersion:0x64, MTPExtension:"microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;", FunctionalMode:0x0, OperationsSupported:[]uint16{0x1001, 0x1002, 0x1003, 0x1004, 0x1005, 0x1006, 0x1007, 0x1008, 0x1009, 0x100a, 0x100b, 0x100c, 0x100d, 0x1014, 0x1015, 0x1016, 0x1017, 0x101b, 0x9801, 0x9802, 0x9803, 0x9804, 0x9805, 0x9810, 0x9811, 0x95c1, 0x95c2, 0x95c3, 0x95c4, 0x95c5, 0x9186, 0x9187, 0x9188, 0x9189, 0x9191, 0x9194, 0x9196, 0x9197, 0x940c, 0x940d, 0x9407, 0x9408, 0x9409}, EventsSupported:[]uint16{0x4002, 0x4003, 0x4004, 0x4005, 0xc350, 0xc35a}, DevicePropertiesSupported:[]uint16{0xd401, 0xd402, 0xd405, 0x5003, 0xd120}, CaptureFormats:[]uint16{}, PlaybackFormats:[]uint16{0x3000, 0x3001, 0x3004, 0x3005, 0x3008, 0x3009, 0x3801, 0x3802, 0x3804, 0x3807, 0x3808, 0x380b, 0x380d, 0xb902, 0xb903, 0xb982, 0xb984, 0xba03, 0xba05, 0xba10, 0xba11, 0xba14, 0xba82, 0xb906, 0xb102}, Manufacturer:"Sony", Model:"LT22i", DeviceVersion:"1.0", SerialNumber:"CB511YAS8K"}
2013/10/15 10:18:54 MTP request GetStorageInfo [65537]
2013/10/15 10:18:54 MTP data 0x58 bytes
2013/10/15 10:18:54 MTP response OK []
2013/10/15 10:18:54 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:54 starting FUSE.
2013/10/15 10:18:56 MTP request GetStorageInfo [65537]
2013/10/15 10:18:56 MTP data 0x58 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:56 MTP request GetStorageInfo [65537]
2013/10/15 10:18:56 MTP data 0x58 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:56 MTP request GetObjectHandles [65537 0 4294967295]
2013/10/15 10:18:56 MTP data 0xe0 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.Uint32Array{Values:[]uint32{0x1, 0x3, 0x4, 0x5, 0x265, 0x266, 0x267, 0x278, 0x27a, 0x282, 0x2ba, 0x2c9, 0x2cc, 0x6fa, 0x6fe, 0xda0, 0xda3, 0xdbb, 0xdbc, 0xdc0, 0xdc3, 0xdc5, 0xdd1, 0xdd3, 0xdd5, 0xdd8, 0xdda, 0xde2, 0xe83, 0xf75, 0xf8c, 0xf8e, 0x118c, 0x1190, 0x12f6, 0x1f11, 0x2057, 0x2482, 0x2487, 0x24a0, 0x258e, 0x2821, 0x30da, 0x30f0, 0x3201, 0x354e, 0x367d, 0x38aa, 0x3edb, 0x4e73, 0x4e89, 0x4e8a}}
2013/10/15 10:18:56 MTP request GetObjectInfo [1]
2013/10/15 10:18:56 MTP data 0x80 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"Notifications", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63487403370, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3]
2013/10/15 10:18:56 MTP data 0x76 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"LOST.DIR", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63476979722, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [4]
2013/10/15 10:18:56 MTP data 0x84 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:".android_secure", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63517306852, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [5]
2013/10/15 10:18:56 MTP data 0x74 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"Android", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63492013124, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [613]
2013/10/15 10:18:56 MTP data 0x78 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"Playlists", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63488192502, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [614]
2013/10/15 10:18:56 MTP data 0x76 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"recovery", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63082957006, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [615]
2013/10/15 10:18:56 MTP data 0x6e bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"DCIM", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63487388818, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [632]
2013/10/15 10:18:56 MTP data 0x78 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"Ringtones", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63504488062, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [634]
2013/10/15 10:18:56 MTP data 0x76 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"Pictures", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63487403606, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [642]
2013/10/15 10:18:56 MTP data 0x78 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"amazonmp3", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63512821248, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [698]
2013/10/15 10:18:56 MTP data 0x74 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"rockbox", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63516321160, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [713]
2013/10/15 10:18:56 MTP data 0x78 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"bluetooth", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63502082606, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [716]
2013/10/15 10:18:56 MTP data 0x70 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"pulse", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63487954048, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [1786]
2013/10/15 10:18:56 MTP data 0x86 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"SMSBackupRestore", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63505779414, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [1790]
2013/10/15 10:18:56 MTP data 0x70 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"Musik", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63488060370, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3488]
2013/10/15 10:18:56 MTP data 0x70 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"chomp", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63491561016, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3491]
2013/10/15 10:18:56 MTP data 0x70 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:".jota", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63487576426, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3515]
2013/10/15 10:18:56 MTP data 0x7e bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"TunnyBrowser", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63494120914, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3516]
2013/10/15 10:18:56 MTP data 0x76 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"download", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63512291816, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3520]
2013/10/15 10:18:56 MTP data 0x76 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"ebanking", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63505436752, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3523]
2013/10/15 10:18:56 MTP data 0x88 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"burstlyVideoCache", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63499108548, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3525]
2013/10/15 10:18:56 MTP data 0x88 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"burstlyImageCache", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63499108548, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3537]
2013/10/15 10:18:56 MTP data 0x7e bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"Cut the Rope", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63487828540, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3539]
2013/10/15 10:18:56 MTP data 0x78 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"Scoreloop", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63490929354, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3541]
2013/10/15 10:18:56 MTP data 0x72 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"System", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63487991080, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3544]
2013/10/15 10:18:56 MTP data 0x7c bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"com.fsck.k9", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63487991280, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3546]
2013/10/15 10:18:56 MTP data 0x7e bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"GOLauncherEX", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63488038746, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3554]
2013/10/15 10:18:56 MTP data 0x74 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"GoStore", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63488038572, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3715]
2013/10/15 10:18:56 MTP data 0xa2 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3000, ProtectionStatus:0x0, CompressedSize:0x14367d, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"Superuser-3.1.3-arm-signed.zip", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63488441290, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3957]
2013/10/15 10:18:56 MTP data 0x8a bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3000, ProtectionStatus:0x0, CompressedSize:0xda0cbe, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"wlan_standards.pdf", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63488655724, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3980]
2013/10/15 10:18:56 MTP data 0x7a bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3000, ProtectionStatus:0x0, CompressedSize:0x784, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"data-1.zip", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63488830348, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [3982]
2013/10/15 10:18:56 MTP data 0x6e bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"data", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63488951320, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [4492]
2013/10/15 10:18:56 MTP data 0x82 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"TitaniumBackup", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63505779042, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [4496]
2013/10/15 10:18:56 MTP data 0x8a bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3000, ProtectionStatus:0x0, CompressedSize:0x3851b0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"TitaniumBackup.zip", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63488951564, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [4854]
2013/10/15 10:18:56 MTP data 0x72 bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"twonky", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63489981882, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [7953]
2013/10/15 10:18:56 MTP data 0x7c bytes
2013/10/15 10:18:56 MTP response OK []
2013/10/15 10:18:56 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:".mmsyscache", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63497118818, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:56 MTP request GetObjectInfo [8279]
2013/10/15 10:18:57 MTP data 0x78 bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3000, ProtectionStatus:0x0, CompressedSize:0x21, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:".bugsense", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63497568466, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetObjectInfo [9346]
2013/10/15 10:18:57 MTP data 0x7e bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3000, ProtectionStatus:0x0, CompressedSize:0x22c79, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"PIM00002.vcf", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63499630900, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetObjectInfo [9351]
2013/10/15 10:18:57 MTP data 0x86 bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:".semc-fullbackup", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63499632196, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetObjectInfo [9376]
2013/10/15 10:18:57 MTP data 0x98 bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3000, ProtectionStatus:0x0, CompressedSize:0x9ddc2, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"AdFree_Android_0_8_47.apk", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63499967660, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetObjectInfo [9614]
2013/10/15 10:18:57 MTP data 0x6e bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"Sony", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63499633334, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetObjectInfo [10273]
2013/10/15 10:18:57 MTP data 0x98 bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3004, ProtectionStatus:0x0, CompressedSize:0x1cb483, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"plants-vs.zombies.apk.txt", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63500231088, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetObjectInfo [12506]
2013/10/15 10:18:57 MTP data 0x78 bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x8000, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"banamalon", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63503288888, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetObjectInfo [12528]
2013/10/15 10:18:57 MTP data 0x76 bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x8000, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"LazyList", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63503289132, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetObjectInfo [12801]
2013/10/15 10:18:57 MTP data 0x74 bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x8000, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:".de.rtl", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63504078772, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetObjectInfo [13646]
2013/10/15 10:18:57 MTP data 0x94 bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x8000, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:".com.mobisystems.office", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63505839060, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetObjectInfo [13949]
2013/10/15 10:18:57 MTP data 0x96 bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3000, ProtectionStatus:0x0, CompressedSize:0x182b3, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:".tempLockScreenWallpaper", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63506013154, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetObjectInfo [14506]
2013/10/15 10:18:57 MTP data 0x92 bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3004, ProtectionStatus:0x0, CompressedSize:0xc223c, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"log-AquaMail-crash.txt", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63506977538, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetObjectInfo [16091]
2013/10/15 10:18:57 MTP data 0x7a bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3001, ProtectionStatus:0x0, CompressedSize:0x8000, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"foursquare", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63508785776, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetObjectInfo [20083]
2013/10/15 10:18:57 MTP data 0x84 bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3000, ProtectionStatus:0x0, CompressedSize:0x0, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:".windows-serial", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63517428623, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetObjectInfo [20105]
2013/10/15 10:18:57 MTP data 0x92 bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3000, ProtectionStatus:0x0, CompressedSize:0x34b7, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"default-capability.xml", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63517429128, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetObjectInfo [20106]
2013/10/15 10:18:57 MTP data 0x98 bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.ObjectInfo{StorageID:0x10001, ObjectFormat:0x3000, ProtectionStatus:0x0, CompressedSize:0x92, ThumbFormat:0x0, ThumbCompressedSize:0x0, ThumbPixWidth:0x0, ThumbPixHeight:0x0, ImagePixWidth:0x0, ImagePixHeight:0x0, ImageBitDepth:0x0, ParentObject:0x0, AssociationType:0x0, AssociationDesc:0x0, SequenceNumber:0x0, Filename:"customized-capability.xml", CaptureDate:time.Time{sec:0, nsec:0, loc:(_time.Location)(nil)}, ModificationDate:time.Time{sec:63517429128, nsec:0, loc:(_time.Location)(0x8da1e0)}, Keywords:""}
2013/10/15 10:18:57 MTP request GetStorageInfo [65537]
2013/10/15 10:18:57 MTP data 0x58 bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:57 MTP request GetStorageInfo [65537]
2013/10/15 10:18:57 MTP data 0x58 bytes
2013/10/15 10:18:57 MTP response OK []
2013/10/15 10:18:57 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:58 MTP request GetStorageInfo [65537]
2013/10/15 10:18:58 MTP data 0x58 bytes
2013/10/15 10:18:58 MTP response OK []
2013/10/15 10:18:58 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:58 MTP request GetStorageInfo [65537]
2013/10/15 10:18:58 MTP data 0x58 bytes
2013/10/15 10:18:58 MTP response OK []
2013/10/15 10:18:58 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:58 MTP request GetStorageInfo [65537]
2013/10/15 10:18:58 MTP data 0x58 bytes
2013/10/15 10:18:58 MTP response OK []
2013/10/15 10:18:58 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:58 MTP request GetStorageInfo [65537]
2013/10/15 10:18:58 MTP data 0x58 bytes
2013/10/15 10:18:58 MTP response OK []
2013/10/15 10:18:58 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:58 MTP request GetStorageInfo [65537]
2013/10/15 10:18:58 MTP data 0x58 bytes
2013/10/15 10:18:58 MTP response OK []
2013/10/15 10:18:58 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:58 MTP request GetStorageInfo [65537]
2013/10/15 10:18:58 MTP data 0x58 bytes
2013/10/15 10:18:58 MTP response OK []
2013/10/15 10:18:58 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:58 MTP request GetStorageInfo [65537]
2013/10/15 10:18:58 MTP data 0x58 bytes
2013/10/15 10:18:58 MTP response OK []
2013/10/15 10:18:58 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:58 MTP request GetStorageInfo [65537]
2013/10/15 10:18:58 MTP data 0x58 bytes
2013/10/15 10:18:58 MTP response OK []
2013/10/15 10:18:58 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:59 MTP request GetStorageInfo [65537]
2013/10/15 10:18:59 MTP data 0x58 bytes
2013/10/15 10:18:59 MTP response OK []
2013/10/15 10:18:59 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:59 MTP request GetStorageInfo [65537]
2013/10/15 10:18:59 MTP data 0x58 bytes
2013/10/15 10:18:59 MTP response OK []
2013/10/15 10:18:59 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:59 MTP request GetStorageInfo [65537]
2013/10/15 10:18:59 MTP data 0x58 bytes
2013/10/15 10:18:59 MTP response OK []
2013/10/15 10:18:59 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:59 MTP request GetStorageInfo [65537]
2013/10/15 10:18:59 MTP data 0x58 bytes
2013/10/15 10:18:59 MTP response OK []
2013/10/15 10:18:59 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:59 MTP request GetStorageInfo [65537]
2013/10/15 10:18:59 MTP data 0x58 bytes
2013/10/15 10:18:59 MTP response OK []
2013/10/15 10:18:59 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:59 MTP request GetStorageInfo [65537]
2013/10/15 10:18:59 MTP data 0x58 bytes
2013/10/15 10:18:59 MTP response OK []
2013/10/15 10:18:59 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:59 MTP request GetStorageInfo [65537]
2013/10/15 10:18:59 MTP data 0x58 bytes
2013/10/15 10:18:59 MTP response OK []
2013/10/15 10:18:59 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:59 MTP request GetStorageInfo [65537]
2013/10/15 10:18:59 MTP data 0x58 bytes
2013/10/15 10:18:59 MTP response OK []
2013/10/15 10:18:59 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
2013/10/15 10:18:59 MTP request GetStorageInfo [65537]
2013/10/15 10:18:59 MTP data 0x58 bytes
2013/10/15 10:18:59 MTP response OK []
2013/10/15 10:18:59 MTP decoded &mtp.StorageInfo{StorageType:0x3, FilesystemType:0x2, AccessCapability:0x0, MaxCapability:0x2d0728000, FreeSpaceInBytes:0x56d28000, FreeSpaceInImages:0x40000000, StorageDescription:"Interner Speicher", VolumeLabel:"65537"}
panic: runtime error: slice bounds out of range

goroutine 4 [running]:
github.com/hanwen/go-fuse/fuse/nodefs.(_connectorDir).ReadDirPlus(0xc2001d2720, 0xc2000d6848, 0xc2001c49f0, 0x0)
/tmp/go-mtpfs-git/src/src/github.com/hanwen/go-fuse/fuse/nodefs/dir.go:73 +0x241
github.com/hanwen/go-fuse/fuse/nodefs.(_rawBridge).ReadDirPlus(0xc2000d5880, 0xc2000d6848, 0xc2001c49f0, 0xd6898)
/tmp/go-mtpfs-git/src/src/github.com/hanwen/go-fuse/fuse/nodefs/fsops.go:174 +0x79
github.com/hanwen/go-fuse/fuse.(_lockingRawFileSystem).ReadDirPlus(0xc20009cf00, 0xc2000d6848, 0xc2001c49f0, 0xc200000000)
/tmp/go-mtpfs-git/src/src/github.com/hanwen/go-fuse/fuse/lockingfs.go:180 +0x71
github.com/hanwen/go-fuse/fuse.doReadDirPlus(0xc2000dd2d0, 0xc2000d66c0)
/tmp/go-mtpfs-git/src/src/github.com/hanwen/go-fuse/fuse/opcode.go:134 +0xf5
github.com/hanwen/go-fuse/fuse.(_Server).handleRequest(0xc2000dd2d0, 0xc2000d66c0)
/tmp/go-mtpfs-git/src/src/github.com/hanwen/go-fuse/fuse/server.go:334 +0x253
github.com/hanwen/go-fuse/fuse.(_Server).loop(0xc2000dd2d0, 0x1)
/tmp/go-mtpfs-git/src/src/github.com/hanwen/go-fuse/fuse/server.go:314 +0x86
created by github.com/hanwen/go-fuse/fuse.(_Server).readRequest
/tmp/go-mtpfs-git/src/src/github.com/hanwen/go-fuse/fuse/server.go:244 +0x5d2

goroutine 1 [syscall]:
syscall.Syscall()
/usr/lib/go/src/pkg/syscall/asm_linux_amd64.s:16 +0x5
syscall.read(0xe, 0xc2000e3000, 0x11000, 0x11000, 0x100000000, ...)
/usr/lib/go/src/pkg/syscall/zerrors_linux_amd64.go:2337 +0x70
syscall.Read(0xe, 0xc2000e3000, 0x11000, 0x11000, 0x1000, ...)
/usr/lib/go/src/pkg/syscall/syscall_unix.go:132 +0x5a
github.com/hanwen/go-fuse/fuse.(_Server).readRequest(0xc2000dd2d0, 0xc2000d6200, 0xc2000d6240, 0x0)
/tmp/go-mtpfs-git/src/src/github.com/hanwen/go-fuse/fuse/server.go:220 +0x1d8
github.com/hanwen/go-fuse/fuse.(_Server).loop(0xc2000dd2d0, 0x0)
/tmp/go-mtpfs-git/src/src/github.com/hanwen/go-fuse/fuse/server.go:298 +0x53
github.com/hanwen/go-fuse/fuse.(*Server).Serve(0xc2000dd2d0)
/tmp/go-mtpfs-git/src/src/github.com/hanwen/go-fuse/fuse/server.go:286 +0x49
main.main()
/tmp/go-mtpfs-git/src/src/github.com/hanwen/go-mtpfs/main.go:78 +0xe44

goroutine 2 [syscall]:

goroutine 5 [syscall]:
syscall.Syscall()
/usr/lib/go/src/pkg/syscall/asm_linux_amd64.s:16 +0x5
syscall.read(0xe, 0xc200107000, 0x11000, 0x11000, 0x100000000, ...)
/usr/lib/go/src/pkg/syscall/zerrors_linux_amd64.go:2337 +0x70
syscall.Read(0xe, 0xc200107000, 0x11000, 0x11000, 0x1000, ...)
/usr/lib/go/src/pkg/syscall/syscall_unix.go:132 +0x5a
github.com/hanwen/go-fuse/fuse.(_Server).readRequest(0xc2000dd2d0, 0xc2000d6901, 0xc2000d6900, 0x0)
/tmp/go-mtpfs-git/src/src/github.com/hanwen/go-fuse/fuse/server.go:220 +0x1d8
github.com/hanwen/go-fuse/fuse.(_Server).loop(0xc2000dd2d0, 0x1)
/tmp/go-mtpfs-git/src/src/github.com/hanwen/go-fuse/fuse/server.go:298 +0x53
created by github.com/hanwen/go-fuse/fuse.(*Server).readRequest
/tmp/go-mtpfs-git/src/src/github.com/hanwen/go-fuse/fuse/server.go:244 +0x5d2

goroutine 115 [finalizer wait]:

please add support for nexus 10

trying to connect nexus 10 to ubuntu 12.10 gives me this message:

$ 2012/12/29 15:29:08 compiled against libmtp 1.1.4
Device 0 (VID=18d1 and PID=4ee1) is UNKNOWN.
Please report this VID/PID and the device model to the libmtp development team
2012/12/29 15:29:08 device unknown: unknown (18d1:4ee1) @ bus 1, dev 3

some more information:

DEVTYPE=usb_device
ID_BUS=usb
ID_MEDIA_PLAYER=1
ID_MODEL=Nexus_10
ID_MODEL_ENC=Nexus\x2010
ID_MODEL_ID=4ee1
ID_MTP_DEVICE=1
ID_REVISION=0226
ID_SERIAL=samsung_Nexus_10_R32CB04FNPR
ID_SERIAL_SHORT=R32CB04FNPR
ID_USB_INTERFACES=:ffff00:
ID_VENDOR=samsung
ID_VENDOR_ENC=samsung
ID_VENDOR_ID=18d1
MAJOR=189
MINOR=5
PRODUCT=18d1/4ee1/226

thanks in advance,
mike

Installation doesn't work on Ubuntu 12.10

I'm running Ubuntu 12.10
Following instructions:
sudo apt-get install libmtp-dev golang
mkdir /tmp/go
export GOPATH=/tmp/go
sudo go get github.com/hanwen/go-mtpfs

At this point the /tmp/go directory should contain the installation -but it is empty.

The usb user space dev lib is installed according to dpkg
libusb-1.0-0-dev 2:1.0.12-2 amd64 userspace USB programming library development files

Checked the usual permissions issues - can't seem to figure out why it doesn't want to install

echo $GOPATH
/tmp/go

go env
GOROOT="/usr/lib/go"
GOBIN=""
GOARCH="amd64"
GOCHAR="6"
GOOS="linux"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CGO_ENABLED="1"

Errors Compiling

Hello,

I'm failing to compile because there are too many errors:

I received the same error using your instructions, and when using:
apt-get source --compile go-mtpfs
after adding ppa and getting all the dependencies installed

mikescc:~$ go get github.com/hanwen/go-mtpfs

github.com/hanwen/go-mtpfs

src/github.com/hanwen/go-mtpfs/fs.go:28: undefined: Device
src/github.com/hanwen/go-mtpfs/fs.go:29: undefined: DeviceStorage
src/github.com/hanwen/go-mtpfs/fs.go:39: undefined: Device
src/github.com/hanwen/go-mtpfs/fs.go:39: undefined: DeviceStorage
src/github.com/hanwen/go-mtpfs/fs.go:133: undefined: DeviceStorage
src/github.com/hanwen/go-mtpfs/fs.go:143: undefined: File
src/github.com/hanwen/go-mtpfs/fs.go:143: undefined: DeviceStorage
src/github.com/hanwen/go-mtpfs/fs.go:202: undefined: DeviceStorage
src/github.com/hanwen/go-mtpfs/fs.go:218: undefined: File
src/github.com/hanwen/go-mtpfs/fs.go:508: undefined: File
src/github.com/hanwen/go-mtpfs/fs.go:508: too many error

FYI, doing this build on an ARM chromebook with Ubuntu 12.04 since no binaries were available for armhf.

Thanks for any help.
-Mike

Error while building

/tmp/go/src/github.com/hanwen/go-mtpfs/mtp/mtp.go:282: undefined: NullWriter

I don't know go, but I figure I have a better shot with my SGS3 with something currently being developed over mtpfs.

Can't use go-mtpfs with Samsung Galaxy S3

When I try go-mtpfs with the S3, I get this error:
$ /tmp/go/bin/go-mtpfs -debug=mtp,usb,data /media/s3
2013/05/02 19:50:46 MTP request OpenSession [688305207]
send: 0x10 bytes with ep 0x1:
0000: 1000 0000 0100 0210 0000 0000 37b4 0629 ............7..)
2013/05/02 19:50:51 MTP sendreq failed: LIBUSB_ERROR_TIMEOUT
2013/05/02 19:50:51 OpenSession failed: LIBUSB_ERROR_TIMEOUT; attempting reset
2013/05/02 19:50:51 USB: ReleaseInterface 0x0, err:
2013/05/02 19:50:51 USB: Close, err:
2013/05/02 19:50:52 USB: Open, err:
2013/05/02 19:50:52 USB: ClaimInterface 0x0, err:
2013/05/02 19:50:52 MTP request OpenSession [1612443451]
send: 0x10 bytes with ep 0x1:
0000: 1000 0000 0100 0210 0000 0000 3bef 1b60 ............;..`
2013/05/02 19:50:57 MTP sendreq failed: LIBUSB_ERROR_TIMEOUT
2013/05/02 19:50:57 Configure failed: OpenSession after reset: LIBUSB_ERROR_TIMEOUT

mtp-detect also fails:
$ mtp-detect
libmtp version: 1.1.3

Listing raw device(s)
Device 0 (VID=04e8 and PID=6860) is a Samsung GT-P7310/P7510/N7000/I9100/Galaxy Tab 7.7/10.1/S2/Nexus/Note.
Found 1 device(s):
Samsung: GT-P7310/P7510/N7000/I9100/Galaxy Tab 7.7/10.1/S2/Nexus/Note (04e8:6860) @ bus 3, dev 7
Attempting to connect device(s)
PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device
LIBMTP PANIC: failed to open session on second attempt
Unable to open raw device 0
OK.

$ lsusb | grep Sam
Bus 003 Device 007: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II]

cbiesinger@cbiesinger-glaptop:/tmp/go/src/github.com/hanwen/go-mtpfs$ git log | head
commit 723ce0e
Author: hanwen [email protected]
Date: Sat Apr 13 10:48:34 2013 +0200

detect failed: no MTP devices found

Hi. Thanks for generating the binary to the website for download. Now that I have it, the results are:

  1. from dmesg, after attaching my Nexus 7 to the USB port
    [10294.193447] usb 2-1.2: new high-speed USB device number 6 using ehci_hcd
    [10294.291512] usb 2-1.2: New USB device found, idVendor=18d1, idProduct=4e42
    [10294.291516] usb 2-1.2: New USB device strings: Mfr=2, Product=3, SerialNumber=4
    [10294.291519] usb 2-1.2: Product: Nexus 7
    [10294.291521] usb 2-1.2: Manufacturer: asus
    [10294.291523] usb 2-1.2: SerialNumber: 015d3b66680bf211

but then, when trying to run (the latest) go-mtpfs :
markp@marklap mnt $ ls -al /usr/local/bin/go-*
lrwxrwxrwx 1 root root 15 Dec 21 09:30 /usr/local/bin/go-mtpfs -> go-mtpfs.x86_64
-rwxr-x--x 1 markp users 4486053 Jun 6 12:16 /usr/local/bin/go-mtpfs.x86_64

markp@marklap mnt $ which go-mtpfs
/usr/local/bin/go-mtpfs

markp@marklap mnt $ go-mtpfs nexus/
2013/06/06 12:17:53 detect failed: no MTP devices found

eek.

but when I do the same on my Samsung S3, it works fine :

[17947.259955] usb 2-1.2: New USB device found, idVendor=04e8, idProduct=685c
[17947.259960] usb 2-1.2: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[17947.259962] usb 2-1.2: Product: GT-I9300
[17947.259964] usb 2-1.2: Manufacturer: samsung
[17947.259966] usb 2-1.2: SerialNumber: 4df0077a146f7f25

markp@marklap mnt $ go-mtpfs samsung/
2013/06/06 12:25:04 starting FUSE e7202e3 (2013-02-24 14:23:13 +0100)

markp@marklap mnt $ cd samsung/
markp@marklap samsung $ ls
Internal storage SD card
markp@marklap samsung $ ls -al
total 4
drwxr-xr-x 0 markp users 0 Jan 1 1970 .
drwxr-xr-x 18 markp users 4096 Mar 29 18:20 ..
drwxr-xr-x 0 markp users 0 Jan 1 1970 Internal storage
drwxr-xr-x 0 markp users 0 Jan 1 1970 SD card
markp@marklap samsung $

so - it's specific to the Nexus 7.

Crashes while transfering files

Hi!

I downlaoded the go-mtpfs.x86_64 binary and on Fedora 17 it crashes while transfering files from a Samsung Galaxy Note 10.1 with Android 4.1.2:

2013/03/31 18:28:51 fetched "2012-08-20 12.41.36.jpg", 538121 bytes in 32 ms. 16.8 MB/s
2013/03/31 18:28:51 fetched "P\x19", 121268 bytes in 67 ms. 1.8 MB/s
2013/03/31 18:28:51 fetched "Web2.0_Wallpaper.jpg", 133599 bytes in 11 ms. 11.3 MB/s
2013/03/31 18:28:51 FilesAndFolders failed: PTP Layer error 02fe: LIBMTP_Get_Files_And_Folders(): could not get object handles.
Error 02fe: PTP: Protocol error, data expected
2013/03/31 18:28:51 FilesAndFolders failed: PTP Layer error 02fe: LIBMTP_Get_Files_And_Folders(): could not get object handles.
Error 02fe: PTP: Protocol error, data expected
2013/03/31 18:28:51 FilesAndFolders failed: PTP Layer error 02fe: LIBMTP_Get_Files_And_Folders(): could not get object handles.
Error 02fe: PTP: Protocol error, data expected
panic: storage mismatch.

goroutine 3519 [running]:
main.(*DeviceFs).newFile(0xf84007c420, 0x7f4a80000bd0, 0x41f05a0, 0x7f4a0000001a, 0x7f4a80000bd0, ...)
        /home/hanwen/go/src/go-mtpfs/fs.go:141 +0x75
main.(*folderNode).Lookup(0xf840358af0, 0xf841d25618, 0xf842a1e100, 0x1a, 0xf841d25698, ...)
        /home/hanwen/go/src/go-mtpfs/fs.go:542 +0x2d1
github.com/hanwen/go-fuse/fuse.(*FileSystemConnector).internalLookup(0xf840047ec0, 0xf841d25618, 0xf840366480, 0xf842a1e100, 0xf80000001a, ...)
        /home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/fsops.go:61 +0x359
github.com/hanwen/go-fuse/fuse.(*FileSystemConnector).Lookup(0xf840047ec0, 0xf841d255f0, 0xf841d25680, 0xf842a1e100, 0x1a, ...)
        /home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/fsops.go:82 +0x1af
github.com/hanwen/go-fuse/fuse.(*LockingRawFileSystem).Lookup(0xf8400488c0, 0xf841d255f0, 0xf841d25680, 0xf842a1e100, 0x1a, ...)
        /home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/lockingfs.go:167 +0x99
github.com/hanwen/go-fuse/fuse.doLookup(0xf840083000, 0xf841d25540, 0x1, 0xf841d25680)
        /home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/opcode.go:242 +0x81
github.com/hanwen/go-fuse/fuse.(*MountState).handleRequest(0xf840083000, 0xf841d25540, 0xf841d25540, 0x0)
        /home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:313 +0x22c
github.com/hanwen/go-fuse/fuse.(*MountState).loop(0xf840083000, 0x1, 0x0, 0x0)
        /home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:293 +0x84
created by github.com/hanwen/go-fuse/fuse.(*MountState).readRequest
        /home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:227 +0x604

goroutine 1 [semacquire]:
sync.runtime_Semacquire(0xf84005c328, 0xf84005c328)
        /home/hanwen/vc/go/src/pkg/runtime/zsema_amd64.c:146 +0x25
sync.(*WaitGroup).Wait(0xf840083088, 0x0)
        /home/hanwen/vc/go/src/pkg/sync/waitgroup.go:78 +0xf2
github.com/hanwen/go-fuse/fuse.(*MountState).Loop(0xf840083000, 0x100000001)
        /home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:269 +0x5e
main.main()
        /home/hanwen/go/src/go-mtpfs/main.go:90 +0xe8e

goroutine 2 [syscall]:
created by runtime.main
        /home/hanwen/vc/go/src/pkg/runtime/proc.c:221

goroutine 6 [finalizer wait]:
created by runtime.gc
        /home/hanwen/vc/go/src/pkg/runtime/mgc0.c:882

goroutine 3528 [syscall]:
syscall.Syscall()
        /home/hanwen/vc/go/src/pkg/syscall/asm_linux_amd64.s:15 +0x5
syscall.Read(0xf800000009, 0xf8428f3000, 0x1100000011000, 0x4017f000, 0x0, ...)
        /home/hanwen/vc/go/src/pkg/syscall/zerrors_linux_amd64.go:2137 +0x78
os.(*File).read(0xf84005c1c0, 0xf8428f3000, 0x1100000011000, 0xffffffff, 0x0, ...)
        /home/hanwen/vc/go/src/pkg/os/file_unix.go:163 +0x58
os.(*File).Read(0xf84005c1c0, 0xf8428f3000, 0x1100000011000, 0xf841d1f540, 0x0, ...)
        /home/hanwen/vc/go/src/pkg/os/file.go:95 +0x83
github.com/hanwen/go-fuse/fuse.(*MountState).readRequest(0xf840083000, 0xf841d1f501, 0xf841d1f540, 0x0, 0x0, ...)
        /home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:203 +0x1aa
github.com/hanwen/go-fuse/fuse.(*MountState).loop(0xf840083000, 0x1, 0x0, 0x0)
        /home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:277 +0x51
created by github.com/hanwen/go-fuse/fuse.(*MountState).readRequest
        /home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:227 +0x604

goroutine 3524 [syscall]:
syscall.Syscall()
        /home/hanwen/vc/go/src/pkg/syscall/asm_linux_amd64.s:15 +0x5
syscall.Read(0xf800000009, 0xf8428e2000, 0x1100000011000, 0x4017f000, 0x0, ...)
        /home/hanwen/vc/go/src/pkg/syscall/zerrors_linux_amd64.go:2137 +0x78
os.(*File).read(0xf84005c1c0, 0xf8428e2000, 0x1100000011000, 0xffffffff, 0x0, ...)
        /home/hanwen/vc/go/src/pkg/os/file_unix.go:163 +0x58
os.(*File).Read(0xf84005c1c0, 0xf8428e2000, 0x1100000011000, 0xf841d25380, 0x0, ...)
        /home/hanwen/vc/go/src/pkg/os/file.go:95 +0x83
github.com/hanwen/go-fuse/fuse.(*MountState).readRequest(0xf840083000, 0xf841d25301, 0xf841d25380, 0x0, 0x0, ...)
        /home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:203 +0x1aa
github.com/hanwen/go-fuse/fuse.(*MountState).loop(0xf840083000, 0x1, 0x0, 0x0)
        /home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:277 +0x51
created by github.com/hanwen/go-fuse/fuse.(*MountState).readRequest
        /home/hanwen/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:227 +0x604
./go-mtpfs.x86_64 /media/tablet  7,51s user 30,13s system 11% cpu 5:22,96 total

What is going wrong here?

Regards

Mebus

pure Go MTP library does not work with Samsung non-nexus devices

TL;DR if you have problems connecting a Samsung device (non-nexus), try the libmtp branch rather than master.

This bug is to document all Samsung issues together.

Several users have reported issues with the master branch and samsung galaxy devices (eg. Galaxy 3, Galaxy 2 etc.). Samsung is using their own MTP stack, which does not quite work like the standard Android one, and I don't have a Samsung device to debug things. Users with an affected device can try the 'libmtp' branch which is an older version linking against libmtp.

Symptoms are:

  • Configure failed: OpenSession after reset: LIBUSB_ERROR_TIMEOUT

no matter what the setting of -usb-timeout.

Fedora Install Instructions

I created a wiki page entitled Fedora Install in the hopes that someone might smooth out the process for Fedora users.

I'll be happy to test and improve any instructions I get.

It shouldn't be hard to find, it's the only page. :)

But here it is: https://github.com/hanwen/go-mtpfs/wiki/Fedora-install

I marked it up with my experience trying to install the fs.

As an aside,, I installed mtpfs on my box. It works for browsing the android but it fails on file copy/move.

I have a nexus 1, a nexus 7, a transformer and a noname from Hong Kong about a year old. I'm using FC 16. The latest is 18. I can install that on something and test it too.

So I have a reasonable test suite to smooth out any instructions that may come my way.

Thanks!

OpenSession failed: LIBUSB_ERROR_IO

When I mount my Galaxy S2 with Android 4.2.1 (CM 10.1 nightly) using Go-mtpfs, this message is displayed:
OpenSession failed: LIBUSB_ERROR_IO

However, the device seems mounted successfully. Any idea what causes this error?

OpenSession failed: LIBUSB_ERROR_TIMEOUT

Hi,
I'm trying to mount my Htc One X on Funtoo and getting this error when trying to mount using go-mtpfs, but when I'm mounting using mtpfs, device seems to be recognized and mounted (although, there is some mix with directories and no files are listed).
libmtp version 1.1.5, libusb version 1.0.9
Any help will be appreciated.

ARM cross-compiling

First of all: Thanks for building this beast! It is great and a nice opportunity to improve the MTP support on linux.

Do you plan any support for the ARM architecture?

If I try to cross-compile go-mtpfs from my host system with the following parameters it fails:

export GOOS=linux
export GOARCH=arm
go get github.com/hanwen/go-mtpfs

Result:

src/github.com/hanwen/go-mtpfs/usb/print.go:5: undefined: CLASS_PER_INTERFACE
src/github.com/hanwen/go-mtpfs/usb/print.go:7: undefined: CLASS_AUDIO
src/github.com/hanwen/go-mtpfs/usb/print.go:9: undefined: CLASS_COMM
src/github.com/hanwen/go-mtpfs/usb/print.go:11: undefined: CLASS_HID
src/github.com/hanwen/go-mtpfs/usb/print.go:13: undefined: CLASS_PHYSICAL
src/github.com/hanwen/go-mtpfs/usb/print.go:15: undefined: CLASS_PRINTER
src/github.com/hanwen/go-mtpfs/usb/print.go:17: undefined: CLASS_IMAGE
src/github.com/hanwen/go-mtpfs/usb/print.go:19: undefined: CLASS_MASS_STORAGE
src/github.com/hanwen/go-mtpfs/usb/print.go:21: undefined: CLASS_HUB
src/github.com/hanwen/go-mtpfs/usb/print.go:23: undefined: CLASS_DATA
src/github.com/hanwen/go-mtpfs/usb/print.go:23: too many errors

Do you have an idea?

/André

Mac OS X port

Hi!

I'm trying to compile go-mtpfs on OSX 10.8, but this is failing because the splice() syscall seems to be unavailable on the BSDs and some constants are not available either:

# github.com/hanwen/go-fuse/raw
src/github.com/hanwen/go-fuse/raw/print.go:56: undefined: syscall.O_DIRECT
src/github.com/hanwen/go-fuse/raw/print.go:58: undefined: syscall.O_LARGEFILE
src/github.com/hanwen/go-fuse/raw/print.go:59: undefined: syscall.O_NOATIME
# github.com/hanwen/go-fuse/splice
src/github.com/hanwen/go-fuse/splice/pair.go:68: undefined: syscall.Splice
src/github.com/hanwen/go-fuse/splice/pair.go:78: undefined: syscall.Splice
src/github.com/hanwen/go-fuse/splice/pair.go:86: undefined: syscall.Splice

Being not at all familiar with low-level C programming and Go I was wondering if you could help me out resolving these issues?

From what I've read splice could be replaced by POSIX' memmap (http://stackoverflow.com/questions/10329505), but I don't understand the logic here...

On BSD's open(2) man page I read about the available open flags:

       O_RDONLY        open for reading only
       O_WRONLY        open for writing only
       O_RDWR          open for reading and writing
       O_NONBLOCK      do not block on open or for data to become available
       O_APPEND        append on each write
       O_CREAT         create file if it does not exist
       O_TRUNC         truncate size to 0
       O_EXCL          error if O_CREAT and the file exists
       O_SHLOCK        atomically obtain a shared lock
       O_EXLOCK        atomically obtain an exclusive lock
       O_NOFOLLOW      do not follow symlinks
       O_SYMLINK       allow open of symlinks
       O_EVTONLY       descriptor requested for event notifications only
       O_CLOEXEC       mark as close-on-exec

I also read the Linux open(2) man page and it still has to occur to me if these Linux-specific flags that are used in go-mtpfs are really, really needed, but hey, you're the expert :)

Thanks,
Thomas.

Crash after transferring files (panic: storage mismatch)

I'm using go-mtpfs for my Samsung Galaxy S3. Copied some folders to the external microSDXC card (worked fine), but it crashed when trying to copy another folder.

2012/06/14 16:12:14 sending file "35 - The Who - A Man In A Purple Dress (Live At Nassau Coliseum, 2007).mp3" to device: 6306985 bytes.
2012/06/14 16:12:15 sent 6306985 bytes in 965 ms. 6.5 MB/s
panic: storage mismatch.

goroutine 352 [running]:
main.(*DeviceFs).newFile(0x1876a020, 0xb72c12a0, 0xb7280180, 0xd, 0xb72c12a0, ...)
    /tmp/go/src/github.com/hanwen/go-mtpfs/fs.go:141 +0x74
main.(*folderNode).Lookup(0x187de540, 0x18755ce8, 0x18731750, 0xd, 0x18755d68, ...)
    /tmp/go/src/github.com/hanwen/go-mtpfs/fs.go:542 +0x21e
github.com/hanwen/go-fuse/fuse.(*FileSystemConnector).internalLookup(0x1876a060, 0x18755ce8, 0x18816190, 0x18731750, 0xd, ...)
    /tmp/go/src/github.com/hanwen/go-fuse/fuse/fsops.go:61 +0x22c
github.com/hanwen/go-fuse/fuse.(*FileSystemConnector).Lookup(0x1876a060, 0x18755cc0, 0x18755d50, 0x18731750, 0xd, ...)
    /tmp/go/src/github.com/hanwen/go-fuse/fuse/fsops.go:82 +0x148
github.com/hanwen/go-fuse/fuse.(*LockingRawFileSystem).Lookup(0x18731080, 0x18755cc0, 0x18755d50, 0x18731750, 0xd, ...)
    /tmp/go/src/github.com/hanwen/go-fuse/fuse/lockingfs.go:167 +0x7a
github.com/hanwen/go-fuse/fuse.doLookup(0x18741310, 0x18755c40, 0x36)
    /tmp/go/src/github.com/hanwen/go-fuse/fuse/opcode.go:242 +0x73
github.com/hanwen/go-fuse/fuse.(*MountState).handleRequest(0x18741310, 0x18755c40, 0x18755c40)
    /tmp/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:313 +0x204
github.com/hanwen/go-fuse/fuse.(*MountState).loop(0x18741310, 0x1, 0x0)
    /tmp/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:293 +0x7b
created by github.com/hanwen/go-fuse/fuse.(*MountState).readRequest
    /tmp/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:227 +0x734

goroutine 1 [semacquire]:
sync.runtime_Semacquire(0x18700b38, 0x18700b38)
    /tmp/bindist374110409/go/src/pkg/runtime/zsema_386.c:146 +0x29
sync.(*WaitGroup).Wait(0x1874136c, 0x0)
    /usr/local/go/src/pkg/sync/waitgroup.go:78 +0xe6
github.com/hanwen/go-fuse/fuse.(*MountState).Loop(0x18741310, 0x1)
    /tmp/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:269 +0x56
main.main()
    /tmp/go/src/github.com/hanwen/go-mtpfs/main.go:90 +0xd7b

goroutine 2 [syscall]:
created by runtime.main
    /tmp/bindist374110409/go/src/pkg/runtime/proc.c:221

goroutine 4 [finalizer wait]:
created by runtime.gc
    /tmp/bindist374110409/go/src/pkg/runtime/mgc0.c:882

goroutine 351 [syscall]:
syscall.Syscall()
    /tmp/bindist374110409/go/src/pkg/syscall/asm_linux_386.s:20 +0x1f
syscall.Read(0x6, 0x1897c000, 0x11000, 0x11000, 0x0, ...)
    /usr/local/go/src/pkg/syscall/zerrors_linux_386.go:2136 +0x61
os.(*File).read(0x18700328, 0x1897c000, 0x11000, 0x11000, 0x18701940, ...)
    /usr/local/go/src/pkg/os/file_unix.go:163 +0x44
os.(*File).Read(0x18700328, 0x1897c000, 0x11000, 0x11000, 0xffffffff, ...)
    /usr/local/go/src/pkg/os/file.go:95 +0x67
github.com/hanwen/go-fuse/fuse.(*MountState).readRequest(0x18741310, 0x1881c001, 0x1881c000, 0x0, 0x0, ...)
    /tmp/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:203 +0x1d5
github.com/hanwen/go-fuse/fuse.(*MountState).loop(0x18741310, 0x1, 0x0)
    /tmp/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:277 +0x4f
created by github.com/hanwen/go-fuse/fuse.(*MountState).readRequest
    /tmp/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:227 +0x734

goroutine 349 [syscall]:
syscall.Syscall()
    /tmp/bindist374110409/go/src/pkg/syscall/asm_linux_386.s:20 +0x1f
syscall.Read(0x6, 0x18a8d000, 0x11000, 0x11000, 0x0, ...)
    /usr/local/go/src/pkg/syscall/zerrors_linux_386.go:2136 +0x61
os.(*File).read(0x18700328, 0x18a8d000, 0x11000, 0x11000, 0x187310a0, ...)
    /usr/local/go/src/pkg/os/file_unix.go:163 +0x44
os.(*File).Read(0x18700328, 0x18a8d000, 0x11000, 0x11000, 0xffffffff, ...)
    /usr/local/go/src/pkg/os/file.go:95 +0x67
github.com/hanwen/go-fuse/fuse.(*MountState).readRequest(0x18741310, 0x18818001, 0x18818000, 0x0, 0x0, ...)
    /tmp/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:203 +0x1d5
github.com/hanwen/go-fuse/fuse.(*MountState).loop(0x18741310, 0x1, 0x0)
    /tmp/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:277 +0x4f
created by github.com/hanwen/go-fuse/fuse.(*MountState).readRequest
    /tmp/go/src/github.com/hanwen/go-fuse/fuse/mountstate.go:227 +0x734

System: Ubuntu 11.10, current go-mtpfs, Samsung Galaxy S3 with 64 GB external microSDXC card

By the way, the SGS3 isn't recognized as SGS3

Device 0 (VID=04e8 and PID=6860) is a Samsung GT-P7510/Galaxy Tab 10.1/S2.

Thanks for writing go-mtpfs.

Fetching a certain file crashes the session

I'm trying to rsync out my storage with go-mtpfs, but it dies when it gets to a particular file. This is fully reproducible.

Log:
2014/01/07 03:36:55 Serialize: OPENDIR code: OK value: {Fh 3624094511791806 }
2014/01/07 03:36:55 Dispatch: READDIRPLUS, NodeId: 61220911621525770. data: {Fh 3624094511791806 off 0 sz 4096 L 0 NONBLOCK,DIRECTORY,0x8000}
2014/01/07 03:36:55 Serialize: READDIRPLUS code: OK value: 2480 bytes data

2014/01/07 03:36:55 Dispatch: READDIRPLUS, NodeId: 61220911621525770. data: {Fh 3624094511791806 off 14 sz 4096 L 0 NONBLOCK,DIRECTORY,0x8000}
2014/01/07 03:36:55 Serialize: READDIRPLUS code: OK value:
2014/01/07 03:36:55 Dispatch: RELEASEDIR, NodeId: 61220911621525770. data: {Fh 3624094511791806 NONBLOCK,DIRECTORY,0x8000 L0}
2014/01/07 03:36:55 Serialize: RELEASEDIR code: OK value:
2014/01/07 03:36:55 Dispatch: LOOKUP, NodeId: 70472930737720. names: [.fdroid] 8 bytes
2014/01/07 03:36:55 Serialize: LOOKUP code: OK value: {1935244651517180 E1.000000000 A1.000000000 {M040755 SZ=0 L=0 1000:100 0_0 0:1935244651517180 A 0.000000000 M 0.000000000 C 0.000000000}}
2014/01/07 03:36:55 Dispatch: LOOKUP, NodeId: 1935244651517180. names: [icons] 6 bytes
2014/01/07 03:36:55 Serialize: LOOKUP code: OK value: {2744485209588160 E1.000000000 A1.000000000 {M040755 SZ=0 L=0 1000:100 0_0 0:2744485209588160 A 0.000000000 M 0.000000000 C 0.000000000}}
2014/01/07 03:36:55 Dispatch: LOOKUP, NodeId: 2744485209588160. names: [com.scottmain.android.searchlight.4.png] 40 bytes
2014/01/07 03:36:55 Serialize: LOOKUP code: OK value: {16571943440422084 E1.000000000 A1.000000000 {M0100644 SZ=2548 L=1 1000:100 0*0 0:16571943440422084 A 1369947675.000000000 M 1369947675.000000000 C 1369947675.000000000}}
2014/01/07 03:36:55 Dispatch: OPEN, NodeId: 16571943440422084. data: {O_RDONLY,0x8000}
2014/01/07 03:36:55 Serialize: OPEN code: OK value: {Fh 3659278883880938 }
2014/01/07 03:36:55 Dispatch: READ, NodeId: 16571943440422084. data: {Fh 3659278883880938 off 0 sz 4096 L 0 RDONLY,0x8000}
2014/01/07 03:36:55 MTP request ANDROID_GET_PARTIAL_OBJECT64 [13212 0 0 2548]
2014/01/07 03:36:55 MTP data 0xa00 bytes
2014/01/07 03:36:55 MTP bulk read 0x800 bytes.
2014/01/07 03:36:57 MTP response 0x0 []
2014/01/07 03:36:57 fatal error got type 0 (CONTAINER_UNDEFINED) in response, want CONTAINER_RESPONSE.; closing connection.
2014/01/07 03:36:57 MTP request CloseSession []

The file is 2548 bytes long:
-rw-rw-r-- root sdcard_rw 2548 2013-05-30 21:01 com.scottmain.android.searchlight.4.png

File timestamps not preserved?

Mount phone with go-mtpfs.
Synchronize directory hierarchy to go-mtpfs filesystem with "rsync -rt".
View the timestamps on the files in the synchronized hierarchy on the phone, and note that they match the timestamps in the hierarchy they were synchronized from.
Umount phone.
Mount phone again with go-mtpfs.
Note that the timestamps on the files in the directory hierarchy no longer match those in the source hierarchy; they've reverted to the times when the files were actually copied.
Is this a deficiency in go-mtpfs, a deficiency in MTP, or a deficiency in my particular phone (Samsung Galaxy S III)?

udev RUN not executing go-mtpfs

My OS is Ubuntu 12.04.3 LTS & installed with the latest go-mtpfs package from ppa:nilarimogard/webupd8 repository

go-mtpfs run fine in terminal to access my Samsung Galaxy S4 Android phone. The same scripts are used in the udev rule:-

ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", ENV{ID_SERIAL_SHORT}=="811f75d6", SYMLINK+="SamGalS4", MODE="0666", RUN+="/bin/bash -c 'touch /tmp/samgals4;/usr/bin/go-mtpfs -allow-other=true /media/MyAndroid &'"

ACTION=="remove", SUBSYSTEM=="usb", ENV{ID_SERIAL_SHORT}=="811f75d6", RUN+="/bin/bash -c 'pkill go-mtpfs; fusermount -u /media/MyAndroid; rm /tmp/samgals4'"

udev ACTION=="add" is triggered after I plugged in the phone by:-
ls /media/MyAndroid; ls /dev/Sam_; ls /tmp/sam_
/dev/SamGalS4 <--- trigger by SYMLINK+=
/tmp/samgals4 <--- trigger by RUN+=

udev ACTION=="remove" is triggered after I unplugged in the phone by:-
ls /media/MyAndroid; ls /dev/Sam_; ls /tmp/sam_
ls: cannot access /dev/Sam_: No such file or directory <--- trigger by action
ls: cannot access /tmp/sam_: No such file or directory <--- trigger by RUN+=

The problem I'm facing is go-mtpfs is not executed by RUN+= for unknown reason.
ls /media/MyAndroid <--- did not display anything

I confirmed udev rule trigger & the script is working fine by running the same script in terminal after I plugged in the phone:-
/bin/bash -c 'touch /tmp/samgals4;/usr/bin/go-mtpfs -allow-other=true /media/MyAndroid &'

ls /media/MyAndroid; ls /dev/Sam_; ls /tmp/sam_
Card Phone <---- phone storage
/dev/SamGalS4
/tmp/samgals4

Please help.

wrong timestamp, outdated files & failing moves

I try to synchronize some files via unison from linux (ubuntu 13.10) to a nexus 5 (android 4.4) and nook (android 4.1).
On the nook the file-changes didn't seem to get properly reflected by go-mtpfs but from what i read this was related to the media-scanner not doing its job properly (note in this case all changes where triggered by mtpfs, nothing via adb shell or other android apps!) and running SDrescan or alike inside nook, while slow, did seem to handle that problem.

However, on android 4.4 i run into additional problems:

  • apps like SDrescan do not seem to work anymore with android 4.4;
  • I also noticed that after unmount and remount the timestamps of the files were off by 8 years while they were correct before the unmount. Note that i am on both devices on PST8PDT but interestingly the wrong timestamps are 8 hours earlier not later. I also played with env TZ= when running go-mtpfs but that didn't make any difference. Seems somewhere the timezone conversion/normalization is wrong
  • lastly, while rename seems to work with the nook, i get errors when unison tries to rename tmpfiles (e.g., Error in renaming /media/msteiner/nexus/Internal storage/babbage/mobileorg/.unison.checksums.dat.2fb7c5faf78fda0a030b6e431510b8a3.unison.tmp to /media/msteiner/nexus/Internal storage/babbage/mobileorg/checksums.dat: Input/output error [rename(/media/msteiner/nexus/Internal storage/babbage/mobileorg/.unison.checksums.dat.2fb7c5faf78fda0a030b6e431510b8a3.unison.tmp)]". When i try manually it also fails, e.g.,mv -f /media/msteiner/nexus/Internal\ storage/babbage/mobileorg/.unison.checksums.dat.2fb7c5faf78fda0a030b6e431510b8a3.unison.tmp /media/msteiner/nexus/Internal\ storage/babbage/mobileorg/checksums.dat
    mv: cannot move ‘/media/msteiner/nexus/Internal storage/babbage/mobileorg/.unison.checksums.dat.2fb7c5faf78fda0a030b6e431510b8a3.unison.tmp’ to ‘/media/msteiner/nexus/Internal storage/babbage/mobileorg/checksums.dat’: Input/output error''. However, mv does work for other files i create.

It seems there are problems in mtpfs implementation/media-scanner inside android, so i'm not sure whether the problems are in android or go-mtpfs but i thought i report them anyway, maybe you (or somebody else) can shed some light in the problem.

thanks for help (as well as providing go-mtpfs: despite these problems it is still much better than the standard linux mtpfs implementation)!

REQUEST: move from cgo to asm

Hi,

Great program. I compiled it against Libmtp 1.1.4 and it work with the new Google nexus 7. Since mtpfs is buggy and does not really work, I have been trying to compile go-mtpfs for Fedora. I am trying to use gccgo to compile the go-mtpfs, but I am running into an issue with the Cgo import you have in mtp.go.

Looking at the fedora packaging guidelines, I don't think the standard go compiler (gc) can be packaged, because of the way it treats libraries.

Is it possible to update the mtp.go code to support gccgo.

i have managed to package up go-fuse and stored it as a library under the gccgo lib files.

Thanks.

invalid memory address or nil pointer dereference

hi, i have this output with lastest changes in go-mtpfs/go-fuse while trying to read my Nexus 4:

[signal 0xb code=0x1 addr=0x1 pc=0x809090e]

goroutine 1 [running]:
github.com/hanwen/go-mtpfs/fs.(*folderNode).SetInode(0x1838e980, 0x1836f380)
/home/matthieu/.go/src/github.com/hanwen/go-mtpfs/fs/android.go:0 +0x2e

github.com/hanwen/go-fuse/fuse/nodefs.newInode(0x8051801, 0x18338ea0, 0x1838e980, 0x0)
/home/matthieu/.go/src/github.com/hanwen/go-fuse/fuse/nodefs/inode.go:45 +0x7c

github.com/hanwen/go-fuse/fuse/nodefs.(*Inode).New(0x1836f2c0, 0x8172d01, 0x18338ea0, 0x1838e980, 0x0, ...)
/home/matthieu/.go/src/github.com/hanwen/go-fuse/fuse/nodefs/inode.go:112 +0x37

github.com/hanwen/go-mtpfs/fs.(*DeviceFs).OnMount(0x1836a000, 0x18375690)
/home/matthieu/.go/src/github.com/hanwen/go-mtpfs/fs/fs.go:147 +0x283

github.com/hanwen/go-fuse/fuse/nodefs.(*FileSystemConnector).MountRoot(0x18375690, 0x18375660, 0x1836a000, 0x1838e7e0)
/home/matthieu/.go/src/github.com/hanwen/go-fuse/fuse/nodefs/fsconnector.go:249 +0x62

github.com/hanwen/go-fuse/fuse/nodefs.NewFileSystemConnector(0x18375660, 0x1836a000, 0x1838e7e0, 0x18375690)
/home/matthieu/.go/src/github.com/hanwen/go-fuse/fuse/nodefs/fsconnector.go:72 +0x141

main.main()
/home/matthieu/.go/src/github.com/hanwen/go-mtpfs/main.go:64 +0x77b

installation problem

go get github.com/hanwen/go-mtpfs :
src/github.com/hanwen/go-fuse/raw/print_linux.go:4: syntax error: unexpected =, expecting }
src/github.com/hanwen/go-fuse/raw/print_linux.go:5: non-declaration statement outside function body
src/github.com/hanwen/go-fuse/raw/print_linux.go:6: non-declaration statement outside function body
src/github.com/hanwen/go-fuse/raw/print_linux.go:7: syntax error: unexpected }

I do not even understand go language, it seems to be here :
OpenFlagNames[syscall.O_DIRECT] = "DIRECT"

Mount more than one device at the same time.

Hello,

First of all I would like to say, that go-mtpfs is great - I can finally use my android devices on Ubuntu. But I have a question that I could not found the answer. It is possible to mount more than one device using go-mtpfs?

I followed this tutorial to automount my Nexus7/Galaxy S3 http://bernaerts.dyndns.org/linux/247-ubuntu-automount-nexus7-mtp, and everything works fine, until i connect two devices at the same time. First is mounted, second not.

When i run mount command in terminal I get following output:
go-mtpfs -allow-other=true /media/Nexus7
2012/12/26 05:43:42 compiled against libmtp 1.1.5
Device 0 (VID=18d1 and PID=4e41) is a Google Inc (for Asus) Nexus 7 (MTP).
Device 1 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
2012/12/26 05:43:42 device Google Inc (for Asus): Nexus 7 (MTP) (18d1:4e41) @ bus 1, dev 5
:
2012/12/26 05:43:42 device Samsung: Galaxy models (MTP) (04e8:6860) @ bus 2, dev 3
:
2012/12/26 05:43:42 must have exactly one device

Is there any way to mount more than one device?

Cut & Paste

Hi Hanwen,

I tried go-mtpfs (latest) on Ubuntu 10.04 using Motorola Razr Mini which had Internal Storage and External SD Card. Though both were shown properly under the directory of mount, Cut & Paste didn't work. Wanted to if Cut & Paste is implement where transfer is from ExternalSdCard - InternalStorage || InternalStorage - ExternalSdCard || ExternalSdCard - PC || InternalStorage - PC. I was getting Function not implement as PopUp

Please let me know what might be the issue ..

Can not compile

[CODE]
$mkdir /tmp/go
$export GOPATH=/tmp/go
$go get github.com/hanwen/go-mtpfs

github.com/hanwen/go-mtpfs

cannot create nil/go.o: No such file or directory
[/CODE]

Would like to be able to use .is_audio_player

Hi,

Thanks for go-mtpfs. This has enabled me to use my Samsung Galaxy S2 with Ubuntu 12.10. you are a star.

When I plug in my device it is mounted in /media/GalaxyS2, and that presents two sub directories "Internal Storage" and "SD Card". This is truly great, unfortunately for me Ubuntu's default media player (which I like) - Rhythmbox scans both of the file systems and presents a massive number of files, most of which are not my music. For Rhythmbox to work for me properly I need to place an .is_audio_player file in the root of the mounted filesystem (/media/GalaxyS2) which has some directives necessary for the better running of the device.

Unfortunately, the root of the Galaxy's filesystem is "virtual", nothing can be placed there.

Would you consider amending go-mtpfs to allow a command line option to specify which device internal fs should be mounted? thereby allowing "Internal Storage" to be mounted directly at a mount point, and "SD Card" to have its own mount point. This would then allow me to place ".is_audio_player" into the root of each, immediately making my device properly usable by Rhythmbox and Banshee and co.

Thanks again for go-mtpfs, and thanks for taking the time to read this.

Error while instaling

sudo go get github.com/hanwen/go-mtpfs

github.com/hanwen/go-mtpfs

/usr/lib/go/src/pkg/github.com/hanwen/go-mtpfs/main.go:77: undefined: fuse.Version

After commenting line 77 in main.go Everything worked for me.
(Ubuntu 12.04 x64)

Source code of go-mtpfs

Hi,

How do I get the C source code of go-mtpfs to compile for Linux.?
I have got only the x86 binary.

Regards
-Preeti

Update to binaries

Hi. Any chance of getting the binaries updated to the latest. While go-mtpfs works fine against my samsung s3, it just plain doesn't work at all against my nexus 7. Perhaps a newer binary would be better ?

Thank you so much.

I just discovered this and it works. You are a saint among mortals. Thank you so very much.

3680252-byte file doesn't copy properly

Create a file that is 3680252 bytes long, like this:
dd if=/dev/zero of=/tmp/testfile bs=3680252 count=1
Mount phone (Galaxy S III) with go-mtpfs.
Try to copy the file to the Phone/Music on the phone with cp.
You get this:

2012/07/18 11:28:35 sending file "testfile" to device: 3680252 bytes.
2012/07/18 11:29:36 sent 3680252 bytes in 60478 ms. 0.1 MB/s
2012/07/18 11:29:36 can't convert error type: PTP Layer error 02ff: LIBMTP_Send_File_From_File_Descriptor(): Could not send object.
(Look this up in ptp.h for an explanation.)

If you make the file just one byte larger, it copies fine.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.