[Résolu] The DMA on your hard drive is turned off !


#1

Bonjour,
au démarrage de la version testing (kernel 2.6.15-1) j’ai ce message :

####################################### The DMA on your hard drive is turned off "This may slow performance with fsck" ######################################
Je vois bien ce qu’il dit mais comment régler ce problème ? a toute


#2

personne à une idée ?


#3

install hdparm
puis
man hdparm
puis test des paramètres à appliquer pour trouver la bonne config
(test de vitesse avec hdparm -tT )
puis
edition de hdparm.conf pour fixer une fois pour toute la gestion de ton disque


#4

Je suis vraiment désolé de vous ennuyer avec ces problèmes de dd mais j’ai pas trouvé d’autres solutions !! même avec google !
sinon je me serais débrouiller par moi-même mais là je suis perdu.

voici ce que j’ai lorsque je fais un hdparm -tT /dev/hda

first disk master:

Timing cached reads: 2284 MB in 2.00 seconds = 1141.60 MB/sec Timing buffered disk reads: 130 MB in 3.03 seconds = 42.94 MB/sec

second disk slave:

Timing cached reads: 2200 MB in 2.00 seconds = 1098.52 MB/sec Timing buffered disk reads: 16 MB in 3.22 seconds = 4.97 MB/sec


#5

en lisant le man j’ai fais des test et voilà :

etch:~# hdparm -d /dev/hda

/dev/hda:
 using_dma    =  1 (on)
etch:~# hdparm -d /dev/hdb

/dev/hdb:
 using_dma    =  0 (off)

donc le dma n’est pas activé sur le second disk

alors je fais :

ensuite je vais dans le hdparm.conf pour activer le dma au démarrage:

/dev/hdb { quiet dma = on io32_support = 1 }

Merci de m’avoir mi sur la voie !


#6

au reboot j’ai toujours la même chanson :

/dev/hdb:
 multcount    =  0 (off)
 IO_support   =  1 (32-bit)
 unmaskirq    =  1 (on)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 16383/255/63, sectors = 160836480, start = 0

Mais j’ai vu qu’on pouvais rajouter la ligne via82cxxx a mon /etc/modules !
alors je test ça.


#7

tu as fais ce que je croyais qu’il y avait à faire.
Je suis en train de regrader chez moi comment c’est, mais je ne trouve pas ce qui cloche.


#8

slt,

La le dma est toujours sur off, le plus simple tu créer un script hdparm.sh qui contient simplement :

#/bin/sh
echo "Tunning des disques..."
/whereis/hdparm -c1 -d1 -q /dev/hda
/whereis/hdparm -c1 -d1 -q /dev/hdb
echo "Done."

Tu met le script dans /etc/init.d et tu créer les liens pour le boot.

update-rc.d hdparm start 20 2 3 4 5 . stop 20 0 1 6

#9

attends, bien sûr que ça va marcher, mais ça mérite peut être de regarder pourquoi il y a un script hdparm dans init.d et un fichier hdparm.conf dans /etc, non ?


#10

la dernière commande ne marche pas !

etch:/home/raphael# update-rc.d hdparm start 20 2 3 4 5 . stop 20 0 1 6 update-rc.d: error: expected runlevel [0-9S] (did you forget "." ?) usage: update-rc.d [-n] [-f] <basename> remove update-rc.d [-n] <basename> defaults [NN | sNN kNN] update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] . -n: not really -f: force


#11

oui mais j’arrive pas à crée le lien pour le boot avec la dernière commande de notre ami stonfi !!


#12

attends, le hdparm que tu essayes d’installer, c’est celui installé par le paquet ?
parceque si c’est oui, il est déjà configuré:
ls -l /etc/rc?.d/*hdpam
devrait te permettre de le vérifier.

sinon, si c’est le script de stonfi (que tu aurais du nommer hdparm.sh), si tu le fais démarrer à 20 il faut le stopper à priori à 80.
Je te conseillerais donc plutot la syntaxe suivante:
update-rc.d hdparm defaults s20 k80
sinon, pour l’autre syntaxe, je me demandes si simplement il ne suffit pas de rajouter un point à la fin (mais si tu l’utilises penses à dire stop à 80 )

par ailleurs, je verrais bien hdparm avec une prio 19/81 pour se lancer avant les autres services, et udev règlé à 18/82. Mais bon…

J’ai toujours pas retrouvé ou était utilisé le hdparm.conf :angry:


#13

non j’utilise celui que j’ai crée et je l’ai nommé “hdparm.sh” que j’ai placé dans le /etc/init.d/

mais comment tu ferais toi pour écrirre la ligne de commande avec
update-rc.d ?

comme ça ? :

update-rc.d hdparm.sh start 60 S .

voilà ce qu’il me donne :

Adding system startup for /etc/init.d/hdparm.sh ...
   /etc/rc0.d/K81hdparm.sh -> ../init.d/hdparm.sh

bon je reboot !


#14

ben ça marche toujours pas !! mais par contre en manuel ça va tout seul ! :laughing:
ça doit être le kernel qui a un bug !! je suis sur le 2.6.12-10-686-smp
je vais voir si je trouve de la documentation sur ce problème et je te tiens au courant


#15

Bon je re-test avec ces param :

#/bin/sh echo "Tunning des disques..." /sbin/hdparm -q -d1 /dev/hdb echo "Done."

enregistrer sous hdparm.sh en root

j’efface en manuel les anciens fichiers crées dans /etc/rc0.d…rc1.d… que j’avais crée

je fais un update-rc.d

et au reboot je vois permission denied !!! :open_mouth:


#16

[quote](mais si tu l’utilises penses à dire stop à 80 )
[/quote]
justement non il faut pas le stopper

J’avais oublier un truc assez important !! les droits
c’est tout à fait normal qu’il voulais pas me l’éxécuter
Au reboot il me disait “permission denied” ça aurais du me mettre la puce à l’oreille du premier coup. :slightly_smiling:

alors j’ai fais ça :

# chmod 755 /etc/init.d/hdparm.sh

Et ça marche enfin :slightly_smiling:
après 3000 réflexions et 2 nuits blanches !
merci à tous et à alexis