Marcelo Magno T. Sales wrote: > Hi, > > I have several IBM desktops and some notebooks in which the IDE interface is a > SATA controller, most of them Intel. Here's lspci output: > ------------- > [marcelo.sales@sf002698 ~]$ /sbin/lspci | grep IDE > 00:1f.2 IDE interface: Intel Corporation 82801FB/FW (ICH6/ICH6W) SATA > Controller (rev 03) > ------------- > On these machines, I can't enable DMA on IDE devices. hdparm shows: > ------------- > [marcelo.sales@sf002698 ~]$ /sbin/hdparm /dev/hdc > /dev/hdc: > IO_support = 0 (default 16-bit) > unmaskirq = 0 (off) > using_dma = 0 (off) > keepsettings = 0 (off) > readonly = 0 (off) > readahead = 256 (on) > HDIO_GETGEO failed: Inappropriate ioctl for device > ------------- > When I try to enable DMA, I get: > ------------- > [marcelo.sales@sf002698 ~]$ su -c '/sbin/hdparm -d1 /dev/hdc' > /dev/hdc: > setting using_dma to 1 (on) > HDIO_SET_DMA failed: Operation not permitted > using_dma = 0 (off) > ------------- > I thought this was caused by lack of kernel support for the SATA controller, > but I've compiled the FC kernel and the vanilla kernel several times, with > different settings, and have got no luck on this. libata is built and loaded, > as shown by lsmod: > [marcelo.sales@sf002698 ~]$ /sbin/lsmod | grep libata > libata 58065 1 ata_piix > scsi_mod 129001 3 sg,libata,sd_mod > > What needs to be done to enable DMA support? I'm using kernel > 2.6.16-1.2122_FC5smp. > > Thanks, > > Marcelo > Hdparm can NOT control DMA setting for SATA drives. What I have done is to add "hdc=noprobe" to the Grub boot line for the kernel. hdc is then treated as a SCSI device, and it uses the BIOS DMA settings. Hdparm will still say that DMA is not turned on for the drive, but DMA will be used. (It also says that DMA is off for /dev/sda.) This was covered in another thread here not that log ago. There is still work to be done so that hdparm will correctly report things for SATA devices... Mikkel -- Do not meddle in the affairs of dragons, for thou art crunchy and taste good with Ketchup!