Useful hints for dvdisaster
===========================

Device access
-------------
dvdisaster tries to read /dev/pass* to list available optical drives,
so it will not detect any available drives if the user running
dvdisaster does not have permissions to read /dev/pass*.

The solution is to create the file /etc/devfs.rules, containing
something like the following.

	[localrules=10]
	add path 'pass*' mode 0775 group mygroup

You also need to add this line to /etc/rc.conf:

	devfs_system_ruleset="localrules"

You can use anything you like for localrules, and the number does not have to be 10.
See devfs.rules(5) for more details.

If /etc/devfs.rules already exists, add the line starting add to the section for the ruleset
mentioned in /etc/rc.conf.

For this to take effect, either reboot, or issue the command:

	# service devfs restart

as root.

Missing optical drives
----------------------

The most common problem encountered is that dvdisaster does not detect 
optical drives on older versions of FreeBSD.

FreeBSD 9.x does not pre-install a uniform CD-ROM driver for SCSI and
ATAPI drives, thus it cannot use any ATAPI drives in an out-of-the-box
FreeBSD 9.x installation. Normally, this can be fixed by loading a
kernel module called atapicam.

### Loading the atapicam kernel module by hand

To manually load the required kernel module, issue the command:

	# kldload atapicam

To see if any optical drives are  available:

	# camcontrol devlist
	<NAME OF YOUR DRIVE>           at scbus1 target 0 lun 0 (pass0,cd0)

### Loading the atapicam kernel module permanently

If the above step works, the module can be loaded automatically at boot time by adding
the line:

	atapicam_load="YES"

to the file /boot/loader.conf.

### Building the atapicam module

If the atapicam kernel module is not available (check the contents
of /boot/kernel) you will need to recompile the kernel with the following
additional device line in the kernel configuration:

	device atapicam

This will actually build the module into the kernel. To build it separately,
see `make.conf(5)`.

The devices ata, scbus, cd, and pass are also required, but are included by
default in FreeBSD 6.0 and later.
