;****************************************************************
; ASIX AX88179/178A USB 3.0/2.0 to Gigabit Ethernet Adapter
;
; Copyright 2012, ASIX Electronics Corporation
;
; Version: 1.4.0.0	for Windows XP
;****************************************************************
[Version]
Signature  = "$Windows NT$"
CatalogFile = ax88179_178a.cat
Class      = Net
ClassGUID  = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider   = %ASIX%
DriverVer = 07/17/2012, 1.4.0.0

[Manufacturer]
%ASIX%   = USB

[ControlFlags]
ExcludeFromSelect = USB\VID_0B95&PID_1790, USB\VID_0B95&PID_178A

[USB]
%AX88179.DeviceDesc% = AX88179.Ndi,USB\VID_0B95&PID_1790
%AX88178A.DeviceDesc% = AX88179.Ndi,USB\VID_0B95&PID_178A

;****************************************************************
[AX88179.Ndi]
AddReg          = AX88179.Reg, AX88179.Con.Reg
Characteristics = 0x84
BusType         = 15
CopyFiles       = CopyFile.Sys

[AX88179.Ndi.Services]
AddService = AX88179, 2, AX88179.Service, Common.EventLog

;****************************************************************
; Driver parameters
;****************************************************************

[AX88179.Con.Reg]
; Connection Type
HKR,Ndi\params\*SpeedDuplex,ParamDesc,,%SpeedDuplex%
HKR,Ndi\params\*SpeedDuplex,default,,"0"
HKR,Ndi\params\*SpeedDuplex,type,,"enum"
HKR,Ndi\params\*SpeedDuplex\enum,0,,%AutoNegotiation%
HKR,Ndi\params\*SpeedDuplex\enum,1,,%10Half%
HKR,Ndi\params\*SpeedDuplex\enum,2,,%10Full%
HKR,Ndi\params\*SpeedDuplex\enum,3,,%100Half%
HKR,Ndi\params\*SpeedDuplex\enum,4,,%100Full%
HKR,Ndi\params\*SpeedDuplex\enum,6,,%1000Full%
HKR,Ndi\params\*SpeedDuplex\enum,8,,%Auto10Half%
HKR,Ndi\params\*SpeedDuplex\enum,9,,%Auto10Full%
HKR,Ndi\params\*SpeedDuplex\enum,10,,%Auto100Half%
HKR,Ndi\params\*SpeedDuplex\enum,11,,%Auto100Full%
HKR,Ndi\params\*SpeedDuplex\enum,13,,%Auto1000Full%

; Mac Address
HKR,Ndi\params\NetworkAddress,ParamDesc,0,%NetworkAddress%
HKR,Ndi\params\NetworkAddress,type,0,"edit"
HKR,Ndi\params\NetworkAddress,default,0, "000000000000"
HKR,Ndi\params\NetworkAddress,LimitText,0,"12"
HKR,Ndi\params\NetworkAddress,UpperCase,0,"1"
HKR,Ndi\params\NetworkAddress,Optional,0,"1"

; Flow Control
HKR,Ndi\params\*FlowControl,ParamDesc,,%FlowControl%
HKR,Ndi\params\*FlowControl,default,,"3"
HKR,Ndi\params\*FlowControl,type,,"enum"
HKR,Ndi\params\*FlowControl\enum,0,,%Disabled%
HKR,Ndi\params\*FlowControl\enum,1,,%TxEnabled%
HKR,Ndi\params\*FlowControl\enum,2,,%RxEnabled%
HKR,Ndi\params\*FlowControl\enum,3,,%TxRxEnabled%

; Packet Priority & VLAN
HKR,Ndi\params\*PriorityVLANTag,ParamDesc,,"Packet Priority & VLAN"
HKR,Ndi\params\*PriorityVLANTag,default,,"0"
HKR,Ndi\params\*PriorityVLANTag,type,,"enum"
HKR,Ndi\params\*PriorityVLANTag\enum,0,,"Priority & VLAN Disable"
HKR,Ndi\params\*PriorityVLANTag\enum,1,,"Priority Enable"
HKR,Ndi\params\*PriorityVLANTag\enum,2,,"VLAN Enable"
HKR,Ndi\params\*PriorityVLANTag\enum,3,,"Priority & VLAN Enable"

