Jump to content

Wireless support in Windows 10 PE


wingers

Recommended Posts

Hi

I am trying to get wireless working in PE created from Windows 10 1709

I have followed several articles on this site and others including http://www.msfn.org/board/topic/162453-winpe-40-enable-wireless-support/

But I cannot get it working - for some reason wlansvc won't start and I get

"system error 1075 has occurred - The dependency service does not exist or has been marked for deletion"

Has anyone managed to get it working who could give me some pointers

Many thanks

Link to comment
Share on other sites


For info the powershell script I am running (after mounting my image D:\PE_TEMP\Mount) is below - this is adding all files/registry keys I found I needed myself and my researching many other posts on the matter

 

This gets me further than before, but still errors as below, so something still missing

 

net start wlansvc gives me "error 1068 - The dependency service or group failed to start"

 

And the dependency it means I believe is nativewifip - as a net start for that gives "error 577 - windows cannot verify the digital signature for this file..."

 


Write-Host "Copying Schemas"
mkdir D:\PE_TEMP\mount\Windows\schemas\AvailableNetwork
copy "C:\Windows\schemas\AvailableNetwork\AvailableNetworkInfo.xsd" "D:\PE_TEMP\mount\Windows\schemas\AvailableNetwork\AvailableNetworkInfo.xsd"	

# exe
Write-Host "Copying EXE's"
copy "C:\Windows\system32\wifitask.exe" "D:\PE_TEMP\mount\Windows\system32\wifitask.exe"
copy "C:\Windows\system32\wlanext.exe" "D:\PE_TEMP\mount\Windows\system32\wlanext.exe"	
copy "C:\Windows\system32\en-US\wlanext.exe.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlanext.exe.mui"

# wlan* Dlls
Write-Host "Copying wlan* DLL's"
copy "C:\Windows\system32\wlanapi.dll" "D:\PE_TEMP\mount\Windows\system32\wlanapi.dll"	
copy "C:\Windows\system32\en-US\wlanapi.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlanapi.dll.mui"	
copy "C:\Windows\system32\wlancfg.dll" "D:\PE_TEMP\mount\Windows\system32\wlancfg.dll"	
copy "C:\Windows\system32\en-US\wlancfg.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlancfg.dll.mui"
copy "C:\Windows\system32\WLanConn.dll" "D:\PE_TEMP\mount\Windows\system32\WLanConn.dll"
copy "C:\Windows\system32\en-US\WLanConn.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\WLanConn.dll.mui"
copy "C:\Windows\system32\wlandlg.dll" "D:\PE_TEMP\mount\Windows\system32\wlandlg.dll"
copy "C:\Windows\system32\en-US\wlandlg.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlandlg.dll.mui"
copy "C:\Windows\system32\wlangpui.dll" "D:\PE_TEMP\mount\Windows\system32\wlangpui.dll"	
copy "C:\Windows\system32\en-US\wlangpui.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlangpui.dll.mui"
copy "C:\Windows\system32\WLanHC.dll" "D:\PE_TEMP\mount\Windows\system32\WLanHC.dll"	
copy "C:\Windows\system32\en-US\WLanHC.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\WLanHC.dll.mui"
copy "C:\Windows\system32\wlanhlp.dll" "D:\PE_TEMP\mount\Windows\system32\wlanhlp.dll"
copy "C:\Windows\system32\WlanMediaManager.dll" "D:\PE_TEMP\mount\Windows\system32\WlanMediaManager.dll"
copy "C:\Windows\system32\WlanMM.dll" "D:\PE_TEMP\mount\Windows\system32\wlanmm.dll"	
copy "C:\Windows\system32\en-US\WlanMM.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlanmm.dll.mui"	
copy "C:\Windows\system32\wlanmsm.dll" "D:\PE_TEMP\mount\Windows\system32\wlanmsm.dll"
copy "C:\Windows\system32\wlanpref.dll" "D:\PE_TEMP\mount\Windows\system32\wlanpref.dll"	
copy "C:\Windows\system32\en-US\wlanpref.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlanpref.dll.mui"	
copy "C:\Windows\system32\WlanRadioManager.dll" "D:\PE_TEMP\mount\Windows\system32\WlanRadioManager.dll"	
copy "C:\Windows\system32\wlansec.dll" "D:\PE_TEMP\mount\Windows\system32\wlansec.dll"	
copy "C:\Windows\system32\wlansvc.dll" "D:\PE_TEMP\mount\Windows\system32\wlansvc.dll"	
copy "C:\Windows\system32\en-US\wlansvc.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlansvc.dll.mui"	
copy "C:\Windows\system32\wlansvcpal.dll" "D:\PE_TEMP\mount\Windows\system32\wlansvcpal.dll"
copy "C:\Windows\system32\wlanui.dll" "D:\PE_TEMP\mount\Windows\system32\wlanui.dll"	
copy "C:\Windows\system32\en-US\wlanui.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlanui.dll.mui"

