# [UDMA] Ne veut pas aller plus loin que le udma2 (résolu)

## digimag

Bonjour,

J'essaye en vain d'améliorer les performances de mon disque dur IDE, mais le système ne va pas plus loin que le udma2. Pourtant, il semblerait que ça devrait marcher.

J'ai un Intel Pentium III à 800 MHz. Le BIOS indique que les modes udma disponibles vont de 1 à 6.

Je vous propose ma petite histoire en ligne de commandes :

```
# dmesg | grep hda

Kernel command line: root=/dev/hda3

    ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:DMA, hdb:pio

hda: HDS728080PLAT20, ATA DISK drive

hda: max request size: 512KiB

hda: 160836480 sectors (82348 MB) w/1719KiB Cache, CHS=16383/255/63, UDMA(33)

hda: cache flushes supported

 hda: hda1 hda2 hda3 hda4

[... UDMA 33 seulement, alors qu'au moment de l'achat,

j'ai lu sur la fiche produit qu'il était compatible UDMA 133}

# lspci | grep IDE

00:1f.1 IDE interface: Intel Corporation 82801BA IDE U100 (rev 02)

[Ici je me demande bien quel pilote faut-il choisir dans le noyau.

Le U100 que veut-il dire ? UDMA 100 peut-être, non ?]

# hdparm -i /dev/hda

/dev/hda:

 Model=HDS728080PLAT20, FwRev=PF2OA2AA, SerialNo=PFD215E8T45A3M

 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }

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

 BuffType=DualPortCache, BuffSize=1719kB, MaxMultSect=16, MultSect=16

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

 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 udma6 

 AdvancedPM=yes: disabled (255) WriteCache=enabled

 Drive conforms to: ATA/ATAPI-7 T13 1532D revision 1:  ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7

[... Bien, on va que même udma6 est disponible,

pourquoi pas l'essayer ? Mais avant, petit test des performances]

# hdparm -tT /dev/hda

/dev/hda:

 Timing cached reads:   484 MB in  2.02 seconds = 240.18 MB/sec

 Timing buffered disk reads:   72 MB in  3.03 seconds =  23.75 MB/sec

[Ça semble pas terrible pour un Hitachi 80 Go 7200 tours :( ]

# hdparm -X udma6 /dev/hda

/dev/hda:

 setting xfermode to 70 (UltraDMA mode6)

[Ah, ça devrait mieux aller ?]

# dmesg | tail -n 1 

ide0: Speed warnings UDMA 3/4/5 is not functional.

[Pourquoi cette erreur ? :'( ]

# hdparm -i /dev/hda | grep udma

 UDMA modes: udma0 udma1 *udma2 udma3 udma4 udma5 udma6 

[Ça n'a pas bougé en fait. Et si on y va plus doucement ?]

# hdparm -X udma3 /dev/hda  

/dev/hda:

 setting xfermode to 67 (UltraDMA mode3)

# hdparm -i /dev/hda | grep udma

 UDMA modes: udma0 udma1 *udma2 udma3 udma4 udma5 udma6 

# dmesg | tail -n 2

ide0: Speed warnings UDMA 3/4/5 is not functional.

ide0: Speed warnings UDMA 3/4/5 is not functional.

[Décidement je ne vois pas ce que je peux faire...]

# cat .config | grep -i dma

CONFIG_ZONE_DMA=y

CONFIG_GENERIC_ISA_DMA=y

CONFIG_ZONE_DMA_FLAG=1

CONFIG_ISA_DMA_API=y

CONFIG_BLK_DEV_IDEDMA_PCI=y

# CONFIG_BLK_DEV_IDEDMA_FORCED is not set

# CONFIG_IDEDMA_ONLYDISK is not set

CONFIG_BLK_DEV_IDEDMA=y

# CONFIG_IDEDMA_IVB is not set

# CONFIG_DMA_ENGINE is not set
```

Avec make menuconfig, dans la section 

```
Generic PCI bus-master DMA support
```

 j'ai seulement ceci d'activé :

```
Intel PIIXn chipsets support (BLK_DEV_PIIX)
```

Je ne vois pas d'autres pilotes susceptibles d'être utilisables par mon système.

