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

John R. Huston jhuston1 at
Wed Oct 15 14:40:23 PDT 2008

On Wed, Oct 15, 2008 at 1:13 AM, Jeremy Chadwick <koitsu at> wrote:
> 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 |

Hopefully I didn't bungle this up, using reply-to-all from gmail in
the first response. (If there is a better way to reply, please let me
know. I appreciate the help so I don't want to complicate things by
replying incorrectly.)

Yes, I know ICH7 is on the supported hardware list. That is
particularly why I am so frustrated :)

Anyway, as for which hardware I am using, ATA0 (First IDE Port)
contains the WD800BB, the PATA Western Digital 80GB that I am
currently relying on to boot FreeBSD. Although an ATA1 is reported,
the motherboard actually only offers one ATA port, so I assume this is
more a logical port in the controller than another port.

ATA2, the first sata port, contains my Seagate 750GB ST3750330AS, a
750GB SATA300 with 32MB cache.
ATA3, the second sata port, contains my Samsung SH-S203B DVD Burner.

This means that yes, FreeBSD is correctly finding both controllers
(PATA and SATA), but is failing to probe the devices on the SATA
channel, since both the harddrive AND dvd-rom are not being found.
(Though I seem to be perfectly able to boot the installer ISO from
that DVD-Rom.)

As for BIOS settings, I have changed them slightly, though Jeremy is
correct, there are no options for a Legacy or Compatibility mode
found. I have tried disconnecting the PATA devices (the WD80GB) and
running the installer from the SATA DVD-Rom, but it too errors out
when it comes time to install, since it cannot find a hard drive to
install to. Also, before I started tinkering with the BIOS, I should
mention that this problem was still occurring, so it does not seem as
though resetting the BIOS settings back to default would alleviate the

I have also updated the BIOS to the latest revision published by
Shuttle to alleviate some other symptoms. My current BIOS settings
should be mostly default, If you would like to see the manual for the
BIOS, it is located in PDF format (in a .zip) here:
and the overall specifications for the machine are located here: (I reported
erroneously in my first post I was using the SD30G2, I am actually
using the SD30G2 Plus.)

The system is currently bootable, so if there are any diagnostic
commands you wish me to run, feel free to pass them along.

Thanks for redirecting this to a more appropriate list, Jeremy.
    --John H

More information about the freebsd-stable mailing list