# Need to reset DMA after every boot

## luigi.malago

Hi to all,

I have some problems with DMA on my HD.

Seems that DMA is supported but after each reboot, the system is losing the configuration

and i have to set them again manually.

```

tux luigi # hdparm -d /dev/hda

/dev/hda:

 using_dma     =  0 (off)

tux luigi # hdparm -d1 /dev/hda

/dev/hda:

 setting using_dma to 1 (on)

 using_dma     =  1 (on)

```

```

tux luigi # hdparm  /dev/hda

/dev/hda:

 multcount     =  0 (off)

 IO_support    =  0 (default) 

 unmaskirq     =  0 (off)

 using_dma     =  1 (on)

 keepsettings  =  0 (off)

 readonly      =  0 (off)

 readahead     = 256 (on)

 geometry      = 30401/255/63, sectors = 488397168, start = 0

```

is there a solution to this problem?

thanks a lot,

Luigi

EDIT: 

one last question. what about this:

```

tux luigi # hdparm -tT /dev/hda1

/dev/hda1:

read(2097152) returned 1024 bytes

 Timing buffered disk reads:  read() hit EOF - device too small

```

thanks twice

----------

## bunder

 *Quote:*   

> Seems that DMA is supported but after each reboot, the system is losing the configuration 

 

rc-update add hdparm boot

cheers   :Wink: 

----------

## toralf

 *bunder wrote:*   

> rc-update add hdparm boot
> 
> cheers  

 And use this :

```
n22 ~ # grep ^all_args /etc/conf.d/hdparm

all_args="-d1"

```

----------

## bunder

 *toralf wrote:*   

>  *bunder wrote:*   rc-update add hdparm boot
> 
> cheers   And use this :
> 
> ```
> ...

 

that should be set by default, no?   :Confused: 

----------

## luigi.malago

hi,

i added the option 

all_args="-d1" 

in the config file and added hdparm to boot.

thanks a lot.

one last question: what about the error (posted above) i get when benchmarking hda1?

thanks a lot

----------

## toralf

Try 

```
hdparm -tT /dev/hda
```

----------

## bunder

 *toralf wrote:*   

> Try 
> 
> ```
> hdparm -tT /dev/hda
> ```
> ...

 

he did:

 *Quote:*   

>  Timing buffered disk reads:  read() hit EOF - device too small 

 

----------

## luigi.malago

hi, i thought i solved the problem, but i still dont have DMA enabled at boot time!

```

tux luigi # hdparm -d /dev/hda

/dev/hda:

 using_dma     =  0 (off)

tux luigi # rc-status show default

Runlevel: default

 cupsd                                                              [ started  ]

 dbus                                                               [ started  ]

 esound                                                             [ started  ]

 hald                                                               [ started  ]

 hddtemp                                                            [ stopped  ]

 hdparm                                                             [ started  ]

 hotplug                                                            [ started  ]

 local                                                              [ started  ]

 mdnsd                                                              [ started  ]

 net.eth0                                                           [ started  ]

 net.eth1                                                           [ stopped  ]

 netmount                                                           [ stopped  ]

 ntpd                                                               [ stopped  ]

 pcmcia                                                             [ started  ]

 samba                                                              [ stopped  ]

 syslog-ng                                                          [ started  ]

 vixie-cron                                                         [ started  ]

 xdm                                                                [ started  ]

tux luigi # rc-status show boot

Runlevel: boot

 acpid                                                              [ started  ]

 alsasound                                                          [ started  ]

 bootmisc                                                           [ started  ]

 checkfs                                                            [ started  ]

 checkroot                                                          [ started  ]

 clock                                                              [ started  ]

 consolefont                                                        [ started  ]

 hdparm                                                             [ started  ]

 hostname                                                           [ started  ]

 keymaps                                                            [ started  ]

 localmount                                                         [ started  ]

 modules                                                            [ started  ]

 net.lo                                                             [ started  ]

 rmnologin                                                          [ started  ]

 urandom                                                            [ started  ]

tux luigi # cat /etc/conf.d/hd

hddtemp  hdparm   

tux luigi # cat /etc/conf.d/hdparm 

# /etc/conf.d/hdparm: config file for /etc/init.d/hdparm

# You can either set hdparm arguments for each drive using hdX_args,

# discX_args, cdromX_args and genericX_args, e.g.

#

# hda_args="-d1 -X66"

# disc1_args="-d1"

# cdrom0_args="-d1"

# or you can set options for all PATA drives

pata_all_args="-d1"

# or you can set options for all SATA drives

sata_all_args=""

# or, you can set hdparm options for all drives

all_args="-d1"

tux luigi # hdparm -d1 /dev/hda

/dev/hda:

 setting using_dma to 1 (on)

 using_dma     =  1 (on)

tux luigi # hdparm -tT /dev/hda

/dev/hda:

 Timing cached reads:   1464 MB in  2.00 seconds = 732.03 MB/sec

 Timing buffered disk reads:  160 MB in  3.03 seconds =  52.85 MB/sec

```

Luigi

----------

## luigi.malago

any idea?

thanks a lot

Luigi

----------

