LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 04-20-2004, 04:46 PM   #1
Patola
LQ Newbie
 
Registered: Apr 2004
Location: São Paulo, SP - Brazil
Distribution: Debian Unstable
Posts: 19

Rep: Reputation: 0
NFORCE2 IDE controller with Athlon XP 2400 problem - data corruption


This problem is really strange, but it is happening consistently for several weeks now.
It occurs in an Athlon XP 2400+ with 2x256 DDR 166 modules and an A7N8X Deluxe board
with 2 HD's (40 GB and 120 GB) and one DVD-RW (LG-GSA 4040b). The A7N8X Deluxe uses
the nforce2 PCI Bridge and IDE Controller.

I had kernel 2.4.22 with the XFS patch. I upgraded to 2.6.5 yesterday to see if I had
the problem corrected, but it behaves the same way.

The problem is: when I read a large file, say, larger than 200 MB, some bytes are read
incorrectly. It looks like it also happens when I write it too. It only happens when I
try to read it quickly, like in a cp or md5sum operation. If I download it from the
internet, it looks like it is ok.

If I try to run md5sum 4 times on the same file, every time the md5sum is different.
Like that:

$ md5sum 1GB_file.rar

bd17afc743b1d69d7458553cc5971145 1GB_file.rar

$ md5sum 1GB_file.rar

2b17bc4e5d7609b5fddbf67b5c84b869 1GB_file.rar

$ md5sum 1GB_file.rar

3ed1c36bed43f355f53df2ac763b7ea2 1GB_file.rar

$ md5sum 1GB_file.rar

0f6e73894382bca04326f4e4abbca4d3 1GB_file.rar

I've made an experience trying to get the pattern. I've built a shell script for building an 1GB file
with 167777217 lines with 64 'a' each:

x=0
while [ $x -lt 16777216 ]
do
let x+=1
echo aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa >> a.txt
done

Well, it turns out that a 'grep -nv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
on the file shows up random line numbers, like that:

$ grep -nv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa a.txt
1485924: aaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4722747: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaa
5001213: aaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8292837: aaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
9013827: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaa
11832018: aaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
11918307: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaa
14193810: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaa
16530182: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Some of these files are wrong because of when I wrote - they always show up when I run the
same grep again. Anyway, it's always the same bit that is switched - an 'a' turns into a 'c'.

Oh, and this problem occurs in Linux for every partition and drive I test: the VFAT partition
in drive 1, the XFS partition in drive 1 and the ReiserFS partition in drive 2.

Anyway it looks like it is a hardware problem, but then I booted in windows (which uses the
VFAT partition in drive 1) and made the same tests using md5sum for windows and md5summer.
Well, this time, after more than a dozen tries with the same large files, the md5sum showed
up completely equals! No flaws, no changed bits. All disk optimizations were on.

I even tried, in linux, disabling DMA, readahead, multcount, 32-bit support and unmaskirq with
no good results (with everything disabled, in single mode, sometimes the file returned the
right md5sum, *but* I repeat the operation and it doesn't return the correct one anymore.
Maybe it returned ok the first time because the operation was slower than with every feature
enabled).

My main suspect here is the NForce PCI bridge or IDE Controller. Using the dmesg command it
tells me something about cable bits set incorrectly, could this be related?
Here is the configuration of my machine: lspci -vv, hdparm's for hda and hdb.

0000:00:00.0 Host bridge: nVidia Corporation nForce2 AGP (different version?) (rev c1)
Subsystem: Asustek Computer, Inc.: Unknown device 80ac
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Region 0: Memory at d0000000 (32-bit, prefetchable)
Capabilities: [40] AGP version 2.0
Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=x1
Capabilities: [60] #08 [2001]

0000:00:00.1 RAM memory: nVidia Corporation nForce2 Memory Controller 1 (rev c1)
Subsystem: nVidia Corporation: Unknown device 0c17
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

