Can't get TNT2 driver to work anymore

L

Lucvdv

A year ago (or could be even longer), I created a test target with an
NVidia TNT2 M64 adapter, and AFAIR everything worked.

Now I'm building a new target for the same adapter on another mainboard,
and I can't get it to work anymore.

XPe differences wrt the test platform are:
- SP1 with all QFE's installed, the test was before SP1
- smaller target (no explorer, no IE)

When I install XP Pro (SP0), the adapter is detected and works correctly.

TAP detects the adapter and TD adds the "NVIDIA RIVA TNT2 Model64/Model 64
Pro (Microsoft Corporation) [Version 5.1.2600.1106,R1806]" component for
it, but when the target boots after FBA completes, it's using the standard
VGA driver.

In the registry I find InitStartFailed = 1 for the nv4_mini.sys driver.

The FBALOG only contains one error message, but that's probably a result of
using minlogon (DllInstall for userenv.dll fails).


Is there anyone who had a similar problem and might be able give me a push
in the right direction?
 
L

Lucvdv

In the registry I find InitStartFailed = 1 for the nv4_mini.sys driver.

Weird:

1) Depends.exe lists a dependency on missing file "ntoskrnl.dll" for
nv4_mini.sys. I find no such file on the target, nor in any repository,
nor in the XP Pro setup.

Looking at the import names, I think it should be referencing ntoskrnl.exe
instead of -.dll.

2) On XP Pro, the driver is nv4.sys (there is no nv4_mini.sys on disk).
 
L

Lucvdv

Weird:

1) Depends.exe lists a dependency on missing file "ntoskrnl.dll" for
nv4_mini.sys. I find no such file on the target, nor in any repository,
nor in the XP Pro setup.

Looking at the import names, I think it should be referencing ntoskrnl.exe
instead of -.dll.

2) On XP Pro, the driver is nv4.sys (there is no nv4_mini.sys on disk).

And after upgrading the Pro setup to SP1, it's the same there: nv4_mini.sys
is now installed there too, and it has the same missing dependency.

But in the registry the driver is still nv4.sys, and the adapter still
works.

Comparing the registries of both setups, I found that XP Pro has no service
key starting nv4_mini.sys and XPe has none that starts nv4.sys, although
both files are present on both setups.

Simply editing the service key in XPe doesn't work of course: still
standard VGA.
 
L

Lucvdv

Found a workaround, but not one you wouldn't mind doing for every target ;)

In case someone else is struggling with a TNT2 M64 adapter under XPeSP1,
you can try this until there's a better solution:

1) There are TWO components containing drivers for PCI\VEN_10DE&DEV_002D.
The one TA installs when you import the pmq file is the wrong one: remove
it and add the other.

The wrong one is "NVIDIA RIVA TNT2 Model 64/Model 64 Pro (Microsoft
Corporation)"; the right one is "NVIDIA RIVA TNT2 Model 64" located right
above it in the component tree.

2) Install & boot XPe SP1 target, let FBA complete.

3a) Install XP Pro on second partition on same target.
3b) upgrade it to SP1.

4) Dive into the registry (in XP Pro).
Export 4 keys from the HKLM\System\CurrentControlSet branch:

- the hardware key: Enum\PCI\VEN_10DE&DEV_002D&[...]
- the service key: Services\nv4

In the (only) subkey under the hardware key there are two values containing
GUID's: "ClassGUID" and "Driver".

Search for key names equaling those GUID's under
HKLM\System\CurrentControlSet, and export these too (one is in
Control\Class, the other in Control\Video).

4) Reboot to XPe, and import the 4 .reg files you just exported.

5) Reboot again. YMMV, but the driver was now working for me.

I tested this on a target that included DirectX 8 + the DX diagnostics
utility, and all DirectDraw and Direct3D tests in DxDiag ran successfully,
with and without full hardware acceleration.


When/if I have more time, I'll try to create a component that makes this
awful procedure unnecessary.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top