Bug 15923

Summary: ATA/EIDE DMA does not work with some hardware (ALI Aladdin, IBM 34GXP)
Product: Base System Reporter: timlee <timlee>
Component: kernAssignee: Søren Schmidt <sos>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 3.4-STABLE   
Hardware: Any   
OS: Any   

Description timlee 2000-01-05 20:30:00 UTC
The above combination gives DMA errors when used with a kernel
whose ATA DMA is turned on (controller wdc0 ... flags 0xa0ffa0ff).
With ATA DMA turned off (controller wdc0 ... flags 0x80ff80ff), no
problems.  Errors do not cause crashes or damage, but slow down the
system and cause numerous messages to be printed on the console.
NetBSD 1.4.1 has a similar problem.  Linux kernel 2.2.13 with the
"experimental" Acer ATA DMA driver does not have this problem.

Fix: 

GENERIC kernels should keep ATA DMA off as they are now.  Turning
the feature on in the GENERIC kernel (as NetBSD 1.4.1 does) can make
installing and initial configuration difficult on some combinations
of hardware.  A true fix may require looking into some Acer chipset
specific issues as Linux 2.2 does.
How-To-Repeat: Use a kernel with ATA DMA turned on with the listed combination of
hardware (probably motherboard/chipset and disk are the key pieces).
Comment 1 sos 2000-01-05 20:39:04 UTC
It seems timlee@netcom.com wrote:
> The above combination gives DMA errors when used with a kernel
> whose ATA DMA is turned on (controller wdc0 ... flags 0xa0ffa0ff).
> With ATA DMA turned off (controller wdc0 ... flags 0x80ff80ff), no
> problems.  Errors do not cause crashes or damage, but slow down the
> system and cause numerous messages to be printed on the console.
> NetBSD 1.4.1 has a similar problem.  Linux kernel 2.2.13 with the
> "experimental" Acer ATA DMA driver does not have this problem.
> >How-To-Repeat:
> Use a kernel with ATA DMA turned on with the listed combination of
> hardware (probably motherboard/chipset and disk are the key pieces).
> >Fix:
> GENERIC kernels should keep ATA DMA off as they are now.  Turning
> the feature on in the GENERIC kernel (as NetBSD 1.4.1 does) can make
> installing and initial configuration difficult on some combinations
> of hardware.  A true fix may require looking into some Acer chipset
> specific issues as Linux 2.2 does.

Have you tried the new ATA driver in 4.0 current ??

-Søren
Comment 2 r_pedroche 2000-05-02 09:29:53 UTC
  With ALI Aladdin, K6II@450, 64MB RAM and FreeBSD-4.0 _but_ a Western
Digital Caviar 33200, system runs fine, but DMA is disabled by the
kernel on startup due to CRC problems when root filesystem is mounted.

  dmesg output follows, note last 6 lines.

>>>BEGIN:dmesg-output.txt------------------------------------------------=
-------
Copyright (c) 1992-2000 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California. All rights
reserved.
FreeBSD 4.0-RELEASE #0: Thu Apr 20 07:39:18 CEST 2000
    root@taller.langre-oficina.net:/usr/src/sys/compile/TALLER2
Timecounter "i8254"  frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (451.02-MHz 586-class CPU)
  Origin =3D "AuthenticAMD"  Id =3D 0x58c  Stepping =3D 12
  Features=3D0x8021bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,PGE,MMX>
  AMD Features=3D0x80000800<SYSCALL,3DNow!>
real memory  =3D 67043328 (65472K bytes)
avail memory =3D 62058496 (60604K bytes)
Preloaded elf kernel "kernel" at 0xc02d5000.
md0: Malloc disk
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <AcerLabs M1541 (Aladdin-V) PCI host bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <AcerLabs M5243 PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <S3 Trio3D/2X graphics accelerator> at 0.0
isab0: <AcerLabs M1533 portable PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <AcerLabs Aladdin ATA33 controller> port 0xf000-0xf00f at
device 15.0 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
ahc0: <Adaptec aic7850 SCSI adapter> port 0xe000-0xe0ff mem
0xe5000000-0xe5000fff irq 10 at device 18.0 on pci0
ahc0: aic7850 Single Channel A, SCSI Id=3D7, 3/255 SCBs
ahc0: Host Adapter Bios disabled.  Using default SCSI device parameters
ed0: <NE2000 PCI Ethernet (KTI)> port 0xe400-0xe41f irq 11 at device
20.0 on pci0
ed0: address 00:40:f6:4c:19:e8, type NE2000 (16 bit) =

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-0x6f on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
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> on isa0
sc0: VGA <16 virtual consoles, flags=3D0x200>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ad0: 3098MB <WDC AC33200L> [6296/16/63] at ata0-master using UDMA33
acd0: CDROM <Creative CD-ROM CD4832E> at ata1-master using PIO4
Waiting 2 seconds for SCSI devices to settle
Mounting root from ufs:/dev/ad0s1a
ad0: UDMA ICRC READ ERROR blk# 0 retrying
ad0: UDMA ICRC READ ERROR blk# 0 retrying
ad0: UDMA ICRC READ ERROR blk# 0 retrying
ad0: UDMA ICRC READ ERROR blk# 0ata0-master: WARNING: WAIT_READY
active=3DATA_ACTIVE_ATA
 falling back to PIO mode
>>>END:dmesg-output.txt--------------------------------------------------=
-------------

-- =

Ra=FAl Pedroche

__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com
Comment 3 Johan Karlsson freebsd_committer freebsd_triage 2000-08-24 20:10:16 UTC
Responsible Changed
From-To: freebsd-bugs->sos

Over to ATA maintainer.
Comment 4 Søren Schmidt freebsd_committer freebsd_triage 2000-08-25 07:47:55 UTC
State Changed
From-To: open->closed


You get ICRC errors which indicates you have a cable proble.. 
Try a new cable, and make sure its not close to any EMC 
radiating source (PSU etc).. 
I have the same board and disk here, and it works just fine, 
There are no outstanding problems with the Acer support 
with the ata driver.