0000:00:00.2 RAM memory: nVidia Corporation nForce2 Memory Controller 4 (rev c1)
Subsystem: nVidia Corporation: Unknown device 0c17
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

0000:00:00.3 RAM memory: nVidia Corporation nForce2 Memory Controller 3 (rev c1)
Subsystem: nVidia Corporation: Unknown device 0c17
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

0000:00:00.4 RAM memory: nVidia Corporation nForce2 Memory Controller 2 (rev c1)
Subsystem: nVidia Corporation: Unknown device 0c17
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

0000:00:00.5 RAM memory: nVidia Corporation nForce2 Memory Controller 5 (rev c1)
Subsystem: nVidia Corporation: Unknown device 0c17
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

0000:00:01.0 ISA bridge: nVidia Corporation nForce2 ISA Bridge (rev a4)
Subsystem: Asustek Computer, Inc. A7N8X Mainboard
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Capabilities: [48] #08 [01e1]

0000:00:01.1 SMBus: nVidia Corporation nForce2 SMBus (MCP) (rev a2)
Subsystem: Asustek Computer, Inc.: Unknown device 0c11
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 5
Region 0: I/O ports at e000
Capabilities: [44] 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-

0000:00:02.0 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4) (prog-if 10 [OHCI])
Subsystem: Asustek Computer, Inc. A7N8X Mainboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin A routed to IRQ 5
Region 0: Memory at ee087000 (32-bit, non-prefetchable)
Capabilities: [44] 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-

0000:00:02.1 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4) (prog-if 10 [OHCI])
Subsystem: Asustek Computer, Inc. A7N8X Mainboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin B routed to IRQ 11
Region 0: Memory at ee082000 (32-bit, non-prefetchable)
Capabilities: [44] 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-

0000:00:02.2 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4) (prog-if 20 [EHCI])
Subsystem: Asustek Computer, Inc. A7N8X Mainboard
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin C routed to IRQ 5
Region 0: Memory at ee083000 (32-bit, non-prefetchable)
Capabilities: [44] #0a [2080]
Capabilities: [80] 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-

0000:00:04.0 Ethernet controller: nVidia Corporation nForce2 Ethernet Controller (rev a1)
Subsystem: Asustek Computer, Inc.: Unknown device 80a7
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (250ns min, 5000ns max)
Interrupt: pin A routed to IRQ 11
Region 0: Memory at ee086000 (32-bit, non-prefetchable)
Region 1: I/O ports at e400 [size=8]
Capabilities: [44] 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-

0000:00:05.0 Multimedia audio controller: nVidia Corporation nForce MultiMedia audio [Via VT82C686B] (rev a2)
Subsystem: Asustek Computer, Inc.: Unknown device 0c11
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (250ns min, 3000ns max)
Interrupt: pin A routed to IRQ 5
Region 0: Memory at ee000000 (32-bit, non-prefetchable)
Capabilities: [44] 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-

0000:00:06.0 Multimedia audio controller: nVidia Corporation nForce2 AC97 Audio Controler (MCP) (rev a1)
Subsystem: Asustek Computer, Inc.: Unknown device 8095
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (500ns min, 1250ns max)
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at d000
Region 1: I/O ports at d400 [size=128]
Region 2: Memory at ee080000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] 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-

0000:00:08.0 PCI bridge: nVidia Corporation nForce2 External PCI Bridge (rev a3) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
I/O behind bridge: 0000a000-0000bfff
Memory behind bridge: ec000000-edffffff
Expansion ROM at 0000a000 [disabled] [size=8K]
BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-


0000:00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2) (prog-if 8a [Master SecP PriP])
Subsystem: Asustek Computer, Inc.: Unknown device 0c11
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Region 4: I/O ports at f000 [size=16]
Capabilities: [44] 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-


