Bug 269447 - MTP device as 'Portable Media Player' in Device Notifier, opening in Dolphin leads to errors
Summary: MTP device as 'Portable Media Player' in Device Notifier, opening in Dolphin ...
Status: RESOLVED FIXED
Alias: None
Product: solid
Classification: Frameworks and Libraries
Component: libsolid-udev (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Alex Fiestas
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-26 10:46 UTC by Arthur
Modified: 2012-04-28 20:54 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arthur 2011-03-26 10:46:04 UTC
Version:           unspecified (using KDE 4.6.1) 
OS:                Linux

When I plug in a Sony nwz-e438f, Device Notifier shows to copies: 'Walkman' and 'Portable Media Player'. Opening the 'Walkman' via the Notifier using Dolphin is OK, it is the same when I simply select it from Places in Dolpin. But choosing the 'Portable Media Player' via the Notifier using Dolphin (which is not present in Dolphin's Places) leads to 'camera:/' folder and due to it is a music player browsing the subfolders generates errors.

Reproducible: Always

Steps to Reproduce:
Connect a Sony nwz-438f (generally media player using mtp) via usb. Click on 'Portable Media Player' icon in Device Notifier widget then choose 'Open with File Manager' option.

Actual Results:  
The result is variable. Sometimes Dolphin can open folders and files, sometimes gives a 'Couldn't lock the device' error. I don't know the result depends on what.

Expected Results:  
Device Notifier should show only one issue and do not try to open as a camera.
Comment 1 Arthur 2011-03-27 18:40:56 UTC
I must correct myself:

1. line: shows two copies
Steps to Reproduce: I am not sure that every device with mtp trigger this.
Comment 2 Alex Fiestas 2012-04-22 02:23:42 UTC
This should be fixed now, MPT devices are no longer detected as Cameras.

If you can reproduce this bug with KDE 4.8 please don't hesitate to reopen this bug !
Comment 3 Matěj Laitl 2012-04-28 20:54:05 UTC
Git commit 3c1c788cc52e166278af2ed878e8a2f65874b1ac by Matěj Laitl.
Committed on 30/10/2011 at 13:53.
Pushed by laitl into branch 'KDE/4.8'.

udev PortableMediaPlayer: read protocols from media-player-info

This is a second attempt at implementing PortableMediaPlayer for udev
back-end using media-player-info [3], the first attempt was [2] by
Alex Merry and this patch is heavily based on it. This patch relates to
a discussion at [1] and is just a first step, the second would
be to forward PMP interface from udev backed to udisks backed somehow
(udisks...Device interface provides NativePath attribute that links to
sysfs path that can help - on Linux)

[1] http://mail.kde.org/pipermail/kde-hardware-devel/2011-October/001481.html
[2] https://svn.reviewboard.kde.org/r/5853/
[3] http://www.freedesktop.org/wiki/Software/media-player-info

Care is taken not to change existing behaviour - e.g. when udev env
ID_MEDIA_PLAYER equals 1, behaviour is unchanged.

PACKAGERS, solid udev backend now has following optional runtime-only
dependency that provides udev rules and other info for identification
of the portable media players:
 * media-player-info: for identifying USB storage devices and iPods

Following packages also provide relevant udev rules, but we suggest not
depending on them as they should by pulled by packages that actually
use them (such as Amarok, transitively):
 * usbmuxd: for identifying iOS-based iPods
 * libmtp >= 1.0.4: for identifying MTP players

[I will push similar change to frameworks branch, too]
Related: bug 253671, bug 269451
REVIEW: 103028
FIXED-IN: 4.8.4
DIGEST: groundwork for better portable media player detection
CCMAIL: kde-packager@kde.org

M  +26   -0    solid/solid/CMakeLists.txt
M  +1    -1    solid/solid/backends/udev/udevdevice.cpp
M  +1    -1    solid/solid/backends/udev/udevmanager.cpp
M  +98   -6    solid/solid/backends/udev/udevportablemediaplayer.cpp
M  +8    -0    solid/solid/backends/udev/udevportablemediaplayer.h
M  +17   -2    solid/solid/ifaces/portablemediaplayer.h
A  +135  -0    solid/solid/xdgbasedirs.cpp     [License: LGPL (v2+)]
A  +112  -0    solid/solid/xdgbasedirs_p.h     [License: LGPL (v2+)]

http://commits.kde.org/kdelibs/3c1c788cc52e166278af2ed878e8a2f65874b1ac