Mystery solved - the drive's shipping firmware was causing this behavior - an upgrade to the latest firmware (2.0) resolves this.

Thanks!
-Marshall Buschman

Quoting mbusch...@lucidmachines.com:

I should mention that a 16gb Kingston SSD I have works just fine, as well as a 500gb traditional hard disk. Looks like this might be a problem with the disk itself. I know the Sandforce controllers do all kinds of "smart" things like compressing data to achieve greater throughput. I'll investigate and see what I can find.

Quoting Kevin O'Connor <ke...@koconnor.net>:

On Fri, Jun 03, 2011 at 11:55:47PM -0500, mbusch...@lucidmachines.com wrote:
Thanks for the reply. I've spent the last week getting Coreboot
under my control with help from CareBear.
I'm running a patched Coreboot (latest, as of 6/3/11), and SeaBIOS
master (as of 6/3/11).

Coreboot is presenting the drives as IDE.

I've attached the logs of a successful and an unsuccessful boot, as
well as my SeaBIOS configuration - the debug level has been set to 8

The key part of the log is:

bad:
|1efd0000| powerup iobase=1420 st=7f
|1efd0000| powerup iobase=1420 st=7f
|1efd0000| ata_detect ata0-0: sc=ff sn=ff dh=ff

good:
|1efd0000| powerup iobase=1420 st=50
|1efd0000| powerup iobase=1420 st=50
|1efd0000| ata_detect ata0-0: sc=55 sn=aa dh=a0

The drive/controller is stating that the drive is not busy, but then
the drive does not respond to register reads/writes.  Thus SeaBIOS
concludes that there is no drive present.  Under normal circumstances,
the drive will report busy until it is ready to respond to register
accesses.

-- debug output from Coreboot has been disabled, as this increases
the overall boot time substantially.

Can the failures be correlated to boot time?  For example, if you
enable/disable debugging in coreboot+seabios, can you get it to
reliably fail or succeed?

Also, what time of controller chip is this on?

Another test - if you boot from another medium, does Linux detect your
drive even when SeaBIOS doesn't?

I'm not sure what can be done to handle a drive/controller that states
it is ready but is not.  I don't know how to distinguish that from a
drive that isn't present.

-Kevin



_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios



_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios

Reply via email to