5.1. CD/DVD drives

Linux documentation excerpt:

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:

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

hdparm -E [speed] [cdrom device]
setcd -x [speed] [cdrom 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.


Speed: cdcontrol [-f device] speed speed

DMA: sysctl hw.ata.atapi_dma=1