OKi, je test. Mais j'aurais voulu avoir les id�es claires :

Je sais que le DMA am�liore les taux de transfert.
Est-ce que le DMA abime le disque s'il n'est pas activ� ?
et si je l'active, mais que je respecte les taux accept� par ma carte et mon
HD,
et qu'il me g�n�r les erreures que j'ai, est-ce que �a abime le HD ?

voila...


----- Original Message ----- 
From: "Sebastienlayer" <[EMAIL PROTECTED]>
To: "Nicolas Qu�r�" <[EMAIL PROTECTED]>
Sent: Friday, December 19, 2003 9:47 PM
Subject: Re: Pbm HD - (u)DMA

Avant d'activer quoique se soit dans ton noyau, essaye ceci
 hdparm -d 1 -X66 /dev/hdX
pour activer le Udma sur ton disque X. Attention a l'option -X66 qui
pr�cise le taux. -X66 repr�sente l'UDMA100

Puis ceci pour voir les taux de transfert
 hdparm -t /dev/hdX
sur ton disque X


Ensuite, si tu arrives � activer le dma a la mimine sur tous tes disques
avec le HDparm, commence a touche a ton noyau. et surtout n'oublie pas
l'option

et grossomodo la config de ton noyau niveau disque doit donner ceci
make menu config

ATA/IDE/MFM/RLL support  --->
<*> ATA/IDE/MFM/RLL support
IDE, ATA and ATAPI Block devices  --->

...
<*>   Include IDE/ATA-2 DISK support
[*]     Use multi-mode by default
....
[*]   PCI IDE chipset support
....
[*]     Generic PCI bus-master DMA support
...
[*]       Use PCI DMA by default when available
...


surtout n'oublie pas le Use PCI DMA by default when available qui active
le dma par d�faut quand c'est possible.