# Already in WinPE image
copy "C:\Windows\system32\wlanutil.dll" "D:\PE_TEMP\mount\Windows\system32\wlanutil.dll"	
copy "C:\Windows\system32\en-US\wlanutil.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlanutil.dll.mui"

# Wifi* dll
Write-Host "Copying wifi* DLL's"
copy "C:\Windows\system32\WiFiConfigSP.dll" "D:\PE_TEMP\mount\Windows\system32\WiFiConfigSP.dll"	
copy "C:\Windows\system32\wificonnapi.dll" "D:\PE_TEMP\mount\Windows\system32\wificonnapi.dll"	
copy "C:\Windows\system32\WiFiDisplay.dll" "D:\PE_TEMP\mount\Windows\system32\WiFiDisplay.dll"	
copy "C:\Windows\system32\en-US\WiFiDisplay.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\WiFiDisplay.dll.mui"	
copy "C:\Windows\system32\wifinetworkmanager.dll" "D:\PE_TEMP\mount\Windows\system32\wifinetworkmanager.dll"	
copy "C:\Windows\system32\en-US\wifinetworkmanager.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wifinetworkmanager.dll.mui"
copy "C:\Windows\system32\wifiprofilessettinghandler.dll" "D:\PE_TEMP\mount\Windows\system32\wifiprofilessettinghandler.dll"	

# Other dll
Write-Host "Copying Other DLL's"
copy "C:\Windows\system32\wfdprov.dll" "D:\PE_TEMP\mount\Windows\system32\wfdprov.dll"	
copy "C:\Windows\system32\wlgpclnt.dll" "D:\PE_TEMP\mount\Windows\system32\wlgpclnt.dll"	
copy "C:\Windows\system32\en-US\wlgpclnt.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlgpclnt.dll.mui"	
copy "C:\Windows\System32\WcnNetsh.dll" "D:\PE_TEMP\mount\Windows\System32\WcnNetsh.dll"
copy "C:\Windows\System32\en-US\WcnNetsh.dll.mui" "D:\PE_TEMP\mount\Windows\System32\en-US\WcnNetsh.dll.mui"
copy "C:\Windows\System32\whhelper.dll" "D:\PE_TEMP\mount\Windows\System32\whhelper.dll"
copy "C:\Windows\System32\en-US\whhelper.dll.mui" "D:\PE_TEMP\mount\Windows\System32\en-US\whhelper.dll.mui"

# drivers
Write-Host "Copying Drivers"
copy "C:\Windows\System32\Drivers\nwifi.sys" "D:\PE_TEMP\mount\Windows\System32\Drivers\nwifi.sys"	
copy "C:\Windows\System32\Drivers\en-US\nwifi.sys.mui" "D:\PE_TEMP\mount\Windows\System32\Drivers\en-US\nwifi.sys.mui"

# net start NativeWifiP failed due to missing signatures - so copy catroot files as found using sysinternals sigcheck -i c:\Windows\System32\drivers\nwifi.sys etc
robocopy /xc /xn /xo /copyall "C:\Windows\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}" "D:\PE_TEMP\mount\Windows\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}"
	
copy "C:\Windows\System32\Drivers\vwififlt.sys" "D:\PE_TEMP\mount\Windows\System32\Drivers\vwififlt.sys"	
copy "C:\Windows\System32\Drivers\vwifimp.sys" "D:\PE_TEMP\mount\Windows\System32\Drivers\vwifimp.sys"
copy "C:\Windows\System32\Drivers\WdiWiFi.sys" "D:\PE_TEMP\mount\Windows\System32\Drivers\WdiWiFi.sys"

copy "C:\Windows\Inf\netnwifi.inf" "D:\PE_TEMP\mount\Windows\Inf\netnwifi.inf"
Add-WindowsDriver -Path "D:\PE_TEMP\mount" -Driver "C:\Windows\Inf\netnwifi.inf"
copy "C:\Windows\Inf\netvwififlt.inf" "D:\PE_TEMP\mount\Windows\Inf\netvwififlt.inf"
Add-WindowsDriver -Path "D:\PE_TEMP\mount" -Driver "C:\Windows\Inf\netvwififlt.inf"
copy "C:\Windows\Inf\netvwifimp.inf" "D:\PE_TEMP\mount\Windows\Inf\netvwifimp.inf"
Add-WindowsDriver -Path "D:\PE_TEMP\mount" -Driver "C:\Windows\Inf\netvwifimp.inf"

# http://www.msfn.org/board/topic/162453-winpe-40-enable-wireless-support/
copy "C:\Windows\Inf\netvwifibus.inf" "D:\PE_TEMP\mount\Windows\Inf\netvwifibus.inf"
copy "C:\Windows\System32\Drivers\vwifibus.sys" "D:\PE_TEMP\mount\Windows\System32\Drivers\vwifibus.sys"	
copy "C:\Windows\System32\Drivers\en-US\vwifibus.sys.mui" "D:\PE_TEMP\mount\Windows\System32\Drivers\en-US\vwifibus.sys.mui"	
copy "C:\Windows\System32\Drivers\vwifibus.sys" "D:\PE_TEMP\mount\Windows\Inf\vwifibus.sys"

# Dism fails if vwifibus.sys is not added to C:\Windows\INF
copy "C:\Windows\System32\Drivers\vwifibus.sys" "C:\Windows\Inf\vwifibus.sys"
Add-WindowsDriver -Path "D:\PE_TEMP\mount" -Driver "C:\Windows\Inf\netvwifibus.inf"

# L2Schemas - copy any missing files
Write-Host "Copy L2Schemas"
robocopy /xc /xn /xo /copyall "C:\Windows\L2Schemas" "D:\PE_TEMP\mount\Windows\L2Schemas"

# Registry Changes
Write-Host "Registry Changes"
reg load HKLM\WinPE_SYSTEM D:\PE_TEMP\mount\windows\system32\config\SYSTEM
reg load HKLM\WinPE_SOFTWARE D:\PE_TEMP\mount\windows\system32\config\SOFTWARE

$RegKey="HKLM\WinPE_SOFTWARE\Microsoft\NetSh"
reg add $RegKey /v wlancfg /t REG_SZ /d wlancfg.dll /f

$RegKey="HKLM\WinPE_SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost"
reg add $RegKey /v LocalSystemNetworkRestricted /t REG_MULTI_SZ /d Netman\0hidserv\0svsvc\0dot3svc\0wlansvc /f

# wlansvc
reg add HKLM\WinPE_SOFTWARE\Microsoft\WlanSvc\bmr /ve
$RegKey="HKLM\WinPE_SOFTWARE\Microsoft\WlanSvc\PowerProfiles\ClassAC"
reg add $RegKey /v PowerIdle /t REG_DWORD /d 15 # numbers are decimal
reg add $RegKey /v PowerTail /t REG_DWORD /d 280
reg add $RegKey /v PowerTxRx /t REG_DWORD /d 400
reg add $RegKey /v TailDuration /t REG_DWORD /d 300
$RegKey="HKLM\WinPE_SOFTWARE\Microsoft\WlanSvc\PowerProfiles\ClassB"
reg add $RegKey /v PowerIdle /t REG_DWORD /d 15
reg add $RegKey /v PowerTail /t REG_DWORD /d 280
reg add $RegKey /v PowerTxRx /t REG_DWORD /d 400
reg add $RegKey /v TailDuration /t REG_DWORD /d 300
$RegKey="HKLM\WinPE_SOFTWARE\Microsoft\WlanSvc\PowerProfiles\ClassG"
reg add $RegKey /v PowerIdle /t REG_DWORD /d 15
reg add $RegKey /v PowerTail /t REG_DWORD /d 280
reg add $RegKey /v PowerTxRx /t REG_DWORD /d 400
reg add $RegKey /v TailDuration /t REG_DWORD /d 300
$RegKey="HKLM\WinPE_SOFTWARE\Microsoft\WlanSvc\PowerProfiles\ClassN"
reg add $RegKey /v PowerIdle /t REG_DWORD /d 15
reg add $RegKey /v PowerTail /t REG_DWORD /d 280
reg add $RegKey /v PowerTxRx /t REG_DWORD /d 400
reg add $RegKey /v TailDuration /t REG_DWORD /d 300

