Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Any way to get PE to load PNP drivers and Initialize Network without u

- - - - -

  • Please log in to reply
15 replies to this topic

#1
duveldj

duveldj
  • Member
  • 8 posts
  • OS:Windows 7 x86
  • Country: Country Flag
I've recently been tasked by my company to deploy a PXE server that can boot up into a WinPE environment for us to run Burn-in cycles and remotely image systems. I've got the PXE portion working without a doubt, and I've even gotten WinPE largely functional (mainly because of the efforts of Kullenen_Ask and wimb - thank you very much to you two!). In fact, I'm using the Make_PE3 program to get the Explorer shell working, as I found I couldn't follow along with all of Kullenen_Ask's instructions for doing it manually.

The only problem at this point is that I cannot seem to get the drivers for most of the devices to load at boot. I have to run PnPUtil, and then run PENetwork to get the environment functional. If I edit my wipeshl.ini to run the WinPE Shell instead of PEShell or Explorer, it appears that it has proper networking support; I can ping other computers in my network without having to run PnPUtil to load drivers. If wipeshl.ini is set to load Explorer or PEShell, my test system's NICs (and a bunch of other devices) show up as unrecognized in Device Manager. Running PnPUtil resolves these conflicts without having to load additional drivers into the image.

Now, I know that I can just edit my wipeshl.ini to launch PnPUtil before it launches either PEShell.exe or explorer.exe, but this seems to add quite a bit of time to the bootup sequence, and regardless, I still have to run PENetwork to get the NIC to pull an IP from my DHCP server. Trying to ping anything without running PENetwork beforehand (even though the NIC drivers are installed) results in an error.

My two questions, and I would be extremely appreciative if anybody could help out since I'm at my wit's end:

1) Can I get the WinPE environment to load the PNP drivers without running PnPUtil beforehand, or is this not possible? It seems that WinPE loads most of the drivers in the Windows\inf directory, but not all of them. Running PnPUtil seems to be the only way to get the rest of the drivers to load, currently.
2) Is there any way to get networking to automatically start the way it does if I configure wipeshl.ini to load wipeshl.exe? That is, without running PENetwork? I tried adding "%SYSTEMROOT%\System32\wpeinit.exe" as a line above the line invoking PEShell.exe (as it exists by default after using wimb's Make_PE3 app to make the image) but this doesn't seem to do anything. According to Microsoft's documentation, running wpeutil.exe with the flag "InitializeNetwork" will "load networking support and PnP drivers," but that also doesn't seem to work.

Thanks!


How to remove advertisement from MSFN

#2
Kullenen_Ask

Kullenen_Ask

    Advanced Member

  • Member
  • PipPipPip
  • 326 posts
  • OS:XP Pro x86
  • Country: Country Flag
i dont know what it inside autoit script of penetwork but it only works wpeutil initialize network command from my experiences after that loads wireless lan configurations from inf files. i explained in the topic and i think the best way is to use dart tools netstart if you dont want wait lots of minutes that wpeutil initializenetwork finish its job before the shell loads.Maybe somebody can find a way that command process silent after the shell loads. If i can get the run or runonce registry settings works(i couldnt) maybe it can be possible to put wpeutil initialize network command with a cmdow kind of stuff to there. As you can understand from the command switch (initializenetwork) probably it only installs network adaptors. if you have a working devicemanager when you select the computer icon in there and refresh it loads all the missing device drivers. It takes lots of time, ram and cpu usage.You can see 4 drvinst.exe process working same time in task manager.Better to install them manually by hand.in normal winpe you should have startnet.cmd in your system32 folder.you can put startnet.cmd line in wipeshl.ini as all the people do.in my builds i dont use penetwork to load my network driver. i get connected to internet automatically. wpeutil should be enough.if you added pppoe and dot3svc packages you will have configras and configdot3svc cmd files in your system32 folder. They works when the wpeutil initialize network. they loads inf files like the penetwork do. but also it is possible to get telephony,rasman,rasauto to work without using configras.cmd and probably same for wireless. until i find the way to load wlan service to start from services manager i will use penetwork to load it. if i dont need it anyway i will use it because i like the gui of it.

just make a winpeshl.ini

[LaunchApps]
%windir%\system32\netstart.exe,-prompt
Explorer.exe

put NetStart.exe,MSDartCmn.dll files in system32 folder with mui files thats it. is it difficult? it should work configras and configdot3 cmd files silent at backgound (i have suspects but it should) if you add a pnputil or hwpnp inside one of that cmd files maybe it can work also them background and install your other drivers too. it is best way to work wpeutil silent. i searched much but other command window hiders doesnt work better then this way. they maybe can hide command windows(i cant say i succeded) but they wont let you start your shell before you wait lots of time wpeutil to finish its work. if you dont use -prompt switch it will not load the shell before the wpeutil command finish its work. maybe someone can find a way hexediting the netstart.exe to work as all prompts clicked "yes" without show prompts.

Edited by Kullenen_Ask, 12 May 2010 - 04:37 PM.


#3
Tripredacus

Tripredacus

    K-Mart-ian Legend

  • Super Moderator
  • 9,672 posts
  • OS:Server 2012
  • Country: Country Flag

Donator

What Burn-In program will you be using? I've made Passmark's BurnInTest Pro work in WinPE 2.1 if that helps.
MSFN RULES | GimageX HTA for PE 3.x | lol probloms
msfn2_zpsc37c7153.jpg

#4
wimb

wimb

    Senior Member

  • Developer
  • 676 posts
I can have Internet Connection without running PENetwork in case of LAN ethernet wired connection.

What I did is install the driver of my network card using the already provided inf file
by modifying audio_fix.cmd or by adding to startnet.cmd the command:

drvload.exe X:\Windows\inf\netrtx32.inf
Your inf file can be different, have a look in X:\Windows\inf folder and test with cmd window.
You will find startnet.cmd in Make_PE3\PE3_mod\PE3_add\x86\Windows\System32

Similarly I can Install other drivers like:
drvload.exe X:\Windows\inf\hal.inf
drvload.exe X:\Windows\inf\cpu.inf
drvload.exe X:\Windows\inf\usb.inf
drvload.exe X:\Windows\inf\usbstor.inf
drvload.exe X:\Windows\inf\msports.inf
drvload.exe X:\Windows\inf\oem0.inf
drvload.exe X:\Windows\inf\oem1.inf
drvload.exe X:\Windows\inf\oem2.inf
drvload.exe X:\Windows\inf\oem3.inf
drvload.exe X:\Windows\inf\oem4.inf
drvload.exe X:\Windows\inf\oem5.inf

Install of all drivers is taking more time. Especially machine.inf is taking too much time.
I think there is no possibility to keep the settings e.g. use them to Update the pe3_x86.iso boot image.
The oem*.inf files correspond to the drivers present in Make_PE3\PE3_mod\WIN7_drivers\x86

In case of Wireless connection I still need PENetwork to give the authentication,
but install of the wireless driver and starting of the services can also be done with batch commands.

Start Wireless
NET START Eaphost
NET START dot3svc

drvload.exe X:\Windows\inf\netvwifimp.inf
drvload.exe X:\Windows\inf\netvwififlt.inf

netcfg.exe -c s -i ms_nativewifip

NET START Wlansvc

Edited by wimb, 13 May 2010 - 12:36 PM.


#5
duveldj

duveldj
  • Member
  • 8 posts
  • OS:Windows 7 x86
  • Country: Country Flag

(edited for length)

Thanks for the reply! Given your new advice, I went back through to retrace your steps with the additional clarification, and a lot more made sense to me. Do I understand correctly that you've basically incorporated Microsoft DaRT 6.5 into your environment and are using its files to initialize networking? It took me quite a bit of searching to realize that only MSDN and Technet subscribers can get their hands on that; while I do have an MSDN subscription, it looks as though MDOP 2009 R2 (Microsoft Desktop Optimization Pack, the suite that includes DaRT) is out of my subscription limitations. I'll see what I can do to get a hold of it somehow; it seems like it would be useful to have in my PE environment if only for its deployment and troubleshooting tools.

I had read on TechNet that the InitializeNetwork switch for wpeutil does this:

"Initializes network components and drivers, and sets the computer name to a randomly-chosen value."

I had been looking at a lot of solutions for about 6 hours at that point, and in my haze I read that as installing all the drivers, not just the networking drivers.


What Burn-In program will you be using? I've made Passmark's BurnInTest Pro work in WinPE 2.1 if that helps.

BurnInTest v6.0 Pro is what I'm using. Company already had the license, and v6.0 actually has an "Install Portable" option. I can literally mount my WinPE.wim and install BurnInTest to the Program Files; completely works. The funny thing is, even if I haven't run PnPUtil to install my test system's device drivers, I can run BurnInTest and have it correctly detect the motherboard model number (and even the serial number), the model number, stepping and revision of the processors, the NIC and the RAID controllers. Apparently BurnInTest is better with unknown devices than WinPE. :)


(edited for length)

Ahh; so you're calling drvload to install drivers. I could theoretically make that work, but only with a fair amount of leg work. This is going to be a manufacturing environment PXE server, so there will be a fair amount of diversity amongst the systems. I'd rather not hunt down individual drivers (and potentially install conflicting drivers) for each specific system. Ideally, what I'm trying to do is just put all of the specific drivers that I might need for all of the systems into the PE build, and have the boot process automatically load the drivers that each specific system needs. It's starting to look like injecting the drivers into the .wim and running PnPUtil before my shell is the only way to accomplish that, but I'll keep you informed if I find a more elegant / faster solution. :)

#6
duveldj

duveldj
  • Member
  • 8 posts
  • OS:Windows 7 x86
  • Country: Country Flag

What Burn-In program will you be using? I've made Passmark's BurnInTest Pro work in WinPE 2.1 if that helps.

In case anybody here is trying to do the same thing, I forgot to mention one thing; I needed to copy over "msvfw32.dll" from my workstation's Windows\System32 folder into the PE System32 folder. That's the only thing needed to get BIT Pro v6.0 working in PE3.

#7
Kullenen_Ask

Kullenen_Ask

    Advanced Member

  • Member
  • PipPipPip
  • 326 posts
  • OS:XP Pro x86
  • Country: Country Flag
Do I understand correctly that you've basically incorporated Microsoft DaRT 6.5 into your environment and are using its files to initialize networking?
Answer:No. Dart tools netstart only a trigger to start wpeutil initialize network. it doesnt have any else functions.Dart tools is a must for to use winpe as a recovery environment. i want the tools in my builds. All tools size is 1.5mb zip file althought the Mdop 2009 R2 is 1.5gb

Edited by Kullenen_Ask, 14 May 2010 - 01:14 AM.


#8
wimb

wimb

    Senior Member

  • Developer
  • 676 posts
I have made batch program driver_fix.cmd that is auto launched by startnet.cmd

This program will auto install network drivers and Start WLAN Service.
Additionally some important drivers taking not too much time are installed.

Wired Internet Connection is ready without using PENetwork.
Wireless Internet Connection requires to use PENetwork for Connect and Authentication.

In total this adds about 30 sec to the boot time, which I think is acceptable.

driver_fix.cmd
:: ==========================================================================================================================
:: ====================================== driver_fix.cmd ====================================================================
:: ==========================================================================================================================
TITLE driver_fix.cmd - PE3 fix
@ECHO OFF
CLS

SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION

ECHO.
ECHO  Install of Drivers in PE3 - Wait ....
ECHO.

drvload.exe X:\Windows\inf\hal.inf >nul
drvload.exe X:\Windows\inf\cpu.inf >nul

for %%i in (X:\Windows\inf\oem*.inf) do drvload.exe %%i
for %%i in (X:\Windows\inf\net*.inf) do drvload.exe %%i

drvload.exe X:\Windows\inf\usb.inf
drvload.exe X:\Windows\inf\usbstor.inf
drvload.exe X:\Windows\inf\msports.inf

ECHO.
ECHO Start of WLAN - wait ...
ECHO.

NET START Eaphost
NET START dot3svc

:: drvload.exe X:\Windows\inf\netvwifimp.inf
:: drvload.exe X:\Windows\inf\netvwififlt.inf

netcfg.exe -c s -i ms_nativewifip

NET START Wlansvc

ECHO.
ECHO  Install of Drivers Finished - OK
ECHO.

EXIT

startnet.cmd
wpeinit

@ECHO OFF

for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\U_XP_SET\PStart.exe Start %%i:\U_XP_SET\PStart.exe
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\PStart\PStart.exe Start %%i:\PStart\PStart.exe
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\ASuite\Start.exe Start %%i:\ASuite\Start.exe

REGEDT32.EXE /S X:\Windows\system32\PE3_CUSTOM.reg

IF EXIST "X:\Program Files\Internet Explorer\ieproxy.dll" regsvr32 /s "X:\Program Files\Internet Explorer\ieproxy.dll"

start "Driver Fix PE3 - Wait ...." /wait "%SystemRoot%\System32\driver_fix.cmd

:: start "Audio Fix PE3 - Wait ...." /wait "%SystemRoot%\System32\audio_fix.cmd"

rem Pre-Default Group 
for %%i in (%SystemRoot%\System32\autorun1*.cmd %SystemRoot%\System32\autorun2*.cmd) do start "%%i" /wait /min "%%i"
for %%i in (%SystemRoot%\System32\autorun3*.cmd %SystemRoot%\System32\autorun4*.cmd) do start "%%i" /wait /min "%%i"
rem Default Group
for %%i in (%SystemRoot%\System32\autorun5*.cmd %SystemRoot%\System32\autorun_*.cmd) do start "%%i" /wait /min "%%i"
rem Post-Default Group
for %%i in (%SystemRoot%\System32\autorun6*.cmd %SystemRoot%\System32\autorun7*.cmd) do start "%%i" /wait /min "%%i"
for %%i in (%SystemRoot%\System32\autorun8*.cmd %SystemRoot%\System32\autorun9*.cmd) do start "%%i" /wait /min "%%i"
rem Post Default Concurrent Group (no /wait)
for %%i in (%SystemRoot%\System32\autorun0*.cmd) do start "%%i" /min "%%i"
:_end

You can add driver_fix.cmd and modified startnet.cmd to your Make_PE3\PE3_mod\PE3_add\x86\Windows\System32 folder.
Then use Make_PE3.exe to remake and install pe3_x86.iso in grub4dos boot menu.

Then Reboot with pe3_x86 Boot Image and Enjoy auto install of network drivers.

Next version of Make_PE3 package will have driver_fix.cmd build in.

Edited by wimb, 14 May 2010 - 03:12 AM.


#9
Tripredacus

Tripredacus

    K-Mart-ian Legend

  • Super Moderator
  • 9,672 posts
  • OS:Server 2012
  • Country: Country Flag

Donator


What Burn-In program will you be using? I've made Passmark's BurnInTest Pro work in WinPE 2.1 if that helps.

In case anybody here is trying to do the same thing, I forgot to mention one thing; I needed to copy over "msvfw32.dll" from my workstation's Windows\System32 folder into the PE System32 folder. That's the only thing needed to get BIT Pro v6.0 working in PE3.


:w00t:

Actually, if you look at the documentation for BIT on WinPE, you will note it is only for WinPE 2.x. Also if you look on page 2 of the manual, you will see a familiar name. If you find any differences between those instructions and how things are done with WinPE 3.0 (ie not using any third party apps like Make_PE, etc) I can get Passmark to update that guide.

:whistle:
MSFN RULES | GimageX HTA for PE 3.x | lol probloms
msfn2_zpsc37c7153.jpg

#10
duveldj

duveldj
  • Member
  • 8 posts
  • OS:Windows 7 x86
  • Country: Country Flag

(edited for length)

For some reason, I can't get drvload to perform as expected; rather than exiting out of the command window, it seems to just hang there (yes, I made sure the "EXIT" command was at the end of both startnet.cmd and driver_fix.cmd). For now I'm just using PnPUtil to install my drivers as needed. Weirdly, even though it will still install all of my second test system's chipset drivers, they won't show as being installed in Device Manager until I use PnPUtil to forceload machine.inf. Even more weirdly, installing machine.inf causes the CPU load on the first core to jump to 100% every 5-6 seconds; the CPU utilization gets so high that USB input (i.e., mouse) freezes up each time it does, making the system much more difficult to use. Still figuring out what's causing that issue, because it didn't happen on my first test system, and this second system is MUCH more powerful. Specs of each system:

System 1:
Xeon E5450A 3.0GHz Quad-Core
16GB DDR2-667 FB-DIMM RAMM

System 2:
Xeon X5570 2.93GHz Quad-Core (Hyper-Threaded to 8 cores)
24GB DDR3-1066 ECC RAM

If I figure out what's going on there, I'll let you guys know.




What Burn-In program will you be using? I've made Passmark's BurnInTest Pro work in WinPE 2.1 if that helps.

In case anybody here is trying to do the same thing, I forgot to mention one thing; I needed to copy over "msvfw32.dll" from my workstation's Windows\System32 folder into the PE System32 folder. That's the only thing needed to get BIT Pro v6.0 working in PE3.


:w00t:

Actually, if you look at the documentation for BIT on WinPE, you will note it is only for WinPE 2.x. Also if you look on page 2 of the manual, you will see a familiar name. If you find any differences between those instructions and how things are done with WinPE 3.0 (ie not using any third party apps like Make_PE, etc) I can get Passmark to update that guide.

:whistle:

Pffft...who uses only the manual as a guideline for what will work? I think most of the people in this forum are deviating pretty far from any published manuals. :P

The only thing that I can think of that won't work under WinPE (as far as I know so far, anyway) is the 3D tests. Even with msvfw32.dll copied over into the System32 directory, starting BurnInTest under PE 3.0 will pull up a prompt saying that you'll need to install DirectX 9 to run the 3D tests, and asking if you'd like to do so. The install obviously fails. If you click No, however, all of the rest of the tests are fully functional. Reading your install guide, I see that this is a known issue and the test can be invoked with a parameter to skip the DirectX check. So no, other than msvfw32.dll, no changes from your install guide (with one additional note that you CANNOT "install" BIT Pro to a USB key under an evaluation version; it has to be fully licensed. Trying to load BIT v6.0 Pro on a PXE boot with just an evaluation license yields a startup error because it can't find the key.dat file.

I just ran BurnInTest over the weekend on a system, on RAM, CPU and the locally attached storage (only about 5TB). It ran without errors for nearly 72 straight hours. This was the result:

BurnInTest results

BurnInTest Version V6.0 Pro 1020
Date 05/17/10 10:31:56
Logging level Normal
System summary

System summary

Windows 7 Ultimate Edition build 7600 (32-bit),
1 x Intel® Xeon® CPU X5570 @ 2.93GHz,
23.9GB RAM,
40GB HDD, 4843GB HDD,
General

System Name MININT-1D9HOQM
Motherboard Manufacturer Intel Corporation
Motherboard Name S5520HC
Motherboard Version E26045-453
Motherboard Serial Number QSHN01500091
BIOS Manufacturer Intel Corp.
BIOS Version INTEL - 0
BIOS Release Date 2010/02/27
CPU

CPU manufacturer GenuineIntel
CPU Type Intel® Xeon® CPU X5570 @ 2.93GHz
Codename: Gainestown
CPUID: Family 6, Model 1A, Stepping 5, Revision D0
Socket: LGA1366
Lithography: 45nm
Physical CPU's 1
Cores per CPU 4
Hyperthreading Enabled
CPU features MMX SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 DEP PAE Intel64 VMX
Clock frequencies
- Measured CPU speed: 2934.8 MHz
- Multiplier: x22.0
- Base Clock: 133.3 MHz
- Muliplier range: Min: x12, Max non turbo: x22
Cache per CPU package
- L1 Instruction Cache: 4 x 32 KB
- L1 Data Cache 4 x 32 KB
- L2 Cache 4 x 256 KB
- L3 Cache 8 MB
TDP Limit: 95 Watts
TDC Limit: 85 Amps
Memory

Total Physical Memory 24516MB
Available Physical Memory 23706MB
Disk volumes

C: Local drive, New Volume, NTFS, (40.00GB total, 20.28GB free)
D: Local drive, New Volume, NTFS, (4842.92GB total, 4782.82GB free)
X: Local drive, Boot, NTFS, (0.03GB total, 0.03GB free)
Disk drives

Fixed disk (Size: 40.00GB)
Fixed disk (Size: 4842.92GB)
Optical drives

Network

Ports

Result summary

Test Start time Fri May 14 17:10:19 2010
Test Stop time Mon May 17 10:31:36 2010
Test Duration 065h 21m 17s
Test Cycles Operations Result Errors Last Error
CPU 37779 1.1Quadrillion PASS 0 No errors
Memory (RAM) 1159 17.552 Trillion PASS 0 No errors
Disk (C:) 6351 5.840 Trillion PASS 0 No errors
Disk (D:) 60 6.250 Trillion PASS 0 No errors

Seeing as how these are servers I'm building and not gaming systems, I'd say I'm pretty happy with having just those pieces working. :)

Edited by duveldj, 17 May 2010 - 11:22 AM.


#11
Tripredacus

Tripredacus

    K-Mart-ian Legend

  • Super Moderator
  • 9,672 posts
  • OS:Server 2012
  • Country: Country Flag

Donator

Yes, it also can't test sound. I tried awhile back to get DirectX to work on WinPE for BIT to use, the thread is around here somewhere. Anyways, about the manual, is there basically no extra steps that needed to be taken to get BIT to work in WinPE 3.0 as compared to v2.x? That was my only question.
MSFN RULES | GimageX HTA for PE 3.x | lol probloms
msfn2_zpsc37c7153.jpg

#12
duveldj

duveldj
  • Member
  • 8 posts
  • OS:Windows 7 x86
  • Country: Country Flag

Yes, it also can't test sound. I tried awhile back to get DirectX to work on WinPE for BIT to use, the thread is around here somewhere. Anyways, about the manual, is there basically no extra steps that needed to be taken to get BIT to work in WinPE 3.0 as compared to v2.x? That was my only question.

Nope, none whatsoever. Just to make sure I wasn't giving you bad information last night, I got a fresh winpe.wim out of the PE3 AIK. Mounted it with imagex, copied a LICENSED ("evaluation" option doesn't put key.dat file in install directory and causes BIT to error out on opening) portable install of BIT v6.0 over, then copied msvfw32.dll into the System32 dir. Unmounted and committed changes, exported it with imagex, then threw the resulting WinPE.wim onto my syslinux PXE server. 4 separate test systems (Intel SR1600URHS, Intel SR2600URLX, Intel S5520HCR custom system and Intel S5000PSLR custom system) brought up the full BIT GUI when running bit.exe in winpeshl. It really should be invoked with -x in any vanilla WinPE environment, as I see no need to mess around with the DirectX shenanigans. I also recommend deleting the 4 DirectX-related files from the BurnInTest directory before unmounting (dsetup.dll, dxsetup32.dll, DXSETUP.exe and dxupdate.cab) to save about 2MB on the final wim.

#13
niveknonrev01

niveknonrev01
  • Member
  • 3 posts
  • OS:Windows 7 x64
  • Country: Country Flag

I've recently been tasked by my company to deploy a PXE server that can boot up into a WinPE environment for us to run Burn-in cycles and remotely image systems. I've got the PXE portion working without a doubt, and I've even gotten WinPE largely functional (mainly because of the efforts of Kullenen_Ask and wimb - thank you very much to you two!). In fact, I'm using the Make_PE3 program to get the Explorer shell working, as I found I couldn't follow along with all of Kullenen_Ask's instructions for doing it manually.

The only problem at this point is that I cannot seem to get the drivers for most of the devices to load at boot. I have to run PnPUtil, and then run PENetwork to get the environment functional. If I edit my wipeshl.ini to run the WinPE Shell instead of PEShell or Explorer, it appears that it has proper networking support; I can ping other computers in my network without having to run PnPUtil to load drivers. If wipeshl.ini is set to load Explorer or PEShell, my test system's NICs (and a bunch of other devices) show up as unrecognized in Device Manager. Running PnPUtil resolves these conflicts without having to load additional drivers into the image.

Now, I know that I can just edit my wipeshl.ini to launch PnPUtil before it launches either PEShell.exe or explorer.exe, but this seems to add quite a bit of time to the bootup sequence, and regardless, I still have to run PENetwork to get the NIC to pull an IP from my DHCP server. Trying to ping anything without running PENetwork beforehand (even though the NIC drivers are installed) results in an error.

