SATA devices not added/probed from ICH7 sata300 controller, FreeBSD7.0, 7.1beta, 8.0 Daily

Jeremy Chadwick koitsu at
Tue Oct 14 22:13:08 PDT 2008

On Tue, Oct 14, 2008 at 09:52:09PM -0400, John R. Huston wrote:
> Hi, I am not very familiar with using mailing lists so if I have made
> a mistake in the format or scope of the message please correct me. I
> am pretty desperate for an answer by now so any help at all is really
> very appreciated.
> I have a Shuttle SD30G2 computer (Specs:
> ) which utilizes the intel ICH7
> southbridge for sata devices. I am currently running FreeBSD
> 7.0-STABLE.  The issue is that although the sata controller is
> apparently detected correctly (It shows up by name in dmesg) the
> devices attached to it do not show up when running 'atacontrol list'.
> There are no errors produced on a normal boot, but booting in verbose
> mode produces a few repetetive messages that may be telling, although
> I am unable to decipher them.

First and foremost: I can assure you the ICH7 works fine on FreeBSD,
because all of our production servers use it.  Of course, they are not
Shuttle systems.

You didn't provide any detail of what hardware you have hooked up to the
motherboard.  Do you actually have any SATA devices hooked up to the
SATA ports?  What devices?

This is why I ask: I see a Western Digital hard disk which shows up as
ad0 on that system.  It's claiming ATA100 mode, but there are features
of the ICH7 (often called "Compatibility Mode" in BIOSes) which allow a
SATA device to appear as a PATA device to work with older operating
systems such as MS-DOS.

I've looked at the SD30G2 user manual, and they do not appear to let
you enable that mode.  "Enhanced Mode" causes SATA devices to operate
as SATA devices, and PATA devices to operate as PATA devices -- which
in this case, is what you want.  (This BIOS does not offer AHCI, so
you can't use that either).

> Some other symptoms; When booting from an installer or bootonly iso,
> the installer is unable to find the sata drive to install to and will
> exit with error. This applies to 7.0-release, 7.1 beta (From Oct 11),
> and the daily 8.0 bootonly (From may.) I have successfully installed
> Ubuntu 7.04 to the machine however, and it correctly installs and
> utilizes both the sata hard drive (ata2 in bsd) and the sata cdrom
> (ata3.) so this eliminates any possibility of the drive(s) or
> controller being faulty. and although I am currently using a custom
> built kernel, the fact that several bootonlys/installers cannot find
> the drive either would suggest it is not my configuration
> modifications which have caused this behavior.

Agreed -- I do not think it's your kernel configuration.

It sounds as if ata(4) has a bug that is not initialising some piece of
the ICH7, while Linux does.  It may be that the Shuttle BIOS does not
initialise some piece of the ICH7 which other manufacturers do.

> The full output from a verbose boot can be found here:
> ; The relevant (I think) section starts at
> roughly line #386 ("Intel ICH7 UDMA100 controller") where the first
> controller for the IDE drives are found. ata0 is probed successfully,
> ata1 is skipped (there are no devices attached here), and then the
> sata controller is found, but ata2 and ata3 appear to be probed
> incorrectly, spitting out a message like this a bunch of times before
> quietly failing:
> "ata2: stat0=0x7f err=0xff lsb=0xff msb=0xff".

This could be normal for verbose boot; it does not necessarily indicate
a problem, but the ATA guys will have to confirm.

Also, regarding this mail thread, I'm going to do a couple things
with it:

- Move it from -questions to -stable, because that's honestly where
  this should go,
- Adding sos at (ata(4) author) to the CC list,
- Adding Andrey V. Elsukov <bu7cher at> to the CC list.  Andrey
  has been doing a lot of ata(4) work as of late.

| Jeremy Chadwick                                jdc at |
| Parodius Networking              |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |

More information about the freebsd-stable mailing list