RPD is breaking phone's "File Transfer" connexion

There is the problem.

This is not the official git. Just saying.

clone git GitHub - scorpi11/rapid-photo-downloader

You’re right, but I’ve tried also with with the script install.py (v.0.9.33) from the official site but this is the same.

When Iselect “File Transfert from USB” it comes back to “No data transfer” if RDP is open, that’s the bug for me.
Until now I’ve always selected this feature to transfert. Is there an other way to unlock the phone you think ? (could be I’m a noob with smartphone, I’ve searched my phone but without success).

Three things are required to be able to download from your phone:

  1. Data transfer needs to be enabled on the phone
  2. the phone needs to be unlocked
  3. no other program on the computer should be accessing the phone, e.g. Gnome Files, KDE Dolphin, etc.

Sometimes removing the phone and plugging it in again helps.

I have uninstalled KDE connect from my phone and my Debian. Still i cannot connect but the debug message is different ans the connexion stays on File Transfert (w/out be beaked to go back to “No data tranfer”). Rebooted the two devices.
This is the debug output when I clic on Try Again from the “All files on the POCO X3 are inaccessible”

ERROR    Unable to access camera POCO X3 NFC: GP_ERROR. Is it locked? 
DEBUG    Sending 0 scanned files from POCO X3 NFC to sink #then i click on "try Again"
DEBUG    Examining mount mtp
ERROR    Unable to access camera: GP_ERROR_BAD_PARAMETERS
DEBUG    Sending 0 scanned files from POCO X3 NFC to sink

If i run RPD --debug when the connexion is already on File Transfert I get another error

ERROR    Xiaomi Mi-2s (id2) (MTP) is already mounted
DEBUG    Sending 0 scanned files from POCO X3 NFC to sink

Is making sense for you ?

It looks like something else is mounting the phone. Only one operating system level process can access the phone at one time. That is a limitation of the PTP/MTP protocol. This cannot be worked around. You need to figure out what that process is, and stop it doing it.

If you want to get an overwhelming amount of debug output, set the environment variable RPD_SCAN_DEBUG to any value using export, and then run Rapid Photo Downloader with the --debug option.

Another approach is to try to access the phone using the commandline tool provided by gphoto2, running with the debug flag set to varying levels of verbosity.

FYI it’s not surprising that didn’t make a difference, KDE Connect does not use MTP.

Dolphin has built in MTP support, that may be interfering somehow?

Thanks, good tracks to follow. I’ll try this tomorrow

Thanks good to know. btw, I don’t have dolphin on my machine

I’ve runned gphoto2 and in deed something get busy my phone when I connect it as “File Transfer” (well I’m still able to transfert files to the PC). But how to know what is it ?

:~$ gphoto2 --auto-detect 
Model                          Port                                            
----------------------------------------------------------
Xiaomi Mi-2s (id2) (MTP)       usb:001,011     

but

gphoto2 --summary
                                                                               
*** Error ***              
An error occurred in the io-library ('Could not claim the USB device'): Could not claim interface 0 (Device or resource busy). Make sure no other program (gvfs-gphoto2-volume-monitor) or kernel module (such as sdc2xx, stv680, spca50x) is using the device and you have read/write access to the device.
*** Error (-53: 'Could not claim the USB device') ***       

For debugging messages, please use the --debug option.
Debugging messages may help finding a solution to your problem.
If you intend to send any error or debug messages to the gphoto
developer mailing list <gphoto-devel@lists.sourceforge.net>, please run
gphoto2 as follows:

    env LANG=C gphoto2 --debug --debug-logfile=my-logfile.txt --summary

Please make sure there is sufficient quoting around the arguments.

and
env LANG=C gphoto2 --debug --debug-logfile=my-logfile.txt --summary
gives the output file below ↓

