Embedded Intel Atom® Processors
Technological Conversations about Intel Atom® Hardware, Software, Firmware, Graphics
1153 Discussions

Trouble enumerating PCIe devices on 1-n450 devboard

MHirs1
Novice
3,215 Views

I have an 1-n450 devboard (atom processor card and miniitx carrier board). The carrier board has a PCIe x16 size connector. I am not able to enumerate any PCIe cards in this slot. I am running Fedora 19 Linux. I've tried older versions of Fedora, all with the same result. The lspci command finds all the internal devices but not the card in the carrier board PCIe slot.

I reset the CMOS settings to factory default, and have attached the lane setup jumper to attach all 4 PCIe lanes to the carrier board connector. I've tried two different PCIe devices: one PCIe 1x video capture card, and one PCIe 16x nvidia quadro card. Both of these cards are enumerated in other systems.

How can I debug this? Are there non-default BIOS that I ought to be setting? Should I be booting from UEFI instead of BIOS?

Thanks,

 

Matt
11 Replies
Natalie_Z_Intel
Employee
1,458 Views

Hello! I believe an answer is forthcoming! Stay tuned. I just wanted you to know that we are working on this.

0 Kudos
Natalie_Z_Intel
Employee
1,458 Views

Hello! I have located someone within Intel who is going to set up a system and test this. Hope to have the results soon!

0 Kudos
Natalie_Z_Intel
Employee
1,458 Views

I checked with my contact and he is hoping to have an answer for you next week.

0 Kudos
MHirs1
Novice
1,458 Views

Thanks for looking into it Lynn. I'm eagerly awaiting an answer

0 Kudos
FrankVanWeerdenburg
New Contributor I
1,458 Views

Hello Matt,

You might like to check the BIOS setting: ACPI Support, which should be enabled.

Best regards,

Frank

0 Kudos
MHirs1
Novice
1,458 Views

Frank,

Thanks for the suggestion. I tried both with and without ACPI support. No change.

Matt

0 Kudos
JOHAN_V_Intel
Employee
1,458 Views

Hi Matt,

I have verified on a N-470 Devboard that the PCIe slot on the carrier is functional as a X4 when configured through BIOS as a by x4 ... You can configure it to a X4 mode by going to the South bridge setup option and there you will find an option to set lanes by jumper, or select the actual combination of PCIe slots you would like .... For your application, I would recommend that you select X4 for a graphics card. I tested an Intel 10 Gbe NIC card in the slot and it enumarated with no issues at all.

Another option to check whether the card is being detected (but not recognized due to drivers) is by booting to the EFI shell. There is a command pci that will list all the pcie devices that it detects.

My experiements were done with Windows 2012 and linux

Please post the output of lspci -vvv ... I would like to confirm that Linux recognized the PCIe configuration ...

Johan

0 Kudos
MHirs1
Novice
1,458 Views

Johan,

Thanks for checking this. Unfortunately, I don't know what to do with a "it works for me". I've already stated that the lspci command doesn't show any device connected to the carrier PCIe slot, which has nothing to do with whether a driver is loaded.

I have checked in the BIOS that the system has correctly detected the jumper selecting 4x mode. I don't have the board in front of me at the moment, so I can't post the exact output of lspci, but I can tell you that none of the devices I plugged into the PCIe slot show up in the lspci list. I have also already loaded the UEFI firmware and found that only the onboard devices show up in the list generated by the "pci" command -- nothing in the carrier PCIe slot. Having verified the same problem in the UEFI shell, I don't think this is an issue with linux.

Can you tell me what version of the system BIOS you are using? I might chalk it up to faulty hardware on my end, but we both see that someone else on this board was having the same problem. Also, have you tested this with a non-intel PCIe card? I noticed that all of the hardware vendor IDs enumerated on the board are intel, and you said you used an Intel NIC. Maybe no one ever tried it with non-intel PCIe hardware?

Thanks again for checking.

0 Kudos
JOHAN_V_Intel
Employee
1,458 Views

Hi Matt ...

What I mean by "it works for me" is the following:

The 1st thing I looked for was whether the strap or BIOS setting was configuring the chipset's PCIe lanes correctly. It is not as easy in Linux, but lspci -vvvv will show you each of the PCIe ports available and there width (x1, x2 or x4). This checked out correctly.

The second step was I plugged in a Intel 10Gbe X8 network adapter and validated that it was detected and that it trained to the correct number of PCIe lanes (i.e. X4 , X2 or X1) ...

We have tried non-Intel Hardware other than NICs when we validated the design ... If you can provide the lspci -vvv output for me that will be extremely helpful ...

Johan

0 Kudos
MHirs1
Novice
1,458 Views

# lspci -vvv

