2001-02-17 08:40:31

by David D.W. Downey

[permalink] [raw]
Subject: Asus CUV4X-D mobo


Well, once again, VIA chipsets cause havok. The Asus CUV4X-D
VIA694XDP/VT82C686B chipset. The southbridge (686b) could NOT see
it's way clear to understand what my hard drives' geometry was.

Kept getting LI every single reboot. Put the drives back on the Promise
PDC20267 ATA100 controller and things worked just fine.

The APIC errors are gone and things have settled down with the drives
working fine @ UDMA5. (hdparm -A1 -c1 -d1 -X69 /dev/hd#). Average disk
speed is 32MB/s with no data corruption.

Has anyone else experienced problems with this specific motherboard and
the VIA chipset? I'm interested in folks using the 2.4.1-ac1# kernel or
pristine 2.4.1 + 3.20 via82cxxx patch.

I'm also wondering if the 1/09/2001 BIOS this board has is known to have
translation problems with Western Digital drives (specifically the
WDC300BB00-UA1-A 30GB 7200 RPM EIDE drives) or if it's just this board.

BIOS reports CHS as being 1024x16x63+LBA.
hdparm -I /dev/hda reports CHS of 16383x16x63+LBA.
fdisk reports CHS as 58168x16x63+LBA

using neither what the drive reports or what fdisk sees as the CHS count
in BIOS stopped the reproducable (and irritating) LI error.

Switch to the Promise PDC20267 ATA100 offboard card, run lilo again and
bam, instant LILO.

Hope fully this is thorough enough. I've attached the lspci -vv output to
this email as well.

(I'm really starting to dislike this VT82C686 chipset. grrr)


---
David D.W. Downey - RHCE
Consulting Engineer
Ensim Corporation - Sunnyvale, CA


Attachments:
lspci-asus.txt (6.83 kB)
lspci output asus cuv4x-d mobo

2001-02-18 04:48:28

by David D.W. Downey

[permalink] [raw]
Subject: Re: Asus CUV4X-D mobo

On Sat, 17 Feb 2001, Mark Hahn wrote:

> the 0-4 drives attached to the primary controller are fundamentally
> different in behavior than any other controller's drives.
>

Wait, when I first started in computers I found that by using the CHS
count on the drive made the drives work correctly due to the fact that
those day BIOSes didn't understand how to do LBA or any enhianced modes.
You HAD to specify the CHS count. Then, hard drives and mobo BIOSes
improved to the point that the motherboards would check a chip on the
drive telling it what the geometry was for that drive. this allowed the
BIOS to configure the system. All *I*'ve been doing is simply stating the
straight CHS counts manually in the BIOS. I've also played with toggling
the LBA mode on and off.

The problem is that the 686B controller reads the chip as reading
1024x16x63+LBA to equal 30GB for the drive. This is clearly not the right
count. So, I booted to a rescue disk and ran hdparm against the drive to
see what the drive itself is saying the setting is.

This is my first clue that the mobo is not reading the drive correctly, since the drive shows
RawCHS as being 16383x16x63+LBA. (RawCHS being the field in hdparm's
output I understand to be what the drive is truly reporting) So, I then
ran fdisk to see what IT was seeing for the cylinder count which I believe it
gets by taking the reported CHS, does the LBA magic itself then displays what
it came up with for it's translation. fdisk reported 58168x16x63.
Obviously 2 of the translations are incorrect. 16383x16x63 is obviously
not the right one. Booting with that geometry fails to find the
partition.

That leaves 1024x16x63 which just doesn't add up to the max of the
drive. Looking on the drive you see a sector count that matches what fdisk
reads the drive to be. No CHS count just the total sector count of the
drive and LBA. (Most hard drives usually have the CHS written
on them so it's easy to throw them back in. This drive doesn't have a CHS count
on it. That's what made this difficult.)

Now the controller can see the drive correctly and all partitions are
accessible. BUT ONLY if i boot from a CD. Not because of the kernel, but
because no matter what, LILO will NOT load correctly to reboot back into linux.
I consistently get LI (stage 2 loader) problems. Now, dig this, switch
these drives just as they are to the Promise controller (which reads the
drives the same way as fdisk does AND the LI problems completely
disappear.

Now, you COULD make the argument that since my motherboard has the option
to match translations to the partition table that THAT should have worked
and allowed access to the drive. (It's a feature of this particular
board and is an actual menu options.) This of course is NOT the case.
Setting it this way did not fix the problem. At this point, I've manually
stated the drive is 58383x16x63 in the BIOS, toggled LBA both on and off,
told it to match the translation to that reported by the partition table,
and nothing got it to boot from LILO.

I decided to wipe the drive leaving NO partitions and see what happened
when I torched the drives.

So i cold booted with no partition table on the drive, ran fdisk /MBR
from windows against the MBR to make sure LILO was compeltely gone,
rebooted the system with the drives unplugged from the mobo and the bios
set to NONE for drives.

Then I reattached the drives, booted up, manualy specied the CHS+LBA only,
saved bios, rebooted, and ran through a Linux install. (Completely
different distrib as well.) Once again I got the LI errors again. It would
always blow right at the point that it looks at the drive for the raw
starting sector for the kernel. (2nd stage loader)

Now, enter back in the Promise PDC20267 controller. I went back into the
BIOS, disabled the onboard controllers, rebooted again and ran the install
from the Promise. I ran all the way through the entire steps again with
the Promise. First I tried it leaving the partiton table just the way it
was on the other controller, rebooted back from the install CD to the
drive and reran LILO just as it was on the drive. Rebooted the system and
this time around I get a working LILO prompt.

I decided to do the 2nd half of the test by removing the partitions,
rebooting, removing the drives from the controller, rebooting so it
doesn't have a memory of the drives, re-attaching the drives,
repartitioning the now-blank drives and reinstalling linux. Again LILO
works flawlessly the first time.

To me, this says the mobo's controller or it's chipset are bad. Since I've
had numerous problems with the VIA chipset in the past, even from years
ago, I'm more willing to believe that the 686B is a screwy chip.


BTW, marking a drive and cables is nothing more than marking them 1/2 for
primary master/slave and 3/4 for 2ndary master/slave. I also record the
geometry of the drive somwhere on the side or a peice of paper within the
machine itself so I don't have to mess with yankin drives and such. I
couldn't record the geometry for these drives as they're not marked with
it. I had to basically deduce what the setup is. As I said, this is the
first time I've seen a drive NOT be marked.

David
--
David D.W. Downey - RHCE
Consulting Engineer
Ensim Corporation - Sunnyvale, CA