0.000003 main                        (2): ALWAYS INCLUDE THE FOLLOWING LINES WHEN SENDING DEBUG MESSAGES TO THE MAILING LIST:
0.000025 main                        (2): gphoto2 2.5.27
0.000029 main                        (2): gphoto2 has been compiled with the following options:
0.000032 main                        (2):  + gcc (C compiler used)
0.000034 main                        (2):  + popt (mandatory, for handling command-line parameters)
0.000037 main                        (2):  + exif (for displaying EXIF information)
0.000039 main                        (2):  + cdk (for accessing configuration options)
0.000041 main                        (2):  + aa (for displaying live previews)
0.000043 main                        (2):  + jpeg (for displaying live previews in JPEG format)
0.000045 main                        (2):  + readline (for easy navigation in the shell)
0.000049 main                        (2): libgphoto2 2.5.27
0.000069 main                        (2): libgphoto2 has been compiled with the following options:
0.000072 main                        (2):  + standard camlib set (ax203 canon digigr8 dimagev directory docupen jl2005a jl2005c kodak_dc240 lumix mars pentax ptp2 ricoh_g3 sierra sonix sq905 st2205 topfield tp6801)
0.000074 main                        (2):  + gcc (C compiler used)
0.000076 main                        (2):  + ltdl (for portable loading of camlibs)
0.000078 main                        (2):  + EXIF (for special handling of EXIF files)
0.000100 main                        (2): libgphoto2_port 0.12.0
0.000102 main                        (2): libgphoto2_port has been compiled with the following options:
0.000104 main                        (2):  + iolibs: disk ptpip serial usb1 usbdiskdirect usbscsi
0.000107 main                        (2):  + gcc (C compiler used)
0.000109 main                        (2):  + ltdl (for portable loading of iolibs)
0.000111 main                        (2):  + EXIF (for vusb)
0.000113 main                        (2):  + USB (libusb1, for USB cameras)
0.000115 main                        (2):  + serial (for serial cameras)
0.000117 main                        (2):  + no resmgr (serial port access and locking)
0.000119 main                        (2):  + no ttylock (serial port locking)
0.000121 main                        (2):  + no lockdev (serial port locking)
0.000123 main                        (2): CAMLIBS env var not set, using compile-time default instead
0.000125 main                        (2): IOLIBS env var not set, using compile-time default instead
0.000127 main                        (2): invoked with following arguments:
0.000130 main                        (2):   --debug
0.000132 main                        (2):   --debug-logfile=my-logfile.txt
0.000134 main                        (2):   --summary
0.000143 load_settings               (2): Creating gphoto config directory ('/home/ngux/.gphoto')
0.000160 load_settings               (2): Loading settings from file '/home/ngux/.gphoto/settings'.
0.000209 main                        (2): The user has not specified both a model and a port. Try to figure them out.
0.000212 gp_port_info_list_load      (2): Using ltdl to load io-drivers from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0'...
0.000243 foreach_func                (2): Called for filename '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/disk'.
0.000296 gp_port_library_list        (2): found fstab fsname UUID=81dcbdca-9247-4298-8186-97ec2fe9978a
0.000303 gp_port_library_list        (2): found fstab fsname UUID=c2d90b79-3492-481b-aa15-dc23b41e1440
0.000307 gp_port_library_list        (2): found fstab fsname UUID=84BE60CCBE60B876
0.000563 gp_port_library_list        (2): found fstab fsname UUID=6811-610A
0.000575 gp_port_library_list        (2): found fstab fsname UUID=80E0B9ADE0B9AA34
0.000791 gp_port_library_list        (2): found mtab fsname sysfs
0.000816 gp_port_library_list        (2): found mtab fsname proc
0.000819 gp_port_library_list        (2): found mtab fsname udev
0.000824 gp_port_library_list        (2): found mtab fsname devpts
0.000832 gp_port_library_list        (2): found mtab fsname tmpfs
0.000837 gp_port_library_list        (2): found mtab fsname /dev/nvme0n1p5
0.000841 gp_port_library_list        (2): found mtab fsname securityfs
0.000844 gp_port_library_list        (2): found mtab fsname tmpfs
0.000848 gp_port_library_list        (2): found mtab fsname tmpfs
0.000853 gp_port_library_list        (2): found mtab fsname cgroup2
0.000856 gp_port_library_list        (2): found mtab fsname pstore
0.000862 gp_port_library_list        (2): found mtab fsname efivarfs
0.000868 gp_port_library_list        (2): found mtab fsname bpf
0.000885 gp_port_library_list        (2): found mtab fsname systemd-1
0.000888 gp_port_library_list        (2): found mtab fsname mqueue
0.000891 gp_port_library_list        (2): found mtab fsname hugetlbfs
0.000896 gp_port_library_list        (2): found mtab fsname debugfs
0.000900 gp_port_library_list        (2): found mtab fsname tracefs
0.000905 gp_port_library_list        (2): found mtab fsname configfs
0.000911 gp_port_library_list        (2): found mtab fsname fusectl
0.000914 gp_port_library_list        (2): found mtab fsname ramfs
0.000918 gp_port_library_list        (2): found mtab fsname /dev/nvme0n1p3
0.000968 gp_port_library_list        (2): found mtab fsname /dev/nvme0n1p1
0.000973 gp_port_library_list        (2): found mtab fsname /dev/sda1
0.001079 gp_port_library_list        (2): found mtab fsname tmpfs
0.001089 gp_port_library_list        (2): found mtab fsname portal
0.001092 gp_port_library_list        (2): found mtab fsname /dev/sdb1
0.001178 foreach_func                (2): Loaded '' ('^disk:') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/disk'.
0.001183 foreach_func                (2): Called for filename '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/ptpip'.
0.001229 foreach_func                (2): Loaded 'PTP/IP Connection' ('ptpip:') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/ptpip'.
0.001234 foreach_func                (2): Loaded '' ('^ptpip:') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/ptpip'.
0.001237 foreach_func                (2): Loaded 'IP Connection' ('ip:') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/ptpip'.
0.001239 foreach_func                (2): Loaded '' ('^ip:') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/ptpip'.
0.001241 foreach_func                (2): Called for filename '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/serial'.
0.001314 foreach_func                (2): Loaded 'Serial Port 0' ('serial:/dev/ttyS0') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/serial'.
0.001319 foreach_func                (2): Loaded 'Serial Port 1' ('serial:/dev/ttyS1') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/serial'.
0.001321 foreach_func                (2): Loaded 'Serial Port 2' ('serial:/dev/ttyS2') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/serial'.
0.001324 foreach_func                (2): Loaded 'Serial Port 3' ('serial:/dev/ttyS3') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/serial'.
0.001326 foreach_func                (2): Loaded 'Serial Port Device' ('serial:') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/serial'.
0.001328 foreach_func                (2): Loaded '' ('^serial:') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/serial'.
0.001331 foreach_func                (2): Called for filename '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/usb1'.
0.002892 foreach_func                (2): Loaded '' ('^usb:') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/usb1'.
0.002899 foreach_func                (2): Loaded 'Universal Serial Bus' ('usb:002,002') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/usb1'.
0.002902 foreach_func                (2): Loaded 'Universal Serial Bus' ('usb:001,011') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/usb1'.
0.002904 foreach_func                (2): Loaded 'Universal Serial Bus' ('usb:001,004') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/usb1'.
0.002907 foreach_func                (2): Called for filename '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/usbdiskdirect'.
0.002996 foreach_func                (2): Loaded 'USB Mass Storage direct IO' ('usbdiskdirect:/dev/sdb') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/usbdiskdirect'.
0.003001 foreach_func                (2): Called for filename '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/usbscsi'.
0.003076 foreach_func                (2): Loaded 'USB Mass Storage raw SCSI' ('usbscsi:/dev/sg1') from '/usr/lib/x86_64-linux-gnu/libgphoto2_port/0.12.0/usbscsi'.
0.003083 gp_port_info_list_count     (2): Counting entries (17 available)...
0.003086 gp_port_info_list_count     (2): 12 regular entries available.
0.003090 gp_abilities_list_load_dir  (2): Using ltdl to load camera libraries from '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27'...
0.003112 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/ax203'.
0.003116 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/canon'.
0.003118 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/digigr8'.
0.003120 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/dimagev'.
0.003122 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/directory'.
0.003124 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/docupen'.
0.003126 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/jl2005a'.
0.003129 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/jl2005c'.
0.003131 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/kodak_dc240'.
0.003133 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/lumix'.
0.003135 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/mars'.
0.003137 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/pentax'.
0.003139 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/ptp2'.
0.003141 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/ricoh_g3'.
0.003144 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/sierra'.
0.003146 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/sonix'.
0.003148 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/sq905'.
0.003150 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/st2205'.
0.003152 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/topfield'.
0.003154 foreach_func                (2): Found '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/tp6801'.
0.003157 gp_abilities_list_load_dir  (2): Found 20 camera drivers.
0.016397 gp_port_info_list_count     (2): Counting entries (17 available)...
0.016414 gp_port_info_list_count     (2): 12 regular entries available.
0.016417 gp_port_new                 (2): Creating new device...
0.016420 gp_port_info_list_get_info  (2): Getting info of entry 0 (17 available)...
0.016462 gp_port_set_settings        (2): Setting settings...
0.016467 gp_port_info_list_get_info  (2): Getting info of entry 1 (17 available)...
0.016505 gp_port_set_settings        (2): Setting settings...
0.016510 gp_port_info_list_get_info  (2): Getting info of entry 2 (17 available)...
0.016554 gp_port_set_timeout         (2): Setting port timeout to 500 milliseconds.
0.016558 gp_port_set_settings        (2): Setting settings...
0.016561 gp_port_info_list_get_info  (2): Getting info of entry 3 (17 available)...
0.016599 gp_port_set_timeout         (2): Setting port timeout to 500 milliseconds.
0.016603 gp_port_set_settings        (2): Setting settings...
0.016606 gp_port_info_list_get_info  (2): Getting info of entry 4 (17 available)...
0.016643 gp_port_set_timeout         (2): Setting port timeout to 500 milliseconds.
0.016647 gp_port_set_settings        (2): Setting settings...
0.016656 gp_port_info_list_get_info  (2): Getting info of entry 5 (17 available)...
0.016693 gp_port_set_timeout         (2): Setting port timeout to 500 milliseconds.
0.016697 gp_port_set_settings        (2): Setting settings...
0.016700 gp_port_info_list_get_info  (2): Getting info of entry 6 (17 available)...
0.016735 gp_port_set_timeout         (2): Setting port timeout to 500 milliseconds.
0.016739 gp_port_set_settings        (2): Setting settings...
0.016742 gp_port_info_list_get_info  (2): Getting info of entry 7 (17 available)...
0.018247 gp_port_set_timeout         (2): Setting port timeout to 5000 milliseconds.
0.018255 gp_port_set_settings        (2): Setting settings...
0.018261 gp_libusb1_update           (2): (old int=0, conf=-1, alt=-1) port usb:002,002, (new int=0, conf=-1, alt=-1) port usb:002,002
0.018264 gp_libusb1_update           (2): lowlevel libusb1 port not yet opened, no need for libusb changes
0.018266 gp_abilities_list_detect_usb(2): Auto-detecting USB cameras...
0.018442 gp_libusb1_find_device_by_class_lib(2): Looking for USB device (class 0x29a, subclass, 0xffffffff, protocol 0xffffffff)...
0.018566 gp_libusb1_find_device_by_class_lib(2): Looking for USB device (class 0x6, subclass, 0x1, protocol 0x1)...
0.018578 gp_port_info_list_get_info  (2): Getting info of entry 8 (17 available)...
0.020009 gp_port_set_timeout         (2): Setting port timeout to 5000 milliseconds.
0.020016 gp_port_set_settings        (2): Setting settings...
0.020021 gp_libusb1_update           (2): (old int=0, conf=-1, alt=-1) port usb:001,011, (new int=0, conf=-1, alt=-1) port usb:001,011
0.020024 gp_libusb1_update           (2): lowlevel libusb1 port not yet opened, no need for libusb changes
0.020027 gp_abilities_list_detect_usb(2): Auto-detecting USB cameras...
0.020182 gp_libusb1_find_device_by_class_lib(2): Looking for USB device (class 0x29a, subclass, 0xffffffff, protocol 0xffffffff)...
0.020305 gp_libusb1_find_device_by_class_lib(2): Looking for USB device (class 0x6, subclass, 0x1, protocol 0x1)...
0.020314 gp_libusb1_find_device_lib  (2): Looking for USB device (vendor 0x2717, product 0xff40)... found.
0.020332 gp_libusb1_find_device_lib  (2): Detected defaults: config 1, interface 0, altsetting 0, inep 81, outep 01, intep 82, class ff, subclass ff
0.020336 gp_abilities_list_detect_usb(2): Found 'Xiaomi Mi-2s (id2) (MTP)' (0x2717,0xff40)
0.020346 gp_port_info_list_get_info  (2): Getting info of entry 9 (17 available)...
0.021876 gp_port_set_timeout         (2): Setting port timeout to 5000 milliseconds.
0.021930 gp_port_set_settings        (2): Setting settings...
0.021957 gp_libusb1_update           (2): (old int=0, conf=-1, alt=-1) port usb:001,004, (new int=0, conf=-1, alt=-1) port usb:001,004
0.021961 gp_libusb1_update           (2): lowlevel libusb1 port not yet opened, no need for libusb changes
0.021964 gp_abilities_list_detect_usb(2): Auto-detecting USB cameras...
0.022210 gp_libusb1_find_device_by_class_lib(2): Looking for USB device (class 0x29a, subclass, 0xffffffff, protocol 0xffffffff)...
0.022402 gp_libusb1_find_device_by_class_lib(2): Looking for USB device (class 0x6, subclass, 0x1, protocol 0x1)...
0.022422 gp_port_info_list_get_info  (2): Getting info of entry 10 (17 available)...
0.022596 gp_port_set_settings        (2): Setting settings...
0.022602 gp_abilities_list_detect_usb(2): Auto-detecting USB cameras...
0.022644 gp_port_info_list_get_info  (2): Getting info of entry 11 (17 available)...
0.022696 gp_port_set_settings        (2): Setting settings...
0.022702 gp_abilities_list_detect_usb(2): Auto-detecting USB cameras...
0.023150 gp_port_free                (2): Freeing port...
0.023154 gp_port_close               (2): Closing port...
0.023219 gp_camera_set_abilities     (2): Setting abilities ('Xiaomi Mi-2s (id2) (MTP)')...
0.023225 gp_setting_set              (2): Setting key 'model' to value 'Xiaomi Mi-2s (id2) (MTP)' (gphoto2)
0.023229 save_settings               (2): Saving 2 setting(s) to file "/home/ngux/.gphoto/settings"
0.023285 gp_port_info_list_lookup_path(2): Looking for path 'usb:001,011' (17 entries available)...
0.023292 gp_port_info_list_get_info  (2): Getting info of entry 8 (17 available)...
0.023296 gp_camera_set_port_info     (2): Setting port info for port 'Universal Serial Bus' at 'usb:001,011'...
0.024869 gp_port_set_timeout         (2): Setting port timeout to 5000 milliseconds.
0.024881 gp_port_set_settings        (2): Setting settings...
0.024889 gp_libusb1_update           (2): (old int=0, conf=-1, alt=-1) port usb:001,011, (new int=0, conf=-1, alt=-1) port usb:001,011
0.024892 gp_libusb1_update           (2): lowlevel libusb1 port not yet opened, no need for libusb changes
0.024895 gp_setting_set              (2): Setting key 'port' to value 'usb:001,011' (gphoto2)
0.024899 save_settings               (2): Saving 2 setting(s) to file "/home/ngux/.gphoto/settings"
0.025090 gp_camera_init              (2): Initializing camera...
0.025133 gp_libusb1_find_device_lib  (2): Looking for USB device (vendor 0x2717, product 0xff40)... found.
0.025157 gp_libusb1_find_device_lib  (2): Detected defaults: config 1, interface 0, altsetting 0, inep 81, outep 01, intep 82, class ff, subclass ff
0.025179 gp_camera_init              (2): Loading '/usr/lib/x86_64-linux-gnu/libgphoto2/2.5.27/ptp2'...
0.025973 gp_port_open                (2): Opening USB port...
0.025999 gp_libusb1_open             (2): ()
0.026020 gp_libusb1_open             (2): claiming interface 0
0.026026 gp_libusb1_open [libusb1.c:437](0): 'libusb_claim_interface (port->pl->dh, port->settings.usb.interface)' failed: Resource busy (-6)
0.026031 gp_port_set_error [gphoto2-port.c:1190](0): Could not claim interface 0 (Device or resource busy). Make sure no other program (gvfs-gphoto2-volume-monitor) or kernel module (such as sdc2xx, stv680, spca50x) is using the device and you have read/write access to the device.
0.026145 gp_context_error            (0): An error occurred in the io-library ('Could not claim the USB device'): Could not claim interface 0 (Device or resource busy). Make sure no other program (gvfs-gphoto2-volume-monitor) or kernel module (such as sdc2xx, stv680, spca50x) is using the device and you have read/write access to the device.
0.026422 gp_camera_free              (2): Freeing camera...
0.026426 gp_port_free                (2): Freeing port...
0.026429 gp_port_close               (2): Closing port...
0.027529 gp_port_set_error [gphoto2-port.c:1190](0): Could not release interface 0 (Device or resource busy).
0.027709 gp_filesystem_reset         (2): resetting filesystem
0.027714 gp_filesystem_lru_clear     (2): Clearing fscache LRU list...
0.027716 gp_filesystem_lru_clear     (2): fscache LRU list already empty
0.027719 delete_all_folders          (2): Internally deleting all folders from '/'...
0.027721 lookup_folder               (2): Lookup folder '/'...
0.027724 lookup_folder               (2): Found! / is 0x56165c7796b0
0.027726 recurse_delete_folder       (2): Recurse delete folder 0x56165c7796b0//
0.027728 delete_all_files            (2): Delete all files in folder 0x56165c7796b0//

It’s probably Gnome files. You need to unmount (“eject”) the phone in Gnome files. By default, Gnome files mounts it. Rapid Photo Downloader attempts to automatically instruct Gnome files to do that, but it looks like it’s not working for some reason.

With the RPD_SCAN_DEBUG’s method the output (from the error to the end)

``` ERROR Unable to access camera POCO X3 NFC: GP_ERROR. Is it locked? Thu Apr 28 20:10:05 2022 Call to __init__ on line 50 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/cameraerror.py from line 222 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/camera.py Thu Apr 28 20:10:05 2022 Call to __init__ on line 34 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/cameraerror.py from line 56 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/cameraerror.py Thu Apr 28 20:10:05 2022 Call to __init__ on line 1320 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/interprocess.py from line 552 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/scan.py Thu Apr 28 20:10:05 2022 Call to _slotnames on line 109 of /usr/lib/python3.10/copyreg.py from line 551 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/scan.py Thu Apr 28 20:10:05 2022 Call to __reduce_ex__ on line 786 of /usr/lib/python3.10/enum.py from line 551 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/scan.py Thu Apr 28 20:10:05 2022 Call to send_message_to_sink on line 1188 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/scan.py from line 555 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/scan.py Thu Apr 28 20:10:05 2022 Call to debug on line 2140 of /usr/lib/python3.10/logging/__init__.py from line 1190 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/scan.py Thu Apr 28 20:10:05 2022 Call to debug on line 1455 of /usr/lib/python3.10/logging/__init__.py from line 2148 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to isEnabledFor on line 1724 of /usr/lib/python3.10/logging/__init__.py from line 1464 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to _log on line 1600 of /usr/lib/python3.10/logging/__init__.py from line 1465 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to findCaller on line 1549 of /usr/lib/python3.10/logging/__init__.py from line 1612 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to on line 160 of /usr/lib/python3.10/logging/__init__.py from line 1554 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to normcase on line 52 of /usr/lib/python3.10/posixpath.py from line 1568 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to normcase on line 52 of /usr/lib/python3.10/posixpath.py from line 1568 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to makeRecord on line 1585 of /usr/lib/python3.10/logging/__init__.py from line 1622 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to __init__ on line 283 of /usr/lib/python3.10/logging/__init__.py from line 1591 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to getLevelName on line 119 of /usr/lib/python3.10/logging/__init__.py from line 313 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to basename on line 140 of /usr/lib/python3.10/posixpath.py from line 317 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to _get_sep on line 41 of /usr/lib/python3.10/posixpath.py from line 143 of /usr/lib/python3.10/posixpath.py Thu Apr 28 20:10:05 2022 Call to splitext on line 117 of /usr/lib/python3.10/posixpath.py from line 318 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to _splitext on line 121 of /usr/lib/python3.10/genericpath.py from line 125 of /usr/lib/python3.10/posixpath.py Thu Apr 28 20:10:05 2022 Call to current_thread on line 1423 of /usr/lib/python3.10/threading.py from line 332 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to name on line 1122 of /usr/lib/python3.10/threading.py from line 332 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to handle on line 1626 of /usr/lib/python3.10/logging/__init__.py from line 1624 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to filter on line 806 of /usr/lib/python3.10/logging/__init__.py from line 1633 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to callHandlers on line 1680 of /usr/lib/python3.10/logging/__init__.py from line 1634 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to handle on line 955 of /usr/lib/python3.10/logging/__init__.py from line 1696 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to filter on line 806 of /usr/lib/python3.10/logging/__init__.py from line 964 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to acquire on line 912 of /usr/lib/python3.10/logging/__init__.py from line 966 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to emit on line 1454 of /usr/lib/python3.10/logging/handlers.py from line 968 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to prepare on line 1425 of /usr/lib/python3.10/logging/handlers.py from line 1461 of /usr/lib/python3.10/logging/handlers.py Thu Apr 28 20:10:05 2022 Call to format on line 932 of /usr/lib/python3.10/logging/__init__.py from line 1444 of /usr/lib/python3.10/logging/handlers.py Thu Apr 28 20:10:05 2022 Call to format on line 665 of /usr/lib/python3.10/logging/__init__.py from line 943 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to getMessage on line 359 of /usr/lib/python3.10/logging/__init__.py from line 678 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to usesTime on line 643 of /usr/lib/python3.10/logging/__init__.py from line 679 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to usesTime on line 423 of /usr/lib/python3.10/logging/__init__.py from line 647 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to formatMessage on line 649 of /usr/lib/python3.10/logging/__init__.py from line 681 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to format on line 438 of /usr/lib/python3.10/logging/__init__.py from line 650 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to _format on line 431 of /usr/lib/python3.10/logging/__init__.py from line 440 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to copy on line 66 of /usr/lib/python3.10/copy.py from line 1446 of /usr/lib/python3.10/logging/handlers.py Thu Apr 28 20:10:05 2022 Call to _reconstruct on line 259 of /usr/lib/python3.10/copy.py from line 102 of /usr/lib/python3.10/copy.py Thu Apr 28 20:10:05 2022 Call to __newobj__ on line 100 of /usr/lib/python3.10/copyreg.py from line 265 of /usr/lib/python3.10/copy.py Thu Apr 28 20:10:05 2022 Call to enqueue on line 61 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/iplogging.py from line 1461 of /usr/lib/python3.10/logging/handlers.py Thu Apr 28 20:10:05 2022 Call to send on line 480 of /usr/lib/python3/dist-packages/zmq/sugar/socket.py from line 63 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/iplogging.py Thu Apr 28 20:10:05 2022 Call to release on line 919 of /usr/lib/python3.10/logging/__init__.py from line 970 of /usr/lib/python3.10/logging/__init__.py Thu Apr 28 20:10:05 2022 Call to send_message_to_sink on line 973 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/interprocess.py from line 1197 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/scan.py Thu Apr 28 20:10:05 2022 Call to send_multipart on line 549 of /usr/lib/python3/dist-packages/zmq/sugar/socket.py from line 975 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/interprocess.py Thu Apr 28 20:10:05 2022 Call to send on line 480 of /usr/lib/python3/dist-packages/zmq/sugar/socket.py from line 595 of /usr/lib/python3/dist-packages/zmq/sugar/socket.py Thu Apr 28 20:10:05 2022 Call to send on line 480 of /usr/lib/python3/dist-packages/zmq/sugar/socket.py from line 595 of /usr/lib/python3/dist-packages/zmq/sugar/socket.py Thu Apr 28 20:10:05 2022 Call to send on line 480 of /usr/lib/python3/dist-packages/zmq/sugar/socket.py from line 597 of /usr/lib/python3/dist-packages/zmq/sugar/socket.py Thu Apr 28 20:10:05 2022 Call to resume_work on line 1130 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/interprocess.py from line 557 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/scan.py Thu Apr 28 20:10:05 2022 Call to recv_multipart on line 599 of /usr/lib/python3/dist-packages/zmq/sugar/socket.py from line 1131 of /home/ngux/.local/lib/python3.10/site-packages/raphodo/interprocess.py DEBUG Sending 0 scanned files from POCO X3 NFC to sink DEBUG https://damonlynch.net:443 "GET /rapid/version.json HTTP/1.1" 200 741 ```

