How to get access to "strange" PCI card ? (no base

Does anybody know how to get access
to PCI card that doesn’t return BaseAddresses ?

pci_attach_device() fills addresses fields
of dev info struct with nulls:

dev_info.BaseAddressSize[i] = 0, for i={0, …, 5}

this is CompactPCI CAN card and pci -v returns:

Class = Bridge (Other)
Vendor ID = 1498h, TEWS Datentechnik GmBH
Device ID = 20d5h, Unknown Unknown
PCI index = 0h
Class Codes = 068000h
Revision ID = 0h
Bus number = 3
Device number = 14
Function num = 0
Status Reg = 280h
Command Reg = 143h
Header type = 0h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 0h
Cache Line Size= 8h un-cacheable
Subsystem Vendor ID = 1498h
Subsystem ID = 200ah
Max Lat = 0ns
Min Gnt = 0ns
PCI Int Pin = INT A
Interrupt line = 5
CPU Interrupt = 5h

That’s a bridge class device. i don’t think those have addresses.

I’m not sure, but it probably is a QNX error / bug:

pci_attach_device() don’t retrurn information about that card,
but
pci_find_device() with pci_read_config() gives me all info.