;
; Usbnet.inf installs Usbnet.sys as the driver for:
; - Windows KDNET USB2 EEM Adapter
; - Windows KDNET USB3 EEM Adapter
; - Windows KDNET USB3 Adapter
;

[Version]
Signature="$WINDOWS NT$"
Class=Net
ClassGuid={4D36E972-E325-11CE-BFC1-08002BE10318}
Provider=%Msft%
CatalogFile=Usbnet.cat
PnpLockdown=1
DriverVer = 04/21/2009,10.0.22621.1

[Manufacturer]
; Only install onto Windows Vista or later.
%Msft%=Msft,NTamd64.6.0

[Msft.NTamd64.6.0]
; Comment to avoid install for KDNet EEM extension on USB 2
%KDNetEem.Description%=Usbnet,USB\VID_045E&PID_064D

; Comment to avoid install for KDNet EEM extension on USB 3
%KDNetEem.DescriptionOnUsb3%=Usbnet,USB\VID_045E&PID_065F

; Comment to avoid install for KDNET over USB3
%KDNet.Description%=Usbnet,USB\VID_045E&PID_0656

[Usbnet]
AddReg=Usbnet.reg
CopyFiles=Usbnet.copy
BusType=15           ; PNPBus
Characteristics=0x84 ; NCF_HAS_UI | NCF_PHYSICAL
*IfType=6            ; IF_TYPE_ETHERNET_CSMACD
*MediaType=0         ; NdisMedium802_3
*PhysicalMediaType=0 ; NdisPhysicalMediumUnspecified
EnableDhcp=0         ; Disable DHCP

[Usbnet.Services]
AddService=Usbnet,2,Usbnet.service,Usbnet.eventlog

[Usbnet.reg]

HKR, Ndi,            Service,    0, "Usbnet"
HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"

HKR, Ndi\params\*JumboPacket,      ParamDesc, 0, %JumboPacket.Title%
HKR, Ndi\params\*JumboPacket,      Type,      0, "enum"
HKR, Ndi\params\*JumboPacket,      Default,   0, "1514"
HKR, Ndi\params\*JumboPacket,      Optional,  0, "1"
HKR, Ndi\params\*JumboPacket\enum, 1514,      0, %JumboPacket.1514%
HKR, Ndi\params\*JumboPacket\enum, 4088,      0, %JumboPacket.4088%
HKR, Ndi\params\*JumboPacket\enum, 9014,      0, %JumboPacket.9014%
HKR, Ndi\params\*JumboPacket\enum, 16375,     0, %JumboPacket.16375%

HKR, Ndi\params\NetworkAddress, ParamDesc, 0, %NetworkAddress.Title%
HKR, Ndi\params\NetworkAddress, Type,      0, "edit"
HKR, Ndi\params\NetworkAddress, Default,   0, "02155D012346"
HKR, Ndi\params\NetworkAddress, LimitText, 0, "12"
HKR, Ndi\params\NetworkAddress, UpperCase, 0, "1"
HKR, Ndi\params\NetworkAddress, Optional,  0, "1"

HKR, Ndi\params\*PriorityVLANTag,      ParamDesc, 0, %PriorityVLANTag.Title%
HKR, Ndi\params\*PriorityVLANTag,      Type,      0, "enum"
HKR, Ndi\params\*PriorityVLANTag,      Default,   0, "3"
HKR, Ndi\params\*PriorityVLANTag\enum, 0,         0, %PriorityVLANTag.None%
HKR, Ndi\params\*PriorityVLANTag\enum, 1,         0, %PriorityVLANTag.Priority%
HKR, Ndi\params\*PriorityVLANTag\enum, 2,         0, %PriorityVLANTag.Vlan%
HKR, Ndi\params\*PriorityVLANTag\enum, 3,         0, %PriorityVLANTag.PriorityVlan%

HKR, Ndi\params\*HeaderEncoding,      ParamDesc, 0, %HeaderEncoding.Title%
HKR, Ndi\params\*HeaderEncoding,      Type,      0, "enum"
HKR, Ndi\params\*HeaderEncoding,      Default,   0, "0"
HKR, Ndi\params\*HeaderEncoding\enum, 0,         0, %HeaderEncoding.Auto%
HKR, Ndi\params\*HeaderEncoding\enum, 2,         0, %HeaderEncoding.EEM%
HKR, Ndi\params\*HeaderEncoding\enum, 1,         0, %HeaderEncoding.KDNetEem%

HKR, Ndi\params\VlanId, ParamDesc, 0, %VlanId.Title%
HKR, Ndi\params\VlanId, Type,      0, "dword"
HKR, Ndi\params\VlanId, Default,   0, "0"
HKR, Ndi\params\VlanId, Min,       0, "0"
HKR, Ndi\params\VlanId, Max,       0, "4095"

HKR, Ndi\params\ComputeSendCrc,      ParamDesc, 0, %ComputeSendCrc.Title%
HKR, Ndi\params\ComputeSendCrc,      Type,      0, "enum"
HKR, Ndi\params\ComputeSendCrc,      Default,   0, "0"
HKR, Ndi\params\ComputeSendCrc\enum, 0,         0, %Disabled%
HKR, Ndi\params\ComputeSendCrc\enum, 1,         0, %Enabled%

HKR, Ndi\params\ConcurrentSendLimit, ParamDesc, 0, %ConcurrentSendLimit.Title%
HKR, Ndi\params\ConcurrentSendLimit, Type,      0, "dword"
HKR, Ndi\params\ConcurrentSendLimit, Default,   0, "2"
HKR, Ndi\params\ConcurrentSendLimit, Min,       0, "1"
HKR, Ndi\params\ConcurrentSendLimit, Max,       0, "64"
HKR, Ndi\params\ConcurrentSendLimit, Optional,  0, "1"

HKR, Ndi\params\ConcurrentRecvLimit, ParamDesc, 0, %ConcurrentRecvLimit.Title%
HKR, Ndi\params\ConcurrentRecvLimit, Type,      0, "dword"
HKR, Ndi\params\ConcurrentRecvLimit, Default,   0, "2"
HKR, Ndi\params\ConcurrentRecvLimit, Min,       0, "1"
HKR, Ndi\params\ConcurrentRecvLimit, Max,       0, "64"
HKR, Ndi\params\ConcurrentRecvLimit, Optional,  0, "1"

HKR, Ndi\params\FramesPerTransferLimit, ParamDesc, 0, %FramesPerTransferLimit.Title%
HKR, Ndi\params\FramesPerTransferLimit, Type,      0, "dword"
HKR, Ndi\params\FramesPerTransferLimit, Default,   0, "0"
HKR, Ndi\params\FramesPerTransferLimit, Min,       0, "0"
HKR, Ndi\params\FramesPerTransferLimit, Max,       0, "255"
HKR, Ndi\params\FramesPerTransferLimit, Optional,  0, "1"

HKR, Ndi\params\UnreturnedNblLimit, ParamDesc, 0, %UnreturnedNblLimit.Title%
HKR, Ndi\params\UnreturnedNblLimit, Type,      0, "dword"
HKR, Ndi\params\UnreturnedNblLimit, Default,   0, "256"
HKR, Ndi\params\UnreturnedNblLimit, Min,       0, "16"
HKR, Ndi\params\UnreturnedNblLimit, Max,       0, "2048"
HKR, Ndi\params\UnreturnedNblLimit, Step,      0, "16"
HKR, Ndi\params\UnreturnedNblLimit, Optional,  0, "1"

HKR, Ndi\params\UsbTransferSizeLimit, ParamDesc, 0, %UsbTransferSizeLimit.Title%
HKR, Ndi\params\UsbTransferSizeLimit, Type,      0, "dword"
HKR, Ndi\params\UsbTransferSizeLimit, Default,   0, "19456"
HKR, Ndi\params\UsbTransferSizeLimit, Min,       0, "3072"
HKR, Ndi\params\UsbTransferSizeLimit, Max,       0, "64512"
HKR, Ndi\params\UsbTransferSizeLimit, Step,      0, "1024"
HKR, Ndi\params\UsbTransferSizeLimit, Optional,  0, "1"

[Usbnet.copy]
usbnet.sys,,,0x100

[Usbnet.service]
DisplayName=%Usbnet.Description%
ServiceType=1  ; SERVICE_KERNEL_DRIVER
StartType=3    ; SERVICE_DEMAND_START
ErrorControl=1 ; SERVICE_ERROR_NORMAL
ServiceBinary=%12%\usbnet.sys

[Usbnet.eventlog]
AddReg=Usbnet.eventlog.reg

[Usbnet.eventlog.reg]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\netevent.dll"
HKR,,TypesSupported,0x00010001,7

[ControlFlags]
ExcludeFromSelect=*

[SourceDisksNames]
1=%Usbnet.DiskName%,,,

[SourceDisksFiles]
usbnet.sys=1,,

[DestinationDirs]
Usbnet.copy=12

[Strings]
Disabled="Disabled"
Enabled="Enabled"
Msft="Microsoft"
Usbnet.DiskName="USB Network Driver Disk"
Usbnet.Description="USB Network Driver"
GenericEem.Description="Generic USB-EEM Network Adapter"
KDNetEem.Description="Windows KDNET USB-EEM Network Adapter"
KDNetEem.DescriptionOnUsb3="Windows KDNET USB3.0-EEM Network Adapter"
KDNet.Description="Windows KDNET USB Network Adapter"
WpEem.Description="Windows Phone USB-EEM Network Adapter"
JumboPacket.Title="Jumbo Packet"
JumboPacket.1514="Disabled (1514 bytes)"
JumboPacket.4088="4088 bytes"
JumboPacket.9014="9014 bytes"
JumboPacket.16375="16375 bytes"
NetworkAddress.Title="Network Address"
PriorityVLANTag.Title="Packet Priority & VLAN"
PriorityVLANTag.None="Packet Priority & VLAN Disabled"
PriorityVLANTag.Priority="Packet Priority Enabled"
PriorityVLANTag.Vlan="VLAN Enabled"
PriorityVLANTag.PriorityVlan="Packet Priority & VLAN Enabled"
HeaderEncoding.Title="Packet Header Encoding"
HeaderEncoding.Auto="Auto"
HeaderEncoding.EEM="EEM"
HeaderEncoding.KDNetEem="KDNET-EEM"
VlanId.Title="VLAN ID"
ComputeSendCrc.Title="Compute CRC for Sent Data"
ConcurrentSendLimit.Title="Concurrent Send Limit"
ConcurrentRecvLimit.Title="Concurrent Receive Limit"
FramesPerTransferLimit.Title="Frames Per Transfer Limit"
UnreturnedNblLimit.Title="Unreturned Receive Buffer Limit"
UsbTransferSizeLimit.Title="USB Transfer Size Limit"