If I unmount the phone (with turn to No data file transfert) and launch again RPD, it cannot find the phone.

Well it is not so a big deal, I can DL the file to the computer then sort and backup to the disks with RPD. CompactCard are working fine which is the most imortant. Probably an other Gnome’s update will do the trick.

Thanks for you help, I’ve learned

Unless I’m misunderstanding you, I think you’re doing something wrong here.

Here is what you need to do:

  1. Enable file transfer in the phone itself, using the android user interface
  2. Eject (unmount) the phone from gnome files, using the eject button.

Sorry for my explantions, English is not my motherlanguage, I’m French (nobody’s perfect ;-))

Yes these are the two steps I followed.

  • I’ve just noticed that when I unmount the phone in Nautilus (my file manager) the USB connexion in the phone turns to “No data Transfert”.
  • If I turn it back to “File Tranfert” it mounts the phone in the PC.
    I cannot have the phone with the connexio USB on “File Transfert” and ejected (unmounted) in Nautilus.
    Note : To be sure we are talking about the same thing, there is three possiblitiies to the USB when I connect my phone :
    1/ No data tranfer
    2/ File Transfer / Android Auto
    3/ Transfer Photos (PTP) witch works but I cannot see any picture with this connexion.
    I suddenly have a terrible doubt : could it be the right connexion (the third) for RDP but my pictures and videos are not in the right folder (they are saved by the camera on an external card) :face_with_open_eyes_and_hand_over_mouth:

Is it possible that RDP has no access to the MicroSDcard of the phone ?

In this case nautalis is interfering with RPD mounting your phone. If you can disable that, RPD should mount your phone.

You mean disabling the connection to Nautilus (how?) to have the MicroSD of the phone to mount ?

There are two issues happening simultaneously here:

  1. Your phone takes a unique approach to file transfers: as soon as the computer relinquishes control of the MTP connection, your phone immediately switches to a mode in which no file transfers are possible without you authorising them again. Maybe there are other phones that do that, but I have never heard of it. Is it a bug? Is it by design? I have no idea. Who knows.
  2. You are using a Linux desktop that uses GVFS under the hood. By default, GVFS is configured to take control of an MTP connection as soon as the phone is plugged in.

It is the combination of (1) and (2) that is causing the underlying problem: Rapid Photo Downloader is not able to establish an MTP connection to download files from the phone, because your phone has already disconnected by the time GVFS relinquishes control of the phone. Remember: only one operating system process can control an MTP device. That is how the protocol works. There is literally nothing Rapid Photo Downloader or any other program like gPhoto2 that uses MTP directly can do here. This is not a problem with Rapid Photo Downloader. It is a problem with the way your phone and your Linux desktop are Interacting with each other.

You have four different options, the first three of which will allow you to use Rapid Photo Downloader to download directly from your phone:

  1. Change the configuration of your phone, if possible, so that it does not immediately turn off file transfers when an active MTP connection is relinquished. This may or may not be possible, depending on your phone software. Hopefully it is, because in my opinion it’s pretty dumb.
  2. Disable automatic mounting of MTP devices by GVFS. How do you do that? That’s a question for Gnome people, or those who developed your current Linux desktop.
  3. Use a Linux desktop that doesn’t automatically mount MTP devices. KDE is much, much more flexible in this respect, because you can easily turn it on or off, and in every KDE setup I’ve seen, it is not turned on by default. I haven’t tried every KDE desktop in every Linux distro, but as part of my testing of Rapid Photo Downloader, I have tried many. None of them default to automatically mounting MTP devices — they ask you what to do first.
  4. Use a GVFS based file manager to transfer files from your phone, and use Rapid Photo Downloader only of its capabilities are still convenient to you.
1 Like

Many Thanks for thoses explanations. It’s mutch more clear now !

1 Like