Jump to content

Working nForce 4 NIC in WinPE


Metzen

Recommended Posts

Here's the solution I found to enabling the software-based nForce 4 NIC:

1) Software the nForce machine completely off a CD or whatever medium you choose. The nForce NIC must be working once you are finished.

2) Open regedit, and click on the SYSTEM\ControlSet001 registry key. CTRL-F for find and type the following (without the quotes) "NVNET". You should come across a key in a similar location as this example one:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV0057

3) Export the registry key to NVNET1.REG

4) Search for (without the quotes) "NVIDIA Network Bus Enumerator". You should come across a key in a similar location as this example one:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_10DE&DEV_0057&SUBSYS_289510F1&REV_A3\3&1070020&0&50

5) Export the root of the key. IE, remove the part after PCI so you are exporting HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_10DE&DEV_0057&SUBSYS_289510F1&REV_A3 to NVNET2.REG

6) Search for (without the quotes) "NVIDIA Network Bus Enumerator". You should come across a key in a similar location as this example one:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{1A3E09BE-1E45-494B-9174-D7385B45BBF5}

7) Export the registry key to NVNET3.REG

8) Search for (without the quotes) "nvnetbus". You should come across a key in a similar location as this example one:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\nvnetbus

9) Export the registry key to NVNET4.REG

10) Go into each file and do a find and replace on the following:

HKEY_LOCAL_MACHINE\SYSTEM

to

HKEY_LOCAL_MACHINE\PE_SYSTEM

11) Load your setupreg.hiv file on your PE system and name it PE_SYSTEM.

12) Import each registry file into your PE_SYSTEM hive.

13) Unload the hive and rebuild the system. You should have a working NIC if your files are in the correct place (use DRVINST.EXE to install the files into your PE_Config_Set).

NOTE: This will be specific to your motherboard. You will need to do this to each motherboard you want to add the nForce NIC to. I have only tried it on two different motherboards on two different WinPE images so I don't know if combining more than 1 set of registry keys will work.

Link to comment
Share on other sites

  • 1 month later...

Good morning Metzen,

I appreciate your instructions, I was able to create a custom OPK cdrom with nForce4 network support.

I stumbled a little on some of the commands, since I'm not a windows propeller head (prefering embedded development, where I mostly create my own headaches). I was, however, successful on the 1st CDROM burned.

While sifting through the working computer's registry, there appear to be quite a few other registry keys related to nVidia networking and/or netbus. I ignored them, and worked with the 4 Metzen had indicated.

At step 11, I'd add run regedit.exe, highlight the HKLM key (otherwise the import menu item is greyed out) and import the setupreg.hiv file (via File, Import). Regedit will ask for a new key name, this is where you select PE_SYSTEM, which keeps your existing SYSTEM hive isolated.

For step 13, I'd add the steps to import the inf files (this worked the first time, but the driver disk I have has LOTS of win2kxp driver folders, maybe they all work, I didnt' try)

For my system, tools are in the following locations:

c:\winpe - the folder where the OPK "build-in-progress" lives

c:\build_x86 - the folder where the OPK build tools live

d:\ - location of the ASUS nForce4 driver CDROM

cd \winpe

drvinst.exe /inf:D:\Drivers\Chipset\WINXP_2K\Ethernet\nvnetbus.inf c:\winpe

REM the next command will prompt to overwrite one file, select 'yes'

drvinst.exe /inf:D:\Drivers\Chipset\WINXP_2K\Ethernet\nvenetfd.inf c:\winpe

REM now build the PE image into an ISO image

oscdimg -bc:\build_x86\etfsboot.com -n c:\winpe c:\winpex86.iso

Burn to CDROM and boot away. Once booted, the old "net" commands are handy:

net use F: \\MfgServer\OPKTools

Thank you again!

(attached registry files are from XP Professional, SP2, Asus A8N-E)

(not enough space to attach a zip of the nForce files, sorry)

NVNET1.REG

NVNet2.reg

NVNet3.reg

NVNet4.reg

Edited by Elfman
Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

