0

I have a 3rd party propriety software that was on some old hardware, this box also had a PCI SCSI card that plugged into a special machine, this software is programmed to look at a PCI port that the card is plugged into. i recently upgraded the box to an HP elitedesk 800 G3 tower. i purchased a custom SCSI to PCIe card to put into it as it no longer has PCI ports. the problem im running into is that the program is looking for PCI and wont detect anything because there is no PCI port. i know this may take some ingeniuity but i would like to get some work around as we already spent alot of money upgrading these systems. i seen PCI to PCIe adapters but that wont solve anything. is there software out that that will give me some sort of virtual PCI port that we can "trick" the software to think is installed and point the PCIe to it? i dont know if this is even possible or not. the config file for this software is below and i have no idea what all that greek is. maybe someone with more knowledge will have an idea?

; 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"
Giovanni
  • 3
  • 4

1 Answers1

0

The problem isn't with PCI vs. PCIe. PCI and PCIe look pretty much the same to software. The problem is that the software is looking for one of a specific list of Vendor ID/Device IDs and your new SCSI card has a different ID.

I'm not sure why you say a PCIe to PCI bridge won't solve anything; it would allow you to plug in the old PCI card, and it seems to me that it would probably work. (Can't be sure without trying it, of course.)

If you want to use the new card, the best thing to do would be to get a driver for the new card that provides the software interfaces required by the old software. Depending on the design of the old software, this may or may not be possible. If the software is searching for the hardware directly, without going through a driver, this would require modification of the software to use the new hardware.

Finally, the solution you're asking for would be to run your old software in a virtual machine (VM) using a virtual machine manager (VMM) that provides a virtual device matching the PCI device that your software is looking for. In the unlikely event that the PCI device is a standard one supported by an existing VMM, this could be the easiest solution, Unfortunately, it's more likely that it would require a virtualization expert to write custom software and it would be more work than the previous suggestions.

prl
  • 11,716
  • 2
  • 13
  • 31