# DMA not working on a SATA disk with ICH8

## moosh

Hi everyone,

I tried reading posts about the subject but none seemed to fit or help. I have a Core2 Duo system (IBM ThinkCentre 55M) with a 80GB SATA drive. Using hdparm /dev/hda I get:

```
/dev/hda:

 multcount    = 16 (on)

 IO_support   =  0 (default 16-bit)

 unmaskirq    =  0 (off)

 using_dma    =  0 (off)

 keepsettings =  0 (off)

 readonly     =  0 (off)

 readahead    = 256 (on)

 geometry     = 16383/255/63, sectors = 156312576, start = 0

```

and using hdparm -i /dev/hda I get:

```
/dev/hda:

 Model=ST3808110AS 41N3267 LEN, FwRev=3.AAK, SerialNo=9LR3LSRH

 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }

 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4

 BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=16

 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=156312576

 IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}

 PIO modes:  pio0 pio1 pio2 pio3 pio4

 DMA modes:  mdma0 mdma1 mdma2

 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5

 AdvancedPM=no WriteCache=enabled

 Drive conforms to: Unspecified:  ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7

 * signifies the current active mode

```

If I try to run hdparm -d 1 /dev/hda I receive the error:

```
/dev/hda:

 setting using_dma to 1 (on)

 HDIO_SET_DMA failed: Operation not permitted

 using_dma    =  0 (off)

```

Perhaps my kernel confuguration is not right for my hardware. Running lspci I get:

```
00:00.0 Host bridge: Intel Corporation 82Q963/Q965 Memory Controller Hub (rev 02)

00:01.0 PCI bridge: Intel Corporation 82Q963/Q965 PCI Express Root Port (rev 02)

00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 (rev 02)

00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02)

00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 02)

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)

00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02)

00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 02)

00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 02)

00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 02)

00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 02)

00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 02)

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev f2)

00:1f.0 ISA bridge: Intel Corporation 82801HB/HR (ICH8/R) LPC Interface Controller (rev 02)

00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA IDE Controller (rev 02)

00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)

00:1f.5 IDE interface: Intel Corporation 82801H (ICH8 Family) 2 port SATA IDE Controller (rev 02)

01:00.0 VGA compatible controller: nVidia Corporation G70 [GeForce 7600 GT] (rev a1)

03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5755 Gigabit Ethernet PCI Express (rev 02)

```

(If needed I can post my kernel configuration but it may be quite long). What should be the right kernel configuration to enable DMA?

----------

## dentharg

hdparm/libata (for SATA drives) currently do not support setting DMA mode on SATA drives.

----------

## moosh

Thanks, I didn't know that   :Embarassed: 

----------

## JeliJami

but you're not using the SATA drivers in your kernel

when using sata, your HD would be known as /dev/sda instead of /dev/hda (with a recent kernel, that is)

----------

## dentharg

Hmm.. I must have omti it somehow. Then I suggest to check whether you have compiled in or as a module proper driver for your motherboard/chipset.

----------

## moosh

Well, all the things I have in my kernel are compiled in so I don't know why it's not /dev/sda. Here is the configuration of the kernel (I removed the commented lines to make is shorter).

