使程序看到已编程为检测PCI的PCIe卡

时间:2017-11-13 17:57:56

标签: windows hardware pci pci-e

我有一个旧的硬件上的第三方专有软件,这个盒子还有一个插入特殊机器的PCI SCSI卡,该软件被编程为查看卡插入的PCI端口。我最近将盒子升级为HP elitedesk 800 G3塔。我购买了一个定制的SCSI到PCIe卡,因为它不再有PCI端口。我遇到的问题是该程序正在寻找PCI并且不会检测任何东西,因为没有PCI端口。我知道这可能需要一些独创性,但我想得到一些解决方法,因为我们已经花了很多钱来升级这些系统。我看到PCI到PCIe适配器,但不会解决任何问题。是否有软件可以给我一些虚拟PCI端口,我们可以"技巧"想要安装的软件并将PCIe指向它吗?我不知道这是否可能。这个软件的配置文件在下面,我不知道希腊是什么。也许有更多知识的人会有想法?

; ICS.INF
; Copyright (c) 1999

[Version]
Signature="$CHICAGO$"
Class="Data Acquisition"
Provider=%IO%

[DestinationDirs]
DefaultDestDir=11
ComPort.Copy=17

[Manufacturer]
%ACCES%=IOMAN

[IOMAN]
%PCICOM1S%=ComPort,PCI\VEN_494F&DEV_10C8
%PCICOM1Sa%=ComPort,PCI\VEN_494F&DEV_10C9
%PCICOM2321S%=ComPort,PCI\VEN_494F&DEV_1088
%PCICOM2S%=ComPort2,PCI\VEN_494F&DEV_10D0
%PCICOM2322S%=ComPort2,PCI\VEN_494F&DEV_1090
%PCIICM1S%=ComPort,PCI\VEN_494F&DEV_1148
%PCIICM4222%=ComPort2,PCI\VEN_494F&DEV_1150
%PCIICM4852%=ComPort2,PCI\VEN_494F&DEV_1151
%PCIICM4224%=ComPort4,PCI\VEN_494F&DEV_1158
%PCIICM4854%=ComPort4,PCI\VEN_494F&DEV_1159
%PCICOM4224%=ComPort4,PCI\VEN_494F&DEV_1058
%PCICOM4854%=ComPort4,PCI\VEN_494F&DEV_1059
%PCIDA1216%=InstallSect,PCI\VEN_494F&DEV_6CB0
%PCIDA128%=InstallSect,PCI\VEN_494F&DEV_6CA8
%PCIDA1216V%=InstallSect,PCI\VEN_494F&DEV_6CB1
%PCIDA128V%=InstallSect,PCI\VEN_494F&DEV_6CA9
%PCIDIO24H%=InstallSect,PCI\VEN_494F&DEV_0C50
%PCIDIO24D%=InstallSect,PCI\VEN_494F&DEV_0C51
%PCIDIO24HC%=InstallSect,PCI\VEN_494F&DEV_0E51
%PCIDIO24DC%=InstallSect,PCI\VEN_494F&DEV_0E52
%PCIDIO24S%=InstallSect,PCI\VEN_494F&DEV_0E50
%PCIDIO48%=InstallSect,PCI\VEN_494F&DEV_0C60
%PCIDIO48S%=InstallSect,PCI\VEN_494F&DEV_0E60
%PCIDIO72%=InstallSect,PCI\VEN_494F&DEV_0C68
%PCIDIO96%=InstallSect,PCI\VEN_494F&DEV_0C70
%PCIDIO120%=InstallSect,PCI\VEN_494F&DEV_0C78
%PCIWDGCSM%=InstallSect,PCI\VEN_494F&DEV_22C0
%PCIAI1216%=InstallSect,PCI\VEN_494F&DEV_ACA8
%PCIAI1216A%=InstallSect,PCI\VEN_494F&DEV_ACA9
%PCIIIRO8%=InstallSect,PCI\VEN_494F&DEV_0F00
%PCM485%=ComPort,PCMCIA\Industrial_Computer_Source-PCM485-A505
%PCM485%=ComPort,PCMCIA\Industrial_Computer_Source-PCM485-D2B0
%PCM485%=ComPort,PCMCIA\Industrial_Computer_Source-PCM485-B233
%PCM485%=ComPort,PCMCIA\Industrial_Computer_Source-PCM485-D2ED
%PCM485%=ComPort,PCMCIA\Industrial_Computer_Source-PCM485-7609
%PAD128%=InstallSect,PCMCIA\Industrial_Computer_Source-PAD128-4498
%PAD128%=InstallSect,PCMCIA\Industrial_Computer_Source-PAD128-74EE
%PIOD24%=InstallSect,PCMCIA\Industrial_Computer_Source-PIOD24-2705
%PIOD24%=InstallSect,PCMCIA\Industrial_Computer_Source-PIOD24-368B
%PIOD24%=InstallSect,PCMCIA\Industrial_Computer_Source-PIOD24-32B6
%PIOD24%=InstallSect,PCMCIA\Industrial_Computer_Source-PIOD24-8BDC
%MF\485PORTA%=ComPort,MF\485PORTA
%MF\485PORTB%=ComPort,MF\485PORTB
%MF\485PORTC%=ComPort,MF\485PORTC
%MF\485PORTD%=ComPort,MF\485PORTD

[InstallSect] 

[ComPort2]
AddReg=StandardMF.Reg

[ComPort4]
AddReg=StandardMF.Reg

[StandardMF.Reg]
HKR,,DevLoader,,*CONFIGMG
HKR,,Enumerator,,*CONFIGMG
HKR,,CMDrivFlags,01,03,00,00,00

[ComPort2.HW]
AddReg=ComPort2.RegHW

[ComPort4.HW]
AddReg=ComPort4.RegHW

[ComPort2.RegHW]
HKR,Child0000,HardwareID,,MF\485PORTA
HKR,Child0000,ResourceMap,1,00,03
HKR,Child0001,HardwareID,,MF\485PORTB
HKR,Child0001,ResourceMap,1,00,04

[ComPort4.RegHW]
HKR,Child0000,HardwareID,,MF\485PORTA
HKR,Child0000,ResourceMap,1,00,03
HKR,Child0001,HardwareID,,MF\485PORTB
HKR,Child0001,ResourceMap,1,00,04
HKR,Child0002,HardwareID,,MF\485PORTC
HKR,Child0002,ResourceMap,1,00,05
HKR,Child0003,HardwareID,,MF\485PORTD
HKR,Child0003,ResourceMap,1,00,06

[Ports.AddReg]
HKR,,NoSetupUI,,1

[ComPort]
CopyFiles=ComPort.Copy,VXD.Copy
AddReg=ComPort.AddReg
LogConfig=c14,c1a,c23,c2a,c34,c3a,c43,c4a,caa

[ComPort.Copy]
ics.inf

[VXD.Copy]

[ComPort.AddReg]
HKR,,DevLoader,,*vcomm
HKR,,Enumerator,,serenum.vxd
HKR,,PortDriver,,serial.vxd
HKR,,Contention,,*vcd
HKR,,ConfigDialog,,serialui.dll 
HKR,,DCB,3,1C,00,00,00, 80,25,00,00, 11,33,00,00, 00,00, 0a,00, 0a,00, 08,    00, 00, 11, 13, 00, 00, 00
HKR,,PortSubClass,1,01
HKR,,EnumPropPages,,"serialui.dll,EnumPropPages"

[*pnp0500.det]
AddReg=Ports.AddReg,DevMap.AddReg

; The following sections are COM port resource configs.
; Section name format means:
; Char 1 = c (COM port)
; Char 2 = I/O config: 1 (3f8), 2 (2f8), 3 (3e8), 4 (2e8), a (any)
; Char 3 = IRQ config: #, a (any)

[c14]                   ; COM1,IRQ4
ConfigPriority=HARDRECONFIG
IOConfig=3f8-3ff(3ff::)
IRQConfig=S:4

[c1a]                   ; COM1, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=3f8-3ff(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c23]                   ; COM2, IRQ3
ConfigPriority=HARDRECONFIG
IOConfig=2f8-2ff(3ff::)
IRQConfig=S:3

[c2a]                   ; COM2, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=2f8-2ff(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c34]                   ; COM3, IRQ4
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:4

[c3a]                   ; COM3, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=3e8-3ef(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[c43]                   ; COM4, IRQ3
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:3,5

[c4a]                   ; COM4, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=2e8-2ef(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

[caa]                   ; Any base, any IRQ
ConfigPriority=HARDRECONFIG
IOConfig=8@100-ffff%fff8(3ff::)
IRQConfig=S:3,4,5,7,9,10,11,12,14,15

; End COM port LogConfig sections

[ComPort.PosDup]
*PNP0500,*PNP0501

[ControlFlags]

[Strings]
IO="Industrial Computer Source"
PCICOM1S="Industrial Computer Source PCI-COM1S"
PCICOM1Sa="Industrial Computer Source PCI-COM-1S"
PCICOM2321S="Industrial Computer Source PCI-COM-232/1"
PCICOM2S="Industrial Computer Source PCI-COM-2S"
PCICOM2322S="Industrial Computer Source PCI-COM-232/2"
PCIICM1S="Industrial Computer Source PCI-ICM-1S"
PCIICM4222="Industrial Computer Source PCI-ICM422/2"
PCIICM4852="Industrial Computer Source PCI-ICM485/2"
PCIICM4224="Industrial Computer Source PCI-ICM422/4"
PCIICM4854="Industrial Computer Source PCI-ICM485/4"
PCICOM4224="Industrial Computer Source PCI-COM422/4"
PCICOM4854="Industrial Computer Source PCI-COM485/4"
PCIDA1216="Industrial Computer Source PCI-DA12-16"
PCIDA128="Industrial Computer Source PCI-DA12-8"
PCIDA1216V="Industrial Computer Source PCI-DA12-16V"
PCIDA128V="Industrial Computer Source PCI-DA12-8V"
PCIDIO24H="Industrial Computer Source PCI-DIO-24H"
PCIDIO24D="Industrial Computer Source PCI-DIO-24D"
PCIDIO24HC="Industrial Computer Source PCI-DIO-24H With Counter(s)"
PCIDIO24DC="Industrial Computer Source PCI-DIO-24D With Counter(s)"
PCIDIO24S="Industrial Computer Source PCI-DIO-24S"
PCIDIO48="Industrial Computer Source PCI-DIO-48"
PCIDIO48S="Industrial Computer Source PCI-DIO-48S"
PCIDIO72="Industrial Computer Source PCI-DIO-72"
PCIDIO96="Industrial Computer Source PCI-DIO-96"
PCIDIO120="Industrial Computer Source PCI-DIO-120"
PCIWDGCSM="Industrial Computer Source PCI-WDG-CSM"
PCIAI1216="Industrial Computer Source PCI-AI12-16"
PCIAI1216A="Industrial Computer Source PCI-AI12-16A"
PCIIIRO8="Industrial Computer Source PCI-IIRO-8"
PCM485="Industrial Computer Source PC CARD (PCMCIA) PCM485"
PAD128="Industrial Computer Source PC CARD (PCMCIA) PAD128"
PIOD24="Industrial Computer Source PC CARD (PCMCIA) PIOD24"
MF\485PORTA="COM Port A"
MF\485PORTB="COM Port B"
MF\485PORTC="COM Port C"
MF\485PORTD="COM Port D"

1 个答案:

答案 0 :(得分:0)

问题不在于PCI与PCIe。 PCI和PCIe看起来与软件完全相同。问题是该软件正在查找供应商ID /设备ID的特定列表之一,并且您的新SCSI卡具有不同的ID。

我不确定为什么你说PCIe到PCI桥不会解决任何问题;它会允许你插入旧的PCI卡,在我看来它可能会工作。 (当然,如果不尝试就不能确定。)

如果您想使用新卡,最好的办法是为新卡提供驱动程序,以提供旧软件所需的软件接口。根据旧软件的设计,这可能是也可能是不可能的。如果软件直接搜索硬件而不通过驱动程序,则需要修改软件才能使用新硬件。

最后,您要求的解决方案是使用虚拟机管理器(VMM)在虚拟机(VM)中运行旧软件,该虚拟机管理器提供与您的软件正在寻找的PCI设备匹配的虚拟设备。在不太可能的情况下,PCI设备是现有VMM支持的标准设备,这可能是最简单的解决方案。不幸的是,它更可能需要虚拟化专家来编写自定义软件,这将比以前更多的工作。建议。