Topic: DriverPack Graphics B-"super-generic" Matrox Extio PCI-PCI bridge installs on ATI/nV HW
I've noted that the "Matrox Extio PCI Standard PCI-to-PCI Bridge" driver installs on ATI/nVidia (maybe others) chipset-driven boards. This supplants the default XP driver "Standard PCI-to-PCI bridge" and installs the file "MxEFUF32.sys" (MxEFUF32.sys v8.15.1.690, along with PCI.sys from machine.inf) from MxEFF.inf (D/G/M). I think that i've spotted the offending lines in the MxEFF.inf file.
MxEFF.inf:
; Copyright (C) 1995-2010 Matrox Graphics Inc.
[Version]
Signature = "$Windows NT$"
DriverVer=10/27/2010, 1.3.4.61
Class = System
ClassGuid = {4D36E97D-E325-11CE-BFC1-08002BE10318}
Provider = %MxEFF.InfCreatorName%
CatalogFile.ntx86 = MxEFF.cat
CatalogFile.ntamd64 = MxEFF64.cat
[SourceDisksNames]
[SourceDisksNames.x86]
1 = %MxEFF.SourceDiskName%,MSerX.cab
[SourceDisksNames.amd64]
1 = %MxEFF.SourceDiskName%,MSerX64.cab
[SourceDisksFiles.AMD64]
MxEFUF64.sys = 1
MxEFLF64.sys = 1
[SourceDisksFiles.X86]
MxEFUF32.sys = 1
MxEFLF32.sys = 1
[SourceDisksFiles]
;%MxEFF.This.Inf.File% = 1
[DestinationDirs]
DefaultDestDir = 12 ; %SystemRoot%\system32\drivers
MxEFUF.InstallInfo.KernelDrivers.NTAMD64.CopyFiles = 12 ; %SystemRoot%\system32\drivers
MxEFUF.InstallInfo.KernelDrivers.NTX86.CopyFiles = 12 ; %SystemRoot%\system32\drivers
MxEFLF.InstallInfo.KernelDrivers.NTAMD64.CopyFiles = 12 ; %SystemRoot%\system32\drivers
MxEFLF.InstallInfo.KernelDrivers.NTX86.CopyFiles = 12 ; %SystemRoot%\system32\drivers
;MxEFF.InstallInfo.SystemDlls.NT.CopyFiles = 11 ; %SystemRoot%\system32
;MxEFF.InstallInfo.Infs.CopyFiles = 17 ; %Windir%\INF
;MxEFF.InstallInfo.CopyFiles = 11 ; %SystemRoot%\system32
;MxEFF.InstallInfo.SysWOW64.CopyFiles = 10, SysWOW64 ; %SystemRoot%\SysWOW64
... edit
[MxEFF.DeviceModelsList.NTX86.5.1]
%MxEFF.PlxPex8508.Description% = MxEBIF.InstallInfo.NTX86.5.1, %MxEFF.PlxPex8508.HardwareId%
%MxEFF.PlxMtx0002.Description% = MxEBIF.InstallInfo.NTX86.5.1, %MxEFF.PlxMtx0002.HardwareId%
%MxEFF.PlxPex8608.Description% = MxEBIF.InstallInfo.NTX86.5.1, %MxEFF.PlxPex8608.HardwareId%
%MxEFF.PlxPex8609.Description% = MxEBIF.InstallInfo.NTX86.5.1, %MxEFF.PlxPex8609.HardwareId%
%MxEFF.PlxPex8614.Description% = MxEBIF.InstallInfo.NTX86.5.1, %MxEFF.PlxPex8614.HardwareId%
%MxEFF.TiXio2000.Description% = MxEBF.InstallInfo.NTX86.5.1, %MxEFF.TiXio2000.HardwareId%
%MxEFF.TiXio2001.Description% = MxEBF.InstallInfo.NTX86.5.1, %MxEFF.TiXio2001.HardwareId%
%MxEFF.Ti823E.Description% = MxEBF.InstallInfo.NTX86.5.1, %MxEFF.Ti823E.HardwareId%
[b][i][u]%MxEFF.StdP2PB.Description% = MxEBF.InstallInfo.NTX86.5.1, %MxEFF.StdP2PB.HardwareId%[/u][/i][/b]
%MxEFF.Nec0035.Description% = MxEOF.InstallInfo.NTX86.5.1, %MxEFF.Nec0035.102B.HardwareId%
%MxEFF.Nec0035.Description% = MxEOF.InstallInfo.NTX86.5.1, %MxEFF.Nec0035.1033.HardwareId%
%MxEFF.Uli5237.Description% = MxEOF.InstallInfo.NTX86.5.1, %MxEFF.Uli5237.HardwareId%
%MxEFF.Nec00E0.Description% = MxEEF.InstallInfo.NTX86.5.1, %MxEFF.Nec00E0.102B.HardwareId%
%MxEFF.Nec00E0.Description% = MxEEF.InstallInfo.NTX86.5.1, %MxEFF.Nec00E0.1033.HardwareId%
%MxEFF.Uli5239.Description% = MxEEF.InstallInfo.NTX86.5.1, %MxEFF.Uli5239.HardwareId%
%MxEFF.Ti823F.Description% = MxEWF.InstallInfo.NTX86.5.1, %MxEFF.Ti823F.HardwareId%
%MxEFF.Uli5253.Description% = MxEWF.InstallInfo.NTX86.5.1, %MxEFF.Uli5253.HardwareId%
%MxEFF.RH.Description% = MxERHF.InstallInfo.NTX86.5.1, %MxEFF.RHNec0035.HardwareId%
%MxEFF.RH.Description% = MxERHF.InstallInfo.NTX86.5.1, %MxEFF.RHUli5237.HardwareId%
%MxEFF.RH.Description% = MxERHF.InstallInfo.NTX86.5.1, %MxEFF.RHNec00E0.HardwareId%
%MxEFF.RH.Description% = MxERHF.InstallInfo.NTX86.5.1, %MxEFF.RHUli5239.HardwareId%
%MxEFF.CMUSD0102.Description% = MxEUSF.InstallInfo.NTX86.5.1, %MxEFF.CMUSD0102.HardwareId%
%MxEFF.CMUCD0102.Description% = MxEUCF.InstallInfo.NTX86.5.1, %MxEFF.CMUCD0102.HardwareId%
;%MxEFF.MCT0055.Description% = MxEUKF.InstallInfo.NTX86.5.1, %MxEFF.MCT0055.HardwareId%
... edit
[MxEBF.InstallInfo.NTAMD64.5.1]
CopyFiles = MxEFUF.InstallInfo.KernelDrivers.NTAMD64.CopyFiles
; MxEFF.InstallInfo.SystemDlls.NT.CopyFiles, \
; MxEFF.InstallInfo.Infs.CopyFiles, \
; MxEFF.InstallInfo.CopyFiles
Include = machine.inf
Needs = PCI_DRV
[MxEBF.InstallInfo.NTX86.5.1]
CopyFiles = MxEFUF.InstallInfo.KernelDrivers.NTX86.CopyFiles
; MxEFF.InstallInfo.SystemDlls.NT.CopyFiles, \
; MxEFF.InstallInfo.Infs.CopyFiles, \
; MxEFF.InstallInfo.CopyFiles
Include = machine.inf
Needs = PCI_DRV
[MxEBF.InstallInfo.NTAMD64]
[MxEBF.InstallInfo.NTX86]
[MxEBF.InstallInfo.NT]
[MxEBF.InstallInfo]
[MxEBIF.InstallInfo.NTAMD64.5.1]
CopyFiles = MxEFUF.InstallInfo.KernelDrivers.NTAMD64.CopyFiles
; MxEFF.InstallInfo.SystemDlls.NT.CopyFiles, \
; MxEFF.InstallInfo.Infs.CopyFiles, \
; MxEFF.InstallInfo.CopyFiles
Include = machine.inf
Needs = PCI_DRV
... edit
[MxEBF.InstallInfo.NTAMD64.5.1.Services]
AddService = %MxEFUF.RegistryServiceName%, %ADDSERVICEFLAG_FILTER_DRIVER%, MxEFUF.InstallInfo.NTAMD64.AddService
Include = machine.inf
Needs = PCI_DRV.Services
[MxEBF.InstallInfo.NTX86.5.1.Services]
AddService = %MxEFUF.RegistryServiceName%, %ADDSERVICEFLAG_FILTER_DRIVER%, MxEFUF.InstallInfo.NTX86.AddService
Include = machine.inf
Needs = PCI_DRV.Services
; [MxEBF.InstallInfo.Services]
... edit
[MxEBF.InstallInfo.NTAMD64.5.1.HW]
AddReg = MxEFF.InstallInfo.UpperFilter.NT.HW.AddReg
Include = machine.inf
Needs = PCI_DRV.HW
[MxEBF.InstallInfo.NTX86.5.1.HW]
AddReg = MxEFF.InstallInfo.UpperFilter.NT.HW.AddReg
Include = machine.inf
Needs = PCI_DRV.HW
; [MxEBF.InstallInfo.HW]
... edit
[MxEFUF.InstallInfo.KernelDrivers.NTAMD64.CopyFiles]
MxEFUF64.sys,,,0x00000004
[MxEFUF.InstallInfo.KernelDrivers.NTX86.CopyFiles]
MxEFUF32.sys,,,0x00000004
... edit
[MxEFUF.InstallInfo.NTAMD64.AddService]
DisplayName = %MxEFUF.RegistryServiceDescription%
ServiceType = %SERVICE_KERNEL_DRIVER%
StartType = %SERVICE_DEMAND_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\MxEFUF64.sys
[MxEFUF.InstallInfo.NTX86.AddService]
DisplayName = %MxEFUF.RegistryServiceDescription%
ServiceType = %SERVICE_KERNEL_DRIVER%
StartType = %SERVICE_DEMAND_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\MxEFUF32.sys
... edit
;[MxEFF.InstallInfo.NTAMD64.HW.AddReg]
;[MxEFF.InstallInfo.NTX86.HW.AddReg]
;[MxEFF.InstallInfo.NT.HW.AddReg]
[MxEFF.InstallInfo.UpperFilter.NT.HW.AddReg]
HKR,, "UpperFilters", %FLG_ADDREG_TYPE_APPEND_MULTI_SZ%, %MxEFUF.RegistryServiceName%
[MxEFF.InstallInfo.LowerFilter.NT.HW.AddReg]
HKR,, "LowerFilters", %FLG_ADDREG_TYPE_APPEND_MULTI_SZ%, %MxEFLF.RegistryServiceName%
[MxEFF.InstallInfo.InterruptManagement.NT.HW.AddReg]
HKR, "Interrupt Management",, %FLG_ADDREG_KEYONLY%
HKR, "Interrupt Management\MessageSignaledInterruptProperties",, %FLG_ADDREG_KEYONLY%
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MSISupported, %FLG_ADDREG_TYPE_DWORD%, 1
;Needed for the installation by the setup
[InstallInfo.UpperFilter.SupportedDevices]
*
[InstallInfo.UpperFilter.External.SupportedDevices]
%MxEFF.CMUSD0102.HardwareId%
%MxEFF.CMUCD0102.HardwareId%
[InstallInfo.UpperFilter.NTAMD64]
CopyFiles = MxEFUF.InstallInfo.KernelDrivers.NTAMD64.CopyFiles
AddReg = MxEFF.InstallInfo.UpperFilter.NT.HW.AddReg
[InstallInfo.UpperFilter.NTX86]
CopyFiles = MxEFUF.InstallInfo.KernelDrivers.NTX86.CopyFiles
AddReg = MxEFF.InstallInfo.UpperFilter.NT.HW.AddReg
[InstallInfo.UpperFilter.NTAMD64.Services]
AddService = %MxEFUF.RegistryServiceName%, %ADDSERVICEFLAG_FILTER_DRIVER%, MxEFUF.InstallInfo.NTAMD64.AddService
[InstallInfo.UpperFilter.NTX86.Services]
AddService = %MxEFUF.RegistryServiceName%, %ADDSERVICEFLAG_FILTER_DRIVER%, MxEFUF.InstallInfo.NTX86.AddService
[InstallInfo.LowerFilter.SupportedDevices]
%MxEFF.RHNec0035.HardwareId%
%MxEFF.RHUli5237.HardwareId%
%MxEFF.RHNec00E0.HardwareId%
%MxEFF.RHUli5239.HardwareId%
... edit
; Needed for the Uninstaller
[UnInstallInfo.UpperFilter.ServiceName]
%MxEFUF.RegistryServiceName%
[UnInstallInfo.UpperFilter.Registry.Full]
DelReg = DelReg.UpperFilter.Full
[UnInstallInfo.UpperFilter.Registry.Partial]
DelReg = DelReg.UpperFilter.Partial
[DelReg.UpperFilter.Full]
HKR,, "UpperFilters"
[DelReg.UpperFilter.Partial]
HKR,, "UpperFilters", %FLG_DELREG_MULTI_SZ_DELSTRING%, %MxEFUF.RegistryServiceName%
[UnInstallInfo.LowerFilter.ServiceName]
%MxEFLF.RegistryServiceName%
[UnInstallInfo.LowerFilter.Registry.Full]
DelReg = DelReg.LowerFilter.Full
[UnInstallInfo.LowerFilter.Registry.Partial]
DelReg = DelReg.LowerFilter.Partial
[DelReg.LowerFilter.Full]
HKR,, "LowerFilters"
[DelReg.LowerFilter.Partial]
HKR,, "LowerFilters", %FLG_DELREG_MULTI_SZ_DELSTRING%, %MxEFLF.RegistryServiceName%
[Strings]
MxEFF.InfCreatorName = "Matrox Graphics Inc."
MxEFF.DeviceManufacturerName = "Matrox Graphics Inc."
MxEFF.SourceDiskName = "Matrox Extio Function Filter Driver Disk"
MxEFUF.RegistryServiceName = "MxEFUF"
MxEFUF.RegistryServiceDescription = "Matrox Extio Upper Function Filter"
MxEFLF.RegistryServiceName = "MxEFLF"
MxEFLF.RegistryServiceDescription = "Matrox Extio Lower Function Filter"
;MxEFF.This.Inf.File = "MxEFF.inf"
MxEFF.PlxPex8508.Description = "Matrox Extio PLX PEX8508 PCI Express Switch"
MxEFF.PlxPex8508.HardwareId = "PCI\VEN_10B5&DEV_8508&CC_060400"
MxEFF.PlxMtx0002.Description = "Matrox Extio PLX PEX8508 PCI Express Switch"
MxEFF.PlxMtx0002.HardwareId = "PCI\VEN_102B&DEV_0002&CC_060400"
MxEFF.PlxPex8608.Description = "Matrox Extio PLX PEX8608 PCI Express Switch"
MxEFF.PlxPex8608.HardwareId = "PCI\VEN_10B5&DEV_8608&CC_060400"
MxEFF.PlxPex8609.Description = "Matrox Extio PLX PEX8609 PCI Express Switch"
MxEFF.PlxPex8609.HardwareId = "PCI\VEN_10B5&DEV_8609&CC_060400"
MxEFF.PlxPex8614.Description = "Matrox Extio PLX PEX8614 PCI Express Switch"
MxEFF.PlxPex8614.HardwareId = "PCI\VEN_10B5&DEV_8614&CC_060400"
MxEFF.TiXio2000.Description = "Matrox Extio TI XIO2000 PCI Express To PCI Bridge"
MxEFF.TiXio2000.HardwareId = "PCI\VEN_104C&DEV_8231&CC_060400"
MxEFF.TiXio2001.Description = "Matrox Extio TI XIO2001 PCI Express To PCI Bridge"
MxEFF.TiXio2001.HardwareId = "PCI\VEN_104C&DEV_8240&CC_060400"
MxEFF.Ti823E.Description = "Matrox Extio TI 823E PCI Express To PCI Bridge"
MxEFF.Ti823E.HardwareId = "PCI\VEN_104C&DEV_823E&SUBSYS_0010102B"
[b][i][u]MxEFF.StdP2PB.Description = "Matrox Extio PCI Standard PCI-to-PCI Bridge"
MxEFF.StdP2PB.HardwareId = "PCI\CC_0604"[/u][/i][/b]
MxEFF.Nec0035.Description = "Matrox Extio NEC PCI to USB Open Host Controller"
MxEFF.Nec0035.102B.HardwareId = "PCI\VEN_1033&DEV_0035&SUBSYS_0035102B"
MxEFF.Nec0035.1033.HardwareId = "PCI\VEN_1033&DEV_0035&SUBSYS_00351033" ; "PCI\VEN_1033&DEV_0035&CC_0C0310"
MxEFF.Uli5237.Description = "Matrox Extio ULi PCI to USB Open Host Controller"
MxEFF.Uli5237.HardwareId = "PCI\VEN_10B9&DEV_5237&CC_0C0310"
MxEFF.Nec00E0.Description = "Matrox Extio NEC PCI to USB Enhanced Host Controller"
MxEFF.Nec00E0.102B.HardwareId = "PCI\VEN_1033&DEV_00E0&SUBSYS_00E0102B"
MxEFF.Nec00E0.1033.HardwareId = "PCI\VEN_1033&DEV_00E0&SUBSYS_00E01033" ; "PCI\VEN_1033&DEV_00E0&CC_0C0320"
MxEFF.Uli5239.Description = "Matrox Extio ULi PCI to USB Enhanced Host Controller"
MxEFF.Uli5239.HardwareId = "PCI\VEN_10B9&DEV_5239&CC_0C0320"
MxEFF.Ti823F.Description = "Matrox Extio TI OHCI IEEE 1394 Host Controller"
MxEFF.Ti823F.HardwareId = "PCI\VEN_104C&DEV_823F&SUBSYS_0010102B" ; "PCI\VEN_104C&DEV_823F&CC_0C0010"
MxEFF.Uli5253.Description = "Matrox Extio ULi OHCI IEEE 1394 Host Controller"
MxEFF.Uli5253.HardwareId = "PCI\VEN_10B9&DEV_5253&CC_0C0010"
MxEFF.RH.Description = "Matrox Extio USB Root Hub"
MxEFF.RHNec0035.HardwareId = "USB\ROOT_HUB&VID1033&PID0035"
MxEFF.RHUli5237.HardwareId = "USB\ROOT_HUB&VID10B9&PID5237"
MxEFF.RHNec00E0.HardwareId = "USB\ROOT_HUB20&VID1033&PID00E0"
MxEFF.RHUli5239.HardwareId = "USB\ROOT_HUB20&VID10B9&PID5239"
MxEFF.CMUSD0102.Description = "Matrox Extio USB Sound Device"
MxEFF.CMUSD0102.HardwareId = "USB\VID_0D8C&PID_0102&MI_00"
MxEFF.CMUCD0102.Description = "Matrox Extio USB Composite Device"
MxEFF.CMUCD0102.HardwareId = "USB\VID_0D8C&PID_0102"
... edit
My HWIDs for that particular device are:
PCI\VEN_1002&DEV_4342&SUBSYS_00000000&REV_00
PCI\VEN_1002&DEV_4342&SUBSYS_00000000
PCI\VEN_1002&DEV_4342&REV_00
PCI\VEN_1002&DEV_4342
PCI\VEN_1002&DEV_4342&CC_060401
PCI\VEN_1002&DEV_4342&CC_0604
The following inferred line seems too vague.
Matrox Extio PCI Standard PCI-to-PCI Bridge = MxEBF.InstallInfo.NTX86.5.1, PCI\CC_0604
When I uninstall the driver (& OEMxx.inf file from C:\Windows\Inf) most devices attached to the SouthBridge are re-detected & re-installed. I was able to verify that it was indeed HW attatched to the SB with a System-Block-Diagram from a service manual.
I have no data as of yet as to whether this causes any stability or performance issues. Just thought someone should make mention, just in case. Perhaps this would present an opportunity to segregate the Matrox drivers that are related to this driver, should it prove to be more than an annoyance or to prevent it's installation on any other non-Matrox hardware.
This behaviour has been previously noted, yet went mostly unnoticed.
here --> http://forum.driverpacks.net/viewtopic. … 229#p42229
here --> http://forum.driverpacks.net/viewtopic. … 408#p42408
here --> http://forum.driverpacks.net/viewtopic. … 755#p45755
& here --> http://forum.driverpacks.net/viewtopic. … 028#p46028
Last edited by TechDud (2012-02-09 09:11:55)
MemTest86+ Video Memory Stress Test D-P-C Driver Latency Tester (Win7-max)