Ok, I've driven myself sick with this problem. Been living off google answers for the past 4 days, with no help.
First I describe the problems, then at the end I show my dmesg and lspci -vvv.
I have a AMD Athlon 700, on some mobo, donno, don't matter. Currently I have 1 20GB HD as boot drive, and 6 120GB made into a software RAID5, using 2.4.22 kernel, self-compiled. Earlier I was using a 2.4.20 self-compile kernel (same hardware) and there was never a problem. 4 of the 6 120GB drives are on a Adaptec 1200A ATA100 IDERAID Controller. It uses a HighPoint driver.
Anyway, after compiling the new kernel, I get many many DMA timeout errors. It take 15 minutes to boot the machine now (used to take 45secs) The errors look like...
blk: queue c03deefc, I/O limit 4095Mb (mask 0xffffffff)
hdg1
hdh:<4>hdh: dma_timer_expiry: dma status == 0x61
hdh: 0 bytes in FIFO
hdh: timeout waiting for DMA
hdh: error waiting for DMA
hdh: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
This is the drive that's on the mobo's IDE slot.
hdparm -tT /dev/hda:
/dev/hda:
Timing buffer-cache reads: 128 MB in 0.80 seconds =160.00 MB/sec
Timing buffered disk reads: 64 MB in 3.97 seconds = 16.12 MB/sec
This is the RAID device.
hdparm -tT /dev/md0:
/dev/md0:
Timing buffer-cache reads: 128 MB in 0.84 seconds =152.38 MB/sec
Timing buffered disk reads: 64 MB in 14.83 seconds = 4.32 MB/sec
The speeds are horriable, and I've done everything I can think of. I've set the parameters for the hd using hdparm multiple different ways with no luck. I've recompiled the kernel using default PCI IDE and the specific drivers. I just don't know what else to do. I've went over and over thru the 2.4.20 kernel config I had but it's no use.
Anyone that can help please email me,
mint@freshstation.org or reply to this post.
Thanks in advance.
*************************************
********** lspci -vvv ***************
*************************************
00:00.0 Host bridge: Advanced Micro Devices [AMD] AMD-751 [Irongate] System Controller (rev 25)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
Latency: 64
Region 0: Memory at d0000000 (32-bit, prefetchable) [size=128M]
Region 1: Memory at df002000 (32-bit, prefetchable) [size=4K]
Region 2: I/O ports at d000 [disabled] [size=4]
Capabilities: [a0] AGP version 1.0
Status: RQ=15 SBA+ 64bit- FW- Rate=x1,x2
Command: RQ=0 SBA- AGP+ 64bit- FW- Rate=<none>
00:01.0 PCI bridge: Advanced Micro Devices [AMD] AMD-751 [Irongate] AGP Bridge (rev 01) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64
Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
I/O behind bridge: 0000c000-0000cfff
Memory behind bridge: dc000000-ddffffff
Prefetchable memory behind bridge: d8000000-dbffffff
BridgeCtl: Parity- SERR+ NoISA+ VGA+ MAbort- >Reset- FastB2B-
00:07.0 ISA bridge: Advanced Micro Devices [AMD] AMD-756 [Viper] ISA (rev 01)
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
00:07.1 IDE interface: Advanced Micro Devices [AMD] AMD-756 [Viper] IDE (rev 03) (prog-if 8a [Master SecP PriP])
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64
Region 4: I/O ports at f000 [size=16]
00:07.3 Bridge: Advanced Micro Devices [AMD] AMD-756 [Viper] ACPI (rev 03)
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
00:07.4 USB Controller: Advanced Micro Devices [AMD] AMD-756 [Viper] USB (rev 06) (prog-if 10 [OHCI])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 16 (20000ns max), cache line size 08
Interrupt: pin D routed to IRQ 11
Region 0: Memory at df000000 (32-bit, non-prefetchable) [size=4K]
00:08.0 Ethernet controller: 3Com Corporation 3c905C-TX [Fast Etherlink] (rev 78)
Subsystem: 3Com Corporation 3C905C-TX Fast Etherlink for PC Management NIC
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (2500ns min, 2500ns max), cache line size 08
Interrupt: pin A routed to IRQ 5
Region 0: I/O ports at d400 [size=128]
Region 1: Memory at df001000 (32-bit, non-prefetchable) [size=128]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-
00:09.0 Ethernet controller: 3Com Corporation 3c905C-TX [Fast Etherlink] (rev 78)
Subsystem: 3Com Corporation 3C905C-TX Fast Etherlink for PC Management NIC
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (2500ns min, 2500ns max), cache line size 08
Interrupt: pin A routed to IRQ 10
Region 0: I/O ports at d800 [size=128]
Region 1: Memory at df003000 (32-bit, non-prefetchable) [size=128]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-
00:0b.0 Unknown mass storage controller: Triones Technologies, Inc. HPT366 (rev 03)
Subsystem: Triones Technologies, Inc.: Unknown device 0005
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 120 (2000ns min, 2000ns max), cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at dc00 [size=8]
Region 1: I/O ports at e000 [size=4]
Region 2: I/O ports at e400 [size=8]
Region 3: I/O ports at e800 [size=4]
Region 4: I/O ports at ec00 [size=256]
Expansion ROM at <unassigned> [disabled] [size=128K]
01:05.0 VGA compatible controller: ATI Technologies Inc: Unknown device 5446 (prog-if 00 [VGA])
Subsystem: ATI Technologies Inc: Unknown device 0408
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (2000ns min), cache line size 08
Interrupt: pin A routed to IRQ 10
Region 0: Memory at d8000000 (32-bit, prefetchable) [size=64M]
Region 1: I/O ports at c000 [size=256]
Region 2: Memory at dd000000 (32-bit, non-prefetchable) [size=16K]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: [50] AGP version 2.0
Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2
Command: RQ=0 SBA+ AGP- 64bit- FW- Rate=<none>
Capabilities: [5c] Power Management version 2
Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
***********************************
********** dmesg *******************
***********************************
It's a big output so I placed it here freshstation.org/dmesg.txt
But here is some of the important parts:
Partition check:
hda: hda1 hda2 hda3 hda4
hdb: hdb1
hdd: hdd1
hde:<4>hde: dma_timer_expiry: dma status == 0x61
hde: 0 bytes in FIFO
hde: timeout waiting for DMA
hde: error waiting for DMA
hde: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
blk: queue c03deaa8, I/O limit 4095Mb (mask 0xffffffff)
hde1
hdf:<4>hdf: dma_timer_expiry: dma status == 0x61
hdf: 0 bytes in FIFO
hdf: timeout waiting for DMA
hdf: error waiting for DMA
hdf: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
blk: queue c03debe4, I/O limit 4095Mb (mask 0xffffffff)
hdf1
hdg:<4>hdg: dma_timer_expiry: dma status == 0x61
hdg: 0 bytes in FIFO
hdg: timeout waiting for DMA
hdg: error waiting for DMA
hdg: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
blk: queue c03deefc, I/O limit 4095Mb (mask 0xffffffff)
hdg1
hdh:<4>hdh: dma_timer_expiry: dma status == 0x61
hdh: 0 bytes in FIFO
hdh: timeout waiting for DMA
hdh: error waiting for DMA
hdh: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
blk: queue c03df038, I/O limit 4095Mb (mask 0xffffffff)
hdh1
Highpoint HPT370 Softwareraid driver for linux version 0.02
hde: dma_timer_expiry: dma status == 0x61
hde: 0 bytes in FIFO
hde: timeout waiting for DMA
hde: error waiting for DMA
hde: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
blk: queue c03deaa8, I/O limit 4095Mb (mask 0xffffffff)
hdf: dma_timer_expiry: dma status == 0x61
hdf: 0 bytes in FIFO
hdf: timeout waiting for DMA
hdf: error waiting for DMA
hdf: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
blk: queue c03debe4, I/O limit 4095Mb (mask 0xffffffff)
hdg: dma_timer_expiry: dma status == 0x61
hdg: 0 bytes in FIFO
hdg: timeout waiting for DMA
hdg: error waiting for DMA
hdg: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
blk: queue c03deefc, I/O limit 4095Mb (mask 0xffffffff)
hdh: dma_timer_expiry: dma status == 0x61
hdh: 0 bytes in FIFO
hdh: timeout waiting for DMA
hdh: error waiting for DMA
hdh: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
blk: queue c03de790, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03deaa8, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03debe4, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03deefc, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03df038, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03de33c, I/O limit 4095Mb (mask 0xffffffff)
hde: dma_timer_expiry: dma status == 0x61
hdh: dma_timer_expiry: dma status == 0x61
hde: 0 bytes in FIFO
hde: timeout waiting for DMA
hde: error waiting for DMA
hde: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
hdh: 0 bytes in FIFO
hdh: timeout waiting for DMA
hdh: error waiting for DMA
hdh: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
hdf: 0 bytes in FIFO
hdf: timeout waiting for DMA
hdf: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdf: drive not ready for command
hdf: dma_timer_expiry: dma status == 0x41
hdf: 0 bytes in FIFO
hdf: timeout waiting for DMA
hdf: error waiting for DMA
hdf: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
blk: queue c03de790, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03deaa8, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03debe4, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03deefc, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03df038, I/O limit 4095Mb (mask 0xffffffff)
hde: dma_timer_expiry: dma status == 0x61
hdh: dma_timer_expiry: dma status == 0x61
hde: 0 bytes in FIFO
hde: timeout waiting for DMA
hde: error waiting for DMA
hde: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
hdh: 0 bytes in FIFO
hdh: timeout waiting for DMA
hdh: error waiting for DMA
hdh: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
hdf: 0 bytes in FIFO
hdf: timeout waiting for DMA
hdf: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdf: drive not ready for command
hdf: dma_timer_expiry: dma status == 0x41
hdf: 0 bytes in FIFO
hdf: timeout waiting for DMA
hdf: error waiting for DMA
hdf: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
blk: queue c03de200, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03de33c, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03de790, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03deaa8, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03debe4, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03deefc, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03df038, I/O limit 4095Mb (mask 0xffffffff)
hde: dma_timer_expiry: dma status == 0x61
hdh: dma_timer_expiry: dma status == 0x61
hde: 0 bytes in FIFO
hde: timeout waiting for DMA
hde: error waiting for DMA
hde: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
hdh: 0 bytes in FIFO
hdh: timeout waiting for DMA
hdh: error waiting for DMA
hdh: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
hdf: 0 bytes in FIFO
hdf: timeout waiting for DMA
hdf: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdf: drive not ready for command
hdf: dma_timer_expiry: dma status == 0x41
hdf: 0 bytes in FIFO
hdf: timeout waiting for DMA
hdf: error waiting for DMA
hdf: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }
blk: queue c03de33c, I/O limit 4095Mb (mask 0xffffffff)
hdb: DMA disabled
blk: queue c03de790, I/O limit 4095Mb (mask 0xffffffff)
hdd: DMA disabled
blk: queue c03deaa8, I/O limit 4095Mb (mask 0xffffffff)
hde: DMA disabled
blk: queue c03debe4, I/O limit 4095Mb (mask 0xffffffff)
hdf: DMA disabled
blk: queue c03deefc, I/O limit 4095Mb (mask 0xffffffff)
hdg: DMA disabled
blk: queue c03df038, I/O limit 4095Mb (mask 0xffffffff)
hdh: DMA disabled
blk: queue c03de200, I/O limit 4095Mb (mask 0xffffffff)
hda: DMA disabled
blk: queue c03deaa8, I/O limit 4095Mb (mask 0xffffffff)
hde: dma_timer_expiry: dma status == 0x21
hde: 0 bytes in FIFO
hde: timeout waiting for DMA
hde: error waiting for DMA
hde: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }