Subject: Install fails with DMA error on i386
To: None <netbsd-help@netbsd.org>
From: D. Michael McFarland <dmmcf@uiuc.edu>
List: netbsd-help
Date: 11/07/2002 13:46:48
I've replaced my aging desktop machine with a new Pentium 4 box.
It's a great new toy, but I'm having some trouble getting *BSD
installed on it.  I suspect I'm doing something dumb, and hope
someone here can set me straight.

The hardware includes

    Motherboard: ECS P4S5MG/651+, AMI BIOS, 2.4 GHz P4, 1 GB DDR RAM

    Primary IDE: Master: 40 GB Western Digital HD
                 Slave:  80 GB IBM HD

    Secondary IDE: Master: No-name DVD-ROM
                   Slave:  Optirite CD-RW, 40x

I first tried FreeBSD, as that's what I'm most familiar with.  I booted
the v. 4.7 installation CD and things seemed normal until I got

    ad0: READ command timeout tag=0 serv=0 - resetting
    ata0: resetting devices ..

and nothing more.  I thought this was related to the ATAPI problems
discussed on the FreeBSD lists off and on in recent months, but the CD
and DVD drives seemed to be working fine while the hard disks were
causing problems.  I eventually found that pausing the loader and
entering

    set hw.ata.ata_dma=0
    boot

will let the installation proceed, but I'd rather not do that for
day-to-day operation.

I've been gravitating toward NetBSD, even had 1.5.something installed
for a while, and this looked like a good time to give it a try
again.  I burned a 1.6 installation CD, booted from it, and watched
the messages fly by...until I saw

    pciide0:0:0: lost interrupt
            type: ata tc_bcount: 512 tc_skip: 0
    pciide0:0:0: bus-master DMA error: missing interrupt, status=0x61

at which point everything ground to a halt until I hit the reset
button.

I've checked the jumpers carefully, swapped out the drive cable,
tweaked everything in the BIOS that looks remotely related, and tried
each disk alone, all with no change.

I installed Windows XP to see how it dealt with the drives.  I
expected it to silently degrade to a non-DMA mode, but it reports
talking to both hard disks via Ultra DMA Mode 5.

I burned installation CDs of Debian 2.4 and Slackware 8.1.  Both boot
cleanly and offer to run their installers.  Looking at dmesg, I see
nothing that suggests DMA isn't working fine with both HDs.

So it appears that this hardware works under Windows XP and recent
Linux kernels, but trips up both NetBSD and FreeBSD.  I'm afraid I'm
about at the limits of my meager knowledge in this area.  Any
suggestions or explanations will be gratefully received.

Best regards,
Michael

-- 
    D. Michael McFarland, Visiting Senior Research Scientist
    Department of Aeronautical and Astronautical Engineering
    Department of Mechanical and Industrial Engineering
    University of Illinois at Urbana-Champaign