Version: 2.3.1 (using KDE 4.4.5) OS: Linux Problem: Mounted network file systems (specifically, SSHFS on a laptop, in my case) tend to not always be available due to network issues, new location for wifi, etc. My collection is on another computer and I have it mounted to ~/Music/ but if Amarok starts when the share isn't mounted AND I have 'Watch Folders for Changes' checkmarked in the settings, I lose that database on y local laptop, requiring a re-scan of the music at a later date. Proposed solution: There are three options that I see, but someone smarter may have a better idea! 1. Amarok could either have a way to connect to these shares itself rather than relying on my SSHFS to make the connection, possibly using KDE's KIOSlave for sftp:// (and perhaps smb:// and (due to the network protocol) Amarok would know that it is a music collection that isn't always available, so that part of the database would be enabled/disabled as availability determines. 2. Amarok's collection, when chosing mount points, could cycle through a Green checkmark for 'always available', a Yellow checkmark for 'Sometimes available, don't wipe this out if its not currently availabe!', the current Grey checkmark for 'subfolders are checked but not this folder specifically', or no checkmark at all. 3. Collection settings could have two tabs or two sections, one for 'Always available local content' and another for 'Networked and Attached storage' for those collections that will come and go. As Amarok (I believe) already knows about USB Drives being an external source for music and it stores this info differently (I think), this whole overall problem seems to be fixable by just extending the USB behaviour to network-accessed music collections. Or would this all be fixed if I mount the network share in /media/ ? I think this is a killer option that Amarok would do well to incorporate. Thanks for Amarok and for KDE! Reproducible: Always Steps to Reproduce: 1. Mount network drive with sshfs to ~/Music/ or another location in ~ 2. Point collection scanner at that mount point and enable 'Watch folders for changes' 3. Scan collection and see all of your music, and be happy! 4. Disconnect network drive 5. Look in Amarok, no music available 6. Reconnect network drive and Amarok still doesn't have the music, which needs to be rescanned, often taking hours for large collections Actual Results: Music is missing and needs to be rescanned. Expected Results: Music is hidden and when the share is available again, the music appears in Amarok without a rescan. Putting my laptop computer to sleep often, the network shares come and go as the wifi goes up and down. Allowing for networked-drive access is important, especially for apps like Amarok that keep that ever-changing data in a database.
Please have a look at wish #187692 and of course bug #171213, I think both address what you are looking for
Yes they both look to be related to this wish, but the wish with the Ampache solution isn't really what I want for firewall reasons, and the bug for removable devices doesn't seem to be fixed so I think that my request, and suggested possible solutions, are still valid. Thanks for looking at my report and I hope to see removable/external media handled well in a future release of Amarok!
> but the wish with the Ampache solution isn't > really what I want for firewall reasons Also not to mention, not every machine (or network storage device) with music has Amarok or another app that can stream Ampache.
Setting status correctly.
Please note that I just updated one of my Amarok installs (Debian Lenny) from 2.3.2 to 2.4.0-1 from Debian Sid. My collection of remote-Samba-mounted music seemed to transfer fine to the new version 2.4.0 for about 20 hours, and then mid-song the collection dropped from many-thousands of songs, to 1600 songs. My mid-song playback stopped playing, for what that is worth. The samba share is mounted via fstab which seemed to be required for Dynamic Collection. Thanks for Amarok!
(In reply to comment #5) >...My collection of remote-Samba-mounted music > seemed to transfer fine to the new version 2.4.0 for about 20 hours, and then > mid-song the collection dropped from many-thousands of songs, to 1600 songs. > My mid-song playback stopped playing, for what that is worth. This is most likely network related, don't you think?
> This is most likely network related, don't you think? Yes the slow scanning is network related, but I didn't lose the network connection at all. Amarok 'lost' the song which is why it stopped playing. Per the link below, Samba file shares listed in /etc/fstab are recognized by Amarok as Dynamic Collections and the music database shouldn't have been wiped out. http://amarok.kde.org/wiki/Dynamic_Collection Even if I had lost the network connection, the collection should return when my network connection returned. Instead, the collection was cleared out and needed to be rebuilt, which isn't how Dynamic Collection is supposed to function (per my understanding). == The whole point of my comment #5 is that 2.4.0 also suffers from not having excellent Dynamic Collection handling. Thanks for KDE and thanks for your attention to my bug/request!
Unfortunately that link points to an outdated page, regarding Amarok 1.4, x. This is not implemented yet.
> This is not implemented yet. Oh. I thought Dynamic Collections was back as of 2.3 http://gitorious.org/amarok/amarok/blobs/master/ChangeLog#line439 Since Dynamic Collections isn't back yet, it validates my Wish for this 249760 :)
Oops, I should better have gone to sleep earlier, triaging bugs at past 2am is not a good idea :( It is implemented of course, but AFAIR there have always been some strange stuff happening with network devices.
Git commit d57eedc5563b3950446257f09d439aaa3b8c21ee by Peter C. Ndikuwera. Committed on 03/03/2011 at 16:01. Pushed by pndiku into branch 'master'. Fix NFS & SMB/CIFS Remote collection BUG: 249760 CCBUG: 232976 CCBUG: 171213 CCBUG: 187692 Using Max's Mass Storage Device code as a guide, this commit returns network-based collections, shared over NFS & SMB/CIFS to the dynamic collection architecture. This should re-validate http://amarok.kde.org/wiki/Dynamic_Collection, which some people have complained to longer applies. Test it & break it! M +3 -3 src/core-impl/collections/db/sql/MountPointManager.cpp M +2 -2 src/core-impl/collections/db/sql/device/CMakeLists.txt M +14 -6 src/core-impl/collections/db/sql/device/nfs/CMakeLists.txt M +77 -30 src/core-impl/collections/db/sql/device/nfs/NfsDeviceHandler.cpp M +12 -8 src/core-impl/collections/db/sql/device/nfs/NfsDeviceHandler.h M +14 -6 src/core-impl/collections/db/sql/device/smb/CMakeLists.txt M +76 -32 src/core-impl/collections/db/sql/device/smb/SmbDeviceHandler.cpp M +11 -7 src/core-impl/collections/db/sql/device/smb/SmbDeviceHandler.h http://commits.kde.org/amarok/d57eedc5563b3950446257f09d439aaa3b8c21ee
This commit unfortunately breaks compiling for me. I get: Linking CXX shared module ../../../../../../../lib/amarok_device_nfs.so CMakeFiles/amarok_device_nfs.dir/NfsDeviceHandler.o: In function `NfsDeviceHandlerFactory::canHandle(Solid::Device const&) const': /home/nicholas/programming/kde/src/amarok/src/core-impl/collections/db/sql/device/nfs/NfsDeviceHandler.cpp:135: undefined reference to `KMountPoint::currentMountPoints(QFlags<KMountPoint::DetailsNeededFlag>)' (etc) /home/nicholas/programming/kde/src/amarok/src/core-impl/collections/db/sql/device/nfs/NfsDeviceHandler.cpp:217: undefined reference to `KMountPoint::mountPoint() const' CMakeFiles/amarok_device_nfs.dir/NfsDeviceHandler.o: In function `~KSharedPtr': /usr/include/ksharedptr.h:90: undefined reference to `KMountPoint::~KMountPoint()' It seems someone else had this problem because googling the error message turned up a pastebin containing the same error message in the same file, but I couldn't find a fix. Would you mind pointing to anything which might be causing this? Using debian KDE libraries (KDE 4.4.5-2); compiling worked a little bit before this commit.
Broke for me as well, same issue. I also use KDE 4.4. ...and it makes sense, KMountPoint doesn't exist in KDE 4.4. It appears to be a 4.5 feature.
I can comment out the relevant sections in the SMB and NFS files to get amarok to compile, so I can hack and test as usual, but there should be probably some preprocessor directive to do that for us; the amarok wiki still says you only need KDE 4.2. For some reason, SmartPlayListEditor also uses KMountPoint but doesn't break compilation.
I just made the nfs and smb plugins depend on KDE 4.5 in v2.4.0-244-gfcdd0fd SmartPlayListEditor.cpp isn't compiled afaict.
(In reply to comment #13) > Broke for me as well, same issue. I also use KDE 4.4. > > ...and it makes sense, KMountPoint doesn't exist in KDE 4.4. It appears to be a > 4.5 feature. No, it was in libkio until that, then has been moved to libkdecore. If it wouldn't exist at all, most probably comment #12 would be a "no such include" error, not an undefined reference.
Git commit bcf8820a64bd3133dd2ef9cb40b22fdbb38648b7 by Peter C. Ndikuwera. Committed on 12/03/2011 at 09:59. Pushed by pndiku into branch 'master'. Fix detection of mounts of NFS & SMB Shares NFS & SMB Mounts do not emit an accessibilityChanged signal to Solid::DeviceNotifier. This commit implement a timer to monitor mounts. But only works with KDE 4.5 because of use of KMountPoint. CCBUG: 249760 M +52 -0 src/MediaDeviceCache.cpp M +4 -0 src/MediaDeviceCache.h http://commits.kde.org/amarok/bcf8820a64bd3133dd2ef9cb40b22fdbb38648b7
Does not work AT ALL. All tracks are added with deviceid -1, whether it's a rescan from an old collection or a brand new collection. Kde 4.6.1 amarok 0d39ac5cfb4ce5445f780a18c9193a1d05a2f286 just compiled now. Relevant volume: paola.local:/export/shared ************ /etc/fstab *************** cat /etc/fstab | grep -v ^# laptop / zfs defaults 0 0 /dev/sda1 /boot ext4 noatime 1 2 /dev/sda3 swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 tmpfs /tmp tmpfs noexec,nosuid,noatime 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 cgroup /sys/fs/cgroup proc defaults 0 0 paola.local:/export/shared /var/shared nfs _netdev,vers=3,retry=0,bg,sync,noatime 0 0 //10.254.102.10/sdcard /media/android cifs user,noauto,credentials=/home/rudd-o/.androidpassword,uid=rudd-o,gid=rudd-o,nounix *************** /etc/mtab ***************** cat /etc/mtab proc /proc proc rw 0 0 sysfs /sys sysfs rw 0 0 devpts /dev/pts devpts rw,gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs rw 0 0 /dev/sda1 /boot ext4 rw,noatime 0 0 tmpfs /tmp tmpfs rw,noexec,nosuid,noatime 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0 laptop / zfs rw 0 0 laptop/home /home zfs rw 0 0 laptop/home/rudd-o /home/rudd-o zfs rw 0 0 laptop/home/rudd-o/.wine /home/rudd-o/.wine zfs rw 0 0 laptop/home/rudd-o/Imagenes /home/rudd-o/Imágenes zfs rw 0 0 laptop/home/rudd-o/Personal /home/rudd-o/Personal zfs rw 0 0 laptop/home/rudd-o/Projects /home/rudd-o/Projects zfs rw 0 0 laptop/home/rudd-o/Virtual\040machines /home/rudd-o/Virtual\040machines zfs rw 0 0 laptop/home/rudd-o/download /home/rudd-o/download zfs rw 0 0 laptop/home/rudd-o/tmp /home/rudd-o/tmp zfs rw 0 0 laptop/opt /opt zfs rw 0 0 laptop/usr/lib/debug /usr/lib/debug zfs rw 0 0 laptop/usr/local /usr/local zfs rw 0 0 laptop/usr/share/doc /usr/share/doc zfs rw 0 0 laptop/usr/share/javadoc /usr/share/javadoc zfs rw 0 0 laptop/usr/src /usr/src zfs rw 0 0 laptop/var/cache /var/cache zfs rw 0 0 laptop/var/spool /var/spool zfs rw 0 0 sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0 /proc/bus/usb /proc/bus/usb usbfs rw,devgid=1011,devmode=664 0 0 fusectl /sys/fs/fuse/connections fusectl rw 0 0 gvfs-fuse-daemon /home/rudd-o/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,user=rudd-o 0 0 cgroup /sys/fs/cgroup cgroup rw 0 0 paola.local:/export/shared /var/shared nfs rw,sync,noatime,vers=3,retry=0,bg,addr=10.254.102.1 0 0 ************************************* Please reopen this bug because it clearly was not fixed.
relevant amarokrc: [Collection Folders] -1=./var/shared/Entertainment/Music/Good/Mixes and mashups Use MusicLocation=true wtf?
note how /var/shared is an NFS mount. didn't work with cifs either, FWIW.
amarok: [PluginManager] found plugin: "amarok_collection-audiocdcollection" enabled: false amarok: [PluginManager] found plugin: "amarok_collection-daapcollection" enabled: false amarok: [PluginManager] found plugin: "amarok_collection-ipodcollection" enabled: false amarok: [PluginManager] found plugin: "amarok_collection-mtpcollection" enabled: false amarok: [PluginManager] found plugin: "amarok_collection-mysqlservercollection" enabled: false amarok: [PluginManager] found plugin: "amarok_collection-mysqlecollection" enabled: false amarok: [PluginManager] found plugin: "amarok_collection-upnpcollection" enabled: false amarok: [PluginManager] found plugin: "amarok_collection-umscollection" enabled: false amarok: [PluginManager] found plugin: "amarok_device_massstorage" enabled: false amarok: [PluginManager] found plugin: "amarok_device_nfs" enabled: false amarok: [PluginManager] found plugin: "amarok_device_smb" enabled: false amarok: [PluginManager] found plugin: "amarok_service_ampache" enabled: false amarok: [PluginManager] found plugin: "amarok_service_jamendo" enabled: false amarok: [PluginManager] found plugin: "amarok_service_lastfm" enabled: false amarok: [PluginManager] found plugin: "amarok_service_mp3tunes" enabled: false amarok: [PluginManager] found plugin: "amarok_service_magnatunestore" enabled: false amarok: [PluginManager] found plugin: "amarok_service_opmldirectory" enabled: false why??? why is it disabled?
my plugins config dialog says it is enabled. :-\ says disabled on the console.
The relevant log: amarok: BEGIN: CollectionManager::CollectionManager() amarok: END__: CollectionManager::CollectionManager() [Took: 0s] amarok: BEGIN: Plugins::PluginManager::PluginManager(QObject*) amarok: BEGIN: void Plugins::PluginManager::findAllPlugins() amarok: [PluginManager] found plugin: "amarok_collection-audiocdcollection" enabled: false amarok: [PluginManager] found plugin: "amarok_collection-daapcollection" enabled: false amarok: [PluginManager] found plugin: "amarok_collection-ipodcollection" enabled: false amarok: [PluginManager] found plugin: "amarok_collection-mtpcollection" enabled: false amarok: [PluginManager] found plugin: "amarok_collection-mysqlservercollection" enabled: false amarok: [PluginManager] found plugin: "amarok_collection-mysqlecollection" enabled: false amarok: [PluginManager] found plugin: "amarok_collection-upnpcollection" enabled: false amarok: [PluginManager] found plugin: "amarok_collection-umscollection" enabled: false amarok: [PluginManager] found plugin: "amarok_device_massstorage" enabled: false amarok: [PluginManager] found plugin: "amarok_device_nfs" enabled: false amarok: [PluginManager] found plugin: "amarok_device_smb" enabled: false amarok: [PluginManager] found plugin: "amarok_service_ampache" enabled: false amarok: [PluginManager] found plugin: "amarok_service_jamendo" enabled: false amarok: [PluginManager] found plugin: "amarok_service_lastfm" enabled: false amarok: [PluginManager] found plugin: "amarok_service_mp3tunes" enabled: false amarok: [PluginManager] found plugin: "amarok_service_magnatunestore" enabled: false amarok: [PluginManager] found plugin: "amarok_service_opmldirectory" enabled: false amarok: [PluginManager] 17 plugins in total amarok: END__: void Plugins::PluginManager::findAllPlugins() [Took: 0.001s] amarok: [PluginManager] created factory for plugin "amarok_collection-audiocdcollection" type: "Collection" amarok: [PluginManager] created factory for plugin "amarok_collection-ipodcollection" type: "Collection" amarok: [PluginManager] created factory for plugin "amarok_collection-mtpcollection" type: "Collection" amarok: [PluginManager] created factory for plugin "amarok_collection-mysqlservercollection" type: "Collection" amarok: [PluginManager] created factory for plugin "amarok_collection-umscollection" type: "Collection" amarok: BEGIN: void CollectionManager::init(const QList<Plugins::PluginFactory*>&) amarok: BEGIN: void CollectionManager::loadPlugins(const QList<Collections::CollectionFactory*>&) amarok: [CollectionManager] initializing "amarok_collection-mysqlservercollection" amarok: BEGIN: MySqlServerStorage::MySqlServerStorage() amarok: Automatic reconnect successfully activated amarok: Automatic reconnect successfully activated amarok: [MySqlStorage] Connected to MySQL server 5.1.55 amarok: Connected to MySQL server 5.1.55 amarok: [MySqlStorage] Initialized thread, count== 1 amarok: END__: MySqlServerStorage::MySqlServerStorage() [Took: 0.025s] amarok: BEGIN: bool DatabaseUpdater::update() amarok: Database version: 0 amarok: BEGIN: void DatabaseUpdater::createTables() const amarok: END__: void DatabaseUpdater::createTables() const [Took: 0.45s] amarok: END__: bool DatabaseUpdater::update() [Took: 0.48s] amarok: BEGIN: MountPointManager::MountPointManager(QObject*, SqlStorage*) amarok: BEGIN: MediaDeviceCache::MediaDeviceCache() amarok: END__: MediaDeviceCache::MediaDeviceCache() [Took: 0.018s] amarok: END__: MountPointManager::MountPointManager(QObject*, SqlStorage*) [Took: 0.018s] amarok: BEGIN: void CollectionManager::slotNewCollection(Collections::Collection*) amarok: END__: void CollectionManager::slotNewCollection(Collections::Collection*) [Took: 0s] amarok: [CollectionManager] initializing "amarok_collection-audiocdcollection" amarok: BEGIN: MediaDeviceMonitor::MediaDeviceMonitor() amarok: BEGIN: void MediaDeviceMonitor::init() amarok: END__: void MediaDeviceMonitor::init() [Took: 0s] amarok: END__: MediaDeviceMonitor::MediaDeviceMonitor() [Took: 0s] amarok: BEGIN: void MediaDeviceMonitor::registerDeviceType(ConnectionAssistant*) amarok: BEGIN: void MediaDeviceMonitor::checkDevicesFor(ConnectionAssistant*) amarok: BEGIN: QStringList MediaDeviceMonitor::getDevices() amarok: BEGIN: void MediaDeviceCache::refreshCache() amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageAccess with udi = "/org/freedesktop/UDisks/devices/sda1" amarok: [MediaDeviceCache] Device name is = "boot" and was made by "ATA" amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageDrive with udi = "/org/freedesktop/UDisks/devices/sda" amarok: [MediaDeviceCache] Device name is = "Corsair CMFSSD-128D1" and was made by "ATA" amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageDrive with udi = "/org/freedesktop/UDisks/devices/sr0" amarok: [MediaDeviceCache] Device name is = "CDDVDW TS-L633Y" and was made by "TSSTcorp" amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageDrive with udi = "/org/freedesktop/UDisks/devices/sdb" amarok: [MediaDeviceCache] Device name is = "Multi-Card" and was made by "Generic-" amarok: END__: void MediaDeviceCache::refreshCache() [Took: 0.21s] amarok: END__: QStringList MediaDeviceMonitor::getDevices() [Took: 0.21s] amarok: BEGIN: virtual bool AudioCdConnectionAssistant::identify(const QString&) amarok: END__: virtual bool AudioCdConnectionAssistant::identify(const QString&) [Took: 0s] amarok: BEGIN: virtual bool AudioCdConnectionAssistant::identify(const QString&) amarok: END__: virtual bool AudioCdConnectionAssistant::identify(const QString&) [Took: 0s] amarok: BEGIN: virtual bool AudioCdConnectionAssistant::identify(const QString&) amarok: END__: virtual bool AudioCdConnectionAssistant::identify(const QString&) [Took: 0s] amarok: BEGIN: virtual bool AudioCdConnectionAssistant::identify(const QString&) amarok: END__: virtual bool AudioCdConnectionAssistant::identify(const QString&) [Took: 0s] amarok: END__: void MediaDeviceMonitor::checkDevicesFor(ConnectionAssistant*) [Took: 0.21s] amarok: END__: void MediaDeviceMonitor::registerDeviceType(ConnectionAssistant*) [Took: 0.21s] amarok: [CollectionManager] initializing "amarok_collection-ipodcollection" amarok: BEGIN: void MediaDeviceMonitor::registerDeviceType(ConnectionAssistant*) amarok: BEGIN: void MediaDeviceMonitor::checkDevicesFor(ConnectionAssistant*) amarok: BEGIN: QStringList MediaDeviceMonitor::getDevices() amarok: BEGIN: void MediaDeviceCache::refreshCache() amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageAccess with udi = "/org/freedesktop/UDisks/devices/sda1" amarok: [MediaDeviceCache] Device name is = "boot" and was made by "ATA" amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageDrive with udi = "/org/freedesktop/UDisks/devices/sda" amarok: [MediaDeviceCache] Device name is = "Corsair CMFSSD-128D1" and was made by "ATA" amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageDrive with udi = "/org/freedesktop/UDisks/devices/sr0" amarok: [MediaDeviceCache] Device name is = "CDDVDW TS-L633Y" and was made by "TSSTcorp" amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageDrive with udi = "/org/freedesktop/UDisks/devices/sdb" amarok: [MediaDeviceCache] Device name is = "Multi-Card" and was made by "Generic-" amarok: END__: void MediaDeviceCache::refreshCache() [Took: 0.15s] amarok: END__: QStringList MediaDeviceMonitor::getDevices() [Took: 0.15s] amarok: BEGIN: virtual bool IpodConnectionAssistant::identify(const QString&) amarok: Device udi: "/org/freedesktop/UDisks/devices/sda" amarok: Device name: "ATA - Corsair CMFSSD-128D1" amarok: BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const amarok: [MediaDeviceCache] Not able to convert to StorageAccess or not accessible, returning empty amarok: END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const [Took: 0.001s] amarok: Mount point: "" amarok: vendor: "ATA" , product: "Corsair CMFSSD-128D1" amarok: END__: virtual bool IpodConnectionAssistant::identify(const QString&) [Took: 0.002s] amarok: BEGIN: virtual bool IpodConnectionAssistant::identify(const QString&) amarok: Device udi: "/org/freedesktop/UDisks/devices/sda1" amarok: Device name: "/boot" amarok: BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const amarok: END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const [Took: 0s] amarok: Mount point: "/boot" amarok: vendor: "ATA" , product: "boot" amarok: END__: virtual bool IpodConnectionAssistant::identify(const QString&) [Took: 0.001s] amarok: BEGIN: virtual bool IpodConnectionAssistant::identify(const QString&) amarok: Device udi: "/org/freedesktop/UDisks/devices/sdb" amarok: Device name: "Generic- - Multi-Card" amarok: BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const amarok: [MediaDeviceCache] Not able to convert to StorageAccess or not accessible, returning empty amarok: END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const [Took: 0.001s] amarok: Mount point: "" amarok: vendor: "Generic-" , product: "Multi-Card" amarok: END__: virtual bool IpodConnectionAssistant::identify(const QString&) [Took: 0.002s] amarok: BEGIN: virtual bool IpodConnectionAssistant::identify(const QString&) amarok: Device udi: "/org/freedesktop/UDisks/devices/sr0" amarok: Device name: "TSSTcorp - CDDVDW TS-L633Y" amarok: BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const amarok: [MediaDeviceCache] Not able to convert to StorageAccess or not accessible, returning empty amarok: END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const [Took: 0.001s] amarok: Mount point: "" amarok: vendor: "TSSTcorp" , product: "CDDVDW TS-L633Y" amarok: END__: virtual bool IpodConnectionAssistant::identify(const QString&) [Took: 0.002s] amarok: END__: void MediaDeviceMonitor::checkDevicesFor(ConnectionAssistant*) [Took: 0.17s] amarok: END__: void MediaDeviceMonitor::registerDeviceType(ConnectionAssistant*) [Took: 0.17s] amarok: [CollectionManager] initializing "amarok_collection-mtpcollection" amarok: BEGIN: void MediaDeviceMonitor::registerDeviceType(ConnectionAssistant*) amarok: BEGIN: void MediaDeviceMonitor::checkDevicesFor(ConnectionAssistant*) amarok: BEGIN: QStringList MediaDeviceMonitor::getDevices() amarok: BEGIN: void MediaDeviceCache::refreshCache() amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageAccess with udi = "/org/freedesktop/UDisks/devices/sda1" amarok: [MediaDeviceCache] Device name is = "boot" and was made by "ATA" amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageDrive with udi = "/org/freedesktop/UDisks/devices/sda" amarok: [MediaDeviceCache] Device name is = "Corsair CMFSSD-128D1" and was made by "ATA" amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageDrive with udi = "/org/freedesktop/UDisks/devices/sr0" amarok: [MediaDeviceCache] Device name is = "CDDVDW TS-L633Y" and was made by "TSSTcorp" amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageDrive with udi = "/org/freedesktop/UDisks/devices/sdb" amarok: [MediaDeviceCache] Device name is = "Multi-Card" and was made by "Generic-" amarok: END__: void MediaDeviceCache::refreshCache() [Took: 0.16s] amarok: END__: QStringList MediaDeviceMonitor::getDevices() [Took: 0.16s] amarok: BEGIN: virtual bool MtpConnectionAssistant::identify(const QString&) amarok: Not a PMP amarok: END__: virtual bool MtpConnectionAssistant::identify(const QString&) [Took: 0s] amarok: BEGIN: virtual bool MtpConnectionAssistant::identify(const QString&) amarok: Not a PMP amarok: END__: virtual bool MtpConnectionAssistant::identify(const QString&) [Took: 0s] amarok: BEGIN: virtual bool MtpConnectionAssistant::identify(const QString&) amarok: Not a PMP amarok: END__: virtual bool MtpConnectionAssistant::identify(const QString&) [Took: 0s] amarok: BEGIN: virtual bool MtpConnectionAssistant::identify(const QString&) amarok: Not a PMP amarok: END__: virtual bool MtpConnectionAssistant::identify(const QString&) [Took: 0s] amarok: END__: void MediaDeviceMonitor::checkDevicesFor(ConnectionAssistant*) [Took: 0.16s] amarok: END__: void MediaDeviceMonitor::registerDeviceType(ConnectionAssistant*) [Took: 0.16s] amarok: [CollectionManager] initializing "amarok_collection-umscollection" amarok: BEGIN: void MediaDeviceMonitor::registerDeviceType(ConnectionAssistant*) amarok: END__: void MediaDeviceMonitor::registerDeviceType(ConnectionAssistant*) [Took: 0s] amarok: END__: void CollectionManager::loadPlugins(const QList<Collections::CollectionFactory*>&) [Took: 1.1s] amarok: END__: void CollectionManager::init(const QList<Plugins::PluginFactory*>&) [Took: 1.1s] amarok: [BrowserCategoryList] BrowserCategoryList named "internet" starting... amarok: BEGIN: BrowserCategoryListDelegate::BrowserCategoryListDelegate(QTreeView*) amarok: END__: BrowserCategoryListDelegate::BrowserCategoryListDelegate(QTreeView*) [Took: 0s] amarok: [BrowserCategoryList] We are sorting!! amarok: ServiceBrowser starting... amarok: BEGIN: ServicePluginManager::ServicePluginManager(QObject*) amarok: END__: ServicePluginManager::ServicePluginManager(QObject*) [Took: 0s] amarok: [PluginManager] created factory for plugin "amarok_service_lastfm" type: "Service" amarok: BEGIN: void ServicePluginManager::init(const QList<Plugins::PluginFactory*>&) amarok: [ServicePluginManager] PLUGIN CHECK: "amarok_service_lastfm" amarok: BEGIN: void ServicePluginManager::initFactory(ServiceFactory*) amarok: [ServicePluginManager] initializing: "amarok_service_lastfm" QDBusConnection: name 'org.kde.kwalletd' had owner '' but we thought it was ':1.92' amarok: BEGIN: virtual int App::newInstance() amarok: BEGIN: static void App::handleCliArgs() amarok: END__: static void App::handleCliArgs() [Took: 0s] amarok: END__: virtual int App::newInstance() [Took: 0s] amarok: [WARNING] [MountPointManager] NOT-IMPLEMENTED: void MountPointManager::startStatisticsUpdateJob() amarok: [MediaDeviceCache] accessibility of device "" has changed to accessible = true amarok: BEGIN: void MountPointManager::deviceAdded(const QString&) amarok: [MountPointManager] looking for udi "" amarok: [MountPointManager] Did not find device from Solid for udi "" amarok: END__: void MountPointManager::deviceAdded(const QString&) [Took: 0.047s] amarok: BEGIN: void MediaDeviceMonitor::deviceAdded(const QString&) amarok: BEGIN: void MediaDeviceMonitor::checkDevice(const QString&) amarok: BEGIN: virtual bool AudioCdConnectionAssistant::identify(const QString&) amarok: END__: virtual bool AudioCdConnectionAssistant::identify(const QString&) [Took: 0s] amarok: BEGIN: virtual bool IpodConnectionAssistant::identify(const QString&) amarok: Device udi: "" amarok: Device name: "ERR_NO_NAME" amarok: BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const amarok: [MediaDeviceCache] Not able to convert to StorageAccess or not accessible, returning empty amarok: END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const [Took: 0s] amarok: Mount point: "" amarok: END__: virtual bool IpodConnectionAssistant::identify(const QString&) [Took: 0s] amarok: BEGIN: virtual bool MtpConnectionAssistant::identify(const QString&) amarok: Not a PMP amarok: END__: virtual bool MtpConnectionAssistant::identify(const QString&) [Took: 0s] amarok: BEGIN: virtual bool UmsConnectionAssistant::identify(const QString&) amarok: Device udi: "" amarok: Device name: "ERR_NO_NAME" amarok: BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const amarok: [MediaDeviceCache] Not able to convert to StorageAccess or not accessible, returning empty amarok: END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const [Took: 0s] amarok: Mount point: "" amarok: BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const amarok: [MediaDeviceCache] Not able to convert to StorageAccess or not accessible, returning empty amarok: END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const [Took: 0s] amarok: END__: virtual bool UmsConnectionAssistant::identify(const QString&) [Took: 0s] amarok: END__: void MediaDeviceMonitor::checkDevice(const QString&) [Took: 0s] amarok: END__: void MediaDeviceMonitor::deviceAdded(const QString&) [Took: 0.002s] amarok: BEGIN: ServiceBase::ServiceBase(const QString&, ServiceFactory*, bool, const QString&) amarok: END__: ServiceBase::ServiceBase(const QString&, ServiceFactory*, bool, const QString&) [Took: 0.001s] amarok: BEGIN: LastFmService::LastFmService(LastFmServiceFactory*, const QString&, const QString&, QString, const QString&, bool, bool) amarok: [LastFmService] username: "Rudd-O" amarok: [LastFmService] using saved sessionkey from last.fm HTTP GET nothankyouthisismine amarok: BEGIN: ScrobblerAdapter::ScrobblerAdapter(QObject*, const QString&) amarok: END__: ScrobblerAdapter::ScrobblerAdapter(QObject*, const QString&) [Took: 0s] amarok: BEGIN: static void Dynamic::CustomBias::registerNewBiasFactory(Dynamic::CustomBiasEntryFactory*) amarok: [CustomBias] new factory of type: "Last.Fm Similar Artists" "lastfm_similarartists" amarok: END__: static void Dynamic::CustomBias::registerNewBiasFactory(Dynamic::CustomBiasEntryFactory*) [Took: 0s] amarok: BEGIN: static void Dynamic::CustomBias::registerNewBiasFactory(Dynamic::CustomBiasEntryFactory*) amarok: [CustomBias] new factory of type: "Weekly Top Artists" "lastfm_weeklytop" amarok: END__: static void Dynamic::CustomBias::registerNewBiasFactory(Dynamic::CustomBiasEntryFactory*) [Took: 0s] amarok: BEGIN: virtual LastFmServiceConfig::~LastFmServiceConfig() amarok: END__: virtual LastFmServiceConfig::~LastFmServiceConfig() [Took: 0s] amarok: END__: LastFmService::LastFmService(LastFmServiceFactory*, const QString&, const QString&, QString, const QString&, bool, bool) [Took: 0.063s] amarok: BEGIN: virtual LastFmServiceConfig::~LastFmServiceConfig() amarok: END__: virtual LastFmServiceConfig::~LastFmServiceConfig() [Took: 0s] amarok: BEGIN: void ServicePluginManager::slotNewService(ServiceBase*) amarok: [ServicePluginManager] new service: "Last.fm" amarok: END__: void ServicePluginManager::slotNewService(ServiceBase*) [Took: 0s] amarok: END__: void ServicePluginManager::initFactory(ServiceFactory*) [Took: 0.74s] amarok: END__: void ServicePluginManager::init(const QList<Plugins::PluginFactory*>&) [Took: 0.74s] amarok: [PluginManager] created factory for plugin "amarok_device_massstorage" type: "Device" amarok: [PluginManager] created factory for plugin "amarok_device_nfs" type: "Device" amarok: [PluginManager] created factory for plugin "amarok_device_smb" type: "Device" amarok: BEGIN: void MountPointManager::loadDevicePlugins(const QList<Plugins::PluginFactory*>&) amarok: [MountPointManager] initializing: "amarok_device_massstorage" amarok: BEGIN: void MountPointManager::createHandlerFromDevice(const Solid::Device&, const QString&) amarok: [MountPointManager] Device added and mounted, checking handlers amarok: BEGIN: virtual bool MassStorageDeviceHandlerFactory::canHandle(const Solid::Device&) const amarok: [MassStorageDeviceHandler] volume is ignored amarok: END__: virtual bool MassStorageDeviceHandlerFactory::canHandle(const Solid::Device&) const [Took: 0.003s] amarok: [MountPointManager] Factory can't handle device "/org/freedesktop/UDisks/devices/sda1" amarok: END__: void MountPointManager::createHandlerFromDevice(const Solid::Device&, const QString&) [Took: 0.004s] amarok: [MountPointManager] initializing: "amarok_device_nfs" amarok: BEGIN: void MountPointManager::createHandlerFromDevice(const Solid::Device&, const QString&) amarok: [MountPointManager] Device added and mounted, checking handlers amarok: BEGIN: virtual bool MassStorageDeviceHandlerFactory::canHandle(const Solid::Device&) const amarok: [MassStorageDeviceHandler] volume is ignored amarok: END__: virtual bool MassStorageDeviceHandlerFactory::canHandle(const Solid::Device&) const [Took: 0s] amarok: [MountPointManager] Factory can't handle device "/org/freedesktop/UDisks/devices/sda1" amarok: BEGIN: virtual bool NfsDeviceHandlerFactory::canHandle(const Solid::Device&) const amarok: END__: virtual bool NfsDeviceHandlerFactory::canHandle(const Solid::Device&) const [Took: 0.003s] amarok: [MountPointManager] Factory can't handle device "/org/freedesktop/UDisks/devices/sda1" amarok: END__: void MountPointManager::createHandlerFromDevice(const Solid::Device&, const QString&) [Took: 0.003s] amarok: [MountPointManager] initializing: "amarok_device_smb" amarok: BEGIN: void MountPointManager::createHandlerFromDevice(const Solid::Device&, const QString&) amarok: [MountPointManager] Device added and mounted, checking handlers amarok: BEGIN: virtual bool MassStorageDeviceHandlerFactory::canHandle(const Solid::Device&) const amarok: [MassStorageDeviceHandler] volume is ignored amarok: END__: virtual bool MassStorageDeviceHandlerFactory::canHandle(const Solid::Device&) const [Took: 0s] amarok: [MountPointManager] Factory can't handle device "/org/freedesktop/UDisks/devices/sda1" amarok: BEGIN: virtual bool NfsDeviceHandlerFactory::canHandle(const Solid::Device&) const amarok: END__: virtual bool NfsDeviceHandlerFactory::canHandle(const Solid::Device&) const [Took: 0s] amarok: [MountPointManager] Factory can't handle device "/org/freedesktop/UDisks/devices/sda1" amarok: BEGIN: virtual bool SmbDeviceHandlerFactory::canHandle(const Solid::Device&) const amarok: END__: virtual bool SmbDeviceHandlerFactory::canHandle(const Solid::Device&) const [Took: 0s] amarok: [MountPointManager] Factory can't handle device "/org/freedesktop/UDisks/devices/sda1" amarok: END__: void MountPointManager::createHandlerFromDevice(const Solid::Device&, const QString&) [Took: 0.001s] amarok: END__: void MountPointManager::loadDevicePlugins(const QList<Plugins::PluginFactory*>&) [Took: 0.057s] amarok: END__: Plugins::PluginManager::PluginManager(QObject*) [Took: 2.4s] amarok: BEGIN: Playlist::ModelStack::ModelStack() amarok: BEGIN: Playlist::Model::Model(QObject*) amarok: END__: Playlist::Model::Model(QObject*) [Took: 0s] amarok: BEGIN: Playlist::Controller::Controller(Playlist::AbstractModel*, Playlist::AbstractModel*, QObject*) amarok: END__: Playlist::Controller::Controller(Playlist::AbstractModel*, Playlist::AbstractModel*, QObject*) [Took: 0s] amarok: END__: Playlist::ModelStack::ModelStack() [Took: 0.001s] amarok: BEGIN: void StatusBar::updateTotalPlaylistLength() amarok: END__: void StatusBar::updateTotalPlaylistLength() [Took: 0s] amarok: BEGIN: void Playlist::Actions::playlistModeChanged() amarok: [Playlist::Actions] Dynamic mode: false amarok: END__: void Playlist::Actions::playlistModeChanged() [Took: 0s] amarok: BEGIN: void Playlist::Actions::restoreDefaultPlaylist() amarok: BEGIN: KConfigSyncRelStore::KConfigSyncRelStore() amarok: END__: KConfigSyncRelStore::KConfigSyncRelStore() [Took: 0s] amarok: creating Podcast Tables amarok: BEGIN: void Playlists::SqlUserPlaylistProvider::checkTables() amarok: BEGIN: void Playlists::SqlUserPlaylistProvider::createTables() amarok: END__: void Playlists::SqlUserPlaylistProvider::createTables() [Took: 0.049s] amarok: END__: void Playlists::SqlUserPlaylistProvider::checkTables() [Took: 0.05s] amarok: BEGIN: virtual void Playlists::PlaylistFileProvider::loadPlaylists()
table devices is always empty, zero rows.
Peter, could you have a look at that again, please?
Manuel, Your devices table definitely shouldn't be empty if solid is detecting all your mounts. Please post the output of "solid-hardware query 'IS StorageAccess'".
~@karen.dragonfear α: solid-hardware list udi = '/org/kde/solid/udev/sys/devices/LNXSYSTM:00/LNXCPU:00' udi = '/org/kde/solid/udev/sys/devices/LNXSYSTM:00/LNXCPU:01' udi = '/org/kde/solid/udev/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.0/video4linux/video0' udi = '/org/kde/solid/udev/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0' udi = '/org/kde/solid/udev/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0c' udi = '/org/kde/solid/udev/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0p' udi = '/org/kde/solid/udev/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/controlC0' udi = '/org/kde/solid/udev/sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0' udi = '/org/kde/solid/udev/sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0' udi = '/org/kde/solid/udev/sys/devices/platform/serial8250/tty/ttyS0' udi = '/org/kde/solid/udev/sys/devices/platform/serial8250/tty/ttyS1' udi = '/org/kde/solid/udev/sys/devices/platform/serial8250/tty/ttyS2' udi = '/org/kde/solid/udev/sys/devices/platform/serial8250/tty/ttyS3' udi = '/org/kde/solid/udev/sys/devices/virtual/net/lo' udi = '/org/kde/solid/udev/sys/devices/virtual/sound/seq' udi = '/org/kde/solid/udev/sys/devices/virtual/sound/timer' udi = '/org/freedesktop/UDisks' udi = '/org/freedesktop/UDisks/devices/sda1' udi = '/org/freedesktop/UDisks/devices/sda3' udi = '/org/freedesktop/UDisks/devices/sda' udi = '/org/freedesktop/UDisks/devices/sr0' udi = '/org/freedesktop/UDisks/devices/sdb' udi = '/org/freedesktop/UDisks/devices/sda2' udi = '/org/freedesktop/UPower' udi = '/org/freedesktop/UPower/devices/line_power_ADP0' udi = '/org/freedesktop/UPower/devices/battery_BAT0' ~@karen.dragonfear α: solid-hardware query 'IS StorageAccess' udi = '/org/freedesktop/UDisks/devices/sda1' Oh, did I mention that sda1 is a member of a ZFS zpool? It should be irrelevant because the music is on an NFS volume: paola.local:/export/shared on /var/shared type nfs (rw,sync,noatime,vers=3,retry=0,bg,addr=10.254.102.1) which is not known by solid volume list either.
sorry, it's the /boot ~@karen.dragonfear α: solid-hardware details /org/freedesktop/UDisks/devices/sda1 udi = '/org/freedesktop/UDisks/devices/sda1' parent = '/org/freedesktop/UDisks/devices/sda' (string) vendor = 'ATA' (string) product = 'boot' (string) description = 'boot' (string) Block.major = 8 (0x8) (int) Block.minor = 1 (0x1) (int) Block.device = '/dev/sda1' (string) StorageAccess.accessible = true (bool) StorageAccess.filePath = '/boot' (string) StorageAccess.ignored = true (bool) StorageVolume.ignored = true (bool) StorageVolume.usage = 'FileSystem' (0x2) (enum) StorageVolume.fsType = 'ext4' (string) StorageVolume.label = 'boot' (string) StorageVolume.uuid = '4a8ee6a2-1a51-46f7-9d21-2994d78a489e' (string) StorageVolume.size = 1072693248 (0x3ff00000) (qulonglong)
~@karen.dragonfear α: solid-hardware details /org/freedesktop/UDisks/devices/sda2 udi = '/org/freedesktop/UDisks/devices/sda2' parent = '/org/freedesktop/UDisks/devices/sda' (string) vendor = 'ATA' (string) product = 'laptop' (string) description = 'laptop' (string) Block.major = 8 (0x8) (int) Block.minor = 2 (0x2) (int) Block.device = '/dev/sda2' (string) StorageVolume.ignored = false (bool) StorageVolume.usage = 'Raid' (0x4) (enum) StorageVolume.fsType = 'zfs_member' (string) StorageVolume.label = 'laptop' (string) StorageVolume.uuid = '12073240541144758459' (string) StorageVolume.size = 122666614784 (0x1c8f800000) (qulonglong)
~@karen.dragonfear α: cat /etc/fstab # # /etc/fstab # Created by anaconda on Mon Oct 19 09:28:44 2009 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or vol_id(8) for more info # laptop / zfs defaults 0 0 /dev/sda1 /boot ext4 noatime 1 2 /dev/sda3 swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 tmpfs /tmp tmpfs noexec,nosuid,noatime 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 cgroup /sys/fs/cgroup proc defaults 0 0 paola.local:/export/shared /var/shared nfs _netdev,vers=3,retry=0,bg,sync,noatime 0 0 #paola.local:/shared /var/shared nfs _netdev,vers=4,retry=0,bg,sync,noatime,rsize=1024,wsize=1024 0 0 #//paola.local/shared /var/shared cifs _netdev,serverino,credentials=/home/rudd-o/.sharedpassword 0 0 #//10.254.102.4/iTunes /media/iPod cifs user,noauto,credentials=/home/rudd-o/.ipodpassword,uid=rudd-o,gid=rudd-o #//iphone3gs/iTunes /media/iPod cifs user,noauto,credentials=/home/rudd-o/.ipodpassword,uid=rudd-o,gid=rudd-o # sshfs#mobile@iphone:/var/mobile/Media /media/iPod fuse user,noauto,umask=077,fsname=sshfs#mobile@iphone:/var/mobile/Media #10.254.102.1:/home /home nfs4 _netdev 0 0 #10.254.102.1:/export/home /home nfs _netdev 0 0 #//10.254.102.1/shared /var/shared cifs noserverino,_netdev,credentials=/home/rudd-o/.sharedpassword 0 0 //10.254.102.10/sdcard /media/android cifs user,noauto,credentials=/home/rudd-o/.androidpassword,uid=rudd-o,gid=rudd-o,nounix ~@karen.dragonfear α: cat /etc/mtab proc /proc proc rw 0 0 sysfs /sys sysfs rw 0 0 devpts /dev/pts devpts rw,gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs rw 0 0 /dev/sda1 /boot ext4 rw,noatime 0 0 tmpfs /tmp tmpfs rw,noexec,nosuid,noatime 0 0 cgroup /sys/fs/cgroup proc rw 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0 laptop / zfs rw 0 0 laptop/home /home zfs rw 0 0 laptop/home/rudd-o /home/rudd-o zfs rw 0 0 laptop/home/rudd-o/.wine /home/rudd-o/.wine zfs rw 0 0 laptop/home/rudd-o/Imagenes /home/rudd-o/Imágenes zfs rw 0 0 laptop/home/rudd-o/Personal /home/rudd-o/Personal zfs rw 0 0 laptop/home/rudd-o/Projects /home/rudd-o/Projects zfs rw 0 0 laptop/home/rudd-o/Virtual\040machines /home/rudd-o/Virtual\040machines zfs rw 0 0 laptop/home/rudd-o/download /home/rudd-o/download zfs rw 0 0 laptop/home/rudd-o/tmp /home/rudd-o/tmp zfs rw 0 0 laptop/opt /opt zfs rw 0 0 laptop/usr/lib/debug /usr/lib/debug zfs rw 0 0 laptop/usr/local /usr/local zfs rw 0 0 laptop/usr/share/doc /usr/share/doc zfs rw 0 0 laptop/usr/share/javadoc /usr/share/javadoc zfs rw 0 0 laptop/usr/src /usr/src zfs rw 0 0 laptop/var/cache /var/cache zfs rw 0 0 laptop/var/spool /var/spool zfs rw 0 0 sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0 /proc/bus/usb /proc/bus/usb usbfs rw,devgid=1011,devmode=664 0 0 paola.local:/export/shared /var/shared nfs rw,sync,noatime,vers=3,retry=0,bg,addr=10.254.102.1 0 0 fusectl /sys/fs/fuse/connections fusectl rw 0 0 gvfs-fuse-daemon /home/rudd-o/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,user=rudd-o 0 0 ~@karen.dragonfear α: cat /proc/mounts rootfs / rootfs rw 0 0 /proc /proc proc rw,relatime 0 0 /sys /sys sysfs rw,relatime 0 0 udev /dev devtmpfs rw,relatime,size=1469504k,nr_inodes=367376,mode=755 0 0 devpts /dev/pts devpts rw,relatime,gid=5,mode=620,ptmxmode=000 0 0 tmpfs /dev/shm tmpfs rw,relatime 0 0 laptop / zfs rw,relatime,xattr 0 0 none /selinux selinuxfs rw,relatime 0 0 udev /dev devtmpfs rw,relatime,size=1469504k,nr_inodes=367376,mode=755 0 0 /proc/bus/usb /proc/bus/usb usbfs rw,relatime,devgid=1011,devmode=664 0 0 /dev/sda1 /boot ext4 rw,noatime,barrier=1,data=ordered 0 0 tmpfs /tmp tmpfs rw,nosuid,noexec,noatime 0 0 cgroup /sys/fs/cgroup proc rw,relatime 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0 laptop/home /home zfs rw,relatime,xattr 0 0 laptop/home/rudd-o /home/rudd-o zfs rw,relatime,xattr 0 0 laptop/home/rudd-o/.wine /home/rudd-o/.wine zfs rw,relatime,xattr 0 0 laptop/home/rudd-o/Imagenes /home/rudd-o/Imágenes zfs rw,relatime,xattr 0 0 laptop/home/rudd-o/Personal /home/rudd-o/Personal zfs rw,relatime,xattr 0 0 laptop/home/rudd-o/Projects /home/rudd-o/Projects zfs rw,relatime,xattr 0 0 laptop/home/rudd-o/Virtual\040machines /home/rudd-o/Virtual\040machines zfs rw,relatime,xattr 0 0 laptop/home/rudd-o/download /home/rudd-o/download zfs rw,relatime,xattr 0 0 laptop/home/rudd-o/tmp /home/rudd-o/tmp zfs rw,relatime,xattr 0 0 laptop/opt /opt zfs rw,relatime,xattr 0 0 laptop/usr/lib/debug /usr/lib/debug zfs rw,relatime,xattr 0 0 laptop/usr/local /usr/local zfs rw,relatime,xattr 0 0 laptop/usr/share/doc /usr/share/doc zfs rw,relatime,xattr 0 0 laptop/usr/share/javadoc /usr/share/javadoc zfs rw,relatime,xattr 0 0 laptop/usr/src /usr/src zfs rw,relatime,xattr 0 0 laptop/var/cache /var/cache zfs rw,relatime,xattr 0 0 laptop/var/spool /var/spool zfs rw,relatime,xattr 0 0 sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0 paola.local:/export/shared /var/shared nfs rw,sync,noatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.254.102.1,mountvers=3,mountport=2049,mountproto=udp,local_lock=none,addr=10.254.102.1 0 0 fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0 gvfs-fuse-daemon /home/rudd-o/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,relatime,user_id=501,group_id=501 0 0 paola.local:/export/shared/Entertainment /var/shared/Entertainment nfs rw,noatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountproto=,local_lock=none,addr=10.254.102.1 0 0 paola.local:/export/shared/Entertainment/Music /var/shared/Entertainment/Music nfs rw,noatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountproto=,local_lock=none,addr=10.254.102.1 0 0 paola.local:/export/shared/Software /var/shared/Software nfs rw,noatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountproto=,local_lock=none,addr=10.254.102.1 0 0 paola.local:/export/shared/Knowledge /var/shared/Knowledge nfs rw,noatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountproto=,local_lock=none,addr=10.254.102.1 0 0 paola.local:/export/shared/Incoming /var/shared/Incoming nfs rw,noatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountproto=,local_lock=none,addr=10.254.102.1 0 0 paola.local:/export/shared/Entertainment/Miro /var/shared/Entertainment/Miro nfs rw,noatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountproto=,local_lock=none,addr=10.254.102.1 0 0 paola.local:/export/shared/Entertainment/Movies /var/shared/Entertainment/Movies nfs rw,noatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountproto=,local_lock=none,addr=10.254.102.1 0 0 paola.local:/export/shared/Entertainment/TV /var/shared/Entertainment/TV nfs rw,noatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountproto=,local_lock=none,addr=10.254.102.1 0 0 paola.local:/export/shared/Entertainment/Jokes /var/shared/Entertainment/Jokes nfs rw,noatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountproto=,local_lock=none,addr=10.254.102.1 0 0
amarok: BEGIN: void MediaDeviceMonitor::checkDevicesFor(ConnectionAssistant*) amarok: BEGIN: QStringList MediaDeviceMonitor::getDevices() amarok: BEGIN: void MediaDeviceCache::refreshCache() amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageAccess with udi = "/org/freedesktop/UDisks/devices/sda1" amarok: [MediaDeviceCache] Device name is = "boot" and was made by "ATA" amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageDrive with udi = "/org/freedesktop/UDisks/devices/sda" amarok: [MediaDeviceCache] Device name is = "Corsair CMFSSD-128D1" and was made by "ATA" amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageDrive with udi = "/org/freedesktop/UDisks/devices/sr0" amarok: [MediaDeviceCache] Device name is = "CDDVDW TS-L633Y" and was made by "TSSTcorp" amarok: [MediaDeviceCache] Found Solid::DeviceInterface::StorageDrive with udi = "/org/freedesktop/UDisks/devices/sdb" amarok: [MediaDeviceCache] Device name is = "Multi-Card" and was made by "Generic-" amarok: END__: void MediaDeviceCache::refreshCache() [Took: 0.34s] amarok: END__: QStringList MediaDeviceMonitor::getDevices() [Took: 0.34s] amarok: BEGIN: virtual bool UmsConnectionAssistant::identify(const QString&) amarok: Device udi: "/org/freedesktop/UDisks/devices/sda" amarok: Device name: "ATA - Corsair CMFSSD-128D1" amarok: BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const amarok: [MediaDeviceCache] Not able to convert to StorageAccess or not accessible, returning empty amarok: END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const [Took: 0.001s] amarok: Mount point: "" amarok: vendor: "ATA" , product: "Corsair CMFSSD-128D1" amarok: BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const amarok: [MediaDeviceCache] Not able to convert to StorageAccess or not accessible, returning empty amarok: END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const [Took: 0s] amarok: END__: virtual bool UmsConnectionAssistant::identify(const QString&) [Took: 0.002s] amarok: BEGIN: virtual bool UmsConnectionAssistant::identify(const QString&) amarok: Device udi: "/org/freedesktop/UDisks/devices/sda1" amarok: Device name: "/boot" amarok: BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const amarok: END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const [Took: 0s] amarok: Mount point: "/boot" amarok: vendor: "ATA" , product: "boot" amarok: BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const amarok: END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const [Took: 0s] amarok: END__: virtual bool UmsConnectionAssistant::identify(const QString&) [Took: 0.003s] amarok: BEGIN: virtual bool UmsConnectionAssistant::identify(const QString&) amarok: Device udi: "/org/freedesktop/UDisks/devices/sdb" amarok: Device name: "Generic- - Multi-Card" amarok: BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const amarok: [MediaDeviceCache] Not able to convert to StorageAccess or not accessible, returning empty amarok: END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const [Took: 0.001s] amarok: Mount point: "" amarok: vendor: "Generic-" , product: "Multi-Card" amarok: BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const amarok: [MediaDeviceCache] Not able to convert to StorageAccess or not accessible, returning empty amarok: END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const [Took: 0s] amarok: END__: virtual bool UmsConnectionAssistant::identify(const QString&) [Took: 0.002s] amarok: BEGIN: virtual bool UmsConnectionAssistant::identify(const QString&) amarok: Device udi: "/org/freedesktop/UDisks/devices/sr0" amarok: Device name: "TSSTcorp - CDDVDW TS-L633Y" amarok: BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const amarok: [MediaDeviceCache] Not able to convert to StorageAccess or not accessible, returning empty amarok: END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const [Took: 0.001s] amarok: Mount point: "" amarok: vendor: "TSSTcorp" , product: "CDDVDW TS-L633Y" amarok: BEGIN: const QString MediaDeviceCache::volumeMountPoint(const QString&) const amarok: [MediaDeviceCache] Not able to convert to StorageAccess or not accessible, returning empty amarok: END__: const QString MediaDeviceCache::volumeMountPoint(const QString&) const [Took: 0s] amarok: END__: virtual bool UmsConnectionAssistant::identify(const QString&) [Took: 0.002s] amarok: END__: void MediaDeviceMonitor::checkDevicesFor(ConnectionAssistant*) [Took: 0.35s] amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*) amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s] "OK
amarok: Selected collection folders: ("/var/shared/Entertainment/Music/Good/Albums and singles", "/var/shared/Entertainment/Music/Good/Compilations", "/var/shared/Entertainment/Music/Good/Mixes and mashups", "/var/shared/Entertainment/Music/Rejected/Damaged", "/var/shared/Entertainment/Music/Rejected/Incomplete", "/var/shared/Entertainment/Music/Rejected/Poor quality", "/var/shared/Entertainment/Music/Unsorted/Uncut albums", "/var/shared/Entertainment/Music/Unsorted/Untagged albums", "/var/shared/Entertainment/Music/Unsorted/Untagged tracks") amarok: MountPointManager collection folders: ("/home/rudd-o") amarok: BEGIN: virtual void ScannerJob::run()
Manuel, Seems your problem is solid-related. I'm not sure why solid can't see your NFS mount, but since Amarok queries solid for mounts, there's no much I can do about it. Could you delete .kde/share/config/amarok* and .kde/share/apps/amarok/ and try again with a fresh Amarok config? Then could you post the output of "amarok -d" as a patch rather than a LONG post? Thanks
I already tried with a fresh Amarok configuration. No difference. Can you give me solid-related pointers or ideas to try?
reported bug against solid.
solid bug report: https://bugs.kde.org/show_bug.cgi?id=269301
Manuel, do you have HAL installed? What distro are you using? I remember reading somewhere about HAL & SOLID working together.
Yes, I have hal, and hald running. hal will be deprecated, fyi. Anyway, hal-device | grep udi only presents physical devices. It does not present anything related to NFS or CIFS mounts. ~@karen.dragonfear α: lshal | grep -i mount info.callouts.add = {'hal-storage-cleanup-all-mountpoints'} (string list) storage.automount_enabled_hint = true (bool) storage.automount_enabled_hint = true (bool) volume.is_mounted = false (bool) volume.is_mounted_read_only = false (bool) volume.mount_point = '' (string) volume.is_mounted = false (bool) volume.is_mounted_read_only = false (bool) volume.mount_point = '' (string) org.freedesktop.Hal.Device.Volume.method_argnames = {'mount_point fstype extra_options', 'extra_options', 'extra_options'} (string list) org.freedesktop.Hal.Device.Volume.method_execpaths = {'hal-storage-mount', 'hal-storage-unmount', 'hal-storage-eject'} (string list) org.freedesktop.Hal.Device.Volume.method_names = {'Mount', 'Unmount', 'Eject'} (string list) volume.is_mounted = true (bool) volume.is_mounted_read_only = false (bool) volume.mount.valid_options = {'ro', 'sync', 'dirsync', 'noatime', 'nodiratime', 'relatime', 'noexec', 'quiet', 'remount', 'exec'} (string list) volume.mount_point = '/boot' (string) volume.unmount.valid_options = {'lazy'} (string list) storage.automount_enabled_hint = true (bool) ------------------------------------ in Fedora 14, which is what I use, knowledge of disks is the dominion of udisks: ~@karen.dragonfear α: udisks --enumerate /org/freedesktop/UDisks/devices/sda3 /org/freedesktop/UDisks/devices/zd0 /org/freedesktop/UDisks/devices/sda /org/freedesktop/UDisks/devices/sr0 /org/freedesktop/UDisks/devices/sda1 /org/freedesktop/UDisks/devices/sdb /org/freedesktop/UDisks/devices/sda2 Again, udisks does not say anything about NFS or CIFS mounts. Hey, look at that: http://mail.kde.org/pipermail/nepomuk/2010-June/000476.html Whaddya know...
Moar: http://mail.kde.org/pipermail/nepomuk/2010-June/000477.html Not working as planned, apparently... there is a bug in libsolid that does not report NFS and CIFS mounts. Also there is no commandline tool for solid to list those -- it only enumerates network devices and disk devices.
What version of KDE are you using? On KDE4.6 I have this: # solid-hardware query 'IS StorageAccess' udi = '/org/freedesktop/UDisks/devices/sda4' udi = '/org/freedesktop/UDisks/devices/sda5' udi = '/org/freedesktop/UDisks/devices/sda7' udi = '/org/freedesktop/UDisks/devices/sda8' udi = '/org/freedesktop/UDisks/devices/sda1' udi = '/org/freedesktop/UDisks/devices/sda2' udi = '/org/kde/fstab///pegasus.softedge.co.ug/music' udi = '/org/kde/fstab/pegasus.softedge.co.ug:/music' As you can see, both my NFS & SMB/CIFS mounts are listed. # solid-hardware details '/org/kde/fstab/pegasus.softedge.co.ug:/music' udi = '/org/kde/fstab/pegasus.softedge.co.ug:/music' parent = '/org/kde/fstab' (string) vendor = '/music' (string) product = 'pegasus.softedge.co.ug' (string) description = '/music on pegasus.softedge.co.ug' (string) StorageAccess.accessible = false (bool) StorageAccess.filePath = '/media/pegasus-music' (string) StorageAccess.ignored = false (bool)
KDE 4.6.1 ~@karen.dragonfear α: solid-hardware query 'IS StorageAccess' udi = '/org/freedesktop/UDisks/devices/zd0' udi = '/org/freedesktop/UDisks/devices/sda1' Nothing more :-S
Still does not work. Solid-hardware still does not return any NFS drives. I tried with a freshly created user, nothing, not even that, but now we know it is not my user profile. KDE 4.6.3.
Just for completeness sake: You did set the NFS drives to be mounted automatically, did you? See also KDE System settings -> Removable Devices
NFS and CIFS drives don't even SHOW UP on that device list. Regardless of what checkmarks I check there. And solid-hardware continues to not report them.
Then please report this to solid, Amarok only uses what the system provides.
I already did. Nobody cares, it seems.