[ previous ] [ next ] [ threads ]
 From:  "Jomar McDonald" <JMcDonald at aidschicago dot org>
 To:  <m0n0wall at lists dot m0n0 dot ch>
 Subject:  ATA drivers differences between FreeBSD 4.11 and 6.2?
 Date:  Mon, 12 Mar 2007 11:12:01 -0500
I'm having a hell of a time configuring a Seagate 4GB ST640211CF
Microdrive with m0n0wall/pfsense based on FreeBSD 6.x... For some
reason, the ata driver in m0n0 1.22 reads the drive and allows me to use
it, with some errors, but FreeBSD 6.1 nor 6.2 will read the drive.  Here
is the m0n0 1.22 log entry for the drive:


ad0:  timeout waiting for interrupt

ad0:  enabling readahead cache failed

ad0:  timeout waiting for interrupt

ad0:  enabling write cache failed

ad0:  READ command timeout tag=0 serv=0 - resetting

ata0:  resetting devices .. done

ad0:  3906MB <ST640211CF> [7936/16/63] at ata0-master PIO4


So it forces PIO, which is fine.. But if I disable DMA at boot time for
m0n0 1.3b2 or pfsense 1.01, it doesn't pick up the drive.  Does anyone
know what could have possibly changed or what could be causing this?
The BIOS and bootloader see the drive, but the freebsd kernel/ata driver
is having trouble with it.  I'm familiar with Linux so recompiling the
kernel doesn't scare me so I'm wondering if I recompile m0n0 or pfsense
using the 4.11 ata.c, etc files, will that create a whole other list of
dependency issues?  Can I recompile the older ata drivers under freebsd
6.x?  I'd really like to use these drives since we've already expensed
them but I read somewhere that Hitachi Microdrives work better for some
reason or another.  If anyone has 4.11 compiled ata driver kernel
objects that would be helpful also, but I can recompile if necessary...



Thanks in advance