My two questions, and I would be extremely appreciative if anybody could help out since I'm at my wit's end:

1) Can I get the WinPE environment to load the PNP drivers without running PnPUtil beforehand, or is this not possible? It seems that WinPE loads most of the drivers in the Windows\inf directory, but not all of them. Running PnPUtil seems to be the only way to get the rest of the drivers to load, currently.
2) Is there any way to get networking to automatically start the way it does if I configure wipeshl.ini to load wipeshl.exe? That is, without running PENetwork? I tried adding "%SYSTEMROOT%\System32\wpeinit.exe" as a line above the line invoking PEShell.exe (as it exists by default after using wimb's Make_PE3 app to make the image) but this doesn't seem to do anything. According to Microsoft's documentation, running wpeutil.exe with the flag "InitializeNetwork" will "load networking support and PnP drivers," but that also doesn't seem to work.

Thanks!



Have you tried to just load the driver into WinPE offline so they are already integrated when you boot?
For example I have integrated all the HP drivers in their latest Proliant support pack into my PE boot image and it finds all the hardware etc without having to run a custom driver load script.
copy all your drivers to a folder like DRIVERS
each driver can be in its own subfoler

Mount the WinPE image - normal command you always use
use this command to install all the drivers into the winpe image
dism /image:Mount /add-driver /driver:Drivers /recurse /ForceUnsigned

where Mount is the actaul directory you mounted your pe image.

then do all your other normal things liek copy additional files or custom startnet.cmd
install packages etc.
save the WIM file and now all the drivers will already be in WinPE and there is no need to do the driverload scripts manually after boot

Just my 2cents

#14
duveldj

duveldj
  • Member
  • 8 posts
  • OS:Windows 7 x86
  • Country: Country Flag


snip



Have you tried to just load the driver into WinPE offline so they are already integrated when you boot?
For example I have integrated all the HP drivers in their latest Proliant support pack into my PE boot image and it finds all the hardware etc without having to run a custom driver load script.
copy all your drivers to a folder like DRIVERS
each driver can be in its own subfoler

Mount the WinPE image - normal command you always use
use this command to install all the drivers into the winpe image
dism /image:Mount /add-driver /driver:Drivers /recurse /ForceUnsigned

where Mount is the actaul directory you mounted your pe image.

then do all your other normal things liek copy additional files or custom startnet.cmd
install packages etc.
save the WIM file and now all the drivers will already be in WinPE and there is no need to do the driverload scripts manually after boot

Just my 2cents

Yup, that was the first path I took. I discovered something interesting on playing with it a little bit more though...ALL of the drivers I needed, including the 3 different brands of RAID controllers I've been testing with, were included in the original WinPE.wim from the AIK. The problem I've been having is that it's not loading the drivers on boot; I have to force them to load with PnPutil. Originally, I was just loading the entire \Windows\inf directory, but I came to discover that the only driver I needed to load to get everything seen and functional (except the add-in RAID controllers) was the machine.inf file. Everything - from system registers to the NICs - gets recognized just by loading that inf with PnPutil.

The problem I'm stuck with now is that the machine.inf file works fine on my Intel 5000 chipset-based system, but on my 5500 chipset-based system, I get a huge amount of system lag after the inf gets loaded. Everything still shows up in Device Manager, but if I look at system utilization in Task Manager, the first CPU core spikes to 100% every 5 seconds or so. The lag is so intense that the mouse stops moving for a half-second, every 5 seconds. I was digging around in the machine.inf file in Notepad to see if I could isolate the problem, but it's way over my head.

Really, the ONLY thing that I care about is getting the NICs functional on boot. I don't care about seeing the rest of the devices, I just need to be able to automatically map an iSCSI target on boot, and the NICs need to be functional before I can do that. The driver that machine.inf loads for the NICs in my 5500 chipset-based system is a *.sys file in \Windows\System32\drivers, so I'm working on a way to forceload a sys driver - not an inf.

#15
maxrealqnx

maxrealqnx

    Newbie

  • Member
  • 17 posts

Install of all drivers is taking more time. Especially machine.inf is taking too much time.
I think there is no possibility to keep the settings e.g. use them to Update the pe3_x86.iso boot image.
The oem*.inf files correspond to the drivers present in Make_PE3\PE3_mod\WIN7_drivers\x86

In case of Wireless connection I still need PENetwork to give the authentication,
but install of the wireless driver and starting of the services can also be done with batch commands.

Start Wireless

NET START Eaphost
NET START dot3svc

drvload.exe X:\Windows\inf\netvwifimp.inf
drvload.exe X:\Windows\inf\netvwififlt.inf

netcfg.exe -c s -i ms_nativewifip

NET START Wlansvc


I'm thank you very much for your good tip !
4D61785F5265616C20516E78
http://www.pardus.or.../eng/index.html

#16
Kullenen_Ask

Kullenen_Ask

    Advanced Member

  • Member
  • PipPipPip
  • 326 posts
  • OS:XP Pro x86
  • Country: Country Flag
This is the last point at driver loading. I prepared this english system for a member who donate my work and my manuals. (He didn't request anything) I DIDN'T test in real system or any other pc then my computer and vmware. And i DON'T have any idea most of the part how it works. (Don't ask). All i can say i think, it thinks it is a syspreped image and loads drivers. Sorry i forgot to show taskmgr because you can see no third party program loads drivers or inf loading. I didn't do anything about creative drivers (neither registry nor back up a driver installed wim nothing) but it loads automatic and it means it can work as expected complately different system. For boot process i use always same system in my all builds. Boot process is this.

winpeshl.ini
[LaunchApps]
%windir%\system32\netstart.exe,-prompt
ReBootTrace.exe
%windir%\system32\PEShell.exe

startnet.cmd
wpeinit

PEShell.ini
[Shell Loader]
Timeout=0
Default=WinPe7

[Shells]
WinPe7  = Explorer.exe

My computer: P4 2.0Ghz, Total 1.5GB ram both for system and vwmware. 256 AGP graphic card. It is a very low system in this year. I give that for to compare driver loading time. For ethernet it loads every default services that exist in a normal windows 7 system. (You can't compare that with other winpe builders. They only load one or two service that enough for internet connectivity. This loads all default services.)

Youtube Link

Edited by Kullenen_Ask, 10 October 2010 - 01:13 PM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN