Reply to Message

View discussion in a popup

Replying to:
bilou_gateux
Contributor
Contributor

thedude_:

I have found how to add support for a third-party network driver by adding the driver to the Windows Setup files.

Let's take the example of Intel Pro 1000 NICs (e1000325.sys binary).

Windows XP installation media don't have support for these NICs.

I have edited some inf files in I386 folder and added some lines in relevant sections:

LAYOUT.INF

\[SourceDisksFiles.x86]

e1000325.sys = 1,,171008,,,,,,3,3,,1,4

nete1g32.inf = 1,,49260,,,,,20,0,0

TXTSETUP.SIF

\[SourceDisksNames.x86]

1985= %cdname%,%cdtagfilei%,,"\i386\NLDRV\002"

\[SourceDisksFiles.x86]

nete1g32.inf = 1,,,,,,,20,0,0

e1000msg.dll = 1985,,,,,,,1985,0,0

e1000nt5.din = 1985,,,,,,,1985,0,0

e1000nt5.sys = 1,,,,,,,,3,3,,1,4

e1000nt5.sys = 1985,,,,,,,1985,0,0

e1000325.cat = 1985,,,,,,,1985,0,0

e1000325.din = 1985,,,,,,,1985,0,0

e1000325.inf = 1985,,,,,,,1985,0,0

e1000325.sys = 1,,,,,,,,3,3,,1,4

e1000325.sys = 1985,,,,,,,1985,0,0

etcoinst.dll = 1985,,,,,,,1985,0,0

intelnic.dll = 1985,,,,,,,1985,0,0

prounstl.exe = 1985,,,,,,,1985,0,0

DOSNET.INF

\[Directories]

d12= "\i386\NLDRV\002"

\[Files]

d1,e1000325.sys

d1,nete1g32.inf

d12,e1000msg.dll

d12,e1000nt5.din

d12,e1000nt5.sys

d12,e1000325.cat

d12,e1000325.din

d12,e1000325.inf

d12,e1000325.sys

d12,etcoinst.dll

d12,intelnic.dll

d12,prounstl.exe

DRVINDEX.INF

\[driver]

e1000325.sys

I have also injected the e1000325.sys binary in driver.cab

nete1g32.inf is a special inf file version not available on Intel download center but a customized inf grabbed from M$FT SMS v4 WinPE image and edited to fit my needs.

It's too long to post the full content here.

NETE1G32.INF

; Copyright (c) 2004, Microsoft

\[version]

Signature = "$Windows NT$"

Class = Net

ClassGUID = \{4d36e972-e325-11ce-bfc1-08002be10318}

Provider = %Msft%

;LayoutFile = layout.inf

DriverVer=09/15/2004,8.1.8.0

\[Manufacturer]

%Intel% = Intel, NTx86

%IBM% = IBM, NTx86

\[ControlFlags]

ExcludeFromSelect = *

\[Intel.NTx86]

; DisplayName Section DeviceID

; \--


\--- \--


If there is some interest in the full documented method, i need to write some more details (not sure i can reproduce it myself because of lot of try and error before getting the result) and find a place where to post it.

check done only with a single non supported NIC and the client is a guest configured to use an e1000 NIC instead of the standard AMD vlance.

Windows XP Professional.vmx

ethernet0.virtualDev = "e1000"

Will try later with a real box client and Broadcom b57xp32 NIC.

Important notice:

WFP is disabled (using www.nliteos.com to build the ISO) otherwise we cannot edit some protected files like LAYOUT.INF

it's look like infparser script read layout.inf to add the NICs drivers into UDA. nete1g32.inf is only used during the dos part of the windows setup. At the end of installation, installed drivers are digitally signed (e1000325.inf is used)

Reply
0 Kudos