; Copyright (c) 2010-2014 Huawei Incorporated
; Manufacturer: Huawei Incorporated
; 
;
; HUAWEI Technologies CO.,LTD huawei_cdcacm Virtual Serial Port
;

[Version]
Signature="$WINDOWS NT$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%Mfg%
DriverVer=07/08/2014,2.6.2.3159
CatalogFile=mod_jucdcacm.cat

; ================= Device Install section =====================

[ControlFlags]
ExcludeFromSelect=*

[Manufacturer]
%Mfg%=DeviceList,NTx86,NTamd64

[SourceDisksFiles]
mod_jucdcacm.sys=1

[SourceDisksNames]
; diskid = disk-description[,[tag-or-cab-file],[unused,path][,flags]]
1=%Disk_Description%,

[DestinationDirs]
DefaultDestDir=12

; Windows 2000
[DeviceList]

%DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_03
%PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_02
%GPSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_05
%ControlDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_06	
%BTDeviceDesc%   = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_0A
%FingerPintDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_0B
%PCVoiceDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_0E
%3GPCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_12
%3GDIAGDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_13
%3GGPSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_14
%3GPCVoiceDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_15

%HWShellADeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_18
%HWShellBDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_19
%HWSerialADeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_1A
%HWSerialBDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_1B
%HWSerialCDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_1C

%New3GPCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_62
%New3GDIAGDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_63
%New3GGPSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_65
%New3GPCVoiceDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_6E
%NewBTDeviceDesc%   = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_6A
%NewFingerPintDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_6B
%NewControlDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_66


%ShellADeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_78
%ShellBDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_79
%SerialADeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_7A
%SerialBDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_7B
%SerialCDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_7C

%HP931DDIAGDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_03
%HP931DPCUIDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_02
%HP931DGNSSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_05
%HP931DPCUIDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_12
%HP931DDIAGDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_13
%HP931DGNSSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_14

%HP4114DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_03
%HP4114PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_02
%HP4114GNSSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_05
%HP4114PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_12
%HP4114DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_13
%HP4114GNSSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_14

%DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_15E5&MI_02
%PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_15E5&MI_01
; Windows XP and later
[DeviceList.NTx86]

%DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_03
%PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_02
%GPSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_05
%ControlDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_06	
%BTDeviceDesc%   = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_0A
%FingerPintDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_0B
%PCVoiceDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_0E
%3GPCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_12
%3GDIAGDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_13
%3GGPSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_14
%3GPCVoiceDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_15

%HWShellADeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_18
%HWShellBDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_19
%HWSerialADeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_1A
%HWSerialBDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_1B
%HWSerialCDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_1C

%New3GPCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_62
%New3GDIAGDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_63
%New3GGPSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_65
%New3GPCVoiceDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_6E
%NewBTDeviceDesc%   = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_6A
%NewFingerPintDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_6B
%NewControlDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_66

%ShellADeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_78
%ShellBDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_79
%SerialADeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_7A
%SerialBDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_7B
%SerialCDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_7C


%HP931DDIAGDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_03
%HP931DPCUIDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_02
%HP931DGNSSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_05
%HP931DPCUIDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_12
%HP931DDIAGDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_13
%HP931DGNSSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_14

%HP4114DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_03
%HP4114PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_02
%HP4114GNSSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_05
%HP4114PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_12
%HP4114DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_13
%HP4114GNSSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_14

%DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_15E5&MI_02
%PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_15E5&MI_01

; For XP and later x64
[DeviceList.NTamd64]

%DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_03
%PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_02
%GPSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_05
%ControlDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_06	
%BTDeviceDesc%   = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_0A
%FingerPintDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_0B
%PCVoiceDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_0E
%3GPCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_12
%3GDIAGDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_13
%3GGPSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_14
%3GPCVoiceDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_15

%HWShellADeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_18
%HWShellBDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_19
%HWSerialADeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_1A
%HWSerialBDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_1B
%HWSerialCDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_1C

%New3GPCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_62
%New3GDIAGDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_63
%New3GGPSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_65
%New3GPCVoiceDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_6E
%NewBTDeviceDesc%   = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_6A
%NewFingerPintDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_6B
%NewControlDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_66

%ShellADeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_78
%ShellBDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_79
%SerialADeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_7A
%SerialBDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_7B
%SerialCDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&Subclass_05&Prot_7C

%HP931DDIAGDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_03
%HP931DPCUIDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_02
%HP931DGNSSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_05
%HP931DPCUIDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_12
%HP931DDIAGDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_13
%HP931DGNSSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_03F0&PID_931D&Subclass_05&Prot_14

%HP4114DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_03
%HP4114PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_02
%HP4114GNSSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_05
%HP4114PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_12
%HP4114DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_13
%HP4114GNSSDeviceDesc% = GPS_DevInstall, USBCDCACM\VID_03F0&PID_9A1D&Subclass_05&Prot_14

%DIAGDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_15E5&MI_02
%PCUIDeviceDesc% = DevInstall, USBCDCACM\VID_12D1&PID_15E5&MI_01

[DevInstall.NT]
CopyFiles = DevInstall_CopyFiles
AddReg = DevInstall_AddReg

[GPS_DevInstall.NT]
CopyFiles = DevInstall_CopyFiles
AddReg = DevInstall_AddReg, GPS_Identify_AddReg

[DevInstall_CopyFiles]
mod_jucdcacm.sys,,,0x6    ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK

[DevInstall.NT.Services]
AddService = %ServiceName%, 0x00000002, DevInstall_AddService 

[GPS_DevInstall.NT.Services]
AddService = %ServiceName%, 0x00000002, DevInstall_AddService 

[DevInstall_AddService]
ServiceType   = 1                  ; SERVICE_KERNEL_DRIVER
StartType     = 3                  ; SERVICE_DEMAND_START
ErrorControl  = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\mod_jucdcacm.sys
Addreg = DevInstall_AddService_Addreg

[DevInstall_AddService_Addreg]
HKR, Parameters, DebugLevel, 0x00010001, 1
HKR, Parameters, DebugPrintCom, 0x00010001, 0
HKR, Parameters, RxCharCtrl, 0x00010001, 1

[DevInstall.NT.HW]
AddReg = DevInstall_NT_HW_AddReg

[GPS_DevInstall.NT.HW]
AddReg = DevInstall_NT_HW_AddReg

[DevInstall_NT_HW_AddReg]
HKR,,"DataInPacketsPerXfer",0x00010001,0x8 ; USB packets per single IN request
HKR,,"DataInBuffers",0x00010001,0x80 ; Number of USB IN requests to be buffered
HKR,,"MsCommFixEnabled",0x00010001,0x01 ;


;-------------- Add standard properties page (displayed in Device Manager)
[DevInstall_AddReg]
HKR,,PortSubClass,1,01 ; "01" stands for serial port
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"

[GPS_Identify_AddReg]
HKR,,PortIdentify,,HWGPS

;
;-------------- WDF Coinstaller installation
;
[DestinationDirs]
CoInstaller_CopyFiles = 11

[DevInstall.NT.CoInstallers]
AddReg=CoInstaller_AddReg
CopyFiles=CoInstaller_CopyFiles

[CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "wdfcoinstaller01007.dll,WdfCoInstaller"

[CoInstaller_CopyFiles]
wdfcoinstaller01007.dll

[SourceDisksFiles]
wdfcoinstaller01007.dll=1 ; make sure the number matches with SourceDisksNames

[DevInstall.NT.Wdf]
KmdfService = %ServiceName%, DevInstall_wdfsect

[DevInstall_wdfsect]
KmdfLibraryVersion = 1.7

[Strings]
HWShellADeviceDesc = "HUAWEI Mobile Broadband - ShellA"
HWShellBDeviceDesc = "HUAWEI Mobile Broadband - ShellB"
HWSerialADeviceDesc = "HUAWEI Mobile Broadband - SerialA"
HWSerialBDeviceDesc = "HUAWEI Mobile Broadband - SerialB"
HWSerialCDeviceDesc = "HUAWEI Mobile Broadband - SerialC"

ShellADeviceDesc = "Mobile Broadband - ShellA"
ShellBDeviceDesc = "Mobile Broadband - ShellB"
SerialADeviceDesc = "Mobile Broadband - SerialA"
SerialBDeviceDesc = "Mobile Broadband - SerialB"
SerialCDeviceDesc = "Mobile Broadband - SerialC"

DIAGDeviceDesc = "HUAWEI Mobile Connect - 3G Application Interface"
PCUIDeviceDesc = "HUAWEI Mobile Connect - 3G PC UI Interface"
PCVoiceDeviceDesc = "HUAWEI Mobile Connect - 3G PC Voice Interface"
GPSDeviceDesc = "HUAWEI Mobile Connect - 3G GPS Interface"

3GDIAGDeviceDesc = "HUAWEI Mobile Connect - Application Interface"
3GPCUIDeviceDesc = "HUAWEI Mobile Connect - PC UI Interface"
3GPCVoiceDeviceDesc = "HUAWEI Mobile Connect - PC Voice Interface"
3GGPSDeviceDesc = "HUAWEI Mobile Connect - GPS Interface"


NewDIAGDeviceDesc = "Mobile Connect - 3G Application Interface"
NewPCUIDeviceDesc = "Mobile Connect - 3G PC UI Interface"
NewPCVoiceDeviceDesc = "Mobile Connect - 3G PC Voice Interface"
NewGPSDeviceDesc = "Mobile Connect - 3G GPS Interface"
New3GDIAGDeviceDesc = "Mobile Connect - Application Interface"
New3GPCUIDeviceDesc = "Mobile Connect - PC UI Interface"
New3GPCVoiceDeviceDesc = "Mobile Connect - PC Voice Interface"
New3GGPSDeviceDesc = "Mobile Connect - GPS Interface"

FingerPintDesc = "HUAWEI Mobile Connect - Fingerprint Interface"
BTDeviceDesc = "HUAWEI Mobile Connect - Bluetooth Interface"
ControlDeviceDesc = "HUAWEI Mobile Connect - Control Interface"

NewFingerPintDesc = "Mobile Connect - Fingerprint Interface"
NewBTDeviceDesc = "Mobile Connect - Bluetooth Interface"
NewControlDeviceDesc = "Mobile Connect - Control Interface"

TDPCUIDeviceDesc = "HUAWEI Mobile CMCC AT Interface"
TDDIAGDeviceDesc = "HUAWEI Mobile CMCC Debug Interface"
HP931DPCUIDeviceDesc = "HP lt4110 LTE/HSPA+ 4G Module PC UI"
HP931DDIAGDeviceDesc = "HP lt4110 LTE/HSPA+ 4G Module Application"
HP931DGNSSDeviceDesc = "HP lt4110 LTE/HSPA+ 4G Module NMEA"

HP4114PCUIDeviceDesc = "HP lt4114 LTE 4G Module PC UI"
HP4114DIAGDeviceDesc = "HP lt4114 LTE 4G Module Application"
HP4114GNSSDeviceDesc = "HP lt4114 LTE 4G Module NMEA"

Mfg = "HUAWEI Technologies CO.,LTD"
Disk_Description = "Module Driver Installation Disk"
ServiceName = "mod_cdcacm"

