Bug 307839

Summary: No import from automaticaly added smartphone
Product: [Applications] digikam Reporter: Philippe ROUBACH <philippe.roubach>
Component: Import-Gphoto2Assignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: b.buschinski, bkohler, caulier.gilles, dilfridge, jrussell_88, marcus, mathieu, stupor_scurvy343, tpr
Priority: NOR    
Version: 4.12.0   
Target Milestone: ---   
Platform: Mandriva RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 5.2.0
Sentry Crash Report:

Description Philippe ROUBACH 2012-10-04 13:08:59 UTC
i connect my smartphone via usb ptp
then
i go to import > dc > nokia 5800 xpressmusic (automaticaly detected)
then
no window opens

if i manually add "nokia 5800 xpressmusic [v2]
then
same pb : import tool is launched but connection fails

if i add manually by using "autodetecting" button
then
digikam adds ptp usb device
then
i go to import > dc > usb ptp class camera
then
the import tool is launched
i can access to my photos

Reproducible: Always
Comment 1 caulier.gilles 2012-10-04 13:15:52 UTC
What do you see as debug trace in the console ?

Gilles Caulier
Comment 2 Philippe ROUBACH 2012-10-04 13:18:27 UTC
with "nokia 5800 xpressmusic (automaticaly detected)

Finished loading all placemarks  1939 
libusb couldn't open USB device /dev/bus/usb/001/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/001/005: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/002/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/002/002: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/002/003: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/002/004: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/002/005: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/002/006: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/001/005: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/002/002: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/002/006: Permission denied.
libusb requires write access to USB device nodes.
digikam(23648)/digikam (core): Failed to get information for the listed camera 
digikam(23648)/digikam (core): Failed to detect camera with GPhoto2 from Solid information
Comment 3 Philippe ROUBACH 2012-10-04 13:27:27 UTC
with "nokia 5800 xpressmusic" manualy added not any messages
Comment 4 caulier.gilles 2012-10-04 13:29:18 UTC
It's clear, 

Sound like right to system device problem, not digiKam...

Gilles Caulier
Comment 5 Stephan Karacson 2012-11-01 17:31:01 UTC
I want to confirm it on my Gentoo system with a canon ixus 300hs.
Downgrade to digikam 2.6.0 works.
Using just Dolphin works.
Using 2.9.0 fails import!
(no system/settings changed)

$ digikam 
QSqlDatabasePrivate::removeDatabase: connection 'ConnectionTest' is still in use, all queries will cease to work.
[0x2a4ed28] main services discovery error: no suitable services discovery module
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
QObject::connect: Connecting from QTabBar::tabCloseRequested(int) to COMPAT slot (KTabBar::closeRequest(int))
digikam(27833)/digikam (core): Failed to get information for the listed camera 
digikam(27833)/digikam (core): Failed to detect camera with GPhoto2 from Solid information
Comment 6 Bernd Buschinski 2012-11-06 16:53:04 UTC
I am getting almost the same issue,
automatically detected does not work,

If I manually add it (hitting automatically there too) it works fine

and downgrading to 2.6.0 also make it always work
Comment 7 Andreas K. Huettel 2013-01-27 16:09:36 UTC
See also https://bugs.gentoo.org/show_bug.cgi?id=440794
Comment 8 John 2013-02-19 10:53:56 UTC
I am getting a similar issue, but can't get the import to work with either automatic or manual detection. 

I'm running Ubuntu 12.10 - Linux (i686) release 3.5.0-23-generic - and Digikam 2.8.0 compiler gcc.

My Samsung Galaxy S1 GT-i9000 is attached and mounted in Nautilus under /media/home/user/ and I can browse it in Nautilus. To view the phone's images I attached the camera folder on the phone as a temporary album using Digikam's Settings - Configure Digikam - Cameras tab - Camera Settings. 

To import the phone's images I set it up under Import - Cameras menu as a Google Nexus / Samsung Galaxy etc phone. I also set it up manually. In both cases the camera storage is auto-detected and I can navigate to the DCIM/Camera sub-folder on the phone. 

When I try to import the images it fails with a "Connection Failed - digikam" dialog: "Failed to connect to the camera. Please make sure it is connected and turned on. Would you like to try again?"

Since I can see the images directly in Digikam's temporary album, it doesn't appear to be a permissions problem. 