00:00.0 Host bridge: Intel Corporation Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge

Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR-

Latency: 0

Capabilities: [e0] Vendor Specific Information: Len=08 <?>

Kernel driver in use: agpgart-intel

00:02.0 VGA compatible controller: Intel Corporation Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (prog-if 00 [VGA controller])

Subsystem: Intel Corporation Device 1999

Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+

Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR-

Latency: 0

Interrupt: pin A routed to IRQ 42

Region 0: Memory at 50280000 (32-bit, non-prefetchable) [size=512K]

Region 1: I/O ports at 3140 [size=8]

Region 2: Memory at 40000000 (32-bit, prefetchable) [size=256M]

Region 3: Memory at 50000000 (32-bit, non-prefetchable) [size=1M]

Expansion ROM at [disabled]

Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-

Address: fee0100c Data: 4171

Capabilities: [d0] Power Management version 2

Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)

Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

Kernel driver in use: i915

00:02.1 Display controller: Intel Corporation Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller

Subsystem: Intel Corporation Device 1999

Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR-

Latency: 0

Region 0: Memory at 50200000 (32-bit, non-prefetchable) [size=512K]

Capabilities: [d0] Power Management version 2

Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)

Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

00:19.0 Ethernet controller: Intel Corporation 82567V-3 Gigabit Network Connection (rev 04)

Subsystem: Intel Corporation Device 0000

Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+

Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR-

Latency: 0

Interrupt: pin A routed to IRQ 43

Region 0: Memory at 50300000 (32-bit, non-prefetchable) [size=128K]

Region 1: Memory at 50324000 (32-bit, non-prefetchable) [size=4K]

Region 2: I/O ports at 30c0 [size=32]

Capabilities: [c8] Power Management version 2

Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)

Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-

Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+

Address: 00000000fee0100c Data: 41a1

Kernel driver in use: e1000e

00:1a.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller # 4 (rev 04) (prog-if 00 [UHCI])

Subsystem: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller # 4

Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR-

Latency: 0

Interrupt: pin A routed to IRQ 16

Region 4: I/O ports at 30a0 [size=32]

Kernel driver in use: uhci_hcd

00:1a.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller # 5 (rev 04) (prog-if 00 [UHCI])

Subsystem: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller # 5

Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR-

Latency: 0

Interrupt: pin B routed to IRQ 21

Region 4: I/O ports at 3080 [size=32]

Kernel driver in use: uhci_hcd

00:1a.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller # 2 (rev 04) (prog-if 20 [EHCI])

Subsystem: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller # 2

Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR-

Latency: 0

Interrupt: pin C routed to IRQ 18

Region 0: Memory at 50325400 (32-bit, non-prefetchable) [size=1K]

Capabilities: [50] Power Management version 2

Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)

Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

Capabilities: [58] Debug port: BAR=1 offset=00a0

Kernel driver in use: ehci_hcd

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 04)

Subsystem: Analog Devices Device 989b

Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR-

Latency: 0, Cache Line Size: 64 bytes

Interrupt: pin A routed to IRQ 10

Region 0: Memory at 50320000 (64-bit, non-prefetchable) [size=16K]

Capabilities: [50] Power Management version 2

Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0+,D1-,D2-,D3hot+,D3cold+)

Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

Capabilities: [60] MSI: Enable- Count=1/1 Maskable- 64bit+

Address: 0000000000000000 Data: 0000

Capabilities: [70] Express (v1) Root Complex Integrated Endpoint, MSI 00

DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us

ExtTag- RBE- FLReset-

DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-

RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+

MaxPayload 128 bytes, MaxReadReq 128 bytes

DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-

LnkCap: Port # 0, Speed unknown, Width x0, ASPM unknown, Latency L0 <64ns, L1 <1us

ClockPM- Surprise- LLActRep- BwNot-

LnkCtl: ASPM Disabled; Disabled- Retrain- CommClk-

ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-

LnkSta: Speed unknown, Width x0, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-

Capabilities: [100 v1] Virtual Channel

Caps: LPEVC=0 RefClk=100ns PATEntryBits=1

Arb: Fixed- WRR32- WRR64- WRR128-

Ctrl: ArbSelect=Fixed

Status: InProgress-

V...

0 Kudos
JOHAN_V_Intel
Employee
1,458 Views

Hi

Thanks for the information ...

a) Did you have a card plugged into the PCIe slot? From the dump above, the port is configured as a x4 which is what would be expected ...

b) Can you tell me how the LANE SETUP jumper is configured ... details can be found in the user-guide ...

https://www-ssl.intel.com/content/www/us/en/intelligent-systems/luna-pier/edb-1-n450-1-d510-user-guide.html Intel® Embedded Development Board 1-N450/1-D510: User Guide

Thanks

Johan

0 Kudos
Reply