My sata cdrom drive (Samsung SH-S183L) is very slow at reading discs. This is causing problems when copying discs to the hard drive or when burning.

For example, it took me 86 seconds to copy ~750 MB worth of data from my sata cdrom to my sata hard disk in krusader. That is ~8.72 MB/s.

It appears that cp is somewhat faster. For the same files it took 50 seconds to copy 750 MB. That's 58% better or ~15 MB/s.

From my reading it appears that either:

a. sata cdrom drives do not support dma
or
b. sata cdrom drives already use dma and it cannot be turned on or off

Here is what hdparm shows for speeds for my cdrom and hard drives:

cdrom
Code:
~$ sudo hdparm -Tt /dev/scd0 

/dev/scd0:
 Timing cached reads:   6242 MB in  2.00 seconds = 3123.30 MB/sec
 Timing buffered disk reads:   20 MB in  3.08 seconds =   6.49 MB/sec
main hard drive
Code:
$ sudo hdparm -Tt /dev/sda

/dev/sda1:
 Timing cached reads:   7390 MB in  2.00 seconds = 3698.19 MB/sec
 Timing buffered disk reads:  188 MB in  3.00 seconds =  62.64 MB/sec
secondary hard drive
Code:
$ sudo hdparm -Tt /dev/sdb1 

/dev/sdb1:
 Timing cached reads:   7682 MB in  2.00 seconds = 3844.89 MB/sec
 Timing buffered disk reads:  238 MB in  3.01 seconds =  79.20 MB/sec
As you can see both of the sata hard drives have reasonable buffered disk reads while the cdrom is a measly 6.49 MB/s. And that is an improvement from the ~2.50 MB/s I was getting before doing this:

http://ubuntuforums.org/showthread.p...a+cdrom+slow#9

Here is what happens when I try to set dma:

Code:
~$ hdparm -d1 /dev/scd0 

/dev/scd0:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Inappropriate ioctl for device
 HDIO_GET_DMA failed: Inappropriate ioctl for device
and this is hdparm for the drive
Code:
$ hdparm /dev/scd0 

/dev/scd0:
 IO_support    =  0 (default) 
16-bit)
 HDIO_GET_UNMASKINTR failed: Inappropriate ioctl for device
 HDIO_GET_DMA failed: Inappropriate ioctl for device
 HDIO_GET_KEEPSETTINGS failed: Inappropriate ioctl for device
 readonly      =  0 (off)
 readahead     = 256 (on)
 HDIO_GETGEO failed: Inappropriate ioctl for device
Burning a disc with brasero gives read speed of about 5.5x or ~7200 KiB/s. With k3b I am getting a copy speed of about 430 MB/min or 7.16 MB/s

Just creating a cd image for a standard 12 track audio cd takes just over 6 minutes.

This is way too long to wait on a machine more than capable of faster speeds. It seems like 8.04 still has some problems to be worked out.

Any suggestions?