0000:00:0c.0 PCI bridge: nVidia Corporation nForce2 PCI Bridge (rev a3) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Bus: primary=00, secondary=02, subordinate=02, sec-latency=32
I/O behind bridge: 0000c000-0000cfff
Memory behind bridge: e8000000-e9ffffff
Expansion ROM at 0000c000 [disabled] [size=4K]
BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-


0000:00:0d.0 FireWire (IEEE 1394): nVidia Corporation nForce2 FireWire (IEEE 1394) Controller (rev a3) (prog-if 10 [OHCI])
Subsystem: Asustek Computer, Inc.: Unknown device 809a
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin A routed to IRQ 11
Region 0: Memory at ee084000 (32-bit, non-prefetchable)
Region 1: Memory at ee085000 (32-bit, non-prefetchable) [size=64]
Capabilities: [44] 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+

0000:00:1e.0 PCI bridge: nVidia Corporation nForce2 AGP (rev c1) (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: 32
Bus: primary=00, secondary=03, subordinate=03, sec-latency=32
Memory behind bridge: ea000000-ebffffff
Prefetchable memory behind bridge: d8000000-e7ffffff
BridgeCtl: Parity- SERR+ NoISA- VGA+ MAbort- >Reset- FastB2B-

0000:01:0b.0 RAID bus controller: CMD Technology Inc Silicon Image SiI 3112 SATARaid Controller (rev 01)
Subsystem: CMD Technology Inc: Unknown device 6112
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: 32, Cache Line Size: 0x01 (4 bytes)
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at a000
Region 1: I/O ports at a400 [size=4]
Region 2: I/O ports at a800 [size=8]
Region 3: I/O ports at ac00 [size=4]
Region 4: I/O ports at b000 [size=16]
Region 5: Memory at ed000000 (32-bit, non-prefetchable) [size=512]
Capabilities: [60] 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-

0000:02:01.0 Ethernet controller: 3Com Corporation 3C920B-EMB Integrated Fast Ethernet Controller (rev 40)
Subsystem: Asustek Computer, Inc.: Unknown device 80ab
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: 32 (2500ns min, 2500ns max), Cache Line Size: 0x08 (32 bytes)
Interrupt: pin A routed to IRQ 5
Region 0: I/O ports at c000
Region 1: Memory at e9000000 (32-bit, non-prefetchable) [size=128]
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-

0000:03:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX 440] (rev a3) (prog-if 00 [VGA])
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: 248 (1250ns min, 250ns max)
Interrupt: pin A routed to IRQ 5
Region 0: Memory at ea000000 (32-bit, non-prefetchable)
Region 1: Memory at d8000000 (32-bit, prefetchable) [size=128M]
Region 2: Memory at e0000000 (32-bit, prefetchable) [size=512K]
Capabilities: [60] 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-
Capabilities: [44] AGP version 2.0
Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA- ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>


$ hdparm /dev/hda

/dev/hda:
multcount = 0 (off)
IO_support = 3 (32-bit w/sync)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 65535/16/63, sectors = 80043264, start = 0

$ hdparm -i /dev/hda

/dev/hda:

