SATA devices not added/probed from ICH7 sata300 controller,
FreeBSD7.0, 7.1beta, 8.0 Daily
John R. Huston
jhuston1 at student.ccbcmd.edu
Mon Feb 16 20:07:50 PST 2009
Hi everybody, trying to get this problem sorted out still, I didn't reply
for a while leaving time for a reply, but then got snowed under with
projects. I'm back at work trying to get this guy working, so if anyone
would like to help me debug the ATA driver, I'd be appreciative. For any BSD
developers who may need or want SSH access to the box for further diagnostic
and testing, it could be arranged and you should mail me privately
Recap of issue, original correspondence attached:
I have a Shuttle SD30G2 barebones computer running FreeBSD 7. It uses the
Intel ICH7 chipset, which is listed as supported. However, no SATA devices
attached to the computer (Particularly a SH-S203B DVD Burner and a
ST3750330AS HDD) are detected, even though the Sata controller itself seems
to be. The devices work properly on other posix OSes, such as Ubuntu.
Verbose dmesg is here: http://pastebin.ca/1339696 , with lines of interest
starting at line 405.
Bios PDF: http://preview.tinyurl.com/bw3sjf
Thanks for the time and support,
On Wed, Oct 15, 2008 at 4:08 PM, John R. Huston <jhuston1 at student.ccbcmd.edu
> On Wed, Oct 15, 2008 at 1:13 AM, Jeremy Chadwick <koitsu at freebsd.org>
> > 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:
> >> http://preview.tinyurl.com/3knjrp ) 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:
> >> http://pastebin.ca/1227417 ; 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 freebsd.org (ata(4) author) to the CC list,
> > - Adding Andrey V. Elsukov <bu7cher at yandex.ru> to the CC list. Andrey
> > has been doing a lot of ata(4) work as of late.
> > --
> > | Jeremy Chadwick jdc at parodius.com |
> > | Parodius Networking http://www.parodius.com/ |
> > | 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:
> http://global.shuttle.com/product_detail_spec.jsp?PI=969 (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