All executable and document files of this "PCI Latency" patch are Copyright (C) 2001, George E. Breese. All Rights Reserved.
Version 0.19 December 12, 2001
This product could, in a rare case, damage a computer. Use it carefully and at your own risk. By using it, you agree to the terms and conditions identified in the README.HTM document that accompanies this patch.
If you have installed a previous version of this driver, uninstall it before installing this version.
Section 1: What, Why, Which, Who
Section 2: Install, Uninstall
Section 3: PCI Latency
Section 4: The 686B bug
Section 5: Sound card crackling
Section 6: MWQ Patch
Section 7: VIA Technologies
This is a driver for Windows. It is intended to stabilize computers that have VIA chipsets.
If your computer has any VIA chipset made between 1997 and 2001, and if your computer has any of the following problems, then you might need this driver.
If you have none of these problems, then you do not need this patch.
There are hundreds of models of motherboard that are supported by this patch. These motherboards can be found in computer systems made by Compaq, Gateway, Quantex, and a host of smaller manufacturers. These motherboards can also be purchased separately.
In order for a motherboard to be supported by this patch, its chipset must be made by VIA. The "chipset" is the set of supporting chips that connect the processor (the CPU) to the rest of the hardware. The important VIA chip can be found near the center of the motherboard and is approximately 3.5cm (1.4") square and flat, although it is sometimes covered by a metal heatsink and/or a small fan.
This patch does not support any motherboards whose chipset was made by other manufacturers. For example, It does not support the AMD 761 chipset, so it does not support any of the following motherboards: Abit KG7, Epox EP-8K7A, Asus A7M266, Gigabyte GA-7DX or GA-7DXR, PCChips M810LMR, FIC AD11. (This is an incomplete list.) Many of these motherboards have a small VIA chip with a part number of VT82C686B, but that chip is not involved.
To confirm that your computer has the correct chipset, please refer to your motherboard manual. As an alternative, you can download and install Sisoft Sandra and examine its "Mainboard Information" screen.
The following tables show the supported chipsets.
Chipsets for Super Socket 7 processors
|
Chipsets for Pentium II and III processors (the "Apollo" series)
|
Chipsets for Athlon processors
Pentium 4 chipsets
|
As a safety feature, this patch will not modify any non-VIA chipset.
It supports all versions of Windows 95, 98, Millennium Edition, NT 4.0, 2000, and XP.
I am not a VIA employee. I am merely a hobbyist who owns a lot of VIA-based hardware. I took a greater interest in VIA hardware when I found that I could reprogram it to improve its performance.
I monitor the "VIA Tweaks" section of the support forums at www.viahardware.com. Any problems with this patch can be posted to this section of the forums as well. If you have a problem with your hardware, you should post it in the "General Hardware" section of the forums, where people experienced with your exact hardware can help you.
Suggestions for improving the patch can be emailed to feedback@networking.tzo.com. Remember to mention which patch you use (the "PCI Latency" Patch), the version of the patch (0.19), and the location of the Web site from which you downloaded the patch.
You should have received this in a .ZIP compressed file. Extract the entire .ZIP file to a suitable temporary location. You can, if you wish, delete the ZIP file and/or the extracted files after installing the patch.
Run SETUP.BAT to install the patch.
The patch will be applied when Windows is restarted.
The driver can be uninstalled from the Add / Remove Programs section of Control Panel. The files will be removed immediately, but the patch will continue to be in effect until Windows is restarted.
If the computer is unstable, the driver can still be removed. Boot the computer in Safe Mode and then use the Add / Remove Programs section of Control Panel to uninstall the driver.
In Windows 95, 98, and ME, look in the WINDOWS\SYSTEM folder for VLATENCY.VXD.
In Windows NT and 2000, look in the WINNT\SYSTEM32\DRIVERS folder for VLATENCY.SYS.
In Windows XP, look in the WINDOWS\SYSTEM32\DRIVERS folder for VLATENCY.SYS.
These folders contain many files of the same type. If you cannot see any VXD or SYS files in these folders in Windows Explorer, then find the "Folder Options" item in the menu and choose Show All Files.
First off, "latency" is a condition where something is "present yet hidden". In technology, "latency" describes a time when data is needed but not yet available. "PCI latency" is the case where the PCI bus is not yet available.
PCI devices must share the PCI bus fairly. A PCI device must give up shortly after it is told to do so. The amount of extra time that each device spends before releasing the PCI bus is the measure of latency in the PCI bus.
This patch lowers PCI latency for the devices attached to the PCI bus. It does this by making adjustments to the chip that manages the PCI bus.
When this patch was first made, it changed two values directly related to PCI latency. Newer versions do much more.
In early 2001, it was discovered that new motherboards with the KT133A chipset could damage data that was being copied between IDE hard disks. The problem was narrowed down to the VT82C686B chip on the motherboard. When the computer's PCI bus was busy, any data copied between the primary and secondary IDE buses could be corrupted. In addition, the computer could crash or reboot during this copying.
The problem occurred more often when a Creative Labs Soundblaster Live card was present.
Yes, sort of. This patch is a workaround for the problem, not a complete solution. This patch adjusts the PCI bus to permit the 686B chip to deliver more data without interruption, which has the effect of reducing or eliminating the 686B bug.
Please note that this patch has grown over time to solve more than just the problem of 686B IDE corruption.
The problem seems to be the fault of a bug in the VT82C686B chip. VIA has acknowledged the issue and began working with motherboard manufacturers to stabilize motherboards that have the problem.
No. This patch changes settings in the chip that is controlling the 686B. This patch does not directly adjust the 686B chip.
No, it is not the 686B bug.
Many sound cards need constant access to the computer's PCI bus. Rather than store entire sounds inside the card, these cards retrieve the sound from the computer's RAM in very small amounts. Any delay in retrieving any piece of the sound will cause a crackling effect in the audio.
No single party can be entirely blamed for this problem. The maker of the sound card, or the chip on the sound card, might be at fault if their product cannot properly deal with delays that occur on the PCI bus. Those delays can be caused by any device, but they seem to be more prevalent on some VIA-based motherboards.
There are many good suggestions that have been posted on the Internet over time. Here are a few of those suggestions.
Visit the motherboard manufacturer's Web site, or call them for more information.
If you experience audio problems in Windows XP and your computer has a Highpoint IDE or IDE-RAID controller, please download new drivers from Highpoint to address the issue.
If you experience crackling on a SoundBlaster Live card in Windows 2000, upgrade to the latest (3.0 or later) LiveWare drivers from Creative Labs.
Understand that all PCI slots are not created equal. The slot closest to the AGP slot can sometimes have special priority, and a card installed in that slot can interfere with the sound card. Also, some PCI slots are better than others for sound cards, for many technical reasons. To test PCI slot issues, do all of the following. Remove all PCI cards except the sound card and the video card. Reset all BIOS settings to factory defaults. Test the sound card in each PCI slot, playing sounds and listening for crackling each time. Once the best PCI slot is found, install any other PCI cards and test for crackling after installing each one.
Some motherboards for Athlon CPUs will disconnect the CPU when the system is idle. By doing so, the motherboard allows the CPU to "sleep" when idle, and the CPU is cooler as a result. The delay in disconnecting and reconnecting the CPU can cause problems. This "CPU Idle" feature is enabled by some BIOSes, but it is also enabled by shareware CPU-cooling software. Cooling the CPU is desirable, but this feature can be disabled as a last resort. Look for a "CPU Idle" option in the computer's BIOS settings and disable it. Remove any CPU cooling software. Obtain version 0.14 of this PCI Latency patch and install it.
If a sound card continues to experience problems when other PCI devices are installed, the problem can be caused by PCI's native sharing of IRQ lines. PCI cards send signals on these lines to interrupt the CPU and request attention. Some cards or drivers do not work well when sharing an IRQ line with the sound card. The instructions for disabling IRQ sharing are too long to be reproduced here; the instructions involve small changes to BIOS settings and large changes to Windows.
If all options fail, then try another sound card of the same type, or try a different model of sound card. The Turtle Beach Santa Cruz model has been recommended by its owners as a good alternative that does not exhibit sound-crackling issues.
VIA's chipsets contain a queue to allow data to flow smoothly from the CPU to memory. This "Memory Write Queue" can be overfilled by an AMD Athlon or Duron CPU chip when it executes the MMX instruction "MOVNTQ" repeatedly. This instruction causes a large block of memory to be moved directly to memory. The bug occurs when the chipset fails to handle the overflow correctly. Data can be lost and the computer can become unstable.
The bug is also known as the "register 55" or "Rx55" bug because register number 55 contains the adjustment for the MWQ.
It is known to Linux developers as the "Athlon bug stomper". The first Athlon-enhanced versions of the Linux kernel were unstable on some specific boards, and Linux developers traced the problem to register 55 by comparing working and non-working systems.
Note that the KT266 chipset has a documented adjustment for MWQ. It is located at register 95.
I do not know of an accurate list of motherboards and BIOS versions that contain the misprogrammed register 55.
The chipsets affected are VIA's Athlon chipsets, specifically: KT133, KT133A, KM133, KLE133, KT266.
Yes. This patch resets the MWQ setting to VIA's recommended default.
From the information currently available, the answer is no. Some motherboard manufacturers tried zealously to increase the performance of their motherboards. They modified a setting that VIA had labeled "Reserved - Do not program".
When the VIA chipset is left at its default settings, the bug apparently cannot occur.
The information is incomplete at this time. But, because users have reported the same errors on other systems without Athlon CPUs or VIA chipsets, the answer at this time seems to be "no".
There are a number of things that can be tried.
For computers with Pentium processors (including Pentium II and III), Disable "Read around Write" in the BIOS.
Adjust memory settings to their slowest and safest configuration in the BIOS.
On the Pro266, Pro266T, KT266, KT266A, and P4X266 chipsets, there is a BIOS setting called "CMD Rate". This setting should be set at "2T", not "1T", for the vast majority of systems. Some BIOSes have a default setting of "1T" which is a mistake.
Use drivers that have been approved by Microsoft's WHQL team.
VIA is a company based in Taipei, Taiwan. They have offices worldwide. They design and produce integrated circuits, "chips".
For all motherboards produced before November of 2001, the answer is no. VIA produces chips, not motherboards.
In November of 2001, VIA began selling motherboards. These boards were designed and built by other manufacturers, but carry the VIA logo. The first series of motherboards all have the VIA P4X266 chipset. VIA intends to speed the acceptance of the P4X266 into the marketplace by providing these motherboards.
Your computer manufacturer is the official supplier of support for your computer's components. However, some computers are built by hobbyists, and some manufacturers are not able to provide adequate support.
VIA maintains a support Web site at http://www.viaarena.com/. There are articles, drivers, and support forums. All of the material and support answers on the Web site is provided by the marketing department of VIA.
Other forums exist for sharing information about VIA-related problems and solutions. One such site is ViaHardware at http://www.viahardware.com/ . This site is staffed by hobbyists and is not owned or operated by VIA.
I have no involvement with VIA Technologies Incorporated. As far as I know, only three members of the VIA marketing team know that I exist, and two of those have been unfriendly in past discussions.