Dma

In Kinfocenter it does not list my hard or optical drives under Dma, so I ran hdparm -d as root:

Suse-111:/home/scott # hdparm -d /dev/sdb

/dev/sdb:
HDIO_GET_DMA failed: Inappropriate ioctl for device
Suse-111:/home/scott # hdparm -d /dev/sda

/dev/sda:
HDIO_GET_DMA failed: Inappropriate ioctl for device
Suse-111:/home/scott # hdparm -d /dev/sr1

/dev/sr1:
HDIO_GET_DMA failed: Inappropriate ioctl for device
Suse-111:/home/scott # hdparm -d /dev/sr0

/dev/sr0:
HDIO_GET_DMA failed: Inappropriate ioctl for device
Suse-111:/home/scott #

Dma is on auto in bios for all. My drives are actually IDE, but apparently Suse calls all hard drives sd(something).

I would appreciate it if somebody could help me to make sure my drives are all running at the the proper dma.

I’ve read somewhere that it has to do with the kernel/libata implementing a SATA layer to access all disks, including old ATA’s (or something like that, I’m not particularly interested).

I have two HDs (1 IDE and 1 SATA) and 2 DVD-Writers (ditto) and get the same errors. But, there are two things you can do:

  1. run as root: hdparm -I /dev/sdX (X is your drive letter). This will give a lot of info, including the DMA mode currently in use (although it seems you can’t change it).

  2. I’ve read that there’s an utility called sdparm that can do what you want, but I never used it (didn’t need to).

However, I’d research a bit more before meddling with these settings (here, maybe: http://www.thinkwiki.org/wiki/Problems_with_SATA_and_Linux#No_DMA_on_DVD_drive ). In OpenSuse 10.? there was a yast hardware module that would set DMA parameters (hdparm worked too). I used this a lot to reset slow/failing DVD-writers that would fall back to pio mode and bork my DVDs. Cheap hardware…

But this yast module has been dropped in OS 11. Usually this means that either it is broken or it is not necessary anymore, and the last seems to be the case.

Oh, and if your Optical drive is /dev/srX (X=0, 1, etc.), hdparm -I /dev/srX as root works too. At least it does here. You’ll probably find that all your ATA and ATAPI devices have DMA enabled. Mine are.

P.S.: That parameter is a capital i, not a lowercase L.

Thanks for the information. I’ll check it out.