```
CONFIG_X86_32=y

CONFIG_GENERIC_TIME=y

CONFIG_LOCKDEP_SUPPORT=y

CONFIG_STACKTRACE_SUPPORT=y

CONFIG_SEMAPHORE_SLEEPERS=y

CONFIG_X86=y

CONFIG_MMU=y

CONFIG_GENERIC_ISA_DMA=y

CONFIG_GENERIC_IOMAP=y

CONFIG_GENERIC_BUG=y

CONFIG_GENERIC_HWEIGHT=y

CONFIG_ARCH_MAY_HAVE_PC_FDC=y

CONFIG_DMI=y

CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

CONFIG_EXPERIMENTAL=y

CONFIG_LOCK_KERNEL=y

CONFIG_INIT_ENV_ARG_LIMIT=32

CONFIG_LOCALVERSION=""

CONFIG_SWAP=y

CONFIG_SYSVIPC=y

CONFIG_POSIX_MQUEUE=y

CONFIG_BSD_PROCESS_ACCT=y

CONFIG_IKCONFIG=y

CONFIG_IKCONFIG_PROC=y

CONFIG_INITRAMFS_SOURCE=""

CONFIG_SYSCTL=y

CONFIG_UID16=y

CONFIG_SYSCTL_SYSCALL=y

CONFIG_KALLSYMS=y

CONFIG_HOTPLUG=y

CONFIG_PRINTK=y

CONFIG_BUG=y

CONFIG_ELF_CORE=y

CONFIG_BASE_FULL=y

CONFIG_FUTEX=y

CONFIG_EPOLL=y

CONFIG_SHMEM=y

CONFIG_SLAB=y

CONFIG_VM_EVENT_COUNTERS=y

CONFIG_RT_MUTEXES=y

CONFIG_BASE_SMALL=0

CONFIG_MODULES=y

CONFIG_MODULE_UNLOAD=y

CONFIG_KMOD=y

CONFIG_STOP_MACHINE=y

CONFIG_BLOCK=y

CONFIG_IOSCHED_NOOP=y

CONFIG_IOSCHED_CFQ=y

CONFIG_DEFAULT_CFQ=y

CONFIG_DEFAULT_IOSCHED="cfq"

CONFIG_SMP=y

CONFIG_X86_PC=y

CONFIG_MCORE2=y

CONFIG_X86_CMPXCHG=y

CONFIG_X86_XADD=y

CONFIG_X86_L1_CACHE_SHIFT=6

CONFIG_RWSEM_XCHGADD_ALGORITHM=y

CONFIG_GENERIC_CALIBRATE_DELAY=y

CONFIG_X86_WP_WORKS_OK=y

CONFIG_X86_INVLPG=y

CONFIG_X86_BSWAP=y

CONFIG_X86_POPAD_OK=y

CONFIG_X86_CMPXCHG64=y

CONFIG_X86_GOOD_APIC=y

CONFIG_X86_INTEL_USERCOPY=y

CONFIG_X86_USE_PPRO_CHECKSUM=y

CONFIG_X86_TSC=y

CONFIG_HPET_TIMER=y

CONFIG_HPET_EMULATE_RTC=y

CONFIG_NR_CPUS=2

CONFIG_SCHED_MC=y

CONFIG_PREEMPT=y

CONFIG_PREEMPT_BKL=y

CONFIG_X86_LOCAL_APIC=y

CONFIG_X86_IO_APIC=y

CONFIG_X86_MCE=y

CONFIG_X86_MCE_NONFATAL=y

CONFIG_X86_MCE_P4THERMAL=y

CONFIG_VM86=y

CONFIG_X86_REBOOTFIXUPS=y

CONFIG_MICROCODE=y

CONFIG_MICROCODE_OLD_INTERFACE=y

CONFIG_X86_MSR=y

CONFIG_X86_CPUID=y

CONFIG_EDD=y

CONFIG_HIGHMEM4G=y

CONFIG_PAGE_OFFSET=0xC0000000

CONFIG_HIGHMEM=y

CONFIG_ARCH_FLATMEM_ENABLE=y

CONFIG_ARCH_SPARSEMEM_ENABLE=y

CONFIG_ARCH_SELECT_MEMORY_MODEL=y

CONFIG_ARCH_POPULATES_NODE_MAP=y

CONFIG_SELECT_MEMORY_MODEL=y

CONFIG_FLATMEM_MANUAL=y

CONFIG_FLATMEM=y

CONFIG_FLAT_NODE_MEM_MAP=y

CONFIG_SPARSEMEM_STATIC=y

CONFIG_SPLIT_PTLOCK_CPUS=4

CONFIG_MTRR=y

CONFIG_IRQBALANCE=y

CONFIG_SECCOMP=y

CONFIG_HZ_1000=y

CONFIG_HZ=1000

CONFIG_PHYSICAL_START=0x100000

CONFIG_PHYSICAL_ALIGN=0x100000

CONFIG_COMPAT_VDSO=y

CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y

CONFIG_PM=y

CONFIG_ACPI=y

CONFIG_ACPI_AC=y

CONFIG_ACPI_BATTERY=y

CONFIG_ACPI_BUTTON=y

CONFIG_ACPI_VIDEO=y

CONFIG_ACPI_HOTKEY=y

CONFIG_ACPI_FAN=y

CONFIG_ACPI_DOCK=y

CONFIG_ACPI_PROCESSOR=y

CONFIG_ACPI_THERMAL=y

CONFIG_ACPI_BLACKLIST_YEAR=2001

CONFIG_ACPI_EC=y

CONFIG_ACPI_POWER=y

CONFIG_ACPI_SYSTEM=y

CONFIG_X86_PM_TIMER=y

CONFIG_PCI=y

CONFIG_PCI_GOANY=y

CONFIG_PCI_BIOS=y

CONFIG_PCI_DIRECT=y

CONFIG_PCI_MMCONFIG=y

CONFIG_PCIEPORTBUS=y

CONFIG_PCIEAER=y

CONFIG_PCI_MSI=y

CONFIG_HT_IRQ=y

CONFIG_ISA_DMA_API=y

CONFIG_BINFMT_ELF=y

CONFIG_BINFMT_AOUT=y

CONFIG_BINFMT_MISC=y

CONFIG_NET=y

CONFIG_PACKET=y

CONFIG_PACKET_MMAP=y

CONFIG_UNIX=y

CONFIG_XFRM=y

CONFIG_XFRM_USER=y

CONFIG_NET_KEY=y

CONFIG_INET=y

CONFIG_IP_FIB_HASH=y

CONFIG_SYN_COOKIES=y

CONFIG_INET_AH=y

CONFIG_INET_ESP=y

CONFIG_INET_IPCOMP=y

CONFIG_INET_XFRM_TUNNEL=y

CONFIG_INET_TUNNEL=y

CONFIG_INET_XFRM_MODE_TRANSPORT=y

CONFIG_INET_XFRM_MODE_TUNNEL=y

CONFIG_INET_XFRM_MODE_BEET=y

CONFIG_INET_DIAG=y

CONFIG_INET_TCP_DIAG=y

CONFIG_TCP_CONG_CUBIC=y

CONFIG_DEFAULT_TCP_CONG="cubic"

CONFIG_NETFILTER=y

CONFIG_NETFILTER_NETLINK=y

CONFIG_NETFILTER_NETLINK_QUEUE=y

CONFIG_NETFILTER_NETLINK_LOG=y

CONFIG_NF_CONNTRACK_ENABLED=y

CONFIG_NF_CONNTRACK_SUPPORT=y

CONFIG_NF_CONNTRACK=y

CONFIG_NF_CT_ACCT=y

CONFIG_NF_CONNTRACK_MARK=y

CONFIG_NF_CONNTRACK_EVENTS=y

CONFIG_NF_CT_PROTO_GRE=y

CONFIG_NF_CT_PROTO_SCTP=y

CONFIG_NF_CONNTRACK_AMANDA=y

CONFIG_NF_CONNTRACK_FTP=y

CONFIG_NF_CONNTRACK_H323=y

CONFIG_NF_CONNTRACK_IRC=y

CONFIG_NF_CONNTRACK_NETBIOS_NS=y

CONFIG_NF_CONNTRACK_PPTP=y

CONFIG_NF_CONNTRACK_SIP=y

CONFIG_NF_CONNTRACK_TFTP=y

CONFIG_NF_CT_NETLINK=y

CONFIG_NETFILTER_XTABLES=y

CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y

CONFIG_NETFILTER_XT_TARGET_MARK=y

CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y

CONFIG_NETFILTER_XT_TARGET_NFLOG=y

CONFIG_NETFILTER_XT_MATCH_COMMENT=y

CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y

CONFIG_NETFILTER_XT_MATCH_CONNMARK=y

CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y

CONFIG_NETFILTER_XT_MATCH_DCCP=y

CONFIG_NETFILTER_XT_MATCH_DSCP=y

CONFIG_NETFILTER_XT_MATCH_ESP=y

CONFIG_NETFILTER_XT_MATCH_HELPER=y

CONFIG_NETFILTER_XT_MATCH_LENGTH=y

CONFIG_NETFILTER_XT_MATCH_LIMIT=y

CONFIG_NETFILTER_XT_MATCH_MAC=y

CONFIG_NETFILTER_XT_MATCH_MARK=y

CONFIG_NETFILTER_XT_MATCH_POLICY=y

CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y

CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y

CONFIG_NETFILTER_XT_MATCH_QUOTA=y

CONFIG_NETFILTER_XT_MATCH_REALM=y

CONFIG_NETFILTER_XT_MATCH_SCTP=y

CONFIG_NETFILTER_XT_MATCH_STATE=y

CONFIG_NETFILTER_XT_MATCH_STATISTIC=y

CONFIG_NETFILTER_XT_MATCH_STRING=y

CONFIG_NETFILTER_XT_MATCH_TCPMSS=y

CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y

CONFIG_NF_CONNTRACK_IPV4=y

CONFIG_NF_CONNTRACK_PROC_COMPAT=y

CONFIG_IP_NF_QUEUE=y

CONFIG_IP_NF_IPTABLES=y

CONFIG_IP_NF_MATCH_IPRANGE=y

CONFIG_IP_NF_MATCH_TOS=y

CONFIG_IP_NF_MATCH_RECENT=y

CONFIG_IP_NF_MATCH_ECN=y

CONFIG_IP_NF_MATCH_AH=y

CONFIG_IP_NF_MATCH_TTL=y

CONFIG_IP_NF_MATCH_OWNER=y

CONFIG_IP_NF_MATCH_ADDRTYPE=y

CONFIG_IP_NF_FILTER=y

CONFIG_IP_NF_TARGET_REJECT=y

CONFIG_IP_NF_TARGET_LOG=y

CONFIG_IP_NF_TARGET_ULOG=y

CONFIG_IP_NF_TARGET_TCPMSS=y

CONFIG_NF_NAT=y

CONFIG_NF_NAT_NEEDED=y

CONFIG_IP_NF_TARGET_MASQUERADE=y

CONFIG_IP_NF_TARGET_REDIRECT=y

CONFIG_IP_NF_TARGET_NETMAP=y

CONFIG_IP_NF_TARGET_SAME=y

CONFIG_NF_NAT_SNMP_BASIC=y

CONFIG_NF_NAT_PROTO_GRE=y

CONFIG_NF_NAT_FTP=y

CONFIG_NF_NAT_IRC=y

CONFIG_NF_NAT_TFTP=y

CONFIG_NF_NAT_AMANDA=y

CONFIG_NF_NAT_PPTP=y

CONFIG_NF_NAT_H323=y

CONFIG_NF_NAT_SIP=y

CONFIG_IP_NF_MANGLE=y

CONFIG_IP_NF_TARGET_TOS=y

CONFIG_IP_NF_TARGET_ECN=y

CONFIG_IP_NF_TARGET_TTL=y

CONFIG_IP_NF_TARGET_CLUSTERIP=y

CONFIG_IP_NF_RAW=y

CONFIG_IP_NF_ARPTABLES=y

CONFIG_IP_NF_ARPFILTER=y

CONFIG_IP_NF_ARP_MANGLE=y

CONFIG_NET_CLS_ROUTE=y

CONFIG_STANDALONE=y

CONFIG_PREVENT_FIRMWARE_BUILD=y

CONFIG_FW_LOADER=y

CONFIG_PARPORT=y

CONFIG_PARPORT_PC=y

CONFIG_PARPORT_SERIAL=y

CONFIG_PARPORT_PC_FIFO=y

CONFIG_PARPORT_PC_SUPERIO=y

CONFIG_PNP=y

CONFIG_PNPACPI=y

CONFIG_BLK_DEV_LOOP=y

CONFIG_BLK_DEV_RAM=y

CONFIG_BLK_DEV_RAM_COUNT=16

CONFIG_BLK_DEV_RAM_SIZE=4096

CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024

CONFIG_BLK_DEV_INITRD=y

CONFIG_CDROM_PKTCDVD=y

CONFIG_CDROM_PKTCDVD_BUFFERS=8

CONFIG_IDE=y

CONFIG_BLK_DEV_IDE=y

CONFIG_BLK_DEV_IDEDISK=y

CONFIG_IDEDISK_MULTI_MODE=y

CONFIG_BLK_DEV_IDECD=y

CONFIG_IDE_GENERIC=y

CONFIG_BLK_DEV_IDEPNP=y

CONFIG_BLK_DEV_IDEPCI=y

CONFIG_BLK_DEV_IDEDMA_PCI=y

CONFIG_IDEDMA_PCI_AUTO=y

CONFIG_BLK_DEV_JMICRON=y

CONFIG_BLK_DEV_PIIX=y

CONFIG_BLK_DEV_IDEDMA=y

CONFIG_IDEDMA_AUTO=y

CONFIG_SCSI=y

CONFIG_SCSI_TGT=y

CONFIG_SCSI_PROC_FS=y

CONFIG_BLK_DEV_SD=y

CONFIG_BLK_DEV_SR=y

CONFIG_CHR_DEV_SG=y

CONFIG_SCSI_SPI_ATTRS=y

CONFIG_ATA=y

CONFIG_SATA_AHCI=y

CONFIG_ATA_PIIX=y

CONFIG_SATA_INTEL_COMBINED=y

CONFIG_PATA_JMICRON=y

CONFIG_PATA_MPIIX=y

CONFIG_PATA_OLDPIIX=y

CONFIG_IEEE1394=y

CONFIG_IEEE1394_OHCI1394=y

CONFIG_IEEE1394_RAWIO=y

CONFIG_NETDEVICES=y

CONFIG_DUMMY=y

CONFIG_NET_ETHERNET=y

CONFIG_MII=y

CONFIG_NET_TULIP=y

CONFIG_TULIP=y

CONFIG_NET_PCI=y

CONFIG_TIGON3=y

CONFIG_PPP=y

CONFIG_PPP_ASYNC=y

CONFIG_PPP_SYNC_TTY=y

CONFIG_PPP_DEFLATE=y

CONFIG_PPP_BSDCOMP=y

CONFIG_PPP_MPPE=y

CONFIG_PPPOE=y

CONFIG_SLHC=y

CONFIG_INPUT=y

CONFIG_INPUT_MOUSEDEV=y

CONFIG_INPUT_MOUSEDEV_PSAUX=y

CONFIG_INPUT_MOUSEDEV_SCREEN_X=1280

CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1024

CONFIG_INPUT_JOYDEV=y

CONFIG_INPUT_EVDEV=y

CONFIG_INPUT_KEYBOARD=y

CONFIG_KEYBOARD_ATKBD=y

CONFIG_INPUT_MOUSE=y

CONFIG_MOUSE_PS2=y

CONFIG_SERIO=y

CONFIG_SERIO_I8042=y

CONFIG_SERIO_LIBPS2=y

CONFIG_VT=y

CONFIG_VT_CONSOLE=y

CONFIG_HW_CONSOLE=y

CONFIG_SERIAL_8250=y

CONFIG_SERIAL_8250_PCI=y

CONFIG_SERIAL_8250_PNP=y

CONFIG_SERIAL_8250_NR_UARTS=4

CONFIG_SERIAL_8250_RUNTIME_UARTS=4

CONFIG_SERIAL_CORE=y

CONFIG_UNIX98_PTYS=y

CONFIG_LEGACY_PTYS=y

CONFIG_LEGACY_PTY_COUNT=256

CONFIG_PRINTER=y

CONFIG_HW_RANDOM=y

CONFIG_HW_RANDOM_INTEL=y

CONFIG_RTC=y

CONFIG_HPET=y

CONFIG_HPET_MMAP=y

CONFIG_FIRMWARE_EDID=y

CONFIG_FB=y

CONFIG_FB_CFB_FILLRECT=y

CONFIG_FB_CFB_COPYAREA=y

CONFIG_FB_CFB_IMAGEBLIT=y

CONFIG_FB_MODE_HELPERS=y

CONFIG_FB_VESA=y

CONFIG_FB_VESA_TNG=y

CONFIG_FB_VESA_DEFAULT_MODE="1280x1024@60"

CONFIG_VIDEO_SELECT=y

CONFIG_VGA_CONSOLE=y

CONFIG_DUMMY_CONSOLE=y

CONFIG_FRAMEBUFFER_CONSOLE=y

CONFIG_FONT_8x8=y

CONFIG_FONT_8x16=y

CONFIG_LOGO=y

CONFIG_LOGO_LINUX_MONO=y

CONFIG_LOGO_LINUX_VGA16=y

CONFIG_LOGO_LINUX_CLUT224=y

CONFIG_FB_SPLASH=y

CONFIG_SOUND=y

CONFIG_HID=y

CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB_ARCH_HAS_OHCI=y

CONFIG_USB_ARCH_HAS_EHCI=y

CONFIG_USB=y

CONFIG_USB_DEVICEFS=y

CONFIG_USB_EHCI_HCD=y

CONFIG_USB_OHCI_HCD=y

CONFIG_USB_OHCI_LITTLE_ENDIAN=y

CONFIG_USB_UHCI_HCD=y

CONFIG_USB_PRINTER=y

CONFIG_USB_STORAGE=y

CONFIG_USB_HID=y

CONFIG_USB_HIDDEV=y

CONFIG_USB_MON=y


CONFIG_DMA_ENGINE=y

CONFIG_NET_DMA=y

CONFIG_INTEL_IOATDMA=y

CONFIG_EXT2_FS=y

CONFIG_EXT3_FS=y

CONFIG_EXT3_FS_XATTR=y

CONFIG_JBD=y

CONFIG_FS_MBCACHE=y

CONFIG_ROMFS_FS=y

CONFIG_INOTIFY=y

CONFIG_INOTIFY_USER=y

CONFIG_DNOTIFY=y

CONFIG_AUTOFS4_FS=y

CONFIG_ISO9660_FS=y

CONFIG_JOLIET=y

CONFIG_ZISOFS=y

CONFIG_ZISOFS_FS=y

CONFIG_UDF_FS=y

CONFIG_UDF_NLS=y

CONFIG_FAT_FS=y

CONFIG_MSDOS_FS=y

CONFIG_VFAT_FS=y

CONFIG_FAT_DEFAULT_CODEPAGE=437

CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"

CONFIG_NTFS_FS=y

CONFIG_PROC_FS=y

CONFIG_PROC_KCORE=y

CONFIG_PROC_SYSCTL=y

CONFIG_SYSFS=y

CONFIG_TMPFS=y

CONFIG_RAMFS=y

CONFIG_CRAMFS=y

CONFIG_SQUASHFS=y

CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3

CONFIG_SMB_FS=y

CONFIG_PARTITION_ADVANCED=y

CONFIG_MSDOS_PARTITION=y

CONFIG_LDM_PARTITION=y

CONFIG_NLS=y

CONFIG_NLS_DEFAULT="utf8"

CONFIG_NLS_CODEPAGE_437=y

CONFIG_NLS_CODEPAGE_862=y

CONFIG_NLS_ISO8859_8=y

CONFIG_NLS_ASCII=y

CONFIG_NLS_ISO8859_1=y

CONFIG_NLS_ISO8859_15=y

CONFIG_NLS_UTF8=y

CONFIG_TRACE_IRQFLAGS_SUPPORT=y

CONFIG_LOG_BUF_SHIFT=15

CONFIG_DEBUG_BUGVERBOSE=y

CONFIG_EARLY_PRINTK=y

CONFIG_X86_FIND_SMP_CONFIG=y

CONFIG_X86_MPPARSE=y

CONFIG_DOUBLEFAULT=y

CONFIG_CRYPTO=y

CONFIG_CRYPTO_ALGAPI=y

CONFIG_CRYPTO_BLKCIPHER=y

CONFIG_CRYPTO_HASH=y

CONFIG_CRYPTO_MANAGER=y

CONFIG_CRYPTO_HMAC=y

CONFIG_CRYPTO_MD5=y

CONFIG_CRYPTO_SHA1=y

CONFIG_CRYPTO_ECB=y

CONFIG_CRYPTO_CBC=y

CONFIG_CRYPTO_DES=y

CONFIG_CRYPTO_ARC4=y

CONFIG_CRYPTO_DEFLATE=y

CONFIG_BITREVERSE=y

CONFIG_CRC_CCITT=y

CONFIG_CRC16=y

CONFIG_CRC32=y

CONFIG_LIBCRC32C=y

CONFIG_ZLIB_INFLATE=y

CONFIG_ZLIB_DEFLATE=y

CONFIG_TEXTSEARCH=y

CONFIG_TEXTSEARCH_KMP=y

CONFIG_TEXTSEARCH_BM=y

CONFIG_TEXTSEARCH_FSM=y

CONFIG_PLIST=y

CONFIG_IOMAP_COPY=y

CONFIG_GENERIC_HARDIRQS=y

CONFIG_GENERIC_IRQ_PROBE=y

CONFIG_GENERIC_PENDING_IRQ=y

CONFIG_X86_SMP=y

CONFIG_X86_HT=y

CONFIG_X86_BIOS_REBOOT=y

CONFIG_X86_TRAMPOLINE=y

CONFIG_KTIME_SCALAR=y

```

