Since very recently I have problems connecting my Onyx Boox Darwin 6 via MTP on Ubuntu 18.04. ADB is working well, but trying to connect via mtp leads to a LIBMTP PANIC (see outputs below). I tried with both the latest original package on Ubuntu 18.04 (1.1.13) and the self-build 1.1.17. I tried also with different cables (which all work with my phone with MTP).
mtp-detect output:
libmtp version: 1.1.17
Listing raw device(s)
Device 0 (VID=2207 and PID=0011) is a Various Viewpia DR/bq Kepler Debugging.
Found 1 device(s):
Various: Viewpia DR/bq Kepler Debugging (2207:0011) @ bus 1, dev 22
Attempting to connect device(s)
PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device
outep: usb_get_endpoint_status(): Resource temporarily unavailable
libusb_open() failed!: No such device
LIBMTP PANIC: Could not init USB on second attempt
Unable to open raw device 0
OK.
lsusb -v output:
Bus 001 Device 023: ID 2207:0011
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x2207
idProduct 0x0011
bcdDevice 3.10
iManufacturer 2 Onyx
iProduct 3 MC_DARWIN6
iSerial 4 0123456789ABCDEF
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 62
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 0
iInterface 6 MTP
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x001c 1x 28 bytes
bInterval 6
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 66
bInterfaceProtocol 1
iInterface 6 MTP
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered
Anonymous
Same error with Samsung Galaxy S7:
mtp-detect
libmtp version: 1.1.17
Listing raw device(s)
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
Found 1 device(s):
Samsung: Galaxy models (MTP) (04e8:6860) @ bus 1, dev 8
Attempting to connect device(s)
LIBMTP PANIC: Could not open session! (Return code 8194)
Try to reset the device.
Unable to open raw device 0
OK.
Surprisingly for me it could connect again one day later without any updates or reboot of the computer (only sleeping mode). But the day I reported that error, I tried many times and it worked for all my devices, except this specific Onyx Boox (also rebooting this device several times didn't help).
And today it does again not work for me, also after rebooting both the device and the computer (also trying different cables doesn't help).
Same error with Samsung Galaxy S5
mtp-detect
libmtp version: 1.1.16
Listing raw device(s)
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
Found 1 device(s):
Samsung: Galaxy models (MTP) (04e8:6860) @ bus 2, dev 9
Attempting to connect device(s)
error returned by libusb_claim_interface() = -6LIBMTP PANIC: Unable to initialize device
Unable to open raw device 0
OK.
This error:
error returned by libusb_claim_interface() = -6
actually means the device is "BUSY" , e.g. blocked by another program, like gvfs or KDE.
Check if your desktops filemanager shows it, and umount it from there if you need the commandline.
Thanks for your reply Marcus. This time I have ignored what the KDE/Dolphin side of things is telling me when I plug in the phone. The usual "allow/deny" message from the phone, took "allow" obviously, then
$
mtp-detectlibmtp version: 1.1.16
Listing raw device(s)
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
Found 1 device(s):
Samsung: Galaxy models (MTP) (04e8:6860) @ bus 2, dev 2
Attempting to connect device(s)
Error 1: Get Storage information failed.
USB low-level info:
bcdUSB: 528
bDeviceClass: 0
bDeviceSubClass: 0
bDeviceProtocol: 0
{SNIP}
and pages and pages of information. So you are correct, the BUSY was from KDE/Dolphin. Now I also uninstalled
jmtpfsyesterday as I thought was was causing the problems, plus there seemed little or no support for it on Github.Can you advise how do I mount it now please ? I require it to be mounted as I use Beyond Compare to copy/compare filesets between the phone and computer. That requires a mount point.
Checked in Synaptic and there was a
go-mtpfsinstalled. Read up on that and$
go-mtpfs/media/peter/myphone2020/06/07 13:56:13 FUSE mounted
2020/06/07 13:56:41 fetched "Grundfosliterature-6014959.pdf", 10439599 bytes in 336 ms. 31.0 MB/s
2020/06/07 13:56:42 fetched "20200302_124804.jpeg", 198493 bytes in 11 ms. 16.7 MB/s
2020/06/07 13:56:42 fetched "Screenshot_2019-11-26-16-18-42.png", 1821799 bytes in 54 ms. 33.4 MB/s
It just sat there not finishing because I didn't have the & at the end.. I assume the files 'fetched' were in the Downloads folder of the phone, although I can see 7 there, not 3. This has resulted in the device being mounted.
Is this all that is required, or should I reinstall
jmtpfsand use that ?when launching go-mtpfs /media/peter/myphone
can you check in another window if you can just open and access this directory?
Similar would be with jmtpfs
Both provide a filesystem view of the device that you then can use with other tools.
Yes, I was able to do that yesterday. However this morning it failed on the mount
go-mtpfs/media/peter/myphone &[1] 3293
$ 2020/06/08 08:20:06 selectStorages failed: EOF
^C
[1]+ Exit 1
Couldn't access that path of course, so pressed Ctrl-C. Try again ..
go-mtpfs/media/peter/myphone &[1] 3383
$ 2020/06/08 08:23:30 FUSE mounted
and now I can access that path. This is what I find in general terms, it is not consistent with the mounting.
Yes, however
jmtpfshasn't been maintained for a many years from the looks on Github and the changelog for it also reflects no activity. That's why I'm tryinggo-mtpfsnow as it appears to be more frequenctly maintained. Is there another tool to mount the phone ?Possibly that error that came up about EOF was simply that explained at https://github.com/hanwen/go-mtpfs/issues/59#issuecomment-60502963