# [DMA] je pige pas pourquoi ca ne marche pas [resolu]

## nuts

bon j ai reussi l install de la gentoo sur mon serveur, et ca marche niquel.

sauf sur un truc le DMA.

j ai /dev/hda qui fait swap et /

j ai /dev/hdb qui fait /home

le hdb est un vieux 1.2Go qui ne supporte pas le DMA

par contre le hda est un 15Go udma.

et au boot gentoo gueule car y a po de DMA. en effet un

```
hdparm -t /dev/hda
```

me retourne un pauvre 5Mo/sec alors que ce disque peut etre 6x plus rapide.

un

```
hdparm -d1 /dev/hda
```

 me retourne un message d' operation non permise.

je regarde dans mon noyau:

```
CONFIG_BLK_DEV_IDEDMA_PCI=y

CONFIG_BLK_DEV_IDEDMA_FORCED=y

CONFIG_IDEDMA_PCI_AUTO=y

CONFIG_BLK_DEV_AMD74XX=y 
```

alors la maintenant, je ne vois pas, je ne comprends pasLast edited by nuts on Wed Mar 31, 2004 7:28 pm; edited 2 times in total

----------

## LostControl

Salut,

Essaie avec en plus cette option dans ton noyau :

```
CONFIG_BLK_DEV_PIIX=y
```

 :Very Happy: 

----------

## nuts

mon padre va me rebooyter le serveur car la chui au bahut lol, je te dirait si ce truc la est mis

----------

## LostControl

T'as un controlleur IDE Intel au fait ??? Sinon tu peux laisser tomber ce que je t'ai dit... Mais si tu as un controlleur Intel et que CONFIG_BLK_DEV_PIIX=n dans ta config alors je mets ma main à couper que c'est ça  :Wink: Last edited by LostControl on Sun Mar 21, 2004 9:54 pm; edited 1 time in total

----------

## nuts

CONFIG_BLK_DEV_PIIX=y

mais faut peut etre que je le mette  sur N sachant que ma carte mere est a base de amd 751 pour cpu amd

----------

## nuts

j ai mis le nouveau noyau et ca ne fonctionne toujours pas

----------

## navidson

attention je vais peut-etre dire une grosse betise netant pas sur :

si tu as deux disques sur la meme nappe IDE et que l un ne supporte pas le DMA est-ce que sur le deuxieme le DMA est activé ?

----------

## nuts

alors dans mes branchement

primary master = hda UDMA66

secondary master = hdb PIO.

le DMA est inactif sur les 2

```
root@Sheitan nuts # hdparm -t /dev/hda

/dev/hda:

 Timing buffered disk reads:   22 MB in  3.24 seconds =   6.79 MB/sec

root@Sheitan nuts # hdparm -t /dev/hdb

/dev/hdb:

 Timing buffered disk reads:   22 MB in  3.16 seconds =   6.95 MB/sec

```

```
root@Sheitan nuts # hdparm -d1 /dev/hda

/dev/hda:

 setting using_dma to 1 (on)

 HDIO_SET_DMA failed: Operation not permitted

 using_dma    =  0 (off)

```

----------

## navidson

quand tu demarres la becane que te dit le bios ?

sinon essaie de debrancher le vieux disque et de reessayer

----------

## theturtle123

es tu sur de tes branchements au niveau hardware ?

j'ai déjà eu ce types de problèmes soit en inversant les nappes (les nouvelles là quand tu mets pas le bleu coté carte mère et le noir coté master) soit en mettant mes disques en cable select ou en auto config...

si le montage de ta box est nouveau ça peut venir de là

sinon je vois pas

----------

## nuts

pour info si je boot avec le cd rescue de gentoo.

si ej fais des hdparm -t de mes disque j obtiens >30Mo/sec pour hda et 5Mosec pour hdb, ce n est donc pas hardware

----------

## theturtle123

ok désolé je pouvais pas savoir   :Wink: 

es tu sur d'avoir selectionné le bon driver pour le controleur IDE dans ton kernel ?

peut être t'es tu trompé de chipset et donc que  tu fonctionnes dans un mode ide non optimisé ?

cherche de ce coté là, ça me semblerait étrange que ça vienne d'ailleurs si le cd de boot gentoo fonctionne...   :Twisted Evil: 

----------

## navidson

autre solution tu prends la config kernel du live cd et tu essaies avec celle ci sur ton install .si ca marche tu vires les options qui te servent pas et tu regardes les options cochees dans le menu IDE....

si ca marche pas .........  :Twisted Evil: 

----------

## nuts

mouais si y ena  un...

----------

## navidson

en principe il me semble quil y est toujours si tu as les sources....

----------

## theturtle123

le problème du live cd c'est que *je pense* que le kernel est quasiment compilé avec tout ce qui est possible en modules...

essaye donc sur ton kernel de compiler un max de trucs en modules dans les menus sur l'ide, les disques, les controleurs de carte mère...

peut être que le bon sera selectionné par magie au boot   :Twisted Evil: 

----------

## LostControl

Le mieux encore c'est de voir les modules qui sont chargés quand tu bootes sur le liveCD. La commande :

```
lsmod
```

A+

----------

## nuts

up y a rien de tout ca ki marche.

j ai les boules

