;==========================================================================
;
; NETUSBC.INF for Intel Poulsbo USB Client Controller (venID = 0x8086, devID = 0x8118)
;
; Copyright (c) Intel Corporation.  All rights reserved.
;
;

[version]
Signature   = "$Windows NT$"
Class       = Net
ClassGUID   = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider    = %Intel%
CatalogFile=usbccomp.cat
DriverVer   = 01/15/2008,1.00.00.1041

[ControlFlags]
ExcludeFromSelect=*

[Manufacturer]
%Intel% = Intel, NTx86, NTamd64

; For XP and later
[Intel.NTx86]
%NETUSBC.DeviceDesc%     = NETUSBC.ndi, PCI\VEN_8086&DEV_8118

[Intel.NTamd64]
%NETUSBC.DeviceDesc%     = NETUSBC.ndi, PCI\VEN_8086&DEV_8118

[NETUSBC.ndi]
;Characteristics = 0x4 			; NCF_PHYSICAL
;Characteristics = 0x404 		; NCF_PHYSICAL|NCF_FILTER

Characteristics = 0x84 			; NCF_PHYSICAL|NCF_HAS_UI
BusType		= 5 				; if you specify NCF_PHYSICAL, you must specify bustype

AddReg      = NETUSBC.Reg		; specify registry parameters in the device class instance
CopyFiles   = NETUSBC.CopyFiles

[NETUSBC.ndi.HW]
AddReg = NETUSBC_UpperFilter_Reg	;the registry parameters written to the hardware key (\enum)

[NETUSBC_UpperFilter_Reg]
HKR,	,				UpperFilters,		 0x00010000,"USBCMINI"	;REG_SZ

[NETUSBC.ndi.Services]
AddService      = USBCMINI,,USBCMINI.Service, USBCMINI.EventLog
AddService      = USBCCOMP,0x00000002, USBCCOMP.Service, USBCCOMP.EventLog 

[NETUSBC.Reg]
;note: for the non-overridable parameter set attribute to 0x00010003

HKR,    ,               BusNumber,           0, 	 	 "0" 		;REG_SZ

;===============================================================
; configurable parameters not exposed to users 
;===============================================================
;allow all packet through (usbcmini.sys parameter)
HKR,    ,			Promiscuous,         0x00000000, "0" 		;REG_SZ overridable

;allow disk to be writable (TODO: to change it non-writable for production
HKR,    ,              WritableDrive,       0x00000000, "1" 		;REG_SZ overridable

;allow to switch to RNDIS
HKR,    ,               AllowHideMSD,       0x00000000, "1" 		;REG_SZ overridable

;removable disk (non-removable will show up as hard disk)
HKR,    ,               RemovableDevice,     0x00000000, "1" 		;REG_SZ overridable

;the current silicon does not support scatter-gather mode, but keep it for future addition 
;HKR,    ,               ScatterGather,       0x00000000, "0" 		;REG_SZ overridable

;allocation size for section object, default is fit to XP and Vista for now
HKR,    ,               AllocationSize,      0x00010001, 0x10000	;REG_DWORD overridable

;disk image size
HKR,    ,               DiskSize,       	 0x00010001, 0x400000	;REG_DWORD overridable

;The maximum buffer size used by Mass Storage device
; min = 4096 	(4KB)
; max = 32768	(32KB)
HKR,    ,               MSDBufferSize,     	 0x00000000, "32768"	;REG_SZ overridable

;event log level
; 3 = log errors only
; 2 = log errors and warnings only
; 1 = log errors, warnings, and information
; 0 = log errors, warnings, information, and success
HKR,    ,               EventLogLevel,       0x00010001, 0			;REG_DWORD overridable

;SerialNumber
;will be generated by driver installer

					
;The path for the disk image file
HKR,    ,               DiskImagePath,     	 0x00000000, "\SystemRoot\System32\Drivers\Disk0.img"	;REG_SZ overridable

;NDIS required parameters
HKR, Ndi,               Service,             0,          "USBCCOMP"	;REG_SZ
HKR, Ndi\Interfaces,    UpperRange,          0,          "ndis5"	;REG_SZ
HKR, Ndi\Interfaces,    LowerRange,          0,          "ethernet"	;REG_SZ

;===============================================================
; advanced parameters in the device properties of Device Manager 
;===============================================================

; DeviceType (TODO: hide to customers ?)
HKR, Ndi\Params\DeviceType,     				ParamDesc,  0, 	%DeviceInterface%
HKR, Ndi\Params\DeviceType,            		    default,    0, 	"0"
HKR, Ndi\Params\DeviceType\Enum,       		    0,		    0, 	%MassStorageDevice%
HKR, Ndi\Params\DeviceType\Enum,       		    1, 	        0, 	%RNDISDevice%
HKR, Ndi\Params\DeviceType,            		    type,       0, 	"enum"

; ForceFullSpeed
HKR, Ndi\Params\ForceFullSpeed,         		ParamDesc,  0, 	%ForceFS%
HKR, Ndi\Params\ForceFullSpeed,         		default,    0, 	"0"
HKR, Ndi\Params\ForceFullSpeed\Enum,    		0,		    0, 	%Disabled%
HKR, Ndi\Params\ForceFullSpeed\Enum,    		1, 	        0, 	%Enabled%
HKR, Ndi\Params\ForceFullSpeed,         		type,       0, 	"enum"

; NetworkAddress
HKR, Ndi\params\NetworkAddress,					ParamDesc,	0, 	%MACAddress%
HKR, Ndi\params\NetworkAddress,         		type,       0, 	"edit"

;client co-installer will generate this parameter accoridng to specific system values

;HKR, Ndi\params\NetworkAddress,         		Default,    0, 	"000CF1000006"
HKR, NDI\params\NetworkAddress,         		LimitText,  0, 	"12"
HKR, NDI\params\NetworkAddress,         		UpperCase,  0, 	"1"
HKR, NDI\params\NetworkAddress,         		optional,   0, 	"1"	

;------ copy files

[NETUSBC.CopyFiles]
usbccomp.sys,,,2
usbcmini.sys,,,2
disk0.img,,2

;------ USBCMINI (NDIS miniport driver) service

[USBCMINI.Service]
DisplayName     = %USBCMINI.SVCDESC%
ServiceType     = 1 ;%SERVICE_KERNEL_DRIVER%
StartType       = 3 ;%SERVICE_DEMAND_START%
ErrorControl    = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary   = %12%\USBCMINI.sys
LoadOrderGroup  = NDIS
AddReg          = USBCMINI.Service.AddReg

[USBCMINI.Service.AddReg]
; TRACE_LEVEL_NONE 		= 0
; TRACE_LEVEL_FATAL 	= 1
; TRACE_LEVEL_ERROR 	= 2
; TRACE_LEVEL_WARNING 	= 3
; TRACE_LEVEL_VERBOSE 	= 4

HKR, , DebugLevel,    0x00010003, 3				
HKR, , DebugFlags,    0x00010003, 0x00000700	;see \inc\trace.h for bits definitions

[USBCMINI.EventLog]
AddReg = USBCMINI.AddEventLog.Reg

[USBCMINI.AddEventLog.Reg]
HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll"
HKR, , TypesSupported,   0x00010001, 7

;------- USBCCOMP (USB client composite driver) service

[USBCCOMP.Service]
DisplayName    = %USBCCOMP.SVCDESC%                            
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\usbccomp.sys 
LoadOrderGroup = NDIS
AddReg         = USBCCOMP.Service.AddReg

[USBCCOMP.Service.AddReg]
HKR, , DebugLevel,    	0x00010003, 2				
HKR, , DebugFlags,    	0x00010003, 0x0003FF00		;see \inc\trace.h for bits definitions
HKR, , USBCDebugLevel,  0x00010003, 3				
HKR, , USBCDebugFlags,  0x00010003, 0x03800001		;see \inc\trace.h for bits definitions

[USBCCOMP.EventLog]
AddReg = USBCCOMP.AddEventLog.Reg

[USBCCOMP.AddEventLog.Reg]
HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\Iologmsg.dll;%%SystemRoot%%\System32\drivers\usbccomp.sys"
HKR, , TypesSupported,   0x00010001, 7


;-----------------------------------------------------------------------------
; Common section

[SourceDisksNames.x86]
1 = %DiskId1%,,,

[SourceDisksFiles]
Usbccomp.sys  = 1,,
UsbcMini.sys = 1,,
disk0.img = 1,,
usbccoin.dll = 1,,

[DestinationDirs]
NETUSBC.CopyFiles = 12
CoInstaller_CopyFiles = 11

;------ Coinstaller installation

[NETUSBC.Ndi.CoInstallers]
AddReg=CoInstaller_AddReg
CopyFiles=CoInstaller_CopyFiles

[CoInstaller_CopyFiles]
usbccoin.dll

[CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000,"usbccoin.dll,USBCCoInstaller"

;-----------------------------------------------------------------------------
; Localizable Strings
;
[Strings]

;-------------------
;localizable strings
;-------------------
Intel               = "Intel"                      
DisplayName	    	= "Intel(R) USB Client Device Driver"
NETUSBC.DeviceDesc  = "Intel(R) 82xxx USB Client Ethernet Device"
USBCCOMP.SVCDESC    = "Intel(R) 82xxx USB Client Device Driver"
USBCMINI.SVCDESC    = "Intel USB Client NDIS Miniport Device Driver"
DiskId1             = "Intel(R) USB Client Device Driver Installation Disk"

;-----------------------
; Advanced tab parameters

On					= "On"
Off					= "Off"

; Device interface

DeviceInterface 	= "USBC Device Interface"
MassStorageDevice	= "Mass Storage Device"
RNDISDevice			= "RNDIS Device"

; Network address

MACAddress			= "Adapter Network Address"

' force to use full speed

ForceFS				= "Force to Use USB Full speed"
Enabled				= "Enabled"
Disabled			= "Disabled"

;-----------------------
;non-localizable strings
;-----------------------

