Re: Help needed: 7600GS Keeps crashing
>>Well my question is: What does everyone think it is? I narrowed it down to the following possiblities.
Hi, I have the same problem with my new machine. The driver that is crashing is "nv4_mini.sys" (recovered from memory dump using WinDbg) but never with "nv4_disp.sys", with status IRQ_LESS_THEN_OR_EQUAL. I believe, regarding the number of similar reports available over the years (just Google for "nv4_mini.sys" to see for yourself) and some independent opinions from professional device driver writers (I will not mention the source in order to prevent any kind of retaliation, but I have good reason to believe them) that this is definetely result of very serious programmer's error (nVidia, do you still have a source code of your own drivers?
)
I have some tips that helped me a little, time will show what is going on, and if I was right or not; my machine configuration:
- MB: Gigabyte GA-MA69G-S3H socket AM2, latest Award BIOS (F4a, 3. Aug. 2007.)
- CPU: Boxed AMD64 X2 5600+ @ 2.8GHz, 1MB L2 cache per Core, no overclocking (2.8GHz), 1.350V
- SysClock: 200MHz, no overclocking, factory defaults
- HT Link: 1GHz, no overclocking, factory defaults
- Memory: 4 x 1GiB Kingston ValueRAM DDR2 @ 800MHz, 4GiB in total, no overclocking, 1.8V
- Display: (instead of on-board integrated ATI CrossFire 13) nVidia 8500GT (G86 GPU) in PCIEx16 slot with 256MiB RAM, manufacturer Gigabyte, memory type is GDDR3, GPU clock @ 600MHz, memory @ 700MHz, Shader @ 1550MHz, no overclocking, factory defaults, drivers nForce 163.71 WHQL
- OS: Windows XP x64 Professional with SP2 (Windows NT 5.2 Build 3790)
TIP#0: (not really a tip, in fact, way of living) Make sure that you have latest drivers installed, freeware utility DriverMax (
http://www.innovative-sol.com/) can help you locate current versions. Also, make sure that all the subsystem components that might be necessary are installed and upgraded to the latest versions - on the first place latest DirectX, .NET framework 1.1, 2.0, 3.0 and all the patches.
TIP#1: All current dual core AMD CPU's (and perhaps Intel CoreDuo CPU's) have unsynchronized TSC's (time stamp counters), what is caused by design - both by AMD and Microsoft, this is not an bogus implementation, as someone could think - only lack of Invariant TSC's (look
http://ltt.polymtl.ca/svn/ltt/branches/poly/doc/developer/tsc.txt). AMD announced that this behavior will be removed in future CPU generations, but for now, if you are AMD CPU owner, you should try to download "AMD DualCore Optimizer Utility" after installing latest AMD CPU drivers for your architecture, which is an workaround driver for this concrete problem, which occurs when some games and multimedia apps, instead of using operating system's high-precision timer sources, are using assembly instruction RDTSC (read time stamp counter), which yields different times on different cores and leads to misbehavior in algorithms that usually leads to freezing or either bogus or completely insane game performance. if this is your case, your problem can be easiliy solved.
TIP#2: Disable "Write Combining" (from StartMenu->Settings->ControlPanel->Display->Advanced->Troubleshoot), you can freely leave "Hardware Acceleration" set to full. Our display adapters are optimized for write combining in their GPU cores, I don't think that this will degrade your performance at all, just instruct operating system that your hardware is smart enough (please write back new test results, if you perform them, I want to confirm or deny my assumptions).
TIP#3: Disable following features if supported on your hardware:
1. PowerNow! / Cool & Quiet technology (AMD) or SpeedStep (Intel)
2. S.M.A.R.T. status monitoring
3. If you have Award BIOS, press F2 on boot to enter configuration and then Ctrl-F1 in order to enable advanced features; if you have "Advanced Chipset Features" option, disable all power consumption optimizations for DDRAM
3. Disable "Spread Spectrum" option on all available places unless you work for Military or some kind of secret service
4. Disable all power saving options for the drivers (from device manager, under "PowerManagement tab" and only for some drivers - usually always includes NIC, uncheck option "Allow the computer to turn off this device to save power")
TIP#4: Don't overclock anything during troubleshooting, the best practice is to select "Load optimized defaults". The only overclocking I did is to raise NorthBridge and SouthBridge voltage by 0.1V, in order to give a little bit more power to the motherboard. If you ever overclock memory, don't look only at the BIOS recommendations, always check the maximum recommended voltage tolerance at the manufacturer's specification - Kingston specifies maximum +/-0.1V for the memory I purchased, and it sounds logical that manufacturer (after who-knows-how-many-fried RAM modules) knows what is it producing.
TIP#5: Don't install nVidia nTune utility or AMD PowerMonitor or Intel SmartStep tool, or anything that could change your power setup configuration. Good replacement for nTune is free utility nHancer (
http://www.nhancer.com/) which has all the options the nTune has, except the endless unresponsiveness, slowliness, excellent demonstrations of instability and spectacular crashes ("K-Boom Utility Of The Century Awards", first place, deserved). I sincerely hope that some other individuals wrote our display drivers.
TIP#6: "If you change FSB, QueryPerformanceCounter don't work correctly!!" - citation from CrystalCPUId's author, hiyohiyo (
http://crystalmark.info/?lang=en) - translated from technical to plain english that means that the applications asking the system for the high precision time source will get higher frequency divisors causing that, for example, intro scene that should play for one minute will finish in fourty seconds. Leave your FSB at factory defaults. Also, *NEVER* change the PCIEx16 frequency to anything that differs from "Auto" or 100MHz.
TIP#7: Try to disable DEP (Data Execution Prevention); this works for Windows XP and 2003 users (both x86 and x64 platforms).
1. Update your antivirus and antispyware definitions from the network, then disconnect physically from the network and perform full scan of all hard drives with as fascistic settings as possible (ultra high heuristics levels, scan all files, scan archives with max. level allowed and similar options), then disable all antivirus, antispyware and all the other software that might interfere with the troubleshooting process. When you finish with this part of troubleshooting, DONT FORGET TO ENABLE DEP AND ANTI-VIRUS!!!
2. Go, by right clicking on "My Computer", to Properties->Advanced->StartupAndRecoveryTab->Settings->SystemStartup->Edit. This will open boot.ini file in notepad, edit it in the following manner:
Under the section [operating systems] find the system you are using and duplicate that line, changing for now only the name to your will between the quotes in order to recognize which configuration has disabled DEP when you boot on again.
1. Find switch /NoExecute=
2. If it doesn't exist, add one, if it exists, change it to /NoExecute=AlwaysOff
3. Reboot your computer and select new configuration you've just created
4. More information on "http://msdn2.microsoft.com/en-us/library/ms791539.aspx".
Please take into account that when Microsoft says "Windows XP" they mean "Windows XP x86", because Windows XP x64 with SP2 is more compatible to Windows 2003 Server with SP2 than to Windows XP with SP2 (but this is now completely off the topic).
==Example (original boot.ini)===========================
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Win XP Proffesional x64" /fastdetect /usepmtimer /NoExecute=OptIn
==Example (your new boot.ini)===========================
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Win XP Professional x64 (DEP configurable)" /fastdetect /usepmtimer /NoExecute=OptIn
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Win XP Professional x64 (DEP OFF)" /fastdetect /usepmtimer /NoExecute=AlwaysOff
TIP#8: If you ever need it, this tip will help you to uninstall drivers and any other application from safe mode (works for all Windows including Vista):
Run regedit.exe, and locate the key entry "
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot". If you are planning to use "Safe mode only" boot option available when you press F8 key after the BIOS POST (recommended), perform changes to subkey "Minimal" in the following manner: right click on "Minimal" node, select New(Key)->StringValue and name it "
MSIServer". Double click it's newly created "(Default)" value and change "Value data" to "
Service". Reboot into safe mode and perform (un)/installations by your will.
I hope that some of these quick tips will help you, please tell us what happened.
P.S. Always keep fresh backup of your complete OS (including MBR and all the partition information), by using some third party utilities, like Norton Ghost or Acronis True Image, it will help you to avoid stressfull situations
The real value of backup becomes evident only after the total disaster. And, unlike one of my ex-colleagues (he is and was at the time of event, Microsoft Certified Trainer, unfortunately), *NEVER* perform backups on the device that you are backing up.
Cheers,
Vladimir