AR# 34777: Design Assistant for PCI Express - Device not recognized by system
Design Assistant for PCI Express - Device not recognized by system
This Answer Record gives possible reasons why a device is not being recognized by the system. In some cases, the system boot fines, but the driver cannot recognize or interface with the device.
NOTE: This Answer Record is part of the Xilinx Solution Center for PCI Express (Xilinx Answer 34536) Xilinx Solution Center for PCI Express is available to address all questions related to PCIe. Whether you are starting a new design with PCIe or troubleshooting a problem, use the Solution Center for PCIe to guide you to the right information.
Determine if the device is not recognized at all or if it is recognized, but did not get configured (meaning the BARs are not set). To do this, use a tool such as PCITree (Windows-32), HWDirect (Windows-64), or lspci (Linux).For more information on these tools and how to use them, see (Xilinx Answer 34806)
A possible cause is that the FPGA was not configured in time to be enumerated and configured by the system software (BIOS). A quick test for this is after the system boots from power on, issue a warm restart to see if the endpoint is recognized. During a warm restart, the system power remains on to the board so that the FPGA does not have to reconfigure.For more information on FGPA configuration in regards to PCI Express, see (Xilinx Answer 34800)
If a warm restart does not help, the next step is to determine the status of trn_lnk_up and trn_reset_n. These are outputs of the core to the user application and are key indicators to the status of the endpoint.For more information on using these signals to debug the problem, see (Xilinx Answer 34873) .