$ digikam
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.
QSqlDatabasePrivate::removeDatabase: connection 'ConnectionTest' is still in use, all queries will cease to work.
void DBusMenuExporterPrivate::addAction(QAction*, int): Already tracking action "Advanced Slideshow..." under id 165 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
digikam(4849) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action
Comment 9 Stephan Karacson 2013-05-19 17:17:18 UTC
gwenview can import from my camera without any error, right from the autoplay, digikam 3.1 can't.
Sounds like an digikam problem.
Comment 10 Teemu Rytilahti 2013-12-02 16:50:31 UTC
Is this still a problem? What does gphoto2 --auto-detect print out? The problem lies (probably) in the fact, that Digikam is using Solid for detecting the devices where-as gphoto2 does it itself, sometimes causing mystical problems...
Comment 11 Stephan Karacson 2013-12-02 18:07:32 UTC
Still a problem on Gentoo KDE 4.10.5 digikam 3.2.0 libgphoto2 2.5.2-r1.
Camera is accessed and photos can be downloaded/deleted.
But the progressbars of both tasks in digikam never stop working.
"Downloading all and deleting all" even just deletes one picture on camera.
Somehow ptp is broken bad.
Comment 12 Stephan Karacson 2013-12-03 19:12:32 UTC
Tested digikam 3.5.0.
Progressbar now stops when finished, exept the "delete all deletes just one"-functuion. It still has one remaining progressbar and just deletes one instead all files on camera.
Comment 13 Stephan Karacson 2013-12-25 15:42:03 UTC
digikam dosen't treat my ptp-camera in a perfect way (see the download-and-delete--all error above).
Sometimes a progress bar remains.
It adds an extra USB ptp-entry in the import/camera menu, below my Canon enty.

But to be honest this bug is called "no import from automaticaly added smartphone"
For me (IXUS 300 HS) this is no longer the case:

The camera shows up in the KDE system-tray
The digikam import-window can be started.
I can download the photos.
I can delete them.
Not at once, but the camera is automatically added and pictures are imported.

Thanks you for the patience with me and merry Christmas.
Comment 14 Philippe ROUBACH 2014-01-11 10:06:00 UTC
opensuse 13.1 , kde 4.12 , digikam 3.5
Samsung Galaxy SII P , android 4.2.2

i had no more my nokia 5800 xpressmusic
and
my new smartphone Samsung Galaxy SII P , android 4.2.2 can use ptp and mtp
then
i choose with android the protocol ptp
then
i connect the usb cable
then
digikam does not detect any smartphone  nor dolphin
then
i can't test if this bug report is still valid because this bug report is about ptp

in kde settings/digital camera
an "usb ptp camera" is in the list
but
all buttons "test" , "settings" ,  "info"  , are in grey
Comment 15 Philippe ROUBACH 2014-01-11 10:20:39 UTC
if i add manualy in digikam an usb ptp Class camera
then
i go to import/usb ptp class camera
then
after a while and consuming 50 % cpu power (amd athlon dual core x2 64 5000+)
i can see the DCIM contents

résumé :
- manualy adding a ptp smartphone works
- automatically adding a ptp smarphone does not work
then
no progress for this report
Comment 16 caulier.gilles 2014-01-11 10:26:56 UTC
Philippe,

in current implementation from git/master (netx 4.0.0-beta2), Import tool have been very improved by Teemu Rytilahti. I recommend to test with this code if possible...

Gilles Caulier
Comment 17 caulier.gilles 2014-06-07 04:21:11 UTC
Philippe,

digiKam 4.0.0 is out. Can you check this release to see if problem still here ?

Gilles Caulier
Comment 18 Philippe ROUBACH 2014-06-07 12:38:04 UTC
opensuse x86_64 13.1
kde 4.13.1

same pb as describe in comment #15

no progress !
Comment 19 caulier.gilles 2015-05-12 13:37:06 UTC
Philippe,

This file still valid using last digiKam 4.9.0 ?

Gilles Caulier
Comment 20 Ben Kohler 2015-10-14 16:42:14 UTC
I am seeing (what I believe to be) the same symptoms on digikam-4.12.0 with my Nikon Coolpix L840 camera, which is also a PTP camera like these guys' smartphones.  On the terminal from which I launched it, I see:

digikam(18514)/digikam (core): Failed to detect camera with GPhoto2 from Solid information

How would I troubleshoot Solid, and see what hardware it's detecting where?
Comment 21 caulier.gilles 2015-10-16 08:05:51 UTC
yes, it's sound like a Solid dysfunction...

Gilles Caulier
Comment 22 caulier.gilles 2016-04-08 19:00:28 UTC
*** Bug 361523 has been marked as a duplicate of this bug. ***
Comment 23 Mathieu MD 2016-04-29 08:55:42 UTC
Is "Solid" a gPhoto component? If so, shouldn't we fill a bug report there?

In Digikam 4.14.0, on Debian testing, when I select my Nikon D5500 (which is *not* listed by gphoto2 as a "PTP mode" one) to import photos from, I also get this error message in the console:
digikam(26035)/digikam (core): Failed to detect camera with GPhoto2 from Solid information
Comment 24 caulier.gilles 2016-04-29 09:45:41 UTC
Probably solid...

Gilles Caulier
Comment 25 Mathieu MD 2016-04-29 12:25:56 UTC
Well, I opened the bug there: https://github.com/gphoto/libgphoto2/issues/53
Comment 26 Marcus Meissner 2016-05-01 11:07:53 UTC
Solid is a KDE component (the KDE hardware detection framework).

what does 
gphoto2 --auto-detect 
return in these cases? 

I suspect we are getting a camera from solid that is not yet listed explicitly in libgphoto2, and just detected by PTP class, e.g. "USB PTP Class Camera". 

The digikam code does not handle this case, it is using the USB vendor/product id currently.
Comment 27 Mathieu MD 2016-05-01 12:37:30 UTC
Thanks Marcus for your explanation.

Here is the output for the D5500:

Model                          Port
----------------------------------------------------------
Nikon DSC D5500                usb:003,010

But Digikam still cannot retrieve photos (error "digikam(15659)/digikam (core): Failed to detect camera with GPhoto2 from Solid information")

While for the Coolpix P610 Gphoto2 is finding absolutely nothing.

So if I understand correctly your supposition:

- for the Coolpix P610, it is not known yet (it is indeed not listed in gphoto2 --list-cameras), so it's normal for it not working (and I cannot even reproduce my bug #361523: it is not listed in Digikam and gphotofs mount a filesystem wich cannot be access: "ls: reading directory 'test_p610/': Protocol error");

- but for the D5500, though, it is known by gphoto2, Digikam fails to work with it, but retrieving photos directly from gphoto2 --get-all-files does work well.
Comment 28 John 2016-05-06 09:25:40 UTC
Ubuntu 15.10 
Digikam 4.14.0 
Android Lollipop in mtp mode

Smartphone is mounted by gvfsd under the folder: /run/user/1000/gvfs/mtp\:host\=%5Busb%3A001%2C009%5D and is accessible from the CLI and Nautilus, including images in the /Internal Storage/DCIM/Camera folder.

Note that because of a gvfsd or Ubuntu 15.10 bug, Ubuntu may run two instances of gvfsd at boot so to get CLI file access I stopped and restarted a single instance of gvfsd: sudo killall -9 gvfsd

I added the /run/user/1000/gvfs sub-folder as a collection in Digikam (Settings - Configure Digikam) - but there are no images showing in Digikam, although they are visible in CLI and Nautilus and I can see the phone's Camera folder in Digikam's dialog box. I tried adding it as a local share, and as a network share.

The camera shows as auto-detected in the Import - Cameras sub-menu. Selecting it opens the Import dialog box without images and with the error message 'Failed to connect to the camera. Please make sure it is connected properly and turned on.'
Comment 29 caulier.gilles 2016-07-06 16:14:05 UTC
This file still valid using last digiKam 5.0.0 ?

Gilles Caulier
Comment 30 Mathieu MD 2016-08-19 18:27:12 UTC
Sorry for the delay, I was waiting for DK5 to be available from Debian repositories.

With Digikam 5.1.0, the import from smartphone still fails:

digikam.general: Found camera from ids  1256   26725  camera is:  "USB PTP Class Camera"  at  "usb:003,082"
digikam.geoiface: "setting backend marble"
digikam.geoiface: "ROADMAP"
QLayout: Attempting to add QLayout "" to Digikam::DNGConvertSettings "", which already has a layout
digikam.geoiface: "setting backend marble"
digikam.geoiface: "ROADMAP"
digikam.widgets: Status bar menu action cannot be found in action collection
QFSFileEngine::open: No file name specified
digikam.import: Log ( ""   "" :  "Connexion à l'appareil photo en cours…"
digikam.import: Supported features for "samsung Galaxy Nexus"
digikam.import:   Thumbnails: true
digikam.import:   Delete: true
digikam.import:   Delete dir: true
digikam.import:   Upload: true
digikam.import:   Mkdir: true
digikam.import:   Image capture: true
digikam.import:   Image capture preview (liveview): true
digikam.import: Log ( ""   "" :  "Connexion établie."
digikam.geoiface: ----
digikam.import: Failed to get folder files list from camera!
digikam.import: Libgphoto2 error:  Erreur indéfinie  ( -1 )
digikam.import: Log ( ""   "" :  "Impossible de lister les fichiers dans « /store_00010001/ »"
digikam.import: Failed to get folders list from camera!
digikam.import: Libgphoto2 error:  Erreur indéfinie  ( -1 )
digikam.import: Log ( ""   "" :  "Failed to list folder « /store_00010001/ »"
Comment 31 caulier.gilles 2016-08-19 21:21:59 UTC
digikam.import: Failed to get folder files list from camera!
digikam.import: Libgphoto2 error:  Erreur indéfinie  ( -1 )
digikam.import: Log ( ""   "" :  "Impossible de lister les fichiers dans « /store_00010001/ »"

Even i f it's written in French (:-))), the error is in Gphoto, not digiKam. as well...

Report this problem to Gphoto2 team.

Gilles Caulier
Comment 32 Mathieu MD 2016-08-20 06:04:54 UTC
I just finished to write my issue in their [bug tracker](https://github.com/gphoto/libgphoto2/issues/) while I noticed that, in fact, **you must unlock your smartphone before being able to list its photos!**
Sorry for the trouble / Désolé ! ;-)