I note that wdf01000.sys accepts input from wdfldr.sys; specifically from the functions "WdfLdrDiagnosticsValueByNameAsULONG" & "WdfRegisterLibrary".
Here is an excerpt from the latest DP_MassStorage_wnt5_x86-32_1210.b15_unofficial.ini
[UFV]
ms_count=6
ms_1_deviceName="Wdf01009"
ms_1_tag="wdf01000"
ms_1_sysFile="wdf01000.sys"
ms_1_hwids="PCI\VEN_1B73&DEV_1000,PCI\VEN_1B73&DEV_1009,PCI\VEN_1B73&DEV_1100,PCI\VEN_1B73&DEV_1400,FLUSB\ROOT_HUB_FL30,FLUSB\Class_09,PCI\VEN_1106&DEV_3432,PCI\VEN_1106&DEV_9201,USB\VIA_ROOT_HUB,VUSB3\CLASS_09,VUSB2\CLASS_09,VUSB1\CLASS_09"
ms_1_isBusExtender=false
ms_1_exc_skipIfOS="w2k,w2k3"
ms_2_deviceName="Wdf01009"
ms_2_tag="wdfldr"
ms_2_sysFile="wdfldr.sys"
ms_2_hwids="PCI\VEN_1B73&DEV_1000,PCI\VEN_1B73&DEV_1009,PCI\VEN_1B73&DEV_1100,PCI\VEN_1B73&DEV_1400,FLUSB\ROOT_HUB_FL30,FLUSB\Class_09,PCI\VEN_1106&DEV_3432,PCI\VEN_1106&DEV_9201,USB\VIA_ROOT_HUB,VUSB3\CLASS_09,VUSB2\CLASS_09,VUSB1\CLASS_09"
ms_2_isBusExtender=false
ms_2_exc_skipIfOS="w2k,w2k3"
ms_3_deviceName="FRESCO USB3 Controller"
ms_3_tag="flxhcic"
ms_3_sysFile="flxhcic.sys"
ms_3_hwids="PCI\VEN_1B73&DEV_1000,PCI\VEN_1B73&DEV_1009,PCI\VEN_1B73&DEV_1100,PCI\VEN_1B73&DEV_1400"
ms_3_isBusExtender=false
ms_3_exc_skipIfOS="w2k,w2k3"
ms_4_deviceName="FRESCO USB3 Hub Controller"
ms_4_tag="flxhcih"
ms_4_sysFile="flxhcih.sys"
ms_4_hwids="FLUSB\ROOT_HUB_FL30,FLUSB\Class_09"
ms_4_isBusExtender=false
ms_4_exc_skipIfOS="w2k,w2k3"
ms_5_deviceName="VIA USB3 Controller"
ms_5_tag="xhcdrv"
ms_5_sysFile="xhcdrv.sys"
ms_5_hwids="PCI\VEN_1106&DEV_3432,PCI\VEN_1106&DEV_9201"
ms_5_isBusExtender=false
ms_5_exc_skipIfOS="w2k,w2k3"
ms_6_deviceName="VIA USB3 Hub Controller"
ms_6_tag="Viahub3"
ms_6_sysFile="Viahub3.sys"
ms_6_hwids="USB\VIA_ROOT_HUB,VUSB3\CLASS_09,VUSB2\CLASS_09,VUSB1\CLASS_09"
ms_6_isBusExtender=false
ms_6_exc_skipIfOS="w2k,w2k3"
After integration with DP_BASE, XP was installed on non-USB3.0 hardware (without a BSOD). Unfortunately, the wdf01000 non-PnP driver was installed and the Errors previously mentioned exist in EventViewer.
I think the final solution for Fresco/VIA USB3 textmode support (and other KMDF 1.9 drivers) was to slipstream the files & registry entries in the source, as you have noted.
Jim D. wrote:"Microsoft does not support coinstallers in WinPE.
Vishal kindly listed for me the steps required to get KMDF installed in my
WinPE image. These are:
1) adding wdf01000.sys to the WinPE image,
2) adding wdfldr.sys to the WinPE image, and
3) Adding a couple of registry keys in setupreg.hiv.
We have implemented these steps, and are now able to successfully boot WinPE
with a KMDF PnP driver."
from --> http://www.winvistatips.com/winpe-wdf-w … 91658.html
Quoted from update_winxp.inf:
HKLM,"System\CurrentControlSet\Control\Wdf\Kmdf\KmdfLibrary\Versions\1","Service",0,"Wdf01000"
HKLM,"System\CurrentControlSet\Control\SafeBoot\Minimal\Wdf01000.sys","",0,"Driver"
HKLM,"System\CurrentControlSet\Control\SafeBoot\Network\Wdf01000.sys","",0,"Driver"
;;
;; Hide the following ARP entries for previous versions on install.
;; Each time we come up with a new minor version we add more here.
;;
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Wdf01000,"SystemComponent", 0x00010001,1
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Wdf01001,"SystemComponent", 0x00010001,1
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Wdf01005,"SystemComponent", 0x00010001,1
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Wdf01007,"SystemComponent", 0x00010001,1
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Wdf01009,"SystemComponent", 0x00010001,1
Asher wrote:"Boot-start drivers are those drivers that are installed during the boot process. KMDF boot-start drivers have a somewhat different loading scenario than described above because the KMDF runtime must be loaded before the driver is loaded. At installation, the co-installer reads the INF or the registry to determine whether the driver is a boot-start driver. If so, the co-installer:
• Changes the start type of the KMDF runtime so that the Windows loader starts the KMDF runtime at system boot time.
• Sets the load order so that the KMDF runtime is loaded before the client driver."
from -->http://asher2003.wordpress.com/2010/12/ … is-loaded/
I think that including these two drivers in textmode is a bad idea. It forces everyone to include KMDF in their source. I am inclined to simply leave these two drivers out of the MassStorage Pack and let them remain in the Chipset Pack. In addition, i believe it necessary to remove the other USB 3.0 drivers from Chipset in order to avoid duplicates.
What are your thoughts?