Re: Answer (Re: Cylinder limits jumper for drives over 32GB)

From: David Elliott (dfe@infinite-internet.net)
Date: Wed Mar 29 2000 - 13:07:25 EST


Andre Hedrick wrote:

> On Tue, 28 Mar 2000, H. Peter Anvin wrote:
>
> > Andre... what we're trying to figure out if there is a way to this
> > *TRANSIENTLY*, so that a reset will set it back to the old value.
> >
> > However, if plugging in manual values in the BIOS works then that's
> > probably the recommended way, unless there really is an easy way to work
> > around.
> >
> > Remember... most hardware/firmware is broken. Part of what makes a good
> > OS is to work with broken hardware without sacrificing working with
> > properly working hardware. God knows I've messed lots with BIOS bugs.
>
> Peter,
>
> Please trust that I know the world is full of broken hardware, and even
> if you follow the exact OEM directions for the hardware, it still can go
> wrong. I see some of the worst night/day-mares in ATA hardware than
> anyone can imagine.
>
> There is only three possible solutions for the 05/14/99 (and older) AWARD
> BIOS problem........
>
> 1) Users purchase an ADD-ON card that will handle the large drives.
>

Either that or somehow figure out how to update the BIOS. Unfortunately, it
seems to me at least that I have gotten a bunch of fly-by-night hardware
company's motherboards.

My usual board is a Micronics C400 (now Diamond). Apparently there is no
support for this board at all. Trying to flash a different BIOS did not work
too well, so the board is dead. Not really a big deal, I can always get a
new BIOS and use a flash programmer to flash it. I asked Diamond about a new
BIOS image (did not tell them I screwed up the BIOS though, I can fix that
myself). They haven't gotten back to me, it looks like support for the board
is dead.

Right now I am using a friend's EFA board. I also have the same board which
is in my mom's computer. Both my friend and I got the board from AMD. AMD
has a Retail Professional's website where you can get one proc/mobo combo for
really cheap. We both only spent like $100 for the board with a K6-2 400
installed.

Well, since I am now using this board, I figured I'd see if I can get a BIOS
update. So I contacted EFA about an update. Guess what... they don't make
motherboards anymore. What they make I have no idea since looking at their
website, http://www.efacorp.com/, it looks like they only made motherboards.

So it looks like buying a new motherboard or an add-in card is the only
solution. Since I used all 5 PCI slots on the Micronics (and had to remove
my TV tuner to use the 4 PCI on the EFA board), adding a card is really not
an option, so it looks like I'll be getting a new motherboard.

>
> 2) Users issues a bogus geometry to the BIOS and we ignore it and use the
> entire disk.
>

HEHEHEHE... yeah... right.. live in your dream world where you can do that.
Unfortunately it seems that the BIOS checks the LBA capacity no matter what
you tell it, so it locks up no matter what you do unless you have that jumper
installed.

>
> 3) Users runs OEM capacity shrinking tool. Depend on Linux to issue
> READ/SET_MAX_ADDRESS and update the values "soft" and not clobber the
> "protected memory area". In principle, a reboot/power-cycle will revert
> the capacity back to 32GB so that one may reboot with out a hang.
>

While this sounds like a good idea.. what I'd really like to know is how in
the hell does Win98 or EZ-Drive handle this shit? Right now I can't boot my
Windows drive because I somehow lost most of my SYSTEM directory, so I'll
need to reinstall to figure this one out.

>
> This is the preferred order in my book.
>

Well, 2 isn't an option at all.

>
> FYI, I am working with the ADD-ON card manufacturers to get them to
> correct their BIOS code to prevent this problem.
>

That's a good idea.. I should hope that any add-in cards would support the
> 32 GB drives, but it looks like right now most of them don't without
flashing their BIOS.

>
> Cheers,
>
> Andre Hedrick
> The Linux ATA/IDE guy
>
> I only got wierded out because of potential partition fragmentation if any
> goes wrong.

Well, I think it is not TOO big of a deal if the ext2 system can't read a
sector past a certain point. Most of the directory info is going to be
before that point (and the superblock is duplicated in many places). A
friend of mine actually had the jumper set even though he didn't need it. He
had used partition magic from windows to partition the drive, and it didn't
complain. When he went into Linux, every so often it would just lock up
printing the same error over and over (sector not found or whatever.. 0x51
I think).

After I helped him take the jumper off (he didn't need it anyway) the drive
has been fine, no data lost, but some weird crap like directories with
negative contents. I told him to run an fsck and I assume it went okay since
I haven't heard anything bad from him.

So while I would definitely worry about corrupting a file system, I don't
think you will do too much damage if it can't read a sector and therefore you
must reboot. Think about it.. it happens when trying to READ data, not
necessarily write data, so it's fairly recoverable.

Anyway, I know you are working overtime trying to fix this problem. For now
I have just set my Linux partition to end at 4111/255/63 and I don't have any
partitions after that, though my extended partition does go all the way to
4982 cylinders, but Linux doesn't seem to care much about that (as long as I
don't put any partitions in it that extend past 4111).

I know you mentioned that you could possibly get source from Maxtor. One
thing that would be helpful is the MAXDIAG program. I'll warn you right now
though, the version I have of it will actually clip to the 66055248 limit
when doing a read test, but doing the Quick Test seems to work fine.

Here is the problem I am having though:
EZ-Drive allows DOS to read the whole 40 GB (at least I think it does
anyway). Knowing that you can boot the computer to DOS, access the drive,
then hit the reset switch and the BIOS does NOT lock up, it seems that they
are either setting the max capacity on every read/write and then putting it
back, or they are using some other method of reading/writing data. I am
strongly leaning towards the some other method of reading/writing data case.

Okay, and now for something somewhat unrelated:
The only way I can leave the jumper off the drive and still boot is to remove
the drive completely from the BIOS. If I do that, then the only thing I can
boot is the floppy drive. So would it be possible to make a floppy with
something like EZ-Drive on it? And would EZ-Drive actually pick up the
hard-drive and act as a BIOS for it even though it is not defined at all in
the real BIOS? I wouldn't mind leaving the disk in the drive for reboots.

-Dave

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Mar 31 2000 - 21:00:25 EST