Summary: | sys-apps/hal-0.5.9.1-r3: cdrom is not detected and doesn't send any events | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Dima Ryazanov <dima> |
Component: | [OLD] Core system | Assignee: | Project Gentopia <gentopia> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | kparent |
Priority: | High | ||
Version: | 2006.0 | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Dima Ryazanov
2007-11-22 03:06:20 UTC
Can you post the result of: hal-device `hal-find-by-property --key 'block.device' --string '/dev/hdc'` I got this output - both with and without a CD in the drive: udi = '/org/freedesktop/Hal/devices/storage_model_PIONEER_DVD_RW_DVR_108' storage.media_check_enabled = false (bool) storage.firmware_version = '1.10' (string) storage.removable.media_available = false (bool) storage.size = 0 (0x0) (uint64) storage.hotpluggable = false (bool) block.storage_device = '/org/freedesktop/Hal/devices/storage_model_PIONEER_DVD_RW_DVR_108' (string) storage.bus = 'ide' (string) block.major = 22 (0x16) (int) block.is_volume = false (bool) storage.drive_type = 'disk' (string) info.capabilities = { 'storage', 'block' } (string list) info.udi = '/org/freedesktop/Hal/devices/storage_model_PIONEER_DVD_RW_DVR_108' (string) storage.no_partitions_hint = false (bool) linux.hotplug_type = 3 (0x3) (int) storage.model = 'PIONEER_DVD-RW_DVR-108' (string) storage.originating_device = '/org/freedesktop/Hal/devices/pci_1106_571_ide_1_0' (string) storage.requires_eject = false (bool) linux.sysfs_path = '/sys/block/hdc' (string) storage.physical_device = '/org/freedesktop/Hal/devices/pci_1106_571_ide_1_0' (string) info.category = 'storage' (string) storage.automount_enabled_hint = true (bool) storage.removable = true (bool) info.parent = '/org/freedesktop/Hal/devices/pci_1106_571_ide_1_0' (string) block.device = '/dev/hdc' (string) block.minor = 0 (0x0) (int) storage.vendor = '' (string) Then I restarted hal, with the CD in the drive, and tried again. I started getting this (both with and without a CD): udi = '/org/freedesktop/Hal/devices/volume_label_Fedora_7_KDE_Live_i386' block.minor = 0 (0x0) (int) org.freedesktop.Hal.Device.Volume.method_names = { 'Mount', 'Unmount', 'Eject' } (string list) volume.ignore = false (bool) volume.label = 'Fedora-7-KDE-Live-i386' (string) info.capabilities = { 'volume', 'block' } (string list) volume.is_partition = false (bool) volume.mount_point = '' (string) info.category = 'volume' (string) info.product = 'Fedora-7-KDE-Live-i386' (string) volume.is_disc = false (bool) volume.is_mounted = false (bool) block.is_volume = true (bool) volume.linux.is_device_mapper = false (bool) block.storage_device = '/org/freedesktop/Hal/devices/storage_model_PIONEER_DVD_RW_DVR_108' (string) info.parent = '/org/freedesktop/Hal/devices/storage_model_PIONEER_DVD_RW_DVR_108' (string) volume.block_size = 2048 (0x800) (int) volume.num_blocks = 1405976 (0x157418) (int) volume.fsversion = '' (string) block.device = '/dev/hdc' (string) volume.uuid = '' (string) volume.fsusage = 'filesystem' (string) volume.is_mounted_read_only = false (bool) org.freedesktop.Hal.Device.Volume.method_argnames = { 'mount_point fstype extra_options', 'extra_options', 'extra_options' } (string list) info.interfaces = { 'org.freedesktop.Hal.Device.Volume' } (string list) storage.model = '' (string) volume.size = 719859712 (0x2ae83000) (uint64) info.udi = '/org/freedesktop/Hal/devices/volume_label_Fedora_7_KDE_Live_i386' (string) volume.mount.valid_options = { 'ro', 'sync', 'dirsync', 'noatime', 'nodiratime', 'noexec', 'quiet', 'remount', 'exec', 'utf8', 'uid=', 'mode=', 'iocharset=' } (string list) org.freedesktop.Hal.Device.Volume.method_signatures = { 'ssas', 'as', 'as' } (string list) block.major = 22 (0x16) (int) volume.fstype = 'iso9660' (string) org.freedesktop.Hal.Device.Volume.method_execpaths = { 'hal-storage-mount', 'hal-storage-unmount', 'hal-storage-eject' } (string list) volume.unmount.valid_options = { 'lazy' } (string list) linux.hotplug_type = 3 (0x3) (int) linux.sysfs_path = '/sys/block/hdc/fakevolume' (string) So it seems that HAL checks the state of the cdrom drive just once when it starts, and doesn't notice any changes. Also, usually after I reboot the computer HAL doesn't mention "hdc" at all. (Maybe because I compiled ide-cd as a module, so it may not load soon enough?) storage.media_check_enabled = false (bool) is the key piece of information here. You have manually configured HAL not to check for media. Your CD-ROM drive is detected just fine and HAL is behaving as you have instructed it. Now I say you have instructed it assuming that you don't have one of the very rare few drive models that is known to be broken with media detection and HAL is hardcoded to never allow checking that drive. Whether you used powertop (Intel's power usage tool) or whether you used hal-disable-polling or some other tool to disable it, I can't tell you. But the solution is simple: hal-disable-polling --enable-polling --device /dev/hdc And you'll be set. I don't think I've used any such tool... When I ran "hal-disable-polling --enable-polling --device /dev/hdc", I got: Cannot find fdi file /etc/hal/fdi/information/media-check-disable-storage_model_PIONEER_DVD_RW_DVR_108.fdi. Perhaps polling wasn't disabled using this tool? The /etc/hal/fdi/information/ directory doesn't have anything besides .keep_sys-apps_hal-0. Had the same problem. Enabling "legacy /proc/ide/ support" in the kernel solved the problem. It's under Device Drivers->ATA/ATAPI/MFM/RLL support. Hope this helps. Oh nice, that fixed it. Thanks! |