----------

## dentharg

Did all of things here

http://gentoo-wiki.com/HARDWARE_SATA

fail?

I'll check my kernel config later when I get home, since I have ICH-8R chipset; the only difference is that I have an IDE drive connected to SATA controller by IDE slot (maybe it is somehow emulated?).

----------

## moosh

Thanks for the link, but there isn't much over there except for describing a working kernel configuration (which seems to match my configuration). Now that I think of it, it is strange that I get /dev/hda and not /dev/sda. Any insight will be much welcome.

----------

## JeliJami

try to disable the old ATA/IDE options in your kernel

and update your kernel commandline, and your /etc/fstab to point to /dev/sda instead of /dev/hda

----------

## moosh

After removing the whole of ATA/IDE support I *do* get my drive as /dev/sda. How do I know now if I have dma on? I emerged sdparm but the output is a little cryptic:

```
    /dev/sda: ATA       ST3808110AS       3.AA

    Direct access device specific parameters: WP=0  DPOFUA=0

Read write error recovery [rw] mode page [PS=0]:

  AWRE        1  Automatic write reallocation enabled

  ARRE        1  Automatic read reallocation enabled

  TB          0  Transfer block

  RC          0  Read continuous

   0: error recovery may cause delays

   1: transfer data without waiting for error recovery

  EER         0  Enable early recovery

  PER         0  Post error

   0: do not post recovered errors

   1: report recovered errors

  DTE         0  Data terminate on error

  DCR         0  Disable correction

  RRC         0  Read retry count

  COR_S       0  Correction span (obsolete)

  HOC         0  Head offset count (obsolete)

  DSOC        0  Data strobe offset count (obsolete)

  WRC         0  Write retry count

  RTL         0  Recovery time limit (ms)

Caching (SBC) [ca] mode page [PS=0]:

  IC          0  Initiator control

   0: disk uses own adaptive caching algorithm

   1: disk caching algorithm controlled by NCS or CCS

  ABPF        0  Abort pre-fetch

  CAP         0  Caching analysis permitted

  DISC        0  Discontinuity

   0: pre-fetch truncated or wrapped at time discontinuity

   1: pre-fetch continues across time discontinuity

  SIZE        0  Size enable

   0: number of cache segments (NCS) controls cache segmentation

   1: the cache segment size (CCS) controls cache segmentation

  WCE         1  Write cache enable

  MF          0  Multiplication factor

   0: MIPF and MAPF specify blocks

   1: multiply MIPF and MAPF by blocks in read command

  RCD         0  Read cache disable

  DRRP        0  Demand read retention priority

   0: treat requested and other data equally

   1: replace requested data before other data

   15: replace other data before requested data

  WRP         0  Write retention priority

   0: treat requested and other data equally

   1: replace requested data before other data

   15: replace other data before requested data

  DPTL        0  Disable pre-fetch transfer length

  MIPF        0  Minimum pre-fetch

  MAPF        0  Maximum pre-fetch

  MAPFC       0  Maximum pre-fetch ceiling

  FSW         0  Force sequential write

  LBCSS       0  Logical block cache segment size

   0: CSS unit is bytes; 1: CSS unit is blocks

  DRA         0  Disable read ahead

  NV_DIS      0  Non-volatile cache disable

  NCS         0  Number of cache segments

  CSS         0  Cache segment size

Control [co] mode page [PS=0]:

  TST         0  Task set type

   0: lu maintains one task set for all I_T nexuses

   1: lu maintains separate task sets for each I_T nexus

  TMF_ONLY    0  Task management functions only

  D_SENSE     0  Descriptor format sense data

  GLTSD       1  Global logging target save disable

  RLEC        0  Report log exception condition

  QAM         0  Queue algorithm modifier

   0: restricted re-ordering; 1: unrestricted

  QERR        0  Queue error management

   0: only affected task gets CC; 1: affected tasks aborted

   3: affected tasks aborted on same I_T nexus

  RAC         0  Report a check

  UA_INTLCK   0  Unit attention interlocks control

   0: unit attention cleared with check condition status

   2: unit attention not cleared with check condition status

   3: as 2 plus ua on busy, task set full or reservation conflict

  SWP         0  Software write protect

  ATO         0  Application tag owner

  TAS         0  Task aborted status

   0: tasks aborted without response to app client

   1: any other I_T nexuses receive task aborted

  AUTOLOAD    0  Autoload mode

   0: medium loaded for full access;

   1: loaded for medium auxiliary access only

   2: medium shall not be loaded

  BTP        -1  Busy timeout period (100us)

  ESTCT      30  Extended self test completion time (sec)

```

----------

## esperto

if you do a hdparm -t /dev/sda and get more than ~10 MB/s you are using DMA, and, if I suspect right, all SATA use DMA "by design", you don't need to enable it.

(when I test IDE HDs without DMA they usually mark between 2 and 8 MB/s)

----------

