Transferring files from a Fedora 32 machine to an Android phone is usually not a problem: plugin in it (via USB), unlock screen, make sure that USB connection is set to file transfer, and open the phone in Nautilus.
However, I recently had to get a new phone, decided to opt for the Samsung Galaxy S20+ – and there I was not able to write files to the device:
rsync: open "/run/user/1000/gvfs/mtp:host=SAMSUNG_SAMSUNG_Android_R58N23ZDCVN/Phone/appdata/2020-04-12_23-38 - foldersync.db" failed: Operation not supported (95)
Note that other phones made no problems so far. And things got even more weird when I realized that I was able to create folders – but not files?!
After the usual tricks (enabling USB debugging, switching cables, etc.) I realized that this might be a special problem with the implementation of mtp by this phone. So instead of using libmtp, wich is used by default by for example gvfs, I tested other mtp implementations – and found simple-mtpfs, which worked like a charm:
$ sudo simple-mtpfs -l 1: SamsungGalaxy models (MTP) $ sudo simple-mtpfs --device 1 /mnt # you have to acknowledge access to the phone on the phone screen # then you have to mount it again $ sudo simple-mtpfs --device 1 /mnt $ sudo rsync --verbose --progress --size-only --omit-dir-times --no-perms --recursive --inplace /home/liquidat/backup/ /mnt/Phone/
The performance is good – way better than trying to copy files via gphoto2, btw 😉