When I set mtp_enable to True, then navigate to a folder on my Galaxy Note 3 (running Android 4.3), I can click on a folder in the folder tree, but the contents of the file tree list doesn't update to show the contents of the folder I have selected. I can click on multiple folders in the folder tree, but to see the contents of a certain folder, I have to double-click on a folder in the file list in the right-side pane.
If I set mtp_enable to False (yes, I completely exit DOpus when changing settings), the Windows-hosted view works like it should.
It seems fairly normal for some Samsung phones to have problems when mtp_enable=True. That's why we let it be turned off.
(OTOH, some other devices work with it set True and don't work well with it set False. Often when I see problems I then notice they're also happening in Explorer, although not always. Sometimes the MTP stack on my phone crashes and I have to restart it, or does other strange things. The MTP stacks in both Windows and Android do not seem very reliable or consistent and we are at the mercy of both.)
Unless I'm copying a large amount of data, I usually use FTP to send files to my phone instead as I've found MTP to be so unreliable (even when using Explorer instead of Opus).
I can understand that Opus MTP does not work with all devices. So I disabled it too.
For now, it's hard to understand for me that standard keyboard shortcuts like del, ctrl+C/V/X do not work when mtp_enable=false.
I was excited when I saw that it didn't take forever to list the files over MTP in DO11; however it still takes forever to do anything with said files with MTP enable off, and the program freezes with MTP on.
I understand this is samsung's problem, and that the MTP protocol is crap anyway compared to straight oldschool usb storage mode (thanks for disabling that, Lord Google!) but I find that I still want to be able to transfer things to my phone.
I see Leo recommends doing it via FTP (though not for large files) why not for large files, and what do you recommend as an FTP server?
Would it be best to just share out my phone via the network in ES File Explorer on the phone side and copy over samba?
Even if it is a Samsung problem it works okay with Explorer, at least for me. Also MTP is far better than the old USB mass storage system which required the phone to dismount the media first. It just needs to be fixed, although at this rate I'll probably get a new phone before then.
Solid Explorer on Android includes an FTP server that works well for me. There are various other options and also SFTP servers if you want encryption (although SFTP is slower). This isn't really the best place to ask for Android FTP server recommendations but that's the one that I happen to use.
Nothing wrong with sending large files using it (and I've sent 1.5GB videos using it), it's just slower using Wifi than USB, but now that Android all but forces MTP to be used, and MTP is so unreliable even in Windows Explorer, I'll take slow over the potential hassle of the faster option in most cases.
I would choose FTP over Samba for this kind of thing. Samba is a lot more complicated and rarely works well due to inherent mismatches between Linux/Unix and Windows filesystems, which don't cause problems for simple protocols like FTP.
I disagree. I have seen serious problems with MTP in Explorer as well. The MTP stacks in both Windows and Android are both pieces of garbage, IMO, and when combined the problems add up. Sometimes it works great, but I've had problems enough times (and then switched to Explorer and found it had the same issues in many cases, although not all admittedly), that I've given up using it myself. I might try again with new devices or OS upgrades but I've got little faith in MTP on my current ones.
We're open to suggestions on how to make that happen.
But given some of the problems remain until you reboot the phones (and thus are clearly bugs on the phone side) and others affect Explorer as well, it does not seem like we could make MTP work perfectly on our own, at least with the problematic devices. It seems to work better with some devices than others, so it is still useful for some people.
Samsung devices seem particularly problematic, and Samsung and Microsoft are bazillion dollar companies, while we're three people with no ability to fix the bugs in either MTP stack...
[quote="leo"]
I disagree. I have seen serious problems with MTP in Explorer as well. The MTP stacks in both Windows and Android are both pieces of garbage, IMO, and when combined the problems add up. Sometimes it works great, but I've had problems enough times (and then switched to Explorer and found it had the same issues in many cases, although not all admittedly), that I've given up using it myself. I might try again with new devices or OS upgrades but I've got little faith in MTP on my current ones.[/quote]
It's not perfect but it does't crash EVERY SINGLE TIME either. I can drag over files and delete them without problems. On Opus about 1 in 10 times the copy freezes and about 99 out of 100 times the delete freezes.
Not in my experience.
Well, okay, let's talk technical details. The two biggest problems are crashing when deleting and the fact that viewing a directory with lots of media files takes an extremely long time. The former works in Explorer just fine so what is the difference between the way Opus does it and the way Explorer does it?
I have a feeling these two issues might be linked. Maybe when you delete you immediately try to re-read the directory, which is causing the freeze. In the case of directories with a lot of media files it seems to be due to trying to read metadata or something from each file, so that should be possible to disable. In other words there is something about the way you read directory listings that is problematic compared with the way Explorer does it.
With mtp_enable set to false, the code reading the listings and handling the file copies etc. is Windows Explorer, just hosted inside an Opus window.
We obviously can't tell what the differences between what Opus and Explorer do because we do not have the source code to Explorer.
(Similarly, we don't know why it works OK with stock Android phones and poorly with Samsung phones, since we have no real way to know what the two are doing differently.)
Anyway, my broader point is that MTP doesn't work brilliantly in Explorer either, so the best you'll get is it not very well (which is my experience with both Opus and Explorer and three stock Android devices). Switching to FTP solves the problem, and works great in Opus.
BTW: We do have some longer-term plans to try to improve MTP, but there is no guarantee they will work, and it'll probably never work brilliantly until Windows and Android improve their MTP stacks. But we are not ignoring it and do have some ideas, they just involve a lot of work for potentially very little gain and are thus lower priority than other work at the moment.
To be honest, it was higher priority until I started using Explorer instead of Opus for MTP and found serious issues there as well. (I am talking about files not showing up, or not being copied, despite being on the device (and not new files it hadn't scanned yet, either) or selected, and then the Android MTP server actually crashing, forcing a reboot of the device. Once I saw that, it lowered the priority of the work as I no longer felt MTP was fit for purpose, at least with the Windows + Android combination. Maybe it works great with other types of devices.)
There are plenty of tools to trace Windows API calls. I'm an embedded developer myself who does a bit of desktop stuff, but I'm pretty sure you could profile what it is and is not doing.
I recently updated my Samsung Galaxy S3 to Android 4.4.2 (Kitkat) . Updating to Kitkat fixed my problems with MTP. I transferred 5 large mkv files (6.35 GBs total) using copy queue to sdcard0/Download without any trouble. I can now delete files from Opus. That's something I couldn't do it before without Opus crashing. I deleted the 5 mkv files in sdcard0/Download and about 100 old pictures from my MicroSD card. I also don't have the problem that SomeYoungGuy describes above. The right pane updates for me when I use the folder tree.
In previous versions of android (4.3 and lower) MTP was very unreliable for me.
-Very slow read times browsing certain folders (Opus/Explorer) -Crashes while transferring a large file. (Opus/Explorer) -Right clicking would crash Opus. -Deleting a file from a button or delete key would crash Opus.
Rumour has it Samsung are finally releasing official 4.4 updates for more phones soon, although who knows if they will have modified the MTP stack on them: ibtimes.co.uk/android-4-4-ki ... -2-1440286
In my post above, each mkv file was around 1.3 GBs in size. I was curious if the file size was not high enough to crash Opus / Explorer. I attempted to transfer a single mkv file (6.55GBs) with Opus. To my suprise it works!
I thought there was no way my phone is fast enough to play this ginormous mkv file, but I was wrong. MX Player Pro plays the video butter smooth. I could even seek through the video instantly. Although, I did need a custom codec to play the DTS audio.
That's another reason why MTP is so much better than mounting as a drive. It abstracts away the filesystem, so you don't run into problems with FAT32 only allowing 4GB files. Since many devices, especially tablets, have reasonable size 720p or 1080p displays now that is quite important.
Your GS3 should have no trouble with full HD video, all the decoding is handled by the GPU and in any case it has a quad core CPU with NEON vector instruction support. Even cheap HDMI dongles running Android can cope with it easily, such is the state of even low end on-board GPUs these days.
For now I have MTP support disabled. It's annoying having to drag and drop and then dismiss the stupid message asking me if I want to convert a m4a file that plays perfectly to MP3 every time.