HomeIE 4 is EVIL!GUIsFilesAboutLinks

Misc Win95 files and stuff:

VIA 6421 SATA Driver

Via 6421 based SATA cards are a popular and inexpensive way to add SATA drives to an IDE system. While SATA to IDE converters can connect SATA devices to existing IDE controllers, these cards have some advantages:

- Adds LBA48 compatibility to older motherboards.
- Adds SATA compatibility to newer boards that do not have IDE or a compatible SATA chipset.
- Adds eSATA depending on your card.

The best thing about these cards is that I have been able to get them to work with Windows 95 using the VIA provided driver!

Installing the driver:

There is one tiny issue installing the VT6421 Raid controller driver under Win95. Windows 95 sees the card as a Hard Drive Controller class, whereas Windows 98/ME sees it as a SCSI Controller class. As a result Win95 will think the INF file does not contain the correct drivers.

To install the stock Win9x driver without modification, add the driver manually by starting the Add New Hardware wizard from the control panel and select not to search for new hardware. From the list of hardware types, select "SCSI controllers". At the list of known drivers click "Have Disk" and browse to the Win9x folder of the ViaRaid driver. Then select your specific card (VIA VT6421 Raid Controller). Continuing with the wizard will copy and install the drivers, but they will not yet be associated with the card.

Then find the find the 6421 card in the device manager. It will probably be displaying as an "unknown device". Open the driver properties, and click "Update driver". Chose to select the driver from a list, then click "Next" and then immediately click "Back". Now you will see list of hardware types, select SCSI controllers, and then "show all hardware". Select the VIA 6421 driver from the list and finish.

Or alternatively, edit the INF file to set the "Class=hdc". The line is actually already in there, just commented out. Uncomment that one and comment out the "Class=SCSIAdapter".
VIA Windows 9x 6421 SATA driver:  6421w9x.zip
Originating site: http://www.via.com.tw/en/support/drivers.jsp

The latest version of the driver currently listed is V5.90.
VIA 6421 BIOS Updates

A common annoyance with the VIA 6421 cards I have tested is that they all seem to ship with older, buggy, versions of the BIOS. Although they work, the 4.x BIOSes always prominently displays the message "For RAID If You Want To Install Linux Default Partition RAID Driver, Please DO NOT Use   OPROM Creation Operation!" at startup.

After searching for what seemed like forever, and reading post after post that it wasn't even possible, I finally found a BIOS Flash updater for this chip.

Note that some Via 6421 based cards don't ship with a BIOS chip at all, and others could potentially have EPROMS that aren't recognized by the flash utility. Also, if this chip is built on to a motherboard you should use your motherboard vendor's BIOS updater.


Memphis alternate BIOS:
This is a newer BIOS that fixes the compatibility use with some newer Western Digital hard drives, along many other fixes.  This is a custom BIOS created by "Memphis". For more details (if you can read Russian) see here.

Note that this version is newer and fixes many more bugs than the 5.20 version or the stock 4.95 version, despite showing the version number "4.94+"
Memphis alternate BIOS with flash util 3.0+. Release version April 13, 2012 plus a few additional fixes.

Note this is newer and fixes more bugs than the 5.20 bios. 


In addition, the following changes have been made from the original Memphis version:

Rosewill 5.20 bios:
This is a bios update distributed for Rosewill 6421 based SATA cards. I tested this with a couple of SYBA brand cards and a PPA brand card and it seemed to work. This BIOS gets rid of the Linux warning message. .Originating site: http://www.rosewill.com/products/d_983/productDetail.htm
6421 flash bios update v5.20 with flash util 2.0: RC_212, RC-215- DOS flash utility and latest BIOS v5.2.zip

The above bios flasher apparently only works with SST49LF020, SST49LF020A, and W49V002A bios chips (this number is usually written on the BIOS chip covered by a sticker). Manufacturers are inconstant about what chip they include. The Version 3.0+ flash util from the download above can be used instead, and recognizes many more chips.

Older VIA 6421 BIOS:
In case you want to flash the card with an older version, here are several archived versions.
Version 1.20, 4.94, 4.95, and 5.20 VIA 6421 BIOS: older6421bios.zip

Western Digital HD compatibility issue:

There is a known compatibility issue between the Via 6421 chipset and certain Western Digital Blue SATA drives (Noted in at least some 2011 manufactured 320/500gb drives) that can cause excessive transfer slowdowns and crashes. Under Windows NT/2000/XP/Vista/7, numerous disk system errors will appear in the event log. This affects Western Digital drives, and I have also observed this problem on a Hitachi 320gb 2.5" drive.

Technically the drives are at fault, but since this apparently doesn't cause problems with most other SATA controllers it seems unlikely drive makers will fix this issue.

This issue can be "fixed" by setting a PCI register in the 6421 controller.

The Memphis BIOS above includes this fix.

This fix is also in recent Linux kernels, so Linux will not experience this issue.

It is also possible to manually work around this issue by using a utility like WPCREDIT to set the 6421's PCI register 0x52 bit 2 (counting from zero) to "1".

The technical details are reported to be as follows:

When host issues HOLD, device may send up to 20DW of data before acknowledging it with HOLDA and the host should be able to buffer them in FIFO.  Unfortunately, some WD drives send up to 40DW before acknowledging HOLD and, in the default configuration, this ends up overflowing vt6421's FIFO, making the controller abort the transaction with R_ERR.

Rx52[2] is the internal 128DW FIFO Flow control watermark adjusting mechanism enable bit and the default value 0 means host will issue HOLD to device when the left FIFO size goes below 32DW.  Setting it to 1 makes the watermark 64DW.

Thoughts on using eSATA:

If you plan to use external eSATA devices with 9x, assigned drive letters can be an issue. Attaching a drive may cause drive letters to shift. Primary partitions get the first drive letters in the order the drives are recognized by BIOS, then extended partitions in the order the drives are recognized by BIOS.

One way around that might be to use a 6421 card that does not have a BIOS (such cards are not bootable and can not be used from DOS). The advantage is since DOS does not see the drive, the drive letter does not become "anchored" and Windows can assign it any drive letter similar to USB flash drives.

Another workaround might be to place the entire partition of the removable drive inside an extended partition. This way the partition on the removable drive should be assigned a drive letter after those of all partitions on the first drive.

I discovered a useful utility for manually changing the assigned drive letters from DOS: http://sta.c64.org/dlmanip.html

Of course all drives will need to use FAT32 unless an additional filesystem driver has been loaded.

Models of card:

The 6421 chip provides 2 SATA ports, and an IDE channel that can accommodate 2 IDE devices. Most provide 1 SATA as internal and 1 external, some have both as internal.

SYBA SD-VIA-1A2S cards have a hard drive activity LED header. Most cards don't. Obviously this is important to have if using the controller for a primary hard drive. Supposedly "pin 11" on a drive's SATA power connector can also also indicate drive activity but this requires a special power adapter which is very rare. And to add to the activity LED annoyances, some cheaper SATA to IDE converters (like the Kingwin ADP-06) will not operate the motherboard's IDE activity light.

6421s dated earlier than 10-04 (April 2010 or somewhere around there) may be unable to detect 3.0 or 6.0 gb/s drives. Most 3.0 gb/s drives have a jumper to force 1.5 gb/s operation, but 6.0 gb/s drives do not. Newer 6421 chips do not have this problem.

6421 RAID
RAID functionality is implemented using software in the driver, and does not work under all OSes. I wouldn't bother with it and have never tried it. If you need RAID get a hardware RAID card that makes the array transparent to the OS or use OSs provided software RAID if available.

Other options: The Vantec CB-SP200 Dual Port SATA to IDE Converter or its Single Port model are excellent for connecting new SATA hard drives and CD drives to an existing IDE port. The upside is that these plug in directly to the motherboard/controller so you can replace your bulky IDE cables with SATA cables. The downside is your motherboard BIOS and IDE driver must already have support for LBA48 to make use of drive space over 127gb.
KT7A Via Latency Patch

This WDM driver increases the stability of  KT7A (KT133/VT82C686B chipset) and similar motherboards, of which I have several. Off hand it fixes random crashes playing videos and using 3D video acceleration. Being a very simple WDM driver it runs on everything from Windows 95 OSR2 to Windows 7.
Via Latency Patch ViaLat.zip
Originating site: http://www.georgebreese.com/net/software/#PCI

Back to Files