ATA -> xDMA mode corrupts files.

N Fung fbsdml at typhoon.co.jp
Fri Oct 17 06:41:51 PDT 2003


Hello!

I think I just came across a bug (?) for for device ATA.  Please excuse 
me if this has been reported already for I have just joined this list. 
I've googled for it but found no mention of this.

I installed 4.8-RELEASE on a DELL PE600SC (see dmesg below) a few weeks 
ago.  Everything was fine until a routine check on things by doing 
"gunzip -t" on some .gz files, when I found that ALL of the gzip-ed 
files had CRC errors, i.e. none of the gzipped files could be unzipped:( 
  (I do daily "dump" onto a spare hard disk and then gzip the files.)

There were NO error messages whatsoever in syslog.  I tried manually 
gzipping some files.  Gzip would finish WITHOUT errors. However, none of 
the zipped filed can be unzipped!

To cut to the chase, I had to insert hw.ata.ata_dma=0 into 
/boot/loader.conf before things would work properly!  I have tried this 
with 4.7R, 4.8R and 4.9RC2; same thing, must say hw.ata.ata_hw=0 (the 
drives would then be in PIO4 mode) before files can be written properly.

Hopefully this will save other PE600SC owners some time in figuring 
what's happening to their files!

Regards,
N. Fung


---dmesg starts---
Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 4.8-RELEASE #0: Thu Apr  3 13:07:15 GMT 2003
     root at builder.freebsdmall.com:/usr/obj/usr/src/sys/GENERIC
Timecounter "i8254"  frequency 1193182 Hz
CPU: Intel(R) Celeron(R) CPU 2.00GHz (1999.79-MHz 686-class CPU)
   Origin = "GenuineIntel"  Id = 0xf29  Stepping = 9
 
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
real memory  = 268369920 (262080K bytes)
avail memory = 255901696 (249904K bytes)
pnpbios: Bad PnP BIOS data checksum
Preloaded elf kernel "kernel" at 0xc051d000.
Pentium Pro MTRR support enabled
md0: Malloc disk
Using $PIR table, 7 entries at 0xc00fc2c0
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <ServerWorks host to PCI bridge(unknown chipset)> on motherboard
pci0: <PCI bus> on pcib0
em0: <Intel(R) PRO/1000 Network Connection, Version - 1.4.10> port 
0xecc0-0xecff mem 0xfe120000-0xfe13ffff irq 10 at device 2.0 on pci0
em0:  Speed:10 Mbps  Duplex:Half
fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0xec80-0xecbf mem 
0xfe100000-0xfe11ffff,0xfe142000-0xfe142fff irq 5 at device 3.0 on pci0
fxp0: Ethernet address 00:02:b3:d4:b2:35
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pci0: <ATI Mach64-GR graphics accelerator> at 8.0
atapci0: <Generic PCI ATA controller> port 
0x900-0x90f,0x36c-0x36f,0x168-0x16f,0x3ec-0x3ef,0x1e8-0x1ef irq 11 at 
device 14.0 on pci0
ata2: at 0x1e8 on atapci0
ata3: at 0x168 on atapci0
atapci1: <Generic PCI ATA controller> port 
0x8b0-0x8bf,0x374-0x377,0x170-0x177,0x3f4-0x3f7,0x1f0-0x1f7 at device 
15.1 on pci0
ata0: at 0x1f0 irq 14 on atapci1
ata1: at 0x170 irq 15 on atapci1
ohci0: <OHCI (generic) USB controller> mem 0xfe140000-0xfe140fff irq 3 
at device 15.2 on pci0
usb0: OHCI version 1.0, legacy support
usb0: SMM does not respond, resetting
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: (0x1166) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
isab0: <PCI to ISA bridge (vendor=1166 device=0227)> at device 15.3 on pci0
isa0: <ISA bus> on isab0
pcib255: <ServerWorks host to PCI bridge(unknown chipset)> on motherboard
pci255: <PCI bus> on pcib255
pcib1: <Host to PCI bridge> on motherboard
pci1: <PCI bus> on pcib1
orm0: <Option ROMs> at iomem 
0xc0000-0xc7fff,0xe3000-0xea7ff,0xec000-0xeffff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,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,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1: configured irq 3 not in bitmap of probed irqs 0
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ad0: 38146MB <IC35L060AVV207-0> [77504/16/63] at ata0-master BIOSDMA
ad1: 38146MB <IC35L060AVV207-0> [77504/16/63] at ata0-slave WDMA2
acd0: CDROM <GCR-8481B> at ata2-master PIO4
Mounting root from ufs:/dev/ad0s1a
---dmesg ends---



More information about the freebsd-stable mailing list