J'ai essayé d'être aussi complet que possible, en espérant que vous ne vous êtes pas découragés à la lecture de ces lignes (mais non puisque vous êtes arrivés jusqu'ici ! bravo !). Que puis-je essayer d'autre encore ?

Merci pour votre aide.Last edited by digimag on Fri Aug 03, 2007 7:32 am; edited 2 times in total

----------

## Alcap0ne

Essaye peut-être avec un autre cable IDE   :Idea: 

----------

## ghoti

 *digimag wrote:*   

> hda: HDS728080PLAT20, ATA DISK drive

 

Selon les specs Hitashi, c'est effectivement un ata133  :Smile: 

 *Quote:*   

> 00:1f.1 IDE interface: Intel Corporation 82801BA IDE U100 (rev 02)

 

Le 82801 est en fait un ICH2 : Doc Intel

 *Quote:*   

> [Ici je me demande bien quel pilote faut-il choisir dans le noyau.
> 
> [snip]
> 
> Avec make menuconfig, dans la section 
> ...

 

Huuu ???

(BLK_DEV_SIIMAGE) correspond à "Silicon Image chipset support"

Avec un ICH2, tu devrais plutôt prendre le driver Intel PIIXn chipsets support (BLK_DEV_PIIX)

(erreur de copier/coller ?  :Wink:  )

En espérant que ça puisse t'aider.

----------

## digimag

Merci pour vos réponses ! *Alcap0ne wrote:*   

> Essaye peut-être avec un autre cable IDE  

 Ah oui, j'ai pu lire sur les forums que la nappe IDE pouvait être la cause de cela. Je peux essayer, même si je suis pas trop convaincu par ces histoires de cables.

 *ghoti wrote:*   

> Le 82801 est en fait un ICH2 : Doc Intel

 Merci, je n'y ai pas pensé. *ghoti wrote:*   

> Avec un ICH2, tu devrais plutôt prendre le driver Intel PIIXn chipsets support (BLK_DEV_PIIX)

 Ah ça c'est une erreur de copier / coller comme tu dis, il s'agissait bien du BLK_DEV_PIIX qui est le seul activé dans le noyau.

En lisant la doc d'intel que tu as mentionné, ghoti, je vois que pour mon Integrated IDE Controller je dispose de Ultra ATA/100/66/33, BMIDE and PIO modes. Donc déjà, le mode udma6 (UDMA 133 ?) n'est pas réalisable, le controlleur n'étant pas compatible. Mais il me reste encore les modes udma 3, 4 et 5. Exactement ceux qui ne fonctionnent pas !

```
ide0: Speed warnings UDMA 3/4/5 is not functional.
```

Est-ce les pilotes du noyau qui n'arrivent pas à activer le mode udma 3-4-5 avec le controlleur ou s'agit-il d'un problème lié au disque dur ?

Merci !

----------

## ghoti

 *Alcap0ne wrote:*   

> Essaye peut-être avec un autre cable IDE  

 

+1

Dans le même esprit, tu peux tenter de passer le paramètre suivant au démarrage du noyau :

```
ide0=ata66
```

Cela signale à l'interface que tu as bien une nappe de 80 conducteurs mais que la capacité de tester le bit de détection est inconnue. (voir /usr/src/linux/Documentation/ide.txt)

----------

## Oupsman

 *digimag wrote:*   

> Ah oui, j'ai pu lire sur les forums que la nappe IDE pouvait être la cause de cela. Je peux essayer, même si je suis pas trop convaincu par ces histoires de cables.
> 
> 

 

Pour supporter l'ultra dma supérieur à 33, il faut des nappes en 80 fils. En dessous, ca marche pas.

----------

## digimag

 *Oupsman wrote:*   

> Pour supporter l'ultra dma supérieur à 33, il faut des nappes en 80 fils. En dessous, ca marche pas.

 C'est étrange, je crois en avoir 40   :Rolling Eyes: 

C'est normal ou je compte mal ? En fait c'est sur le connecteur que je peux compter 40 petits trous. Je vais arrêter l'ordi pour voir sur le disque dur...

EDIT : d'après ce que je vois sur les photos trouvés par Google, c'est juste le nombre de fils qui augmente, pas celui des connecteurs. C'est bien ça ? (exemple)

EDIT : Oui, ma nappe a bien 40 fils

EDIT (encore !) : Il semblerait que le problème vient bien de là, merci beaucoup ! (j'essaye dès que je trouve une nappe, les miennes sont toutes à 40 fils)

----------

## widan

 *digimag wrote:*   

> En fait c'est sur le connecteur que je peux compter 40 petits trous. Je vais arrêter l'ordi pour voir sur le disque dur...

 

40 broches (enfin 39, il en manque une pour éviter de le brancher à l'envers), mais 80 fils. Un fil sur deux est un fil de masse, pour éviter les couplages entre deux signaux "voisins" sur le cable.

 *digimag wrote:*   

> Il semblerait que le problème vient bien de là, merci beaucoup !

 

C'est même certain que ça vient de là si tu as une nappe 40 fils.

----------

## Oupsman

 *widan wrote:*   

>  *digimag wrote:*   En fait c'est sur le connecteur que je peux compter 40 petits trous. Je vais arrêter l'ordi pour voir sur le disque dur... 
> 
> 40 broches (enfin 39, il en manque une pour éviter de le brancher à l'envers), mais 80 fils. Un fil sur deux est un fil de masse, pour éviter les couplages entre deux signaux "voisins" sur le cable.
> 
>  *digimag wrote:*   Il semblerait que le problème vient bien de là, merci beaucoup ! 
> ...

 

On remarque que la nappe fait 80 fils a sa densité bien plus importante.

----------

## kwenspc

Les nappes pour l'UDAM ce sont celles à moitiés "rigide" et plu fine que les vieilles.

Euh sinon moi ce que je vois c'est que ton disque supporte l'udma6 ok... mais à mon avis ta carte mère le supporte pas. Au mieux tu pourras peut-être avoir l'udma4 et encore.

----------

## digimag

 *kwenspc wrote:*   

> Euh sinon moi ce que je vois c'est que ton disque supporte l'udma6 ok... mais à mon avis ta carte mère le supporte pas. Au mieux tu pourras peut-être avoir l'udma4 et encore.

 Euh toi, pas très optimiste.

Enfin j'ai changé ma nappe IDE (au passage je me suis aperçu que les CD-ROM étaient déjà branchés sur une nappe 80 fils) et ça va vraiment mieux.  :Very Happy: 

J'ai udma5 et la vitesse a sensiblement augmenté. Là où je le remarque le plus, c'est après l'hibernation, la mémoire est restorée trois ou quatre fois plus vite. Quand aux stats de hdparm, c'est quasiment la même vitesse pour Timing cached reads mais presque deux fois plus rapide pour Timing buffered disk reads.

Merci à vous tous, c'est résolu  :Smile: 

----------