Le ven 19/12/2003 � 19:41, Nicolas Qu�r� a �crit :
> Bonjour � tous,
> voila, si quelqu'un pouvait un peu m'aider...
>
> J'ai une ABIT- KG7-RAID (chipset via82xx et Hightpoint 370 pour le
> raid)
> mon hda est un maxtor 40G (tout neuf)
> mon hdb est un seagate 40G (tout vieux)
> et mon hde est un maxtor 80G (en raid-ide).
>
> Bref, tout marche bien sauf le (U)DMA.
>
> Donc, le but, c'est de trouver les bonnes options dans mon kernel pour
> pas que les HD s'affolent.
> J'ai remarqu� que hde "ne dit rien" lorsque l'option USE PCI DMA by
> default When available. est d�sactiv�e.
> et que le PC boot carr�ment plus vite. Donc, j'avais fait un script
> hdparm dans init.d ou dedans il y avait :
> #!/bin/sh
> echo -n "Optimising IDE periphericals with hdparm : "
> /sbin/hdparm -q -d1 /dev/hda
> /sbin/hdparm -q -d0 /dev/hdb
> /sbin/hdparm -q -c1 /dev/hdb
> /sbin/hdparm -q -d1 /dev/hde
> echo "done."
>
> et l'option �tait d�sactiv�e mais avec cette configuration, c'est HDE
> qui hurlait...
> Donc, comme HDE est plus important que hdb, je suis revenu � activer
> l'option et virer hdparm.sh dans /etc/init.d...
>
> bref, �a commence � me titiller s�v�re...
>
> Voila, ci-dessous plein d'infos pour vous mettre "dans le bain" :)
> Merci ;)
>
>
> J'ai mis �a comme option dans la config de mon noyau (2.4.23)
> #
> # ATA/IDE/MFM/RLL support
> #
> CONFIG_IDE=y
>
> #
> # IDE, ATA and ATAPI Block devices
> #
> CONFIG_BLK_DEV_IDE=y
> # CONFIG_BLK_DEV_HD_IDE is not set
> # CONFIG_BLK_DEV_HD is not set
> CONFIG_BLK_DEV_IDEDISK=y
> CONFIG_IDEDISK_MULTI_MODE=y
> # CONFIG_IDEDISK_STROKE is not set
> # CONFIG_BLK_DEV_IDECS is not set
> CONFIG_BLK_DEV_IDECD=m
> # CONFIG_BLK_DEV_IDETAPE is not set
> # CONFIG_BLK_DEV_IDEFLOPPY is not set
> CONFIG_BLK_DEV_IDESCSI=m
> # CONFIG_IDE_TASK_IOCTL is not set
> # CONFIG_BLK_DEV_CMD640 is not set
> # CONFIG_BLK_DEV_CMD640_ENHANCED is not set
> # CONFIG_BLK_DEV_ISAPNP is not set
> CONFIG_BLK_DEV_IDEPCI=y
> CONFIG_BLK_DEV_GENERIC=y
> CONFIG_IDEPCI_SHARE_IRQ=y
> CONFIG_BLK_DEV_IDEDMA_PCI=y                                 <<<<<<<<<
> ICI
> # CONFIG_BLK_DEV_OFFBOARD is not set
> # CONFIG_BLK_DEV_IDEDMA_FORCED is not set
> CONFIG_IDEDMA_PCI_AUTO=y                                  <<<<<<<<<
> ICI
> # CONFIG_IDEDMA_ONLYDISK is not set
> CONFIG_BLK_DEV_IDEDMA=y                                  <<<<<<<<< ICI
> # CONFIG_IDEDMA_PCI_WIP is not set
> # CONFIG_BLK_DEV_ADMA100 is not set
> # CONFIG_BLK_DEV_AEC62XX is not set
> # CONFIG_BLK_DEV_ALI15X3 is not set
> # CONFIG_WDC_ALI15X3 is not set
> # CONFIG_BLK_DEV_AMD74XX is not set
> # CONFIG_AMD74XX_OVERRIDE is not set
> # CONFIG_BLK_DEV_CMD64X is not set
> # CONFIG_BLK_DEV_TRIFLEX is not set
> # CONFIG_BLK_DEV_CY82C693 is not set
> # CONFIG_BLK_DEV_CS5530 is not set
> # CONFIG_BLK_DEV_HPT34X is not set
> # CONFIG_HPT34X_AUTODMA is not set
> CONFIG_BLK_DEV_HPT366=y                                  <<<<<<<<< ICI
> # CONFIG_BLK_DEV_PIIX is not set
> # CONFIG_BLK_DEV_NS87415 is not set
> # CONFIG_BLK_DEV_OPTI621 is not set
> # CONFIG_BLK_DEV_PDC202XX_OLD is not set
> # CONFIG_PDC202XX_BURST is not set
> # CONFIG_BLK_DEV_PDC202XX_NEW is not set
> # CONFIG_BLK_DEV_RZ1000 is not set
> # CONFIG_BLK_DEV_SC1200 is not set
> # CONFIG_BLK_DEV_SVWKS is not set
> # CONFIG_BLK_DEV_SIIMAGE is not set
> # CONFIG_BLK_DEV_SIS5513 is not set
> # CONFIG_BLK_DEV_SLC90E66 is not set
> # CONFIG_BLK_DEV_TRM290 is not set
> CONFIG_BLK_DEV_VIA82CXXX=y                                 <<<<<<<<<
> ICI
> # CONFIG_IDE_CHIPSETS is not set
> CONFIG_IDEDMA_AUTO=y                                 <<<<<<<<< ICI
> # CONFIG_IDEDMA_IVB is not set
> # CONFIG_DMA_NONPCI is not set
> CONFIG_BLK_DEV_IDE_MODES=y
> CONFIG_BLK_DEV_ATARAID=y
> # CONFIG_BLK_DEV_ATARAID_PDC is not set
> CONFIG_BLK_DEV_ATARAID_HPT=y                                 <<<<<<<<<
> ICI
> # CONFIG_BLK_DEV_ATARAID_SII is not set
>
> J'ai fait aussi un :
> [EMAIL PROTECTED]:~$ cat /proc/ide/via
> ----------VIA BusMastering IDE Configuration----------------
> Driver Version:                     3.37
> South Bridge:                       VIA vt82c686b
> Revision:                           ISA 0x40 IDE 0x6
> Highest DMA rate:                   UDMA100
> BM-DMA base:                        0xc400
> PCI clock:                          33.3MHz
> Master Read  Cycle IRDY:            0ws
> Master Write Cycle IRDY:            0ws
> BM IDE Status Register Read Retry:  yes
> Max DRDY Pulse Width:               No limit
> -----------------------Primary IDE-------Secondary IDE------
> Read DMA FIFO flush:          yes                 yes
> End Sector FIFO flush:         no                  no
> Prefetch Buffer:               no                  no
> Post Write Buffer:            yes                  no
> Enabled:                      yes                 yes
> Simplex only:                  no                  no
> Cable Type:                   80w                 40w
> -------------------drive0----drive1----drive2----drive3-----
> Transfer Mode:       UDMA       PIO       DMA      UDMA
> Address Setup:       30ns      30ns      30ns      30ns
> Cmd Active:          90ns      90ns      90ns      90ns
> Cmd Recovery:        30ns      30ns      30ns      30ns
> Data Active:         90ns      90ns      90ns      90ns
> Data Recovery:       30ns      30ns      30ns      30ns
> Cycle Time:          20ns     120ns     120ns      60ns
> Transfer Rate:   99.9MB/s  16.6MB/s  16.6MB/s  33.3MB/s
>
> et voici les message que j'ai au boot :
> {...}
> Check partitions :
> {...}
> hdb:<4>hdb: dma_timer_expiry: dma status == 0x61
> hdb: error waiting for DMA
> hdb: dma timeout retry: status=0x58 { DriveReady SeekComplete
> DataRequest }
>
> blk: queue c02b5da8, I/O limit 4095Mb (mask 0xffffffff)
>  hdb1
>  hde: [PTBL] [9964/255/63] hde1
> Highpoint HPT370 Softwareraid driver for linux version 0.02
> hdb: dma_timer_expiry: dma status == 0x61
> hdb: error waiting for DMA
> hdb: dma timeout retry: status=0x58 { DriveReady SeekComplete
> DataRequest }
>
> usb.c: registered new driver usbdevfs
> usb.c: registered new driver hub
> {....}
> ip_conntrack version 2.1 (6143 buckets, 49144 max) - 292 bytes per
> conntrack
> hdb: dma_timer_expiry: dma status == 0x61
> hdb: error waiting for DMA
> hdb: dma timeout retry: status=0x58 { DriveReady SeekComplete
> DataRequest }
>
> hda: status error: status=0xd0 { Busy }
>
> hda: DMA disabled
> hda: drive not ready for command
> ide0: reset: success
> hdb: dma_timer_expiry: dma status == 0x41
> hdb: error waiting for DMA
> hdb: dma timeout retry: status=0x58 { DriveReady SeekComplete
> DataRequest }
>
> hda: lost interrupt
> kjournald starting.  Commit interval 5 seconds
> {....}
>
> Voila !
> >> au cas o�... je fou le "kernel.log" en P.J.
>
> Thank's all !
-- 

Répondre à