Date: Tue, 7 Sep 1999 16:00:38 -0400 (EDT) From: Andrew Gallatin <gallatin@cs.duke.edu> To: scsi@freebsd.org Cc: gibbs@freebsd.org, anderson@cs.duke.edu Subject: data corruption when using aic7890 Message-ID: <14293.26481.521753.519004@grasshopper.cs.duke.edu>
next in thread | raw e-mail | index | archive | help
Hi, I have a bunch of ASUS P2B-LS motherboards with on-board AIC7890 U2 controllers. I'm running a kernel with rev 1.20 of src/sys/pci/ahc_pci.c (eg, after the CACHETHEN fix). When I run a local data-integrity checking program, I'm seeing occasional data corruption on Seagate ST39140W drives connected to the on-board U2 controller. This program writes a known pattern of data into a variable size (512MB in this case) file on disk & reads it back over & over again. If it encounters corruption, it reports just the first word where corruption was found & then skips to the next page, so its hard to tell how complete the corruption is. We see things like this: ##error 0 page 8228 expected [0x030241d8] saw [0x07c5b1d8] ##error 1 page 9718 expected [0x035f61f0] saw [0x072081f0] ##error 2 page 15719 expected [0x03d671c8] saw [0x016441c8] The last 3 bytes are the offset into the page. Since they are non-zero, at least part of the data is correct. It seems that the corruption only occurs after the first 400 or so bytes data in a page. It seems to be happening fairly infrequently (about every 500GB of data or so). Most importantly, it seems to be happenening only on drives connected to the on-board U2 interfaces, so my first guess would be that we can rule out anything but a driver or hardware problem. Eg, this machine has 2 more ST39140W drives connected to an ncr 53c875 & I've never seen any corruption on them. Ditto for the an IDE disk connected to the on-board ide controller. Any ideas? Thanks, Drew ------------------------------------------------------------------------------ Andrew Gallatin, Sr Systems Programmer http://www.cs.duke.edu/~gallatin Duke University Email: gallatin@cs.duke.edu Department of Computer Science Phone: (919) 660-6590 PS: Here's a dmesg of the box: Copyright (c) 1992-1999 The FreeBSD Project. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 4.0-CURRENT #0: Fri Sep 3 16:19:50 EDT 1999 gallatin@grasshopper.cs.duke.edu:/freebsd/src/sys/compile/SLICEX86 Timecounter "i8254" frequency 1193182 Hz Timecounter "TSC" frequency 300683643 Hz CPU: Pentium III (300.68-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x672 Stepping = 2 Features=0x387f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,<b18>,MMX,FXSR,<b25>> real memory = 134205440 (131060K bytes) avail memory = 126316544 (123356K bytes) Preloaded elf kernel "kernel" at 0xc0325000. Pentium Pro MTRR support enabled npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Intel 82443BX (440 BX) host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1: <Intel 82443BX (440 BX) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 isab0: <Intel 82371AB PCI to ISA bridge> at device 4.0 on pci0 isa0: <ISA bus> on isab0 ata-pci0: <Intel PIIX4 IDE controller> at device 4.1 on pci0 ata-pci0: Busmastering DMA supported ata0 at 0x01f0 irq 14 on ata-pci0 chip1: <UHCI USB controller> at device 4.2 on pci0 intpm0: <Intel 82371AB Power management controller> at device 4.3 on pci0 intpm0: I/O mapped e800 intpm0: intr IRQ 9 enabled revision 0 smbus0: <System Management Bus> on intsmb0 smb0: <SMBus general purpose I/O> on smbus0 intpm0: PM I/O mapped e400 ahc0: <Adaptec aic7890/91 Ultra2 SCSI adapter> irq 12 at device 6.0 on pci0 BRDCTL = 0x2 ahc0: aic7890/91 Wide Channel A, SCSI Id=7, 16/255 SCBs fxp0: <Intel EtherExpress Pro 10/100B Ethernet> irq 10 at device 7.0 on pci0 fxp0: Ethernet address 00:e0:18:98:12:26 ncr0: <ncr 53c875 fast20 wide scsi> irq 12 at device 9.0 on pci0 pci0: unknown card DGH8043 (vendor=0x10e8, dev=0x8043) at 12.0 irq 11 Probing for PnP devices: fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <keyboard controller (i8042)> at port 0x60-0x6f on isa0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A, console sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ata0: master: setting up UDMA2 mode on PIIX4 chip OK ad0: <QUANTUM FIREBALL EX6.4A/A0A.0D00> ATA-4 disk at ata0 as master ad0: 6149MB (12594960 sectors), 13328 cyls, 15 heads, 63 S/T, 512 B/S ad0: piomode=4, dmamode=2, udmamode=2 ad0: 16 secs/int, 0 depth queue, DMA mode da0 at ahc0 bus 0 target 0 lun 0 da0: <SEAGATE ST39140W 1206> Fixed Direct Access SCSI-2 device da0: 40.000MB/s transfers (20.000MHz, offset 15, 16bit) da0: 8683MB (17783240 512 byte sectors: 255H 63S/T 1106C) da1 at ahc0 bus 0 target 2 lun 0 da1: <SEAGATE ST39140W 1206> Fixed Direct Access SCSI-2 device da1: 40.000MB/s transfers (20.000MHz, offset 15, 16bit) da1: 8683MB (17783240 512 byte sectors: 255H 63S/T 1106C) da3 at ncr0 bus 0 target 2 lun 0 da3: <SEAGATE ST39140W 1206> Fixed Direct Access SCSI-2 device da3: 40.000MB/s transfers (20.000MHz, offset 15, 16bit) da3: 8683MB (17783240 512 byte sectors: 255H 63S/T 1106C) da2 at ncr0 bus 0 target 0 lun 0 da2: <SEAGATE ST39140W 1206> Fixed Direct Access SCSI-2 device da2: 40.000MB/s transfers (20.000MHz, offset 15, 16bit) da2: 8683MB (17783240 512 byte sectors: 255H 63S/T 1106C) changing root device to wd0s1a tpz0: <Myrinet PCI interface> irq 11 at device 12.0 on pci0 tpz0: Myrinet LANai 4.3 address 00:60:dd:7f:e7:53 (M2M-PCI32c-21956) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?14293.26481.521753.519004>