----------

## anigel

Salut.

Pour t'aider il nous faudrait un poil plus de précisions : quel noyau utilises-tu ? Vu les ennuis que tu as l'idéal serait de commencer par un vanilla-sources.

Si tu n'arrives vraiment pas à en faire quoi que ce soit, boot sur le live cd et recopies le fichier /proc/config sur ton dur. Ensuite utilises ce fichier comme config de noyau pour compiler un noyau gentoo-sources, et refais un essai.

Si cette dernière solution ne fonctionne pas... un truc m'échappe là !

Courage !

----------

## nuts

ah c est dans /proc/config? abh je regarderai.

mon noyau actuel est le 2.425 je crois, enfin les derneir gentoo-sources.

j essaye ta soluce soir ce

----------

## anigel

Alors ? Pas de nouvelles = bonne nouvelles ?

----------

## nuts

pas helas pas bonne nouvelle; excuser de pas avoir reposter.

j ai essayer le config du live cd 1.4 cependant le config date un max et un make oldconfig ne m aide pas. ca a corriger le DMA mais plein de nouveua prob on debarquer. mais alors tres nombreux.

j ai preferer remettre un truc qui marche avec juste le DMA foireux. ca fait moins de chose a reparer.

pourtant je me suis bien inspirer du .config de mon autre pc sous gentoo qui utilise le meme noyau et donc roule impec

----------

## nuts

bon je vais tenter avec les gentoo-dev-sources 2.6.3

----------

## navidson

si tas reussi a le faire marcher tu regardes les deux fichiers de config et tu trouves les differences au niveau des options IDE ,DMA etc...il suffit si ca se trouve d une option qui a été oublié......

----------

## nuts

et pourtant....

la je retente le 2.4 en activant un truc sytle dma for disk only. si ca marche pas j install le noyau 2.6

----------

## nuts

bon j ai installer le noyau 2.6.3 et toujours pas de DMA.

je ne sais plus quoi faire. c est lent pour transfere des donne

je vais tenter le genkernel

----------

## yoyo

J'ai regardé rapidos dans le menuconfig et voila ce qui me semble utile :

Dans "ATA/IDE/MFM/RLL support  ---> IDE, ATA and ATAPI Block devices  --->"

coche en built-in :

 *Quote:*   

>  Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
> 
> Include IDE/ATA-2 DISK support
> 
> Include IDE/ATAPI CDROM support
> ...

 

Et éventuellement :  *Quote:*   

> Use multi-mode by default

  si comme indiqué dans l'aide, tu as :  *Quote:*   

> If you get this error, try to say Y here:                                                                                              
> 
>                                                                                                                       hda: set_multmode: status=0x51 { DriveReady SeekComplete Error }                                                                       
> 
> hda: set_multmode: error=0x04 { DriveStatusError }

  dans ton dmesg ...

Vire tout le reste (Intel PIIXn chipsets support, etc.) car cela peut créer des conflits (utilisation du support d'un autre chipset par exemple).

Bon courage.

PS : cela ne te dispense pas de tester un 2.6 ...  :Wink: 

----------

## nuts

je crois que je viens de crouter mon serveur, impossible de ssh dessus. chui bon pour attendre ce soir.

----------

## nuts

je refais mon noyau avec tes indication. quand j ai tenter le genkernel ca ma donner un noyau pas genial qui avait perdu le reseau ce qui explique pkoi je ne pouvais plus le modifier a distance.

le hda atteigner ses 30Mo/sec et a ma grand surprise mon hdb qui est pas censer etre DMA a atteint les 8.5Mo/sec au lieu de 5.

donc la je recompille pour voir et je tiens au courant

----------

## nuts

```
root@Sheitan nuts # hdparm -t /dev/hda

/dev/hda:

 Timing buffered disk reads:   76 MB in  3.03 seconds =  25.08 MB/sec

root@Sheitan nuts # hdparm -t /dev/hdb

/dev/hdb:

 Timing buffered disk reads:   26 MB in  3.15 seconds =   8.25 MB/sec

```

ca marche enfin, mais du coup j ai entre en dur tous les chipset dans le noyau. normalement ma carte mere est une k7N avec un chip amd 751. je ne comprends pas

----------

## nuts

a y est reparer en fait mon south bridge est un VIA j ai regarder sur le manuel de la carte mere que je veind eretrouver.

```
root@Sheitan nuts # hdparm -t /dev/hda

/dev/hda:

 Timing buffered disk reads:   88 MB in  3.04 seconds =  28.95 MB/sec

root@Sheitan nuts # hdparm -t /dev/hdb

/dev/hdb:

 Timing buffered disk reads:   26 MB in  3.08 seconds =   8.44 MB/sec

root@Sheitan nuts # hdparm -d /dev/hdb

/dev/hdb:

 using_dma    =  1 (on)

root@Sheitan nuts # hdparm -d /dev/hda

/dev/hda:

 using_dma    =  1 (on)

```

----------

## yoyo

 *nuts wrote:*   

> en fait mon south bridge est un VIA j ai regarder sur le manuel de la carte mere que je veind eretrouver.

 

Ah ben forcément, ça va tout de suite mieux avec la doc ...   :Neutral:   :Mr. Green: 

----------