Just to let you all know, flexy found an easier/better way to do this. You would need to adapt it for WinPE but that is easy enough to do if you know what you are doing:

there is an enormous amount of misleading and hard to follow instructions how to get the Nforce 4 LAN to work under Bart PE.

Some postings i have a hard time understanding what the OP actually is talking about.

However, BIG thanks to beveridg since his tip WORKS (even if some people say it doesn't - but i just tried it out and booted into my BartPE and surfed the Net w/ Nforce 4 NIC, so it *does* work.

And its pretty easy - below (after the ---snip---) the *.inf file as beveridg posted it.

Create folder NF4 in your plugins folder (plugins/NF4)

Make subfolder plugins/NF4/files (plugins/NF4/files)

Copy all driver files from the Nforce chipset zip (under "Ethernet") into "files". I used the latest nforce drivers version 666.

Put the BELOW text (after --snip ---) into notepad and save it as plugins/NF4/NF4.inf

-------------- snip -------------------------

[Version]Signature= "$Windows NT$"

[PEBuilder]

Name="NIC: Nvidia Nforce4 Integrated Ethernet Driver"

Enable=1

Help="nic_nforce4.htm"

[software.Addreg]

; create NetworkCards registry entry since the driver doesn't. This key

; is necessary for PE Netconfig to run.

0x0, "Microsoft\Windows NT\CurrentVersion\NetworkCards"

[sourceDisksFiles]

; just copy the following files from you driver disk to the files folder

; The driver .sys files must goto the system32\drivers folder

files\nvnetbus.sys=4,,1

files\nvnrm.sys=4,,1

files\nvsnpu.sys=4,,1

files\nvtcp.sys=4,,1

files\nvefdxp.sys=4,nvenetfd.sys,1

; The driver .inf files must goto the inf folder

files\nvenetfd.inf=20,,1

files\nvnetbus.inf=20,,1

; The driver .dll and .exe files must goto the system32 folder

files\nvunrm.exe=2,,1

files\bdco1.dll=2,,1

files\bdco1.dll=2,bdco1ins.dll,1

files\fdco1.dll=2,,1

files\fdco1.dll=2,fdco1ins.dll,1

files\nvconrm.dll=2,,1

[setValue]

"txtsetup.sif","BusExtenders.Load","nvnetbus", "nvnetbus.sys"

"txtsetup.sif","BusExtenders","nvnetbus", """NVIDIA Network Bus Enumerator"",files.nvnetbus,nvnetbus"

"txtsetup.sif","SourceDisksFiles","nvnetbus.sys", "1,,,,,,,4,1"

"txtsetup.sif","SourceDisksFiles","nvnrm.sys", "1,,,,,,,4,1"

"txtsetup.sif","SourceDisksFiles","nvsnpu.sys", "1,,,,,,,4,1"

"txtsetup.sif","SourceDisksFiles","bdco1ins.dll", "1,,,,,,,2,1"

"txtsetup.sif","SourceDisksFiles","bdco1.dll", "1,,,,,,,2,1"

"txtsetup.sif","SourceDisksFiles","nvconrm.dll", "1,,,,,,,2,1"

"txtsetup.sif","SourceDisksFiles","nvnetbus.inf", "1,,,,,,,20,1"

"txtsetup.sif","HardwareIdsDatabase","PCI\VEN_10DE&DEV_0086", """nvnetbus"""

"txtsetup.sif","HardwareIdsDatabase","PCI\VEN_10DE&DEV_008C", """nvnetbus"""

"txtsetup.sif","HardwareIdsDatabase","PCI\VEN_10DE&DEV_00DF", """nvnetbus"""

"txtsetup.sif","HardwareIdsDatabase","PCI\VEN_10DE&DEV_0038", """nvnetbus"""

"txtsetup.sif","HardwareIdsDatabase","PCI\VEN_10DE&DEV_0057", """nvnetbus"""

"txtsetup.sif","HardwareIdsDatabase","PCI\VEN_10DE&DEV_0269", """nvnetbus"""

EDIT Link to original post.

EDIT I've found this method (included in this post) to NOT work.

Edited by Metzen
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...