Model=Maxtor 4D040H2, FwRev=DAH017K0, SerialNo=D239668E
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=80043264
IORDY=on/off, tPIO={min:120,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
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: ATA/ATAPI-6 T13 1410D revision 0:

* signifies the current active mode

$ hdparm -I /dev/hda

/dev/hda:

ATA device, with non-removable media
Model Number: Maxtor 4D040H2
Serial Number: D239668E
Firmware Revision: DAH017K0
Standards:
Used: ATA/ATAPI-6 T13 1410D revision 0
Supported: 6 5 4 3
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 80043264
device size with M = 1024*1024: 39083 MBytes
device size with M = 1000*1000: 40982 MBytes (40 GB)
Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 57 Queue depth: 1
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 0
Advanced power management level: unknown setting (0x0000)
Recommended acoustic management value: 192, current value: 192
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* NOP cmd
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
* SMART feature set
* Device Configuration Overlay feature set
* Automatic Acoustic Management feature set
SET MAX security extension
Advanced Power Management feature set
* DOWNLOAD MICROCODE cmd
* SMART self-test
* SMART error logging
HW reset results:
CBLID- above Vih
Device num = 0 determined by the jumper
Checksum: correct

$ hdparm /dev/hdb
hdparm -I /dev
/dev/hdb:
multcount = 0 (off)
IO_support = 3 (32-bit w/sync)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 65535/16/63, sectors = 234441648, start = 0

$ hdparm -i /dev/hdb

/dev/hdb:

Model=ST3120023A, FwRev=3.33, SerialNo=3KA1YADZ
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=off
CurCHS=4047/16/255, CurSects=16511760, LBA=yes, LBAsects=234441648
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
AdvancedPM=no WriteCache=enabled
Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2:

* signifies the current active mode

$ hdparm -I /dev/hdb

/dev/hdb:

ATA device, with non-removable media
Model Number: ST3120023A
Serial Number: 3KA1YADZ
Firmware Revision: 3.33
Standards:
Used: ATA/ATAPI-6 T13 1410D revision 2
Supported: 6 5 4 3
Configuration:
Logical max current
cylinders 16383 4047
heads 16 16
sectors/track 63 255
--
CHS current addressable sectors: 16511760
LBA user addressable sectors: 234441648
device size with M = 1024*1024: 114473 MBytes
device size with M = 1000*1000: 120034 MBytes (120 GB)
Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 4 Queue depth: 1
Standby timer values: spec'd by Standard
R/W multiple sector transfer: Max = 16 Current = ?
Recommended acoustic management value: 128, current value: 128
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=240ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
* SMART feature set
* Mandatory FLUSH CACHE command
* Device Configuration Overlay feature set
* Automatic Acoustic Management feature set
SET MAX security extension
* DOWNLOAD MICROCODE cmd
* SMART self-test
* SMART error logging
Security:
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
HW reset results:
CBLID- above Vih
Device num = 1 determined by the jumper
Checksum: correct

------------------
And just for the record...
PLEASE someone help me! =( It's not good being stuck with not being able to rely on your computer!
Much less your beloved free operational system...
 
Old 04-20-2004, 06:24 PM   #2
J.W.
LQ Veteran
 
Registered: Mar 2003
Location: Boise, ID
Distribution: Mint
Posts: 6,642

Rep: Reputation: 87
I don't think I can be of much help, but I would ask this one question and make one comment: Are you overclocking your Athlon? If so, that could be a contributing factor, and I'd recommend you turn it off. Additionally, if the problem only afflicts partitions using Linux-specific file types, then it sounds like you need to check the integrity of your file system by running fsck. Have you tried that, and if so, did it reveal anything? -- J.W.
 
Old 04-21-2004, 12:33 AM   #3
Patola
LQ Newbie
 
Registered: Apr 2004
Location: São Paulo, SP - Brazil
Distribution: Debian Unstable
Posts: 19

Original Poster
Rep: Reputation: 0
Thanks for the response. Any response is good.

But no, I don't overclock my Athlon. The timings are pretty standard.

Also, it does not afflict only partitions using Linux-specific filesystems - it also affects the VFAT partition when used under linux. This very same partition, used under Windows, works ok.

I've done fsck's, yes, but I wouldn't trust them anyway because they are a massive read - and I am having problem with massive reads. =(
 
Old 04-21-2004, 06:52 PM   #4
Patola
LQ Newbie
 
Registered: Apr 2004
Location: São Paulo, SP - Brazil
Distribution: Debian Unstable
Posts: 19

Original Poster
Rep: Reputation: 0
I think I have found the culprit. It's the amd74xx module - the one that says that on init:

NFORCE2: IDE controller at PCI slot 0000:00:09.0
NFORCE2: chipset revision 162
NFORCE2: not 100% native mode: will probe irqs later
NFORCE2: BIOS didn't set cable bits correctly. Enabling workaround.
NFORCE2: 0000:00:09.0 (rev a2) UDMA133 controller

I have rebooted in single mode, rmmod -f amd74xx and hdparm -d 0 /dev/hda /dev/hdb
and so I could md5sum all files correctly. All file operations deemed successful.
If I compile the kernel without this module, though, it doesn't recognize /dev/hda or /dev/hdb at all. =(

It looks like the DMA handling code for this thing is buggy and leads to corruption and lockups. It has a lot of &, | and such and I don't have a clue how the nforce2 DMA works, so I can't even understand it for now.

But If for the time being I could arrange a way to recognize /dev/hda, hdb and hdc without this module (and without it compiled in the kernel) I think this would be a good workaround, as I would have DMA - only not optimized for nforce2. For the time being I am using my computer without DMA. =(
 
Old 04-21-2004, 08:14 PM   #5
Electro
LQ Guru
 
Registered: Jan 2002
Posts: 6,042

Rep: Reputation: Disabled
Try to add idebus=33 to the append line in lilo or the kernel line in grub.

Try downloading memtest86 from another computer. Then put in your nforce2 system.

Did you try installing the drivers from nvidia.
 
Old 04-22-2004, 12:36 AM   #6
Patola
LQ Newbie
 
Registered: Apr 2004
Location: São Paulo, SP - Brazil
Distribution: Debian Unstable
Posts: 19

Original Poster
Rep: Reputation: 0
From what I've seen in the documentation, IDEBUS=xx only applies to PIO modes... but I'll try it later anyway, though I don't think this is it.

I've run memtest86 to the end with no corruption at all. I don't think it is a memory problem, it doesn't look like so.

I am using the nvidia graphics driver. For other subsystems - sound and ethernet - I am using forcedeth (open-source nvidia ethernet driver) and i810_audio from alsa. NVidia provides no other drivers - only ethernet, graphics and sound... So I don't think they are to blame, because i've run tests with /bin/bash as init parameter from grub which doesn't load any modules, and the problem was still there.

Anyway, again, thanks for the responses. Something is better than anything, and as soon as I can I'll do the test with idebus=33.
 
Old 04-22-2004, 01:59 AM   #7
Patola
LQ Newbie
 
Registered: Apr 2004
Location: São Paulo, SP - Brazil
Distribution: Debian Unstable
Posts: 19

Original Poster
Rep: Reputation: 0
I have posted a ticket on the kernel's bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=2561

Let's see if they will fix that. Or at least provide a solution.
 
Old 04-22-2004, 05:02 AM   #8
crashmeister
Senior Member
 
Registered: Feb 2002
Distribution: t2 - trying to anyway
Posts: 2,541

Rep: Reputation: 47
I had (or have - dunno have to try some more) a problem right in there,too.Specs are about the same and the controller wouldn't find the hdd's anymore at all after a few reboots.When it found the hdd's it wouldn't find the burner on the other channel.Did change all cables and went from kernel 2.4 to 2.6 and so far things are ok.Brasil seems to be a bad location for nforce2 boards :-)
 
Old 04-22-2004, 05:00 PM   #9
Patola
LQ Newbie
 
Registered: Apr 2004
Location: São Paulo, SP - Brazil
Distribution: Debian Unstable
Posts: 19

Original Poster
Rep: Reputation: 0
DAMN!

The amd74xx module was innocent after all!

The problem still persists, even with DMA turned off and this module unloaded. =(

$ rm a.txt
$ x=0
$ while [ $x -lt 16777216 ]
> do
> let x+=1
> echo aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa >> a.txt
> done
$ grep -nv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa a.txt
908281:aaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2655130:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaa
4707226:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaa
6425530:aaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8729120:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaa
10186666:aaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
12751833:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaa
$ grep -nv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa a.txt
869904:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaa
908281:aaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4685486:aaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4707226:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaa
8521421:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaa
8729120:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaa
12381996:aaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
12751833:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaa
16098328:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaa
$ grep -nv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa a.txt
908281:aaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3178221:aaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4707226:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaa
7031297:aaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
8729120:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaa
10908003:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaa
12751833:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaa
14633599:aaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Old 04-22-2004, 05:21 PM   #10
Patola
LQ Newbie
 
Registered: Apr 2004
Location: São Paulo, SP - Brazil
Distribution: Debian Unstable
Posts: 19

Original Poster
Rep: Reputation: 0
Additional information...
Making the same scripts with 'c' instead of 'a', I could notice
that it doesn't flip bits: it just set them, so a file with many 'c's
goes on uncorrupted.

$ grep -nv cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c.txt
$ grep -nv cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c.txt
$ grep -nv cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c.txt
$
 
Old 04-23-2004, 05:18 AM   #11
crashmeister
Senior Member
 
Registered: Feb 2002
Distribution: t2 - trying to anyway
Posts: 2,541

Rep: Reputation: 47
Did you ever try with a different file system?

Last edited by crashmeister; 04-23-2004 at 05:19 AM.
 
Old 04-23-2004, 06:04 AM   #12
hw-tph
Senior Member
 
Registered: Sep 2003
Location: Sweden
Distribution: Debian
Posts: 3,032

Rep: Reputation: 58
So you're not using the SATA controller? The Sil3112 controller on the Abit NF7-S (which is a similar nForce2-based board) caused data corruption in early versions of the BIOS. A BIOS upgrade was required to take care of that. Not that this has to be your problem, but nForce2-based boards have their more than fair share of issues, and using a recent BIOS is always a good idea.

Also check if you have the possibility to increase the IDE delay a couple of microseconds in your BIOS setup, that is known to help in similar situations (NF7-S again).


Håkan
 
Old 04-23-2004, 08:57 AM   #13
Patola
LQ Newbie
 
Registered: Apr 2004
Location: São Paulo, SP - Brazil
Distribution: Debian Unstable
Posts: 19

Original Poster
Rep: Reputation: 0
Ok, I just tested it in windows for the fourth time and this time the error
happened in that stupid operational system too. So it's a hardware problem.
Sorry to waste anybody's time. Goodbye and thanks for all the fish.
 
Old 04-23-2004, 09:00 AM   #14
Patola
LQ Newbie
 
Registered: Apr 2004
Location: São Paulo, SP - Brazil
Distribution: Debian Unstable
Posts: 19

Original Poster
Rep: Reputation: 0
crashmeister: Yes, I've tried with three different filesystems (VFAT, reiserfs and xfs).

hw-tph: I'll try to do it. Thanks for the tip.
 
Old 04-23-2004, 09:41 AM   #15
xodustrance
Member
 
Registered: Jun 2003
Distribution: Gentoo baby, gentoo
Posts: 148

Rep: Reputation: 15
I have several NF2 boards, including the Asus offering. Ive run the kernels listed above, as well as others too. All of my systems, have been MS free for a while now, and never once, have I had corruption. On the NTFS, my ide had a major screw up on XP, which prompted my immediate switch. But I dont think its fair to say the code in your kernel is buggy. It must be something else, because even in my server, which manages TB's of info, some files as large as 8-16 gigs, never once have I had a read write error like so. This is definetly isolated.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
pci IDE controller problem fredgt Linux - Hardware 3 02-14-2005 11:54 AM
Knoppix 3.4 and recovery of data on an IDE RAID Controller system smithtodda Linux - Hardware 1 10-21-2004 06:40 PM
Mandrake 10.0 hangs with new Athlon XP 2400+ gorb Mandriva 4 06-03-2004 05:10 PM
gentoo 1.4 install (on Athlon XP 2400+) unsuccessful poet225 Linux - Newbie 3 10-16-2003 02:01 AM
ntfs.o problem with Athlon 2400+ madangsweh Linux - Software 7 07-29-2003 10:21 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 09:08 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration