Version: 4.5 (using KDE 4.5.5) OS: Linux I can connect to my PTP camera (Canon PowerShot A720 IS) via camera:/ protocol in Dolphin or Krusader only as root. The problem seems to be as some privileges, but: as common user I see the camera (via lsussb), Digikam operates OK, gphoto2 too... Reproducible: Always Steps to Reproduce: Login to KDE as common user, connect camera to PC, start Dolphin or Krusader, type camera:/ into address line, press enter (or any similar process, eg. via bookmarks) Actual Results: Blank (empty) window in Dolphin or Krusader. Expected Results: Window with proper file and folder structure from camera. The process described above works correctly in root mode of Dolphin or Krusader, or in root system session (login to KDE as root). I observe continuos problem with camera:/ protocol in KDE 4.x.y - this protocol worked without problem in KDE 3.5.x. There was no function in KDE 4.5.4 and earlier (either as common user, or as root)....
The "workaround" is to use Digikam, but I don't want to do it - I prefer working with photos as files in suitable file manager. Why not, after all, if there is a "camera:/" protocol, isn't it so?
This bug still exists in newest KDE 4.6...
For KDE 4.6 as common user: the camera is not connectable either via "camera:/" protocol, or via Gwenview. The only possibility is to use Digikam.
confirm issue in 4.10, the camera kio does work ok in konueror but only as root in Dolphin is this a Dolphin or a kio bug?
now in Dolphin as regular user getting: [quote]Unknown error code 150 Bad parameters Please send a full bug report at http://bugs.kde.org.[/quote]
Nikon D60 camera here. Lucid 10.04. KDE notifier does not pop up when camera is connected. lsusb sees camera correctly. Dolphin does not. Dolphin as root sees it under camera: but cannot navigate down to the photos. I can get to the photos using Konquerer.
(In reply to comment #6) > Dolphin as root sees it under camera: but cannot navigate down to the > photos. Detail: error message appears, "Could not read file Could not lock device."
Konqueror uses the Dolphin filemanagement part to display the list of files. Hence, if this issue is only seen in Dolphin and not in Konqueror, then it is a Dolphin specific error and not a KIO issue.
(In reply to comment #5) > [quote]Unknown error code 150 > Bad parameters > Please send a full bug report at http://bugs.kde.org.[/quote] I don't have the slightest idea what that message means, and I don't have a clue either what Dolphin might be doing wrong here. I'd appreciate it if the camera people could provide some more information about this message and possible causes of this bug.
if digikam works as the desktop (non-root) user then the camera ioslave should work too. I did some fixes since 2010 to the kio slave that probably avoiid the error 150, but I cannot say for sure.
(In reply to comment #10) > if digikam works as the desktop (non-root) user then the camera ioslave > should work too. Thanks for the info, Marcus! @everyone who can reproduce this bug: does accessing the camera work for you in Digikam? BTW, accessing the pictures in my camera using "camera:/" works nicely here in KDE 4.10 as provided by Opensuse.
I can reproduce this bug with Dolphin and with Krusader. > does accessing the camera work for you in Digikam? I'll try it tomorrow.
Can reproduce this bug with Dolphin and Konqueror. Digikam and gphoto2 works fine and so does running dolphin through kdesu.
First make sure you have /usr/lib/kde4/kio_kamera.so installed (it's in the package "kamera" in Debian). If there are still problems, make sure that the USB device under /dev/bus/usb is accessible by the user, e.g.: crw-rw-r-T+ 1 root plugdev 189, 53 Aug 14 21:38 /dev/bus/usb/001/054 Maybe you must configure udev. See http://www.linuxquestions.org/questions/linux-hardware-18/fuji-finepix-f30-doesn%27t-work-612826/
Same on kde 4.11. Only root can read files from camera (Canon PowerShot A710 IS (PTP mode)). I use Gentoo
eegorov@EGOROV ~ $ solid-hardware query "Camera.supportedDrivers == 'gphoto'" udi = '/org/kde/solid/udev/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-3' eegorov@EGOROV ~ $ solid-hardware details /org/kde/solid/udev/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-3 udi = '/org/kde/solid/udev/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-3' parent = '/org/kde/solid/udev' (string) vendor = 'Canon Inc.' (string) product = 'Canon Digital Camera' (string) description = 'Camera' (string) Block.major = 189 (0xbd) (int) Block.minor = 139 (0x8b) (int) Block.device = '/dev/bus/usb/002/012' (string) Camera.supportedProtocols = {'ptp'} (string list) Camera.supportedDrivers = {'gphoto'} (string list) I can fetch files from camera by gphoto2 fron user. eegorov@EGOROV ~ $ LC_ALL=C gphoto2 --summary Camera summary: Manufacturer: Canon Inc. Model: Canon PowerShot A710 IS Version: 1-3.0.1.0 Serial Number: D64A8C935C6E44D6AF271BB5B826AFE1 Vendor Extension ID: 0xb (1.0) Capture Formats: JPEG Display Formats: Association/Directory, Script, DPOF, MS AVI, MS Wave, JPEG, CRW, Unknown(bf01) Device Capabilities: File Download, File Deletion, File Upload No Image Capture, No Open Capture, No vendor specific capture Storage Devices Summary: store_00010001: StorageDescription: None VolumeLabel: None Storage Type: Removable RAM (memory card) Filesystemtype: Digital Camera Layout (DCIM) Access Capability: Read-Write Maximum Capability: 2057437184 (1962 MB) Free Space (Bytes): 2008154112 (1915 MB) Free Space (Images): -1 Device Property Summary: Event Emulate Mode(0xd045):(readwrite) (type=0x4) Enumeration [1,2,3,4,5,6,7] value: 2 Property 0xd04a:(readwrite) (type=0x2) Enumeration [0,1,2,3] value: 0 Size of Output Data from Camera(0xd02e):(read only) (type=0x6) 524288 Size of Input Data to Camera(0xd02f):(read only) (type=0x6) 262144 Battery Type(0xd002):(read only) (type=0x4) Enumeration [0,1,2,3,4,5] value: Unknown (0) Battery Mode(0xd003):(read only) (type=0x6) Enumeration [0,1,2,3] value: Normal (1) UNIX Time(0xd034):(readwrite) (type=0x6) 1378569891 Type of Slideshow(0xd047):(read only) (type=0x4) 0 DPOF Version(0xd046):(read only) (type=0x4) 257 Supported Thumb Size(0xd02d):(read only) (type=0x4006) a[4] 119,0,159,0 Size Quality Mode(0xd02c):(read only) (type=0x4006) Enumeration [ a[6] 2304,3072,1,0,0,0, a[6] 2304,3072,6,0,0,0, a[6] 2304,3072,11,0,0,0, a[6] 1944,2592,2,0,0,0, a[6] 1944,2592,7,0,0,0, a[6] 1944,2592,12,0,0,0, a[6] 1536,2048,3,0,0,0, a[6] 1536,2048,8,0,0,0, a[6] 1536,2048,13,0,0,0, a[6] 1200,1600,17,0,0,0, a[6] 1200,1600,18,0,0,0, a[6] 1200,1600,19,0,0,0, a[6] 480,640,5,0,0,0, a[6] 480,640,10,0,0,0, a[6] 480,640,15,0,0,0 ] value: a[6] 0,0,0,0,0,0 Remote API Version(0xd030):(read only) (type=0x6) 256 Model ID(0xd049):(read only) (type=0x6) 33685504 Camera Model(0xd032):(read only) (type=0xffff) 'Canon PowerShot A710 IS' Camera Owner(0xd033):(readwrite) (type=0x4002) a[1] 0 Firmware Version(0xd031):(read only) (type=0x6) 16777216 Property 0xd402:(read only) (type=0xffff) 'Canon PowerShot A710 IS' Property 0xd407:(read only) (type=0x6) 1
I may be experiencing this bug under Debian testing's KDE 4.11.3. When I plug my Canon PowerShot, Device Notifier offers me 3 actions, opening in Digikam, Gwenview or Dolphin. I noticed something was wrong when Dolphin showed my home directory rather than the camera's content. I can reproduce by entering "camera:/" in KRunner. There is no error, just an incorrect. However, Gwenview uses a camera:/ URI and works fine. Moreover, if Dolphin is already started and I type "camera:/", I get the expected result. All of this happens as an unprivileged user, I didn't test as root. I'm confused on what is wrong.
> I noticed something was wrong when Dolphin showed my home directory rather than > the camera's content. Thanks for your feedback! I'm already working on a more robust "startup" code for Dolphin. This is just another problem with the current implementation. (Happens with other kio-slaves too).
(In reply to comment #17) > I may be experiencing this bug under Debian testing's KDE 4.11.3. > > When I plug my Canon PowerShot, Device Notifier offers me 3 actions, opening > in Digikam, Gwenview or Dolphin. I noticed something was wrong when Dolphin > showed my home directory rather than the camera's content. I can reproduce > by entering "camera:/" in KRunner. This is a different bug, which is fixed in 4.11.4 (bug 327224).
I'm having the same issue on KDE 4.11.3 (Kubuntu). I couldn't see the camera contents in dolphin or gwenview (the two default options I get in the popup when the camera is plugged in), and only after a lot of searching I found this bug report and tried running dolphin as admin and going to "camera:/ " - and now all the files are there.
I can confirm comment 20. Using KDE 4.11.3 (Kubuntu 13.10) the PTP camera (Canon PowerShot A495) can only be accessed in dolphin as root. As user dolphin shows no files (camera:/). There is no difference between the local install an using the 13.10 live-dvd. With Kubuntu 12.04 everything works fine (both: local install and live-cd). I have tried the live-cd Xubuntu 13.10: accessing camera works with thunar (shows it as gphoto2://[usb:002,003]/) So back to the local installation of Kubuntu 13.10: after installing XFCE and creating a test user, this user is able to access the camera as normal user with dolphin (camera:/) unter XFCE.
*** This bug has been confirmed by popular vote. ***
this seems to be some form of permission issues, which is weird when digikam works. I just tested KDE 4.11.3 on openSUSE 13.1 and accessing cameras via camera: url in either dolphin and konqueror works nicely as user.
solid-hardware query "Camera.supportedDrivers == 'gphoto'" then take the line with Block.device = '/dev/bus/usb/XXX/YYY' (string) and run ls -l /dev/bus/usb/XXX/YYY getfacl /dev/bus/usb/XXX/YYY please (replace XXX and YYY by the numbers reported)
On Kubuntu 13.10/KDE 4.11.3 with a Fuji Finepix AX 300 and the reported problems, here is what I get: solid-hardware query "Camera.supportedDrivers == 'gphoto'" gives Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QDBusObjectPath) Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath) udi = '/org/kde/solid/udev/sys/devices/pci0000:00/0000:00:13.2/usb2/2-4' Because this does not have a Block.device line, what else should I do?
The end of dmesg gives [22116.317942] usb 2-4: new high-speed USB device number 5 using ehci-pci [22116.454299] usb 2-4: New USB device found, idVendor=04cb, idProduct=023e [22116.454312] usb 2-4: New USB device strings: Mfr=0, Product=2, SerialNumber=3 [22116.454319] usb 2-4: Product: USB PTP ls -l /dev/bus/usb/002/005 gives crw-rw-r--+ 1 root plugdev 189, 132 02-01-2014 23:27 /dev/bus/usb/002/005 and getfacl /dev/bus/usb/002/005 gives getfacl: Removing leading '/' from absolute path names # file: dev/bus/usb/002/005 # owner: root # group: plugdev user::rw- user:chandra:rw- group::rw- mask::rw- other::r--
(In reply to comment #23) > I just tested KDE 4.11.3 on openSUSE 13.1 and accessing cameras via camera: > url in either dolphin and konqueror works nicely as user. I just did it too. Using openSUSE 13.1 live-dvd device notifier does not list the camera (strange because it does with Kubuntu). But entering the url camera:/ in dolphin works as user and the camera gets mounted. Digikam works for me with both Kubuntu 13.10 and openSUSE 13.1. I am able to reproduce the problem with Kubuntu 13.10 also with konqueror. With Kubuntu 13.10, KDE 4.11.3, Canon PowerShot A495: $ solid-hardware query "Camera.supportedDrivers == 'gphoto'" Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QDBusObjectPath) Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath) udi = '/org/kde/solid/udev/sys/devices/pci0000:00/0000:00:14.0/usb3/3-6' $ lsusb Bus 002 Device 002: ID 8087:8000 Intel Corp. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:8008 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 010: ID 04a9:31ef Canon, Inc. PowerShot A495 Bus 003 Device 003: ID 1bcf:2c55 Sunplus Innovation Technology Inc. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub $ getfacl /dev/bus/usb/003/010 getfacl: Entferne führende '/' von absoluten Pfadnamen # file: dev/bus/usb/003/010 # owner: root # group: plugdev user::rw- user:notebook:rw- group::rw- mask::rw- other::r--
1. is the camera shown in the kcontrol slave? kcmshell4 kamera 2. if you run from a text terminal: dolphin camera:/ what is output on the textconsole on starting?
$ kcmshell4 kamera -> the camera is shown correctly $ dolphin camera:/ Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QDBusObjectPath) Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath) "/org/freedesktop/UDisks2/drives/MATSHITADVD_RAM_UJ8E0_SP00JAN05060" : property "Drive" does not exist "/org/freedesktop/UDisks2/drives/ST500LT012_9WS142_W0VGRXGM" : property "Drive" does not exist "/org/freedesktop/UDisks2/drives/ST500LT012_9WS142_W0VGRXGM" : property "DeviceNumber" does not exist "/org/freedesktop/UDisks2/drives/ST500LT012_9WS142_W0VGRXGM" : property "Device" does not exist QPixmap::scaled: Pixmap is a null pixmap QPixmap::scaled: Pixmap is a null pixmap QPixmap::scaled: Pixmap is a null pixmap
in addition to comment 29: the output of "dolphin camera:/" is equal to the output of "dolphin". i tried starting dolphin with kdesudo but as user. that works and the camera is shown via the url camera:/. $ kdesudo -u username dolphin kdeinit4: Shutting down running client. Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString) QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave. QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave. kbuildsycoca4 running... Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QDBusObjectPath) Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath) QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave. QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave. QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave. QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave. "/org/freedesktop/UDisks2/drives/MATSHITADVD_RAM_UJ8E0_SP00JAN05060" : property "Drive" does not exist "/org/freedesktop/UDisks2/drives/ST500LT012_9WS142_W0VGRXGM" : property "Drive" does not exist "/org/freedesktop/UDisks2/drives/ST500LT012_9WS142_W0VGRXGM" : property "DeviceNumber" does not exist "/org/freedesktop/UDisks2/drives/ST500LT012_9WS142_W0VGRXGM" : property "Device" does not exist QPixmap::scaled: Pixmap is a null pixmap QObject::connect: Cannot connect (null)::resourceScoreUpdated(QString, QString, QString, double) to NepomukPlugin::resourceScoreUpdated(QString, QString, QString, double) QObject::connect: Cannot connect (null)::recentStatsDeleted(QString, int, QString) to NepomukPlugin::deleteRecentStats(QString, int, QString) QObject::connect: Cannot connect (null)::earlierStatsDeleted(QString, int) to NepomukPlugin::deleteEarlierStats(QString, int) QPixmap::scaled: Pixmap is a null pixmap QPixmap::scaled: Pixmap is a null pixmap Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QDBusObjectPath) Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath) kactivitymanagerd(1884)/nepomuk (library) Nepomuk2::ResourceData::store: "The name org.kde.NepomukStorage was not provided by any .service files" kactivitymanagerd(1884)/nepomuk (library) Nepomuk2::ResourceData::store: "The name org.kde.NepomukStorage was not provided by any .service files" kactivitymanagerd(1884)/nepomuk (library) Nepomuk2::ResourceData::store: "The name org.kde.NepomukStorage was not provided by any .service files" kactivitymanagerd(1884)/nepomuk (library) Nepomuk2::ResourceData::store: "The name org.kde.NepomukStorage was not provided by any .service files" QDBusConnection: name 'org.kde.kglobalaccel' had owner '' but we thought it was ':1.7' QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave. klauncher: Exiting on signal 15
While playing with kdebugdialog and testing various things i found a workaround: if i run "kdeinit4" in a konsole as user everything works fine. once run, the konsole can be closed and dolphin is able to correctly load the url camera:/ only with user rights. Perhaps that helps to identify the location of the bug in Kubuntu 13.10. By the way, the console output with kdebugdialog enabled gave the follwing error: dolphin(4969)/kio (KIOJob) KIO::SlaveInterface::dispatch: error 151 "Bad parameters" dolphin(4969)/kio (KIOJob) KIO::TransferJob::slotFinished: KUrl("camera:/") But this error doesn't seem to be the reason why dolphin can't see the camera. After running kdeinit4 the error 151 still appears although dolphin now shows the camera.
(In reply to comment #31) > if i run "kdeinit4" in a konsole as user everything works fine. once run, > the konsole can be closed and dolphin is able to correctly load the url > camera:/ only with user rights. Same behaviour on ROSA Desktop Fresh Distribution (kernel 3.10.19 / KDE 4.11.4 / Digikam 3.5) Wait for a better solution
Kubuntu 13.10 binaries, latest KDE No camera:/ in Dolphin, no camera in Konqueror either, only when using them as root. No errors in any system log... solid-hardware query "Camera.supportedDrivers == 'gphoto'" give a proper UID kcmshell4 kamera works gphoto2 --summary works "gphoto2 --get-all-files" was for now the easiest solution to get my photos off the iPhone as a normal user... Puzzled.
I could never reproduce this bug, but I haven't tried in a while, so I just tried it with Dolphin 4.12.1 (OpenSuse 13.1). Since opening camera: in Dolphin works perfectly here, and I really don't see how anything in Dolphin itself could cause such a problem (unless I'm overlooking something, we just use KDirLister::openUrl to open "camera:", just like for any other URL, and I see no way how something in we way we perform the call could be wrong), I'm pretty sure that this is not a bug in the Dolphin application. If anyone who cannot fix the problem with the suggestion from comment 14 thinks I'm wrong, please tell me what you think we're doing wrong when we try to access "camera:" - I would love to hear about it. I'll reassign to 'kde' in the hope that someone else has an idea where the bug might be (provided that the problem is actually caused by a bug in KDE, and not by a bug or a misconfiguration somewhere else).
Hi Frank, as I said in my previous comment, for me it does not work in ANY KDE application as normal user, however I also do not get a warning or error in any system log that could help me - it simply does not work. I believe it it was apparmor or udev, surely "gphoto2 --get-all-files" would not work either, would it? Since the underlaying system works and the top KDE application layer does not, my assumption is that it breaks somewhere in the KIO... ? Does that make sense?
(In reply to comment #35) > Since the underlaying system works and the top KDE application layer does > not, my assumption is that it breaks somewhere in the KIO... ? Could be, but I'm not really familiar with the details of the interaction between KDirLister and the kioslaves.
This bug is a mess. Comments seem to indicate this is a permission problem with some distributions, but not others.
Same behaviour on ROSA Desktop Fresh Distribution with KDE 4.12.2 and NIKON D5100 !!! camera:/ is empty as simple user camera:/ shows DCIM repertory as root user gwenview show nothing Only Digikam or gphoto2 are able to import images as normal user
*** Bug 330671 has been marked as a duplicate of this bug. ***
Reported in Launchpad for anyone interested: https://bugs.launchpad.net/kde-baseapps/+bug/1290244
I have experienced this same problem since KDE-3.5 - not being able to view the camera in konqueror as a regular user but can view and edit the camera pictures when logged in a root and it has still become an issue with KDE-4.10.5 so it has still not been resolved as of KDE4.10 and Slackware14.1. I have solved it this way. My original configuration was KDE-4.10.5, libgphoto 2.5.2. I installed the camera thru System Settings - Digital Camera as a "Nikon D50 PTP" I then downloaded the latest libgphoto2-2.5.7 and edited "camlibs/ptp2/library.c" and changed the appropriate line for my camera - line 1054 as "Nikon:D50 ( PTP mode )" is changed to "Nikon:D50 PTP" so that this matches the KDE setting as close as possible and to reduce verbiage I changed line 2048 from "USB PTP Class Camera" to "USB PTP Camera". Back to the top of the source tree ./configure --prefix=/usr --libdir=/usr/lib64 so that the output code will overlay the original installed library. make, become superuser, make install I can now view the camera thru konqueror or dolphin as a regular user. This is still probably a permissions problem and KDE and the distributors are not setting permissions correctly
Either these are to separate issues, or title and most of the comments are misleading. As suggested per https://bugs.kde.org/show_bug.cgi?id=264020#c31. Rerunning kdeinit4 would make this work also for current logged in session/user. It happens to seem to work for root, because by changing user new session (kdeinit, klauncher, kded, and dbus) is created. Using any other user but root works just fine as well. On the other hand, logging in (KDM) as root, root cannot access files over PTP via kio_kamera as described, but su - anyuser and run "kioclient ls 'camera:/'"... works like a charm. I am reasonably certain permissions play no role in this case. Unfortunately I am not very versed in topics DBus and debugging thereof, so I could only help by providing details upon request. My very wild guess would be timing issue (kdeinit (its children)/DBus), race during session creation. These observations are made with up to date patched Slack 14.1. (i.e. KDE 4.10.5, gphoto 2.5.2, dbus 1.6.12).