$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc"
reg add $RegKey /v DisplayName /d "@%SystemRoot%\System32\wlansvc.dll,-257" 
reg add $RegKey /v ErrorControl /t REG_DWORD /d 1
reg add $RegKey /v Group /d TDI
reg add $RegKey /v ImagePath /t REG_EXPAND_SZ /d "%SystemRoot%\system32\svchost.exe -k LocalSystemNetworkRestricted"
reg add $RegKey /v Start /t REG_DWORD /d 2 # (automatic start) in clean install system this is 3(manual start)
reg add $RegKey /v Type /t REG_DWORD /d 32
reg add $RegKey /v Description /d "@%SystemRoot%\System32\wlansvc.dll,-258" 

# Remove the Windows Connection Manager (wcmsvc) service dependany
reg add $RegKey /v DependOnService /t REG_MULTI_SZ /d nativewifip\0RpcSs\0Ndisuio
reg add $RegKey /v ObjectName /d LocalSystem
reg add $RegKey /v ServiceSidType /t REG_DWORD /d 1
reg add $RegKey /v RequiredPrivileges /t REG_MULTI_SZ /d "SeChangeNotifyPrivilege\0SeImpersonatePrivilege\0SeAuditPrivilege\0SeTcbPrivilege\0SeDebugPrivilege"
reg add $RegKey /v FailureActions /t REG_BINARY /d 805101000000000000000000030000001400000001000000c0d4010001000000e09304000000000000000000
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters"
reg add $RegKey /v ServiceDll /t REG_EXPAND_SZ /d "%SystemRoot%\System32\wlansvc.dll" 
reg add $RegKey /v ServiceDllUnloadOnStop /t REG_DWORD /d 1
reg add $RegKey /v ServiceMain /d WlanSvcMain
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\ComInterfaceProviders"
reg add $RegKey /v IHNetIcsSettings /d "{46C166AA-3108-11D4-9348-00C04F8EEB71}"
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\EapolKeyIpAddress"
reg add $RegKey /v LocalAddress /d "192.168.173.1"
reg add $RegKey /v PrefixLength /t REG_DWORD /d 24
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\OEM\SystemCapabilities"
reg add $RegKey /ve #***************** no value
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\OneXAuthenticator"
reg add $RegKey /ve /t REG_EXPAND_SZ /d "%SystemRoot%\System32\WcnEapAuthProxy.dll"
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\VendorSpecificIEProviders\02166b50-0459-44d9-9ec1-073431b7d9c9"
reg add $RegKey /v Path /t REG_EXPAND_SZ /d "%SYSTEMROOT%\System32\TetheringIeProvider.dll" 
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\VendorSpecificIEProviders\4D50EE01-EEE0-4E5D-9A41-2F5F32044192"
reg add $RegKey /v Path /t REG_EXPAND_SZ /d "%SYSTEMROOT%\System32\WlanSvc.dll" 
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\VendorSpecificIEProviders\B7D94B4D-5DB1-4E70-B5C3-DD003EEEBE66"
reg add $RegKey /v Path /t REG_EXPAND_SZ /d "%SYSTEMROOT%\System32\WiFiDisplay.dll" 
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\WFDProvPlugin"
reg add $RegKey /ve /t REG_EXPAND_SZ /d "%SystemRoot%\System32\wfdprov.dll"
reg add $RegKey /v DllEntryPoint /d WFDProvGetInfo 
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Security"
reg add $RegKey /v Security /t REG_BINARY /d 0100048098000000a40000000000000014000000020084000500000000001400fd01020001010000000000051200000000001800ff010f0001020000000000052000000020020000000014008d010200010100000000000504000000000014008d01020001010000000000050600000000002800700000000106000000000005500000002e25d9e85a67cd58c504f3dc32c0cb09ab704571010100000000000512000000010100000000000512000000
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\VirtualizationManager"
reg add $RegKey /v WindowsPushNotificationPlatformClsid /d "0C9281F9-6DA1-4006-8729-DE6E6B61581C"

# Native Wifi Filter (dependancy of wlansvc)
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\NativeWifiP"
reg add $RegKey /v DisplayName /d "@%SystemRoot%\System32\drivers\nwifi.sys,-101" 
reg add $RegKey /v ErrorControl /t REG_DWORD /d 1
reg add $RegKey /v Group /d NDIS
reg add $RegKey /v ImagePath /t REG_EXPAND_SZ /d "system32\DRIVERS\nwifi.sys"
reg add $RegKey /v Start /t REG_DWORD /d 3
reg add $RegKey /v Type /t REG_DWORD /d 1

# vwififlt
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\vwififlt"
reg add $RegKey /v DisplayName /d "@%SystemRoot%\System32\drivers\vwififlt.sys,-259" 
reg add $RegKey /v ErrorControl /t REG_DWORD /d 1
reg add $RegKey /v Group /d NDIS
reg add $RegKey /v ImagePath /t REG_EXPAND_SZ /d "System32\drivers\vwififlt.sys"
reg add $RegKey /v Start /t REG_DWORD /d 1
reg add $RegKey /v Type /t REG_DWORD /d 1
reg add $RegKey /v Description /d "@%SystemRoot%\System32\drivers\vwififlt.sys,-260"
reg add $RegKey /v NdisMajorVersion /t REG_DWORD /d 6
reg add $RegKey /v NdisMinorVersion /t REG_DWORD /d 50
reg add $RegKey /v DriverMajorVersion /t REG_DWORD /d 1
reg add $RegKey /v DriverMinorVersion /t REG_DWORD /d 0
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\vwififlt\Parameters"
reg add $RegKey /v DefaultFilterSettings /t REG_DWORD /d 1

# vwifimp not in core image (not required)

# WdiWifi
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\wdiwifi"
reg add $RegKey /v DisplayName /d "WDI Driver Framework" 
reg add $RegKey /v ErrorControl /t REG_DWORD /d 1
reg add $RegKey /v ImagePath /t REG_EXPAND_SZ /d "system32\DRIVERS\wdiwifi.sys"
reg add $RegKey /v Start /t REG_DWORD /d 3
reg add $RegKey /v Type /t REG_DWORD /d 1

# legacy WiFi adapter - recommended by http://pcloadletter.co.uk/2011/12/03/windows-pe-builder-script-for-waik-including-wifi-support/
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\Enum\Root\LEGACY_WLANSVC"
reg add $RegKey /v NextInstance /t REG_DWORD /d 1 # numbers are decimal
reg add $RegKey\0000 /v Service /t REG_SZ /d Wlansvc
reg add $RegKey\0000 /v Legacy /t REG_DWORD /d 1
reg add $RegKey\0000 /v ConfigFlags /t REG_DWORD /d 0
reg add $RegKey\0000 /v Class /t REG_SZ /d LegacyDriver
reg add $RegKey\0000 /v ClassGUID /t REG_SZ /d "{8ECC055D-047F-11D1-A537-0000F8753ED1}"
reg add $RegKey\0000 /v DeviceDesc /t REG_SZ /d "@%SystemRoot%\System32\wlansvc.dll,-257"
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Enum"
reg add $RegKey /v 0 /t REG_SZ /d "Root\LEGACY_WLANSVC\0000"
reg add $RegKey /v Count /t REG_DWORD /d 1
reg add $RegKey /v NextInstance /t REG_DWORD /d 1

reg unload HKLM\WinPE_SYSTEM
reg unload HKLM\WinPE_SOFTWARE

# Windows Connection Manager - Wcmsvc ** Not required and removed as dependancy **

# Startup Wifi
Write-Host "Startup Changes"
Add-Content "D:\PE_TEMP\mount\Windows\System32\Startnet.cmd" "netcfg -l %SystemRoot%\Inf\netnwifi.inf -c s -i MS_NativeWifiP"
Add-Content "D:\PE_TEMP\mount\Windows\System32\Startnet.cmd" "netcfg -l %SystemRoot%\Inf\netvwififlt.inf -c s -i ms_vwifi"
Add-Content "D:\PE_TEMP\mount\Windows\System32\Startnet.cmd" "net start dot3svc"
Add-Content "D:\PE_TEMP\mount\Windows\System32\Startnet.cmd" "net start wlansvc"

Write-Host "Finished"

 

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...