;
; UMDF GNSS Sensor Driver
; Copyright (c) 2012-13 Smith Micro Software, Inc.
; Copyright (c) 2012-13 Intel Mobile Communications GmbH
;

[Version]
Signature   = "$Windows NT$"
Class       = Sensor
ClassGuid   = {5175D334-C371-4806-B3BA-71FD53C9258D}
Provider    = %ProviderName%
CatalogFile = GNSSDriver.Cat
DriverVer=09/16/2016,1.0.22.4

; =================== Manufacturer/Models sections =======================

[Manufacturer]
%FIH6260Mnf% = Intel,NTamd64
%FIH7160Mnf% = Ambit Microsystems,NTamd64

[Intel.NTamd64]
%FIH6260.DeviceDesc% = FIH6260.GNSSDriver_Install,USB\VID_1519&PID_F214&MI_02

[Ambit Microsystems.NTamd64]
%FIH7160.DeviceDesc% = FIH7160.GNSSDriver_Install,USB\VID_2CB7&PID_0002&MI_02

; =================== Sensors Service Driver  Device ==================================

[FIH6260.GNSSDriver_Install.NT]
CopyFiles       = UMDriverCopy
CopyFiles       = GNSSRadioManCopy
Include=WINUSB.INF                      ; Import sections from WINUSB.INF
Needs=WINUSB.NT                         ; Run the CopyFiles & AddReg directives for WinUsb.INF
AddReg=GNSSRadioMan_AddReg		; Adding Radio Manager registry

[FIH7160.GNSSDriver_Install.NT]
CopyFiles       = UMDriverCopy
CopyFiles       = GNSSRadioManCopy
Include=WINUSB.INF                      ; Import sections from WINUSB.INF
Needs=WINUSB.NT                         ; Run the CopyFiles & AddReg directives for WinUsb.INF
AddReg=GNSSRadioMan_AddReg		; Adding Radio Manager registry

[FIH6260.GNSSDriver_Install.NT.hw]
AddReg=WINUSBTransport_AddReg
AddReg=FIH6260.DriverHwProp_AddReg

[FIH7160.GNSSDriver_Install.NT.hw]
AddReg=WINUSBTransport_AddReg
AddReg=FIH7160.DriverHwProp_AddReg

[WINUSBTransport_AddReg]
HKR,,"LowerFilters",0x00010008,"WinUsb" ; FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND
HKR,,"WinUsbPowerPolicyOwnershipDisabled",0x00010001,1

[FIH6260.GNSSDriver_Install.NT.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall  ; flag 0x2 sets this as the service for the device
AddService=WinUsb,0x000001f8,WinUsb_ServiceInstall  ; this service is installed because its a filter.

[FIH7160.GNSSDriver_Install.NT.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall  ; flag 0x2 sets this as the service for the device
AddService=WinUsb,0x000001f8,WinUsb_ServiceInstall  ; this service is installed because its a filter.

[FIH6260.GNSSDriver_Install.NT.CoInstallers]
CopyFiles=CoInstallers_CopyFiles
AddReg=CoInstallers_AddReg

[FIH7160.GNSSDriver_Install.NT.CoInstallers]
CopyFiles=CoInstallers_CopyFiles
AddReg=CoInstallers_AddReg

[FIH6260.GNSSDriver_Install.NT.Wdf]
KmdfService=WINUSB, WinUsb_Install
UmdfDispatcher=WinUsb
UmdfService= GNSSDriver,UMDFGNSSDriver_Install
UmdfServiceOrder=GNSSDriver
UmdfImpersonationLevel=Impersonation

[FIH7160.GNSSDriver_Install.NT.Wdf]
KmdfService=WINUSB, WinUsb_Install
UmdfDispatcher=WinUsb
UmdfService= GNSSDriver,UMDFGNSSDriver_Install
UmdfServiceOrder=GNSSDriver
UmdfImpersonationLevel=Impersonation

[WinUsb_Install]
KmdfLibraryVersion=1.11

[FIH6260.DriverHwProp_AddReg]
HKR,,DevManufacturer,,%FIH6260Mnf%
HKR,,DevModel,,%FIH6260.DeviceModel%
HKR,,DevFriendlyName,,%FIH6260.DeviceFriendlyName%
HKR,,DevSerialNumber,,%FIH6260.DeviceSN%

[FIH7160.DriverHwProp_AddReg]
HKR,,DevManufacturer,,%FIH7160Mnf%
HKR,,DevModel,,%FIH7160.DeviceModel%
HKR,,DevFriendlyName,,%FIH7160.DeviceFriendlyName%
HKR,,DevSerialNumber,,%FIH7160.DeviceSN%

[GNSSRadioMan_AddReg]
HKCR,"CLSID\{552FD8ED-739A-447C-A280-709BF5F8087B}",,,"GNSS Radio Manager"
HKCR,"CLSID\{552FD8ED-739A-447C-A280-709BF5F8087B}\InProcServer32",,0x00020000,"%%SystemRoot%%\System32\GNSSRadioMan.dll"
HKCR,"CLSID\{552FD8ED-739A-447C-A280-709BF5F8087B}\InProcServer32","ThreadingModel",,"Both"
HKLM,"SYSTEM\CurrentControlSet\Control\RadioManagement\{552FD8ED-739A-447C-A280-709BF5F8087B}",,,"GNSS Radio Manager"


; =================== UMDF Service Install section ===================

[UMDFGNSSDriver_Install]
UmdfLibraryVersion      = 1.11.0
ServiceBinary           = %12%\UMDF\GNSSDriver.dll
DriverCLSID             = {ceeb6d87-3f96-4cc8-9f46-369939171dc7}

[WUDFRD_ServiceInstall]
DisplayName     = "Windows Driver Foundation - User-mode Driver Framework Reflector"
ServiceType     = 1
StartType       = 3
ErrorControl    = 1
ServiceBinary   = %12%\WUDFRd.sys
LoadOrderGroup  = Base

[WinUsb_ServiceInstall]
DisplayName = "WinUSB Driver"
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WinUSB.sys

[SourceDisksFiles]
GNSSDriver.dll  = 1
GNSSRadioMan.dll = 1
GNSSDriverSUPLInfo-DTD.xml = 1
[SourceDisksNames]
1 = %DiskId1%

[CoInstallers_CopyFiles]
; empty section still required

[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WudfCoinstaller.dll"

[DestinationDirs]
UMDriverCopy            = 12,UMDF
GNSSRadioManCopy        = 11

[UMDriverCopy]
GNSSDriver.dll
GNSSDriverSUPLInfo-DTD.xml
[GNSSRadioManCopy]
GNSSRadioMan.dll


; =================== Generic ==================================

[Strings]
; When branding, rename these strings only
ProviderName                = "Fibocom Wireless Inc"
FIH6260Mnf                  = "Intel"
FIH7160Mnf                  = "Fibocom Wireless Inc"
FIH6260.DeviceModel         = "FIH6260"
FIH7160.DeviceModel         = "NF2"
FIH6260.DeviceFriendlyName  = "Intel GNSS Sensor"
FIH7160.DeviceFriendlyName  = "Fibocom L831-EAU GNSS Sensor"
FIH6260.DeviceSN            = "{ACDDFDCC-078D-4C3B-A61E-097E5B62C48C}"
FIH7160.DeviceSN            = "{ACDDFDCC-078D-4C3B-A61E-097E5B62C48C}"
FIH6260.DeviceDesc          = "Intel GNSS Sensor"
FIH7160.DeviceDesc          = "Fibocom L831-EAU GNSS Sensor"
DiskId1                     = "Fibocom L831-EAU GNSS Driver Installation Media"
