Good afternoon,
I am having trouble with a peripheral card developed in house; lets
call it CCA. This card uses a PCI interface defined as the data
acquisition class. Upon cycling the power on the system, I get the
following messages from the sloginfo utility.
Dec 18 13:21:02 3 17 0 Range check failed
(IO) - Dev 1 - Vend 1895 - Class 118000 - Addr 0 - Size 1000
Dec 18 13:21:02 3 17 0 Range check failed (MEM) - Dev 1 -
Vend 1895 - Class 118000 - Addr 0 - Size 4000000
Dec 18 13:21:02 3 17 0 Range check failed (MEM) - Dev 1 -
Vend 1895 - Class 118000 - Addr 0 - Size 4000000
Dec 18 13:21:02 3 17 0 Range check failed (MEM) - Dev 1 -
Vend 1895 - Class 118000 - Addr 0 - Size 10000
Dec 18 13:21:02 3 17 0 Range check failed (MEM) - Dev 1 -
Vend 1895 - Class 118000 - Addr 0 - Size 8000
These messages are confirmed by the pci utility,
reporting the following information:[/size:ab5bec991c]
Class = Data Acquisition (Unknown)
Vendor ID = 1895h, Unknown
Device ID = 1h, Unknown Unknown
PCI index = 0h
Class Codes = 118000h
Revision ID = 1h
Bus number = 2
Device number = 12
Function num = 0
Status Reg = 2b0h
Command Reg = 143h
I/O space access enabled
Memory space access enabled
Bus Master disabled
Special Cycle operations ignored
Memory Write and Invalidate disabled
Palette Snooping disabled
Parity Checking disabled
Data/Address stepping enabled
SERR# driver disabled
Fast back-to-back transactions to different agents enabled
Header type = 0h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 42h
Cache Line Size= 10h un-cacheable
PCI IO Address = 0h length 4096 enabled
PCI Mem Address = 0h prefetchable 32bit length 67108864 enabled
PCI Mem Address = 0h prefetchable 32bit length 67108864 enabled
PCI Mem Address = 0h prefetchable 32bit length 65536 enabled
PCI Mem Address = 0h prefetchable 32bit length 32768 enabled
Max Lat = 26ns
Min Gnt = 8ns
PCI Int Pin = INT A
Interrupt line = 0
CPU Interrupt = 0h
Capabilities Pointer = 80h
Capability ID = 6h
Capabilities = 0h - 0h
Device Dependent Registers:
0x40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x80: 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[/size:ab5bec991c]
However, if I proceed with a ‘warm’ boot (without
cycling the power), the sliginfo utility does not report any ‘range
check failed’ errors for the peripheral card. The CCA card is
correctly detected by pci-bios, and the pci utility reports the
following:[/size:ab5bec991c]
Class = Data Acquisition (Unknown)
Vendor ID = 1895h, Unknown
Device ID = 1h, Unknown Unknown
PCI index = 0h
Class Codes = 118000h
Revision ID = 1h
Bus number = 2
Device number = 12
Function num = 0
Status Reg = 2b0h
Command Reg = 103h
I/O space access enabled
Memory space access enabled
Bus Master disabled
Special Cycle operations ignored
Memory Write and Invalidate disabled
Palette Snooping disabled
Parity Checking disabled
Data/Address stepping disabled
SERR# driver disabled
Fast back-to-back transactions to different agents enabled
Header type = 0h Single-function
BIST = 0h Build-in-self-test not supported
Latency Timer = 42h
Cache Line Size= 10h un-cacheable
PCI IO Address = 3000h length 4096 enabled
PCI Mem Address = f4000000h prefetchable 32bit length 67108864
enabled
PCI Mem Address = f0000000h prefetchable 32bit length 67108864
enabled
PCI Mem Address = f8000000h prefetchable 32bit length 65536 enabled
PCI Mem Address = f8010000h prefetchable 32bit length 32768 enabled
Max Lat = 26ns
Min Gnt = 8ns
PCI Int Pin = INT A
Interrupt line = 11
CPU Interrupt = bh
Capabilities Pointer = 80h
Capability ID = 6h
Capabilities = 0h - 0h
Device Dependent Registers:
0x40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x80: 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[/size:ab5bec991c]
Any suggestions to avoid this warm reboot? I have
added a delay in the boot image before calling pci-bios, thinking that
the error might be related to the on-board FPGA not being loaded. But
this approach did not correct the error.
Once the warm boot is completed I have access to the card and can
control it successfully.
Thanks in advance for your help
Daniel Labonté
[/size:ab5bec991c]