[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Pbm HD - (u)DMA



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 :
niko@goldorack:~$ 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 !

Attachment: kernel.log
Description: Binary data


Reply to: