On Wed, Jun 30, 2010 at 12:07:54PM -0400, Paul Mather wrote:
> I am running FreeBSD/amd64 RELENG_8 on a Dell Optiplex 745.  The hard drive 
> in the system is SATA and I have "Normal", not "Legacy" SATA support enabled 
> in the BIOS.  (BIOS is V2.6.4.)  I am assuming this will enable native AHCI 
> mode for the drive.

That isn't correct.  Some Dell OptiPlex systems explicitly have an AHCI
option in their BIOS for enabling/disabling AHCI.  I do not believe the
745 offers this capability, which means no AHCI is available.  (We use
these OptiPlex models at my workplace so I'm familiar with them)

> I built a kernel with ATA_CAM support, but for some reason the SATA drive is 
> probing at slow, UDMA2, speeds:

I don't know anything about this option, but the "common" way to get ATA
to utilise SCSI CAM is to enable AHCI in one's system BIOS and load the
ahci.ko (not ataahci.ko) driver using /boot/loader.conf
(ahci_load="yes") or "load ahci" from the loader "OK" prompt.  That's
literally all you need.

In your case since you don't have AHCI available, you're probably going
to have to stick to using standard ata(4) (read: remove ATA_CAM and ahci
from your kernel configuration).

Be aware ahci.ko IS NOT the same thing as ataahci.ko.  The latter adds
AHCI support but via the classic ata(4) layer (meaning: AHCI without
SCSI CAM.  This also lacks NCQ support, but does gain you hot-swap
capability).

> Does my problem lie with my kernel config or is the Dell Optiplex 745
> BIOS brain dead when it comes to AHCI native support?  The only option
> it appears to have in the BIOS is "Normal" and "Legacy" when it comes
> to the SATA controller mode.

It's not "brain dead".  "Normal" is not the same thing as AHCI.
"Normal" tells the controller to run in standard SATA mode, "Legacy"
causes the controller to emulate classic PATA (literally you'll see PATA
controllers show up on IRQs 14 and 15, etc.).

Validation that your system doesn't have AHCI enabled/doesn't have AHCI
available is here:

> atapci0: <Intel ATA controller> port 
> 0xfe00-0xfe07,0xfe10-0xfe13,0xfe20-0xfe27,0xfe30-0xfe33,0xfec0-0xfecf,0xecc0-0xeccf
>  irq 20 at device 31.2 on pci0
> atapci0: [ITHREAD]
> ata2: <ATA channel 0> on atapci0
> ata2: [ITHREAD]
> ata3: <ATA channel 1> on atapci0
> ata3: [ITHREAD]
> atapci1: <Intel ATA controller> port 
> 0xfe40-0xfe47,0xfe50-0xfe53,0xfe60-0xfe67,0xfe70-0xfe73,0xfed0-0xfedf,0xecd0-0xecdf
>  irq 20 at device 31.5 on pci0
> atapci1: [ITHREAD]
> ata4: <ATA channel 0> on atapci1
> ata4: [ITHREAD]
> ata5: <ATA channel 1> on atapci1
> ata5: [ITHREAD]

An AHCI-enabled controller, with a system using ahci.ko, will look like
this:

ahci0: <Intel ICH9 AHCI SATA controller> port 
0x1c50-0x1c57,0x1c44-0x1c47,0x1c48-0x1c4f,0x1c40-0x1c43,0x18e0-0x18ff mem 
0xdc000800-0xdc000fff irq 17 at device 31.2 on pci0
ahci0: [ITHREAD]
ahci0: AHCI v1.20 with 6 3Gbps ports, Port Multiplier supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich0: [ITHREAD]
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich1: [ITHREAD]
ahcich2: <AHCI channel> at channel 2 on ahci0
ahcich2: [ITHREAD]
ahcich3: <AHCI channel> at channel 3 on ahci0
ahcich3: [ITHREAD]
ahcich4: <AHCI channel> at channel 4 on ahci0
ahcich4: [ITHREAD]
ahcich5: <AHCI channel> at channel 5 on ahci0
ahcich5: [ITHREAD]

-- 
| Jeremy Chadwick                                   j...@parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |

_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to