Bug 201533
Summary: | SCSI (libata) CD/DVDs not handled properly by hal | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Robert Hancock <hancockrwd> | ||||||
Component: | hal | Assignee: | David Zeuthen <davidz> | ||||||
Status: | CLOSED NEXTRELEASE | QA Contact: | |||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | medium | ||||||||
Version: | 5 | CC: | akopps, davidz, graeme, mclasen, orion, phil | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | All | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2007-07-14 07:37:57 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Attachments: |
|
Description
Robert Hancock
2006-08-07 07:31:02 UTC
Correction, I believe it is the sysfs filename /sys/block/sr0 which is tripping it up due to ending in a number. Interesting. Does HEAD of the git master repo work as it should? It's easy to test, no need to 'make install', just git clone git://git.freedesktop.org/git/hal.git then ./autogen --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-policy-kit then 'make', then cd to hald/ and then ./run-hald.sh from there as root. Of course you need to 'service haldaemon stop' too. Thanks. No dice on compiling the git HEAD on FC5. Looks like it needs this new
libvolume_id library which is only in the development repo and seems to require
a glibc update to the development version which I don't really want to do..
checking for VOLUME_ID... configure: error: Package requirements (libvolume_id
>= 0.66) were not met:
No package 'libvolume_id' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables VOLUME_ID_CFLAGS
and VOLUME_ID_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
Info added I think I am observing the same problem. My PC has two SCSI optical drives. Hald does not recognize them: Aug 12 22:49:37 ping hald[13967]: 22:49:37.580 [I] hotplug.c:208: /sys/block/sr0 is a block device (devpath) Aug 12 22:49:37 ping hald[13967]: 22:49:37.592 [I] blockdev.c:637: block_add: sysfs_path=/sys/block/sr0 dev=/dev/scd0 is_part=1, parent=0x00000000 Aug 12 22:49:37 ping hald[13967]: 22:49:37.604 [I] blockdev.c:547: get_luks_uuid: device_file=/dev/scd0 Aug 12 22:49:37 ping hald[13967]: 22:49:37.624 [I] blockdev.c:673: Ignoring hotplug event - no parent Aug 12 22:49:37 ping hald[13967]: 22:49:37.635 [W] blockdev.c:1043: Not adding device object *** Bug 201150 has been marked as a duplicate of this bug. *** I see the same symptoms for a USB cd-writer (which uses the sr driver) - the relevant section in lshal is completely missing. (using hal-0.5.7.1-2.fc5). This worked correctly using a vanilla fc5 install, but became broken after update through yum. Created attachment 134760 [details]
Patch
This patch (mostly lifted from hal git) fixes the problem for me.
Comment on attachment 134760 [details]
Patch
This patch breaks automounting, no it's no good.
Created attachment 135616 [details]
Makes SCSI/SATA cdrom work again
This much simplier patch fixes the problem, and now automounting also works!
Please apply.
Is there anyone working on this bug?
Yes. I am though I have been busy with fc6 and D-Bus 1.0 lately. What exactly is your patch doing? It is saying if using the sr driver and we have a digit at the end it still is not a partition. Does this work for all disk types? Hi John. SOrry to push you a little bit ;-) Basically, the method of detecting cdroms has changed between hal-0.5.7 and hal-0.5.7.1. The newer hal assumes that a device node is a CDROM iff it does not end with a digit. That's fine for IDE drives (hda, hdb, etc), but SCSI and libata CDROMs use scd0, scd1, etc or sr0, src1. What happens is that SCSI CDROMs are detected as partionnable devices (they're not), and hal fails to put them in its device list since it cannot find any partitions. The patch just extends: if the device does not end in [0-9], then the "master" device (hda) is the partition itself to if the device does not end in [0-9], or if its class matches block/sr, then the master device (hda, or scd0/sr0) is the partition itself. I'm not sure what you mean by "working for all disk types". I've tested the patch successfully on a laptop with a SATA DVD-/+R DL drive and on a desktop with a SCSI CDROM drive. Both drives are now detected successfully, and automounting, DVD/CD burning etc works as before the 0.5.7.1 release. I can send the SRPM and i386/x86_64 packages to anyone else willing to test the changes. Email me. I'll patch tomorrow and send it out. Thanks for the work. Can you ping upstream with the patch or would you like me to do it if you are not already subscribed to the mailing list or bugzilla. Thanks. Thanks. I do not have a freedesktop bugzilla account. Please take care of sending it upstream. Upstream looks like it has a patch which should handle this more generally rather than special-casing the sr driver, which is what the patch in Comment #8 was apparently based on (but it seems didn't quite work). It may work as it is in the upstream -git repository, I don't know since I can't build it.. We seem to have stalled. Can we get an update out? This is fixed in Fedora 7, I don't think Fedora 5 is likely to get patched anymore.. |