Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/07/2006, à 20:45

cflam69

Script de démarrage pour activer DMA (ou autres)

Bonjour à tous,

Alors, mon problème du jour, c'est que je ne peux activer le dma de mon PC que manuellement après le démarrage depuis que je suis sous Dapper (oui, je sais, en général, c'est l'inverse tongue !).
Bon, j'ai beau faire et chercher, je n'ai rien trouvé de probant pour rendre cela automatique ... hormis écrire un script de démarrage (1) ou modifier certains fichiers peut-être (2)

1- Là, j'ai besoin de vous. Déjà pour l'écrire mais aussi pour l'intégrer proprement au système. Or, je ne suis pas très doué à ce niveau. D'où cette appel à l'aide neutral
Alors, ce que j'ai vu, c'est ça => http://www.andesi.org/index.php?node=28
ça me donne une idée, mais je ne sais pas si cela est envisageable sous Dapper et ... pis j'ai pas tout pigé quand même.  Or, le PC que je souhaite bidouiller est celui que je ne souhaite pas voir complétement cassé ! hmm;)
Donc, je pensais écrire un p'tit script qui contiendrait, en gros, qu'une ligne tel que :

hdparm -d1 -c1 /dev/hda ; hdparm -d1 -c1 /dev/hdb ; hdparm -d1 -c1 /dev/hdc ; hdparm -d1 -c1 /dev/hdd

2- Sinon, je voulais savoir si on pouvait modifier (et comment) les fichiers en causes. C'est-à-dire :

/etc/apm/event.d/20hdparm
/etc/udev/rules.d/85-hdparm.rules

Merci big_smile


La liberté ne s'use que si l'on ne s'en sert pas.

Hors ligne

#2 Le 03/07/2006, à 22:14

milambert

Re : Script de démarrage pour activer DMA (ou autres)


mouarf, ...

Hors ligne

#3 Le 03/07/2006, à 23:35

cflam69

Re : Script de démarrage pour activer DMA (ou autres)

Euh, oui ... wink désolé, j'aurais du être plus précis. Cette solution, ainsi que quelques autres du forum sont sans résultat. Le seul moyen et de lancer un la commande après le démarrage.
merci quand même big_smile


La liberté ne s'use que si l'on ne s'en sert pas.

Hors ligne

#4 Le 04/07/2006, à 08:08

cep

Re : Script de démarrage pour activer DMA (ou autres)

Bonjour cflam69,

Pour faire cela :

sudo nano -w /etc/init.d/dmaon.sh

et dans ce fichier tu mets :

#! /bin/sh

## activation dma sur /dev/hda

command_line {
hdparm -d1 /dev/hda
}

Puis tu crées les liens :

sudo update-rc.d  dmaon.sh defaults 70


Tu peux mettre d'autres options dans ton fichier, en t'inspirant par exemple du /etc/hdparm.conf.
Curieux cette histoire de dma sur ce disque qui t'aura bien enquiquiné depuis le temps wink

Cordialement.
cep

Édit : je n'ai pas précisé que tu peux activer le dma et autres options de plusieurs disques dans le même script.
Avant de faire le script, tu peux voir ce qui est déjà activé par la commande :
sudo hdparm /dev/hd[a-z]

ÉDIT : ne pas oublier de rendre le script exécutable.

Dernière modification par cep (Le 05/07/2006, à 16:13)

Hors ligne

#5 Le 04/07/2006, à 23:12

cflam69

Re : Script de démarrage pour activer DMA (ou autres)

Encore une fois, merci cep_ big_smile wink
Je tente cela tout de suite mais c'est marrant parce que ta commande sudo hdparm /dev/hd[a-z] montre que seule mes DD sont touchés.

/dev/hda:
 multcount    =  0 (off)
 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 = 234441648, start = 0

/dev/hdb:
 multcount    =  0 (off)
 IO_support   =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 38792/16/63, sectors = 39102337, start = 0

/dev/hdc:
 IO_support   =  1 (32-bit)
 unmaskirq    =  1 (on)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 HDIO_GETGEO failed: Invalid argument

/dev/hdd:
 IO_support   =  1 (32-bit)
 unmaskirq    =  1 (on)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 HDIO_GETGEO failed: Invalid argument

A tout de suite...


La liberté ne s'use que si l'on ne s'en sert pas.

Hors ligne

#6 Le 04/07/2006, à 23:39

cflam69

Re : Script de démarrage pour activer DMA (ou autres)

C'est presque parfait hmm ... mais j'aimerais peaufiner. En fait, pour hda et les CDRom, par de soucis dorénavant (encore merci, c'est génial big_smile ).
Mais hdb ne démarre pas malgrès le script :

#! /bin/sh

## activation dma sur /dev/hd

command_line {
hdparm -q -c1 -d1 /dev/hda
}

command_line {
hdparm -q -c1 -d1 /dev/hdb
}

command_line {
hdparm -q -c1 -d1 /dev/hdc
}

command_line {
hdparm -q -c1 -d1 /dev/hdd
}

Y'a une boulette ?
Note bien qu'au boot, j'ai toujours 4 lignes de I/O error blabla sur hdb que je n'ai jamais pu faire disparaître (j'envisage un p'tit formatage du DD).

Sinon, juste pour que j'apprenne à pêcher wink , peux-tu m'expliquer le "defaults 70"

Merci encore


La liberté ne s'use que si l'on ne s'en sert pas.

Hors ligne

#7 Le 04/07/2006, à 23:50

cep

Re : Script de démarrage pour activer DMA (ou autres)

Ah oui, c'est le grand vide wink

Dans ce cas tu pourrais compléter ton script pour les autres points. Pour améliorer la lisibilité, tu peux procéder par étape et une command_line par option et par disque. Pour le 70, c'est le niveau de démarrage. Inutile de le mettre avant. Regarde les scripts dans init et suivants, il y a plusieurs niveaux qui correspondent au moment d'entrer en action, pour schématiser.

Par exemple pour le script tu pourrais mettre :

command_line {
hdparm -d1 /dev/hda
}

command_line {
hdparm -X69 /dev/hda  # valeur à définir plus précisément
}
command_line {
hdparm -c3 /dev/hda
}

command_line {
hdparm -u1 /dev/hda
}

command_line {
hdparm -m1 /dev/hda  # idem à définir peut-être -m16
}

Vois les explications de man hdparm qui est très explicite et tu adaptes en conséquence.
Il faudra se méfier de ne pas mettre des valeurs trop agréssives sous risque de pertes.

Bons ajustements smile
cep

P.s si hdb ne prend pas, essaye d'entrer les options en ligne de commande et regarde ensuite les messages.
Pour la ligne de commande :

sudo hdparm  -c1 -m1 -u1 -d1 -tT /dev/hdb

le -tT est pour faire un test de vitesse.

Dernière modification par cep (Le 04/07/2006, à 23:52)

Hors ligne

#8 Le 05/07/2006, à 16:11

cep_

Re : Script de démarrage pour activer DMA (ou autres)

Ayant vu un sujet concernant init.d, j'ai repensé à ce poste, et reviens sur quelques points passés un peu vite l'autre jour.

1/ pourquoi ajouter les options d'activation de hdc et hdd puisqu'ils ont déjà le dma actif ?

2/ pour ta question sur le défaults. On ne revient pas sur les différents init mais avec defaults la commande :
sudo update-rc.d  dmaon.sh defaults 70
va créer des liens S70dmaon.sh dans les niveaux
/etc/rc2.d/
/etc/rc3.d/
/etc/rc4.d/
/etc/rc5.d/

Le S signifiant start.

Et va créer les liens K70dmaon.sh dans les niveaux
/etc/rc0.d/
/etc/rc1.d/
/etc/rc6.d/
Le K signifie kill.
Si tu veux que le script soit actif en niveau 1 il faudra modifier K70dmaon.sh en S70dmaon.sh dans /etc/rc1.d/

Pour une explication plus détaillée, voir le lien cité plus haut sur andesi, qui est bien fichu.

En espérant n'avoir rien oublié cette fois smile

Cordialement.
cep

#9 Le 05/07/2006, à 18:41

cflam69

Re : Script de démarrage pour activer DMA (ou autres)

cep_ a écrit :

Ayant vu un sujet concernant init.d, j'ai repensé à ce poste, et reviens sur quelques points passés un peu vite l'autre jour.

Tu es tout pardonné tongueroll;)

1/ pourquoi ajouter les options d'activation de hdc et hdd puisqu'ils ont déjà le dma actif ?

Parce ce que le jeune padawan est stupide ... j'ai juste copier/coller mon ancien hdparm.conf pour voir. Mais effectivement, maintenant que je sais que seul mes DD sont à problèmes ....

Si tu veux que le script soit actif en niveau 1 il faudra modifier K70dmaon.sh en S70dmaon.sh dans /etc/rc1.d/

Penses-tu qu'il soit utile de mettre l'activation du dma au niveau 1 (boot + rapide ?) où est-ce risqué (car, si j'ai compris, le niveau 1, c'est init 1, le mini du mini pour démarrer sans problème) ? Bref, le jeux en vaut-il la chandelle ?

En espérant n'avoir rien oublié cette fois smile

Je ne pense pas. Ceci dit, je vais doucement essayer tes commandes. J'avais lu que hdparm pouvait, pour certaines fonctions, être mauvais si mal utilisé (ce que tu laisses entendre d'ailleurs).
Il se peut que je te sollicite donc à nouveau wink

Très cordialement.
Cflam69


La liberté ne s'use que si l'on ne s'en sert pas.

Hors ligne

#10 Le 05/07/2006, à 19:00

cep_

Re : Script de démarrage pour activer DMA (ou autres)

cflam69 a écrit :

. . . Penses-tu qu'il soit utile de mettre l'activation du dma au niveau 1 (boot + rapide ?) où est-ce risqué (car, si j'ai compris, le niveau 1, c'est init 1, le mini du mini pour démarrer sans problème) ? Bref, le jeux en vaut-il la chandelle ?

Bof. En cas de besoin, tu pourras toujours faire un sudo hdparm -d1 /dev/hda smile

Je ne pense pas. Ceci dit, je vais doucement essayer tes commandes. J'avais lu que hdparm pouvait, pour certaines fonctions, être mauvais si mal utilisé (ce que tu laisses entendre d'ailleurs).
Il se peut que je te sollicite donc à nouveau wink

En fonction des disques, oui, il y a toujours des risques. Tu peux donc laisser les réglages "minimum" -c1 -d1 -m1 dans ton script et pousser ensuite des tests avec des commandes externes plus aggréssives et des copies de fichiers ou autres procédures puis faire des diff sur les deux fichiers ou autres tests plus poussés pour voir.
Pour -X69, c'est "for UltraDMA,  the  value is the desired UltraDMA mode number plus 64." Donc 64 + 5 pour udma5.
Pour -m16 voir le retour du sudo hdparm -I /dev/hd? sud le R/W multiple . . . Voir aussi les commentaires du man hdparm pour les disques Westrn Digital en particulier.
Voir aussi si nécessaire le réglage de l'accoustique.

Bon, je vais aller régler les crampons et préparer les chaussettes pour le match de ce soir smile

Bye

#11 Le 05/07/2006, à 20:02

cflam69

Re : Script de démarrage pour activer DMA (ou autres)

Bon, je vais aller régler les crampons et préparer les chaussettes pour le match de ce soir smile

Alors, merci et bon match smile


La liberté ne s'use que si l'on ne s'en sert pas.

Hors ligne