ICH7 + RAID = AHCI trouble

Joerg Pulz Joerg.Pulz at frm2.tum.de
Mon Feb 6 02:49:57 PST 2006

Hash: SHA1


i recently bought a new server with an Intel ICH7 chipset and embedded 
LSI Raid.
I set the SATA mode in the BIOS to RAID. After that, i was able to 
configure a RAID1 array using the Controllers BIOS.
Unfortunately, FreeBSD isn't seeing any of the installed HDs.
I tried to change the BIOS settings for SATA in the BIOS to all available 
methods (RIAD, AHCI, NATIVE) with no success.
The only setting that makes FreeBSD able to see the HDs is COMPATIBLE, but 
i loose the PATA channel if i use it, which is definitely not what i 
I tried the above with 6.0-RELEASE and RELENG_6 from "Thu Feb  2 18:32:06 
CET 2006".
I took a closer look into the RELENG_6 ata(4) code and found the following 
line in ata-chipset.c :

      { ATA_I82801GB_R1, 0, AHCI, 0x00, ATA_SA300, "ICH7" }

After i changed this line to :

      { ATA_I82801GB_R1, 0,    0, 0x00, ATA_SA300, "ICH7" }

i was able to detect the two HDs AND the configured RAID1 array. I could 
use fdisk(8) and bsdlabel(8) to set up the disk and can finally use it.
Unfortunately, i can only use two disk, as all other channels do NOT 
appaer in FreeBSD, i think this is related to my change in the source, as 
previously all channels where available, but without HDs.
I would really like to use the other channels too.
One problem could be the "RAID or AHCI enabled - detection code" in 
ata_chipset.c (rev in RELENG_6) below line 1660, but i'm not 

Is there any chance we can track this down to make it working in a general 
way, without the need to change the sources everytime i've cvsupped my 
source tree?

I'm glad to help wherever i can to solve this issue.


- -- 
The beginning is the most important part of the work.
Version: GnuPG v1.4.2 (FreeBSD)


More information about the freebsd-questions mailing list