4.1. CD/DVD drives

Modern CD-ROM drives can attain very high head speeds, yet some CD-ROM drives are capable of running at reduced speeds. There are several reasons that might make you consider changing the speed of a CD-ROM drive:

4.1.1. Linux

You can reduce the speed of IDE CD-ROM drives with hdparm, setcd or cdctl. It works like this:

hdparm -E [speed] [cdrom device]

setcd -x [speed] [cdrom device]

cdctl -bS [speed]

If you are using SCSI emulation, you might have to apply the settings to the real IDE device, not the emulated SCSI device.

If you have root privileges the following command may also help:

echo file_readahead:2000000 > /proc/ide/[cdrom device]/settings

This sets prefetched file reading to 2MB, which helps with scratched CD-ROMs. If you set it to too high, the drive will continuously spin up and down, and will dramatically decrease the performance. It is recommended that you also tune your CD-ROM drive with hdparm:

hdparm -d1 -a8 -u1 [cdrom device]

This enables DMA access, read-ahead, and IRQ unmasking (read the hdparm man page for a detailed explanation).

Please refer to "/proc/ide/[cdrom device]/settings" for fine-tuning your CD-ROM.

SCSI drives do not have a uniform way of setting these parameters (Do you know one? Tell us!) There is a tool that works for Plextor SCSI drives.

4.1.2. FreeBSD

speed:

cdcontrol [-f device] speed [speed]

DMA:

sysctl hw.ata.atapi_dma=1