; Wake On Link Change
HKR,Ndi\params\WakeOnLinkChange,ParamDesc,,%WakeOnLinkChange%
HKR,Ndi\params\WakeOnLinkChange,default,,"0"
HKR,Ndi\params\WakeOnLinkChange,type,,"enum"
HKR,Ndi\params\WakeOnLinkChange\enum,0,,%Disabled%
HKR,Ndi\params\WakeOnLinkChange\enum,1,,%Enabled%

; Wake On Magic Packet
HKR,Ndi\params\*WakeOnMagicPacket,ParamDesc,,%WakeOnMagicPacket%
HKR,Ndi\params\*WakeOnMagicPacket,default,,"1"
HKR,Ndi\params\*WakeOnMagicPacket,type,,"enum"
HKR,Ndi\params\*WakeOnMagicPacket\enum,0,,%Disabled%
HKR,Ndi\params\*WakeOnMagicPacket\enum,1,,%Enabled%

; Wake On Pattern Match
HKR,Ndi\params\*WakeOnPattern,ParamDesc,,%WakeOnPattern%
HKR,Ndi\params\*WakeOnPattern,default,,"0"
HKR,Ndi\params\*WakeOnPattern,type,,"enum"
HKR,Ndi\params\*WakeOnPattern\enum,0,,%Disabled%
HKR,Ndi\params\*WakeOnPattern\enum,1,,%Enabled%

; Mask WakeUp Event Timer
HKR,Ndi\params\MaskTimer,ParamDesc,,%MaskTimer%
HKR,Ndi\params\MaskTimer,default,,"2"
HKR,Ndi\params\MaskTimer,type,,"enum"
HKR,Ndi\params\MaskTimer\enum,0,,%0sec%
HKR,Ndi\params\MaskTimer\enum,1,,%4sec%
HKR,Ndi\params\MaskTimer\enum,2,,%8sec%
HKR,Ndi\params\MaskTimer\enum,3,,%12sec%
HKR,Ndi\params\MaskTimer\enum,4,,%16sec%
HKR,Ndi\params\MaskTimer\enum,5,,%20sec%
HKR,Ndi\params\MaskTimer\enum,6,,%24sec%
HKR,Ndi\params\MaskTimer\enum,7,,%28sec%

; WOL Link Speed
HKR,Ndi\params\WolLinkSpeed,ParamDesc,,"WOL Link Power Saving"
HKR,Ndi\params\WolLinkSpeed,default,,"1"
HKR,Ndi\params\WolLinkSpeed,type,,"enum"
HKR,Ndi\params\WolLinkSpeed\enum,0,,%Disabled%
HKR,Ndi\params\WolLinkSpeed\enum,1,,%Enabled%

; TCP Checksum offload V4
HKR, Ndi\params\*TCPChecksumOffloadIPv4,ParamDesc,,"%TCPChecksumOffloadV4%"	
HKR, Ndi\params\*TCPChecksumOffloadIPv4,default,,"3"
HKR, Ndi\params\*TCPChecksumOffloadIPv4,type,0,"enum"
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum,"0",0,"%Disabled%"
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum,"1",0,"%TxEnabled%"
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum,"2",0,"%RxEnabled%"
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum,"3",0,"%TxRxEnabled%"

; UDP Checksum offload V4
HKR, Ndi\params\*UDPChecksumOffloadIPv4,ParamDesc,,"%UDPChecksumOffloadV4%"	
HKR, Ndi\params\*UDPChecksumOffloadIPv4,default,,"3"
HKR, Ndi\params\*UDPChecksumOffloadIPv4,type,0,"enum"
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum,"0",0,"%Disabled%"
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum,"1",0,"%TxEnabled%"
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum,"2",0,"%RxEnabled%"
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum,"3",0,"%TxRxEnabled%"

; TCP Checksum offload V6
HKR, Ndi\params\*TCPChecksumOffloadIPv6,ParamDesc,,"%TCPChecksumOffloadV6%"	
HKR, Ndi\params\*TCPChecksumOffloadIPv6,default,,"3"
HKR, Ndi\params\*TCPChecksumOffloadIPv6,type,0,"enum"
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum,"0",0,"%Disabled%"
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum,"1",0,"%TxEnabled%"
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum,"2",0,"%RxEnabled%"
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum,"3",0,"%TxRxEnabled%"

; UDP Checksum offload V6
HKR, Ndi\params\*UDPChecksumOffloadIPv6,ParamDesc,,"%UDPChecksumOffloadV6%"	
HKR, Ndi\params\*UDPChecksumOffloadIPv6,default,,"3"
HKR, Ndi\params\*UDPChecksumOffloadIPv6,type,0,"enum"
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum,"0",0,"%Disabled%"
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum,"1",0,"%TxEnabled%"
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum,"2",0,"%RxEnabled%"
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum,"3",0,"%TxRxEnabled%"

; IP Checksum offload V4
HKR, Ndi\params\*IPChecksumOffloadIPv4,ParamDesc,,"%IPChecksumOffloadV4%" 
HKR, Ndi\params\*IPChecksumOffloadIPv4,default,,"3"
HKR, Ndi\params\*IPChecksumOffloadIPv4,type,0,"enum"
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum,"0",0,"%Disabled%"
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum,"1",0,"%TxEnabled%"
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum,"2",0,"%RxEnabled%"
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum,"3",0,"%TxRxEnabled%"

; Large Send Offload Version 1
HKR, Ndi\params\*LsoV1IPv4,ParamDesc,,"%LsoV1IPv4%" 
HKR, Ndi\params\*LsoV1IPv4,default,,"1"
HKR, Ndi\params\*LsoV1IPv4,type,0,"enum"
HKR, Ndi\params\*LsoV1IPv4\enum,"0",0,"%Disabled%"
HKR, Ndi\params\*LsoV1IPv4\enum,"1",0,"%Enabled%"

; ARP offload
;HKR,Ndi\params\*PMARPOffload,ParamDesc,,%ArpOffload%
;HKR,Ndi\params\*PMARPOffload,default,,"1"
;HKR,Ndi\params\*PMARPOffload,type,,"enum"
;HKR,Ndi\params\*PMARPOffload\enum,0,,%Disabled%
;HKR,Ndi\params\*PMARPOffload\enum,1,,%Enabled%

; NS offload
;HKR,Ndi\params\*PMNSOffload,ParamDesc,,%NsOffload%
;HKR,Ndi\params\*PMNSOffload,default,,"1"
;HKR,Ndi\params\*PMNSOffload,type,,"enum"
;HKR,Ndi\params\*PMNSOffload\enum,0,,%Disabled%
;HKR,Ndi\params\*PMNSOffload\enum,1,,%Enabled%

; VLAN ID
HKR,Ndi\params\VLAN_ID,ParamDesc,0,%VLANID%
HKR,Ndi\params\VLAN_ID,Type,0,"int"
HKR,Ndi\params\VLAN_ID,Default,0,"0"
HKR,Ndi\params\VLAN_ID,min,0,"0"
HKR,Ndi\params\VLAN_ID,max,0,"4095"
HKR,Ndi\params\VLAN_ID,step,0,"1"
HKR,NDI\params\VLAN_ID,UpperCase,0,"1"
HKR,NDI\params\VLAN_ID,optional,0,"1"

; Auto Detach
HKR,Ndi\params\AutoDetach,ParamDesc,,"%AutoDetach%"
HKR,Ndi\params\AutoDetach,default,,"0"
HKR,Ndi\params\AutoDetach,type,,"enum"
HKR,Ndi\params\AutoDetach\enum,0,,%Disabled%
HKR,Ndi\params\AutoDetach\enum,1,,%Enabled%
HKR,Ndi\params\AutoDetach\enum,2,,%UseEeprom%

; Wakeup Path
;HKR,Ndi\params\WakeupPath,ParamDesc,,"Wakeup Path"
;HKR,Ndi\params\WakeupPath,default,,"0"
;HKR,Ndi\params\WakeupPath,type,,"enum"
;HKR,Ndi\params\WakeupPath\enum,0,,"MAC"
;HKR,Ndi\params\WakeupPath\enum,1,,"PHY"

; Wake On External Button
;HKR,Ndi\params\WakeOnButton,ParamDesc,,"Wakeup From External Button"
;HKR,Ndi\params\WakeOnButton,default,,"0"
;HKR,Ndi\params\WakeOnButton,type,,"enum"
;HKR,Ndi\params\WakeOnButton\enum,0,,%Disabled%
;HKR,Ndi\params\WakeOnButton\enum,1,,%Enabled%

; U1/U2 Power Saving
HKR,Ndi\params\UsbPowerSave,ParamDesc,,"U1/U2 Power Saving"
HKR,Ndi\params\UsbPowerSave,default,,"0"
HKR,Ndi\params\UsbPowerSave,type,,"enum"
HKR,Ndi\params\UsbPowerSave\enum,0,,"0x00"
HKR,Ndi\params\UsbPowerSave\enum,16,,"0x10"
HKR,Ndi\params\UsbPowerSave\enum,80,,"0x50"
HKR,Ndi\params\UsbPowerSave\enum,240,,"0xF0"
HKR,Ndi\params\UsbPowerSave\enum,255,,"0xFF"

; AutoDetach Timer
HKR,Ndi\params\AutoDetachTimer,ParamDesc,,"AutoDetach Timer"
HKR,Ndi\params\AutoDetachTimer,default,,"2"
HKR,Ndi\params\AutoDetachTimer,type,,"enum"
HKR,Ndi\params\AutoDetachTimer\enum,0,,"3s"
HKR,Ndi\params\AutoDetachTimer\enum,1,,"4s"
HKR,Ndi\params\AutoDetachTimer\enum,2,,"5s"
HKR,Ndi\params\AutoDetachTimer\enum,3,,"6s"
HKR,Ndi\params\AutoDetachTimer\enum,4,,"7s"
HKR,Ndi\params\AutoDetachTimer\enum,5,,"8s"
HKR,Ndi\params\AutoDetachTimer\enum,6,,"9s"
HKR,Ndi\params\AutoDetachTimer\enum,7,,"10s"

; Phy down Timer
;HKR,Ndi\params\PhyDownTimer,ParamDesc,,"PHY Power Down Timer"
;HKR,Ndi\params\PhyDownTimer,default,,"16"
;HKR,Ndi\params\PhyDownTimer,type,,"enum"
;HKR,Ndi\params\PhyDownTimer\enum,6,,"2s"
;HKR,Ndi\params\PhyDownTimer\enum,9,,"3s"
;HKR,Ndi\params\PhyDownTimer\enum,12,,"4s"
;HKR,Ndi\params\PhyDownTimer\enum,16,,"5s"
;HKR,Ndi\params\PhyDownTimer\enum,19,,"6s"
;HKR,Ndi\params\PhyDownTimer\enum,22,,"7s"
;HKR,Ndi\params\PhyDownTimer\enum,25,,"8s"
;HKR,Ndi\params\PhyDownTimer\enum,28,,"9s"
;HKR,Ndi\params\PhyDownTimer\enum,31,,"10s"

; USB 3.0 WOL
;HKR,Ndi\params\Usb30Wol,ParamDesc,,"USB 3.0 WoL"
;HKR,Ndi\params\Usb30Wol,default,,"0"
;HKR,Ndi\params\Usb30Wol,type,,"enum"
;HKR,Ndi\params\Usb30Wol\enum,0,,%Disabled%
;HKR,Ndi\params\Usb30Wol\enum,1,,%Enabled%

; Jumbo Packet
HKR,Ndi\params\JumboPacket,ParamDesc,,"JumboFrame"
HKR,Ndi\params\JumboPacket,default,,"0"
HKR,Ndi\params\JumboPacket,type,,"enum"
HKR,Ndi\params\JumboPacket\enum,0,,%Disabled%
HKR,Ndi\params\JumboPacket\enum,1,,"2048Bytes"
HKR,Ndi\params\JumboPacket\enum,2,,"4096Bytes"

;****************************************************************
; Install section for Windows NT 5
;****************************************************************
[AX88179.Reg]
; Interfaces
HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
HKR, Ndi,            Service,    0, "AX88179"
HKR, ,               Platform,	 0, "0"

[AX88179.Service]
DisplayName    = %AX88179.DisplayName%
ServiceType    = 1
StartType      = 3
ErrorControl   = 1
ServiceBinary  = %12%\ax88179_178a.sys
LoadOrderGroup = NDIS
AddReg         = TextModeFlags.Reg

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

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

[TextModeFlags.Reg]
HKR, , TextModeFlags, 0x00010001, 0x0001

[CopyFile.Sys]
ax88179_178a.sys,,,2

;****************************************************************
; WDF Coinstaller installation section
;****************************************************************
[AX88179.Ndi.CoInstallers]
AddReg=AX88179.CoInstaller.AddReg
CopyFiles=AX88179.CoInstaller.CopyFiles

[AX88179.CoInstaller.AddReg]
HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01009.dll,WdfCoInstaller"

[AX88179.CoInstaller.CopyFiles]
WdfCoInstaller01009.dll

[AX88179.Ndi.Wdf]
KmdfService = AX88179, AX88179.wdfsect

[AX88179.wdfsect]
KmdfLibraryVersion = 1.7

;**********************************************************************
; Destination directories
;**********************************************************************
[DestinationDirs]
CopyFile.Sys	= 12
AX88179.CoInstaller.CopyFiles = 11

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

[SourceDisksFiles]
ax88179_178a.sys=1,.,ax88179_178a.sys,10000
WdfCoInstaller01009.dll = 1

;**********************************************************************
; Localizable strings
;**********************************************************************
[Strings]
ASIX = "ASIX"
AX88179.DiskName = "AX88179/178A USB 3.0/2.0 to Gigabit Ethernet Driver Diskette"
AX88179.DeviceDesc = "ASIX AX88179 USB 3.0 to Gigabit Ethernet Adapter"
AX88178A.DeviceDesc = "ASIX AX88178A USB 2.0 to Gigabit Ethernet Adapter"
AX88179.DisplayName = "AX88179/178A USB 3.0/2.0 to Gigabit Ethernet Adapter"

SpeedDuplex            = "Speed & Duplex"
AutoNegotiation        = "Auto Negotiation"
10Half                 = "Force 10 Mbps Half Duplex"
10Full                 = "Force 10 Mbps Full Duplex"
100Half                = "Force 100 Mbps Half Duplex"
100Full                = "Force 100 Mbps Full Duplex"
1000Full               = "Force 1.0 Gbps Full Duplex"
Auto10Half             = "Auto 10 Mbps Half Duplex"
Auto10Full             = "Auto 10 Mbps Full Duplex"
Auto100Half            = "Auto 100 Mbps Half Duplex"
Auto100Full            = "Auto 100 Mbps Full Duplex"
Auto1000Full           = "Auto 1.0 Gbps Full Duplex"
NetworkAddress         = "NetworkAddress"
FlowControl            = "Flow Control"
Disabled               = "Disabled"
Enabled                = "Enabled"
TxEnabled              = "Tx Enabled"
RxEnabled              = "Rx Enabled"
TxRxEnabled            = "Rx & Tx Enabled"
WakeOnLinkChange       = "Wake on link change"
WakeOnMagicPacket      = "Wake on Magic Packet"
WakeOnPattern          = "Wake on pattern match"
WakeUpFrameType        = "Wake-Up Frame Type"
WindowsDefault         = "Windows Default"
PING                   = "PING"
ARP                    = "ARP"
PING-ARP               = "PING/ARP"
VLANID                 = "VLAN ID"
TCPChecksumOffloadV4   = "TCP Checksum Offload (IPv4)"
UDPChecksumOffloadV4   = "UDP Checksum Offload (IPv4)"
TCPChecksumOffloadV6   = "TCP Checksum Offload (IPv6)"
UDPChecksumOffloadV6   = "UDP Checksum Offload (IPv6)"
IPChecksumOffloadV4    = "IPv4 Checksum Offload"
LsoV1IPv4              = "Large Send Offload Version 1"
ARPOffload             = "ARP Offload"
NsOffload              = "NS Offload"
AutoDetach             = "AutoDetach"
UseEeprom              = "Use EEPROM Setting"
WolLinkSpeed           = "WOL Link Speed"
10mFirst               = "10 Mbps First"
MaskTimer              = "Mask WakeUp Event Timer"
0sec                   = "0 second"
4sec                   = "4 seconds"
8sec                   = "8 seconds"
12sec                  = "12 seconds"
16sec                  = "16 seconds"
20sec                  = "20 seconds"
24sec                  = "24 seconds"
28sec                  = "28 seconds"