ATA DMA issues - are there problems lurking in 7.1?

Chris H chris# at 1command.com
Wed Apr 29 09:48:51 UTC 2009


Greetings,
I have several Tyan S2518UGN (Thunder LE-T) server boards that I've
been running for a few yrs. I've always used the SCSI on them, so never
really used the ATA ports. I once experimented dual-booting NT2003 & FBSD
on one of the ATA ports about a year ago. But ran into the problem I'm
running into now. Back then I just blamed it on the drive (even tho it
was brand new, and ran NT without complaints). But FreeBSD complains.
So this is the story now; I'm trying it again - different drive, and using
XP-SP3 & BSD. XP installs/runs w/o a hitch. I then install BSD on the
second half of the drive, and make an entry into the XP boot loader.
Reboot into the fresh BSD install - now the trouble begins...
I periodically receive the following messages:

Apr 29 01:07:45 udns kernel: ata0: reiniting channel ..
Apr 29 01:07:45 udns kernel: ata0: reset tp1 mask=03 ostat0=58 ostat1=50
Apr 29 01:07:45 udns kernel: ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
Apr 29 01:07:45 udns kernel: ata0: stat1=0x00 err=0x01 lsb=0x14 msb=0xeb
Apr 29 01:07:45 udns kernel: ata0: reset tp2 stat0=50 stat1=00 
devices=0x9<ATAPI_SLAVE,ATA_MASTER>
Apr 29 01:07:45 udns kernel: ad0: setting PIO4 on ROSB4 chip
Apr 29 01:07:45 udns kernel: ad0: setting UDMA33 on ROSB4 chip
Apr 29 01:07:45 udns kernel: acd0: setting PIO4 on ROSB4 chip
Apr 29 01:07:45 udns kernel: ata0: reinit done ..
Apr 29 01:07:45 udns kernel: ad0: TIMEOUT - READ_DMA retrying (1 retry 
left) LBA=18520542
Apr 29 01:07:45 udns kernel: Apr 29 01:07:50 udns kernel: ata0: 
reiniting channel ..
Apr 29 01:07:50 udns kernel: ata0: reset tp1 mask=03 ostat0=58 ostat1=50
Apr 29 01:07:50 udns kernel: ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
Apr 29 01:07:50 udns kernel: ata0: stat1=0x00 err=0x01 lsb=0x14 msb=0xeb
Apr 29 01:07:50 udns kernel: ata0: reset tp2 stat0=50 stat1=00 
devices=0x9<ATAPI_SLAVE,ATA_MASTER>
Apr 29 01:07:50 udns kernel: ad0: setting PIO4 on ROSB4 chip
Apr 29 01:07:50 udns kernel: ad0: setting UDMA33 on ROSB4 chip
Apr 29 01:07:50 udns kernel: acd0: setting PIO4 on ROSB4 chip
Apr 29 01:07:50 udns kernel: ata0: reinit done ..
Apr 29 01:07:50 udns kernel: ad0: TIMEOUT - READ_DMA retrying (0 
retries left) LBA=18520542

The board has a Serverworks/AMI BIOS (current flash). I'm running an
80 wire ribbon on a UDMA166 capable drive (first attampt on a 40Gig,
second on a 13Gig). I can't imagine what would cause this. The kernel
is GENERIC - as I won't be able to build world/kernel until I can resolve
this. Is the kernel being too aggressive - eg; attempting to use the
drive's capability when the BIOS only provides UDMA33?

Anyway, until I can resolve this I'll be forced to /attempt/ to pool
a bunch of SCSI drives into a single (software) RAID0.
Will geom(8) and gmirror(8) do this for me? The drives are not all
identical (size/manufacturer), but are U160's. But I was hoping to
create one large drive out of them. Doable? Pointers/advice/etc GREATLY
appreciated.

Thank you for all your time and consideration.

--Chris




More information about the freebsd-stable mailing list