User:Skierpage/CD drive woes

From KDE UserBase Wiki
Revision as of 23:12, 16 August 2011 by Skierpage (talk | contribs) (add Udisks section)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Kubuntu 11.04 was working fine in one AMD64-bit PC. I swapped my hard drive into another PC, HP Pavilion a1012x, and it booted right up and everything works fine! Except... on the new PC no Device Actions trigger when I insert a data CD, music CD, or DVD into either of its CD-ROM drives.

I don't get the "Available Devices" menu of options to Open with File Manager/VLC /Dragon, and the USB icon says "No Devices Available". I have the usual rules for this in System Settings > Device Actions, but they don't fire.

Works

A music CD shows up fine in dolphin, device action "kioclient exec audiocd:/" works fine, vlc can File > Open Disk > /dev/cdrom1" fine...

Inserting a USB flash drive makes "Available Devices" appear with option to mount it.

Tried

I tried system settings -> removable devices > enable automatic mounting of removable media, didn't help

Solid!

Maybe some hardware didn't get reconfigured.

The problem seems to be in the Solid layer.

% solid-hardware list details
...
udi = '/org/freedesktop/UDisks/devices/sr0'
 parent = '/org/freedesktop/UDisks'  (string)
 vendor = 'HP'  (string)
 product = 'HP  DVD Writer 640'  (string)
 description = 'CD-RW/DVD±RW DL Drive'  (string)
 Block.major = 11  (0xb)  (int)
 Block.minor = 0  (0x0)  (int)
 Block.device = '/dev/sr0'  (string)
 StorageDrive.bus = 'Scsi'  (0x3)  (enum)
 StorageDrive.driveType = 'CdromDrive'  (0x1)  (enum)
 StorageDrive.removable = true  (bool)
 StorageDrive.hotpluggable = false  (bool)
 StorageDrive.inUse = false  (bool)
 StorageDrive.size = 572993536  (0x22273000)  (qulonglong)
 OpticalDrive.supportedMedia = 'Cdr|Cdrw|Dvd|Dvdr|Dvdrw|Dvdplusr|Dvdplusrw|Dvdplusdl'  (0x1df

) (flag)

 OpticalDrive.readSpeed = 0  (0x0)  (int)
 OpticalDrive.writeSpeed = 0  (0x0)  (int)
 OpticalDrive.writeSpeeds = {} (int list)
udi = '/org/freedesktop/UDisks/devices/sr0:media'
 parent = '/org/freedesktop/UDisks/devices/sr0'  (string)
 vendor = 'HP'  (string)
 product = 'HP  DVD Writer 640'  (string)
 description = 'CD-ROM'  (string)
 Block.major = 11  (0xb)  (int)
 Block.minor = 0  (0x0)  (int)
 Block.device = '/dev/sr0'  (string)
 StorageVolume.ignored = true  (bool)
 StorageVolume.usage = 'Other'  (0x0)  (enum)
 StorageVolume.fsType =   (string)
 StorageVolume.label =   (string)
 StorageVolume.uuid =   (string)
 StorageVolume.size = 572993536  (0x22273000)  (qulonglong)
 OpticalDisc.availableContent = 'Audio|Data'  (0x3)  (flag)
 OpticalDisc.discType = 'CdRom'  (0x0)  (enum)
 OpticalDisc.appendable = false  (bool)
 OpticalDisc.blank = false  (bool)
 OpticalDisc.rewritable = false  (bool)
 OpticalDisc.capacity = 572993536  (0x22273000)  (qulonglong)

Solid knows there's an Audio Optical Disc plugged in, but it's ignored, and the System Settings > Device Actions rules include "The devices Ignored must equal false".

How do I tell Solid not to ignore the storage volume?!

udisks

Solid is probably (?) talking to udisks, I have a process

udisks-daemon: polling /dev/sr1 /dev/sdg /dev/sdd /dev/sdc /dev/sdf /dev/sde /dev/sr0

I ran udisks --monitor-detail and when I inserted a music CD I got

changed:     /org/freedesktop/UDisks/devices/sr0
Showing information for /org/freedesktop/UDisks/devices/sr0
  native-path:                 /sys/devices/pci0000:00/0000:00:02.5/host1/target1:0:0/1:0:0:0/block/sr0
  device:                      11:0
  device-file:                 /dev/sr0
    presentation:              /dev/sr0
    by-id:                     /dev/disk/by-id/ata-HP_DVD_Writer_640_CNL854011C
    by-path:                   /dev/disk/by-path/pci-0000:00:02.5-scsi-1:0:0:0
  detected at:                 Fri 12 Aug 2011 01:45:08 PM PDT
  system internal:             0
  removable:                   1
  has media:                   1 (detected at Tue 16 Aug 2011 03:56:38 PM PDT)
    detects change:            1
    detection by polling:      1
    detection inhibitable:     1
    detection inhibited:       0
  is read only:                0
  is mounted:                  0
  mount paths:             
  mounted by uid:              0
  presentation hide:           0
  presentation nopolicy:       0
  presentation name:           
  presentation icon:           
  size:                        572993536
  block size:                  2048
  job underway:                no
  usage:                       
  type:                        
  version:                     
  uuid:                        
  label:                       
  optical disc:
    blank:                     0
    appendable:                0
    closed:                    0
    num tracks:                16
    num audio tracks:          16
    num sessions:              1
  drive:
    vendor:                    HP
    model:                     HP  DVD Writer 640
    revision:                  CS30
    serial:                    CNL854011C
    WWN:                       
    detachable:                0
    can spindown:              0
    rotational media:          Yes, unknown rate
    write-cache:               unknown
    ejectable:                 1
    adapter:                   /org/freedesktop/UDisks/adapters/0000_3a00_3a02_2e5
    ports:
      /org/freedesktop/UDisks/adapters/0000_3a00_3a02_2e5/host1
    similar devices:
    media:                     optical_cd
      compat:                  optical_cd optical_cd_r optical_cd_rw optical_dvd optical_dvd_plus_r optical_dvd_plus_r_dl optical_dvd_plus_rw optical_dvd_r optical_dvd_rw optical_mrw optical_mrw_w
    interface:                 scsi
    if speed:                  (unknown)
    ATA SMART:                 not available

Advanced probing on /dev/sr0 failed while reading block size

Bugs

This sounds similar to Launchpad bug 709868 "kde 4.6 device actions broken".

He has the StorageVolume.ignored = true. He comments

Ok... experimented a bit about how solid-hardware works and found what the latest problem is
One needs to create /media/cdrom0 by hand.
Solid does not manage mount points automatically creating dirs in media at need
Solid does not anymore mount by label... namely should have mounted as /media/CDSTOMPER35 but mounts as /media/cdrom0

But I have a /media/cdrom symlinks to /media/cdrom0 , so that's not it. I have /dev/cdrom1 and cdrom2 symlinking to /dev/sr0 and /dev/sr1. Do I need to create a /media/cdrom1 ?

I filed KDE Bug 280229 "Device Actions don't trigger for my CD-ROM drives, StorageVolume.ignored"

Another bug TODO: none of the links on solid.kde.org work, they just redirect to the home page.

Other

System Settings > Multimedia > Audio CDs > General > Specify CD Device is /dev/cdrom. I don't have this, I have /dev/cdrom1 and /dev/cdrom2. Should I change this or is it another bug that this is wrong?