dbus, hal, atapicam and cdrecord

Matt Dawson matt at chronos.org.uk
Tue Dec 26 07:17:56 PST 2006


Hi folks,
	sorry if this has been covered before (please direct me to the thread if it 
has), but I'm really struggling. cdrecord refuses to work properly with hal 
and dbus enabled. It locks the whole system tight with messages like these:

Dec 25 22:26:17 laptop64 kernel: acd0: WARNING - TEST_UNIT_READY taskqueue 
timeout - completing request directly
Dec 25 22:26:23 laptop64 kernel: acd0: WARNING - TEST_UNIT_READY freeing 
taskqueue zombie request
Dec 25 22:28:17 laptop64 kernel: acd0: WARNING - PREVENT_ALLOW taskqueue 
timeout - completing request directly
Dec 25 22:28:17 laptop64 kernel: acd0: WARNING - PREVENT_ALLOW freeing 
taskqueue zombie request

All I can do is hard reset the system.

System specifics:

laptop64 ~ $ uname -a
FreeBSD laptop64 6.1-RELEASE-p11 FreeBSD 6.1-RELEASE-p11 #5: Tue Dec 26 
10:08:56 GMT 2006     
md001 at central.local.chronos.org.uk:/usr/obj/usr/src/sys/LAPTOP64  i386

laptop64 ~ $ lshal | most
Dumping 54 device(s) from the Global Device List:
-------------------------------------------------
[...]
udi = '/org/freedesktop/Hal/devices/ide_host_0'
  ide_host.number = 0  (0x0)  (int)
  info.bus = 'ide_host'  (string)
  freebsd.unit = 0  (0x0)  (int)
  freebsd.driver = 'ata'  (string)
  info.product = 'ATA channel 0'  (string)
  info.udi = '/org/freedesktop/Hal/devices/ide_host_0'  (string)
  info.parent = '/org/freedesktop/Hal/devices/pci_1002_4376'  (string)

udi = '/org/freedesktop/Hal/devices/ide_host_0_scsi_host'
  info.udi = '/org/freedesktop/Hal/devices/ide_host_0_scsi_host'  (string)
  info.product = 'SCSI Host Adapter'  (string)
  scsi_host.host = 0  (0x0)  (int)
  info.bus = 'scsi_host'  (string)
  info.parent = '/org/freedesktop/Hal/devices/ide_host_0'  (string)
[...]
udi = '/org/freedesktop/Hal/devices/ide_host_1'
  ide_host.number = 1  (0x1)  (int)
  info.bus = 'ide_host'  (string)
  freebsd.unit = 1  (0x1)  (int)
  freebsd.driver = 'ata'  (string)
  info.product = 'ATA channel 1'  (string)
  info.udi = '/org/freedesktop/Hal/devices/ide_host_1'  (string)
  info.parent = '/org/freedesktop/Hal/devices/pci_1002_4376'  (string)

udi = '/org/freedesktop/Hal/devices/ide_host_1_scsi_host'
  info.udi = '/org/freedesktop/Hal/devices/ide_host_1_scsi_host'  (string)
  info.product = 'SCSI Host Adapter'  (string)
  scsi_host.host = 1  (0x1)  (int)
  info.bus = 'scsi_host'  (string)
  info.parent = '/org/freedesktop/Hal/devices/ide_host_1'  (string)

udi = '/org/freedesktop/Hal/devices/ide_host_1_scsi_host_scsi_device_lun0'
  info.udi 
= '/org/freedesktop/Hal/devices/ide_host_1_scsi_host_scsi_device_lun0
'  (string)
  scsi.type = 'cdrom'  (string)
  scsi.model = 'DVD-RW GWA-4082N'  (string)
  scsi.vendor = 'HL-DT-ST'  (string)
  info.vendor = 'HL-DT-ST'  (string)
  info.product = 'SCSI Device'  (string)
  scsi.lun = 0  (0x0)  (int)
  scsi.target = 0  (0x0)  (int)
  scsi.bus = 1  (0x1)  (int)
  scsi.host = 1  (0x1)  (int)
  info.bus = 'scsi'  (string)
  info.parent = '/org/freedesktop/Hal/devices/ide_host_1_scsi_host'  (string)

udi = '/org/freedesktop/Hal/devices/temp/48'
  info.udi = '/org/freedesktop/Hal/devices/ignored-device'  (string)
  info.ignore = true  (bool)
  storage.lun = 0  (0x0)  (int)
  storage.firmware_revision = 'CB03'  (string)
  info.product = 'Ignored Device'  (string)
  info.vendor = 'HL-DT-ST'  (string)
  storage.cdrom.write_speed = 0  (0x0)  (int)
  storage.cdrom.read_speed = 0  (0x0)  (int)
  storage.cdrom.support_media_changed = false  (bool)
  storage.cdrom.hddvdrw = false  (bool)
  storage.cdrom.hddvdr = false  (bool)
  storage.cdrom.hddvd = false  (bool)
  storage.cdrom.bdre = false  (bool)
  storage.cdrom.bdr = false  (bool)
  storage.cdrom.bd = false  (bool)
  storage.cdrom.dvdplusrwdl = false  (bool)
  storage.cdrom.dvdplusrdl = false  (bool)
  storage.cdrom.dvdplusrw = false  (bool)
  storage.cdrom.dvdplusr = false  (bool)
  storage.cdrom.dvdram = false  (bool)
  storage.cdrom.dvdrw = false  (bool)
  storage.cdrom.dvdr = false  (bool)
  storage.cdrom.dvd = false  (bool)
  storage.cdrom.cdrw = false  (bool)
  storage.cdrom.cdr = false  (bool)
  storage.vendor = 'HL-DT-ST'  (string)
  storage.model = 'DVD-RW GWA-4082N'  (string)
  storage.physical_device 
= '/org/freedesktop/Hal/devices/ide_host_1_scsi_host_s
csi_device_lun0'  (string)
  storage.no_partitions_hint = true  (bool)
  storage.automount_enabled_hint = true  (bool)
  storage.media_check_enabled = true  (bool)
  storage.hotpluggable = false  (bool)
  storage.requires_eject = true  (bool)
  storage.removable = true  (bool)
  storage.drive_type = 'cdrom'  (string)
  storage.bus = 'scsi'  (string)
  block.minor = 83  (0x53)  (int)
  block.major = 0  (0x0)  (int)
  block.device = '/dev/cd0'  (string)
  info.bus = 'block'  (string)
  freebsd.unit = 0  (0x0)  (int)
  freebsd.driver = 'cd'  (string)
  info.parent 
= '/org/freedesktop/Hal/devices/ide_host_1_scsi_host_scsi_device_l
un0'  (string)

laptop64 ~ $ ls /var/db/pkg | grep cdrtools
cdrtools-2.01_5
laptop64 ~ $ ls /var/db/pkg | grep hal-
hal-0.5.8.20061217

Burncd works perfectly and cdrecord works if I disable dbus, polkit and hal. 
This is across all my systems, so it's not limited to this laptop. if it 
matters, I've used both K3B and cdrecord from the command line with the same 
results.

Any ideas/things I've missed? I am in the operator group and cdrecord is suid 
and owned by root. Both acd0 and cd0 are not in fstab and are read/write for 
my user, pass and xpt are both read/write and hal works fine with USB pen 
drives and CDs. It is only cdrecord that causes problems.

I have recompiled cdrtools after enabling the hardware abstraction layer just 
in case, but no change. Any help would be appreciated.
-- 
Matt Dawson.

matt at chronos.org.uk
MTD15-RIPE OpenNIC M_D9
MD51-6BONE


More information about the freebsd-ports mailing list