Is there an unmatched PCIe network card works

I tried realtek r8168 PCIe network card but failed, Are there any other configurations need to be configured here, the card is fine on ARM platform
企业微信截图_20221209155725
Are there any PCIe network card to recommand ?

1 Like

Here is some information to supplement it, None of the device ids are read(device id: 10ec, vendor id: 8168)

[    0.118792] fu740-pcie e00000000.pcie: host bridge /soc/pcie@e00000000 ranges:
[    0.118917] fu740-pcie e00000000.pcie:       IO 0x0060080000..0x006008ffff -> 0x0060080000
[    0.118967] fu740-pcie e00000000.pcie:      MEM 0x0060090000..0x0070ffffff -> 0x0060090000
[    0.118995] fu740-pcie e00000000.pcie:      MEM 0x2000000000..0x3fffffffff -> 0x2000000000
[    0.226195] fu740-pcie e00000000.pcie: iATU unroll: enabled
[    0.226217] fu740-pcie e00000000.pcie: Detected iATU regions: 8 outbound, 8 inbound
[    0.326293] fu740-pcie e00000000.pcie: Link up
[    0.426323] fu740-pcie e00000000.pcie: Link up
[    0.426338] fu740-pcie e00000000.pcie: Link up
[    0.426538] fu740-pcie e00000000.pcie: PCI host bridge to bus 0000:00
[    0.426562] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.426583] pci_bus 0000:00: root bus resource [io  0x0000-0xffff] (bus address [0x60080000-0x6008ffff])
[    0.426602] pci_bus 0000:00: root bus resource [mem 0x60090000-0x70ffffff]
[    0.426618] pci_bus 0000:00: root bus resource [mem 0x2000000000-0x3fffffffff pref]
[    0.426670] pci 0000:00:00.0: [f15e:0000] type 01 class 0x060400
[    0.426697] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
[    0.426718] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
[    0.426798] pci 0000:00:00.0: supports D1
[    0.426812] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    0.427589] pci 0000:01:00.0: [1b21:2824] type 01 class 0x060400
[    0.427679] pci 0000:01:00.0: enabling Extended Tags
[    0.427820] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    0.437662] pci 0000:01:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.437845] pci 0000:02:00.0: [1b21:2824] type 01 class 0x060400
[    0.437936] pci 0000:02:00.0: enabling Extended Tags
[    0.438074] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    0.438344] pci 0000:02:02.0: [1b21:2824] type 01 class 0x060400
[    0.438435] pci 0000:02:02.0: enabling Extended Tags
[    0.438572] pci 0000:02:02.0: PME# supported from D0 D3hot D3cold
[    0.438806] pci 0000:02:03.0: [1b21:2824] type 01 class 0x060400
[    0.438896] pci 0000:02:03.0: enabling Extended Tags
[    0.439033] pci 0000:02:03.0: PME# supported from D0 D3hot D3cold
[    0.439270] pci 0000:02:04.0: [1b21:2824] type 01 class 0x060400
[    0.439361] pci 0000:02:04.0: enabling Extended Tags
[    0.439498] pci 0000:02:04.0: PME# supported from D0 D3hot D3cold
[    0.439854] pci 0000:02:08.0: [1b21:2824] type 01 class 0x060400
[    0.439945] pci 0000:02:08.0: enabling Extended Tags
[    0.440082] pci 0000:02:08.0: PME# supported from D0 D3hot D3cold
[    0.440624] pci 0000:02:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.440656] pci 0000:02:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.440683] pci 0000:02:03.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.440709] pci 0000:02:04.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.440734] pci 0000:02:08.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.441298] pci_bus 0000:03: busn_res: [bus 03-ff] end is updated to 03
[    0.441480] pci 0000:04:00.0: [1b21:1142] type 00 class 0x0c0330
[    0.441539] pci 0000:04:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit]
[    0.441755] pci 0000:04:00.0: PME# supported from D3cold
[    0.453665] pci_bus 0000:04: busn_res: [bus 04-ff] end is updated to 04
[    0.453864] pci 0000:05:00.0: [8086:2723] type 00 class 0x028000
[    0.453923] pci 0000:05:00.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit]
[    0.454157] pci 0000:05:00.0: PME# supported from D0 D3hot D3cold
[    0.465667] pci_bus 0000:05: busn_res: [bus 05-ff] end is updated to 05
[    0.466199] pci_bus 0000:06: busn_res: [bus 06-ff] end is updated to 06
[    0.466716] pci_bus 0000:07: busn_res: [bus 07-ff] end is updated to 07
[    0.466742] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 07
[    0.466763] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 07
[    0.466814] pci 0000:00:00.0: BAR 0: assigned [mem 0x60100000-0x601fffff]
[    0.466834] pci 0000:00:00.0: BAR 8: assigned [mem 0x60200000-0x603fffff]
[    0.466851] pci 0000:00:00.0: BAR 6: assigned [mem 0x60090000-0x6009ffff pref]
[    0.466874] pci 0000:01:00.0: BAR 8: assigned [mem 0x60200000-0x603fffff]
[    0.466894] pci 0000:02:02.0: BAR 8: assigned [mem 0x60200000-0x602fffff]
[    0.466910] pci 0000:02:03.0: BAR 8: assigned [mem 0x60300000-0x603fffff]
[    0.466928] pci 0000:02:00.0: PCI bridge to [bus 03]
[    0.466962] pci 0000:04:00.0: BAR 0: assigned [mem 0x60200000-0x60207fff 64bit]
[    0.466999] pci 0000:02:02.0: PCI bridge to [bus 04]
[    0.467017] pci 0000:02:02.0:   bridge window [mem 0x60200000-0x602fffff]
[    0.467045] pci 0000:05:00.0: BAR 0: assigned [mem 0x60300000-0x60303fff 64bit]
[    0.467083] pci 0000:02:03.0: PCI bridge to [bus 05]
[    0.467102] pci 0000:02:03.0:   bridge window [mem 0x60300000-0x603fffff]
[    0.467128] pci 0000:02:04.0: PCI bridge to [bus 06]
[    0.467157] pci 0000:02:08.0: PCI bridge to [bus 07]
[    0.467186] pci 0000:01:00.0: PCI bridge to [bus 02-07]
[    0.467205] pci 0000:01:00.0:   bridge window [mem 0x60200000-0x603fffff]
[    0.467229] pci 0000:00:00.0: PCI bridge to [bus 01-07]
[    0.467244] pci 0000:00:00.0:   bridge window [mem 0x60200000-0x603fffff]
[    0.467603] pcieport 0000:00:00.0: PME: Signaling with IRQ 46
[    0.467744] pcieport 0000:01:00.0: enabling device (0000 -> 0002)
[    0.468257] pcieport 0000:02:02.0: enabling device (0000 -> 0002)
[    0.468581] pcieport 0000:02:03.0: enabling device (0000 -> 0002)
[    0.469484] pci 0000:04:00.0: enabling device (0000 -> 0002)
[    0.514637] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.515928] 10010000.serial: ttySIF0 at MMIO 0x10010000 (irq = 1, base_baud = 115200) is a SiFive UART v0
[    1.664079] printk: console [ttySIF0] enabled
[    1.668742] 10011000.serial: ttySIF1 at MMIO 0x10011000 (irq = 2, base_baud = 115200) is a SiFive UART v0
[    1.687210] loop: module loaded
[    1.690185] sifive_spi 10040000.spi: mapped; irq=4, cs=1
[    1.695612] sifive_spi 10050000.spi: mapped; irq=6, cs=1
[    1.702032] macb 10090000.ethernet: Registered clk switch 'sifive-gemgxl-mgmt'
[    1.710853] macb 10090000.ethernet eth0: Cadence GEM rev 0x10070109 at 0x10090000 irq 7 (70:b3:d5:92:f9:c4)
[    1.719960] e1000e: Intel(R) PRO/1000 Network Driver
[    1.724786] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    1.730811] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.737208] ehci-pci: EHCI PCI platform driver
[    1.741684] ehci-platform: EHCI generic platform driver
[    1.746902] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.753030] ohci-pci: OHCI PCI platform driver
[    1.757479] ohci-platform: OHCI generic platform driver
[    1.762911] xhci_hcd 0000:04:00.0: xHCI Host Controller
[    1.767898] xhci_hcd 0000:04:00.0: new USB bus registered, assigned bus number 1
[    1.915980] xhci_hcd 0000:04:00.0: hcc params 0x0200e080 hci version 0x100 quirks 0x0000000010800410
[    1.925825] hub 1-0:1.0: USB hub found
[    1.928838] hub 1-0:1.0: 2 ports detected
[    1.933255] xhci_hcd 0000:04:00.0: xHCI Host Controller
[    1.938025] xhci_hcd 0000:04:00.0: new USB bus registered, assigned bus number 2
[    1.945412] xhci_hcd 0000:04:00.0: Host supports USB 3.0 SuperSpeed
[    1.952503] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.960362] hub 2-0:1.0: USB hub found
[    1.963598] hub 2-0:1.0: 2 ports detected
[    1.968242] usbcore: registered new interface driver uas
[    1.972952] usbcore: registered new interface driver usb-storage
[    1.978996] mousedev: PS/2 mouse device common for all mice
[    1.984859] sdhci: Secure Digital Host Controller Interface driver
[    1.990585] sdhci: Copyright(c) Pierre Ossman
[    2.020517] mmc_spi spi1.0: SD/MMC host mmc0, no DMA, no WP, no poweroff
[    2.026517] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.032344] usbcore: registered new interface driver usbhid
[    2.037664] usbhid: USB HID core driver
[    2.041574] riscv-pmu-sbi: SBI PMU extension is available
[    2.046894] riscv-pmu-sbi: 15 firmware and 4 hardware counters
[    2.052687] riscv-pmu-sbi: Perf sampling/filtering is not supported as sscof extension is not available
1 Like

Some PCIe cards work with the board and some don’t. This is SiFive’s very first attempt to add PCIe support, so it isn’t perfect. Also, some drivers need porting before they will work with RISC-V and not all of them have been ported yet. There is a list of known working cards tested by SiFive in the Unmatched Software Reference Manual, but a network card is not one of them as it already has built-in network support so none were tested by SiFive. Looking through the forums, I don’t see any mention of network cards other than an old post that asked and didn’t get an answer, which you already found and replied to. If you really need a second ethernet port, another option might be a USB to ethernet adaptor using one of the on board USB ports. You will have to experiment to find one that works, but they should be reasonably inexpensive. Or if you need even more, a PCIe card with extra USB ports plus USB to ethernet adaptors might work. I see a forum post mentioning a M.2 card with dual USB that apparently works so that is another option. Keep in mind that this is a eval board not a consumer class board, so not everything is expected to work. If you want to do something unusual, you will have to do the testing yourself.

1 Like

Thanks a lot :laughing:, it was very helpful to me

Intel I225-V works fine

Any PCIe device is supposed to at least show up in the PCIe configuration space though, even if there could be an issue with the relevant Linux kernel driver. The absence of the device from the configuration space might be the symptom of a PCIe link negotiation failure. I wonder if the patch series I posted here: pci: Work around ASMedia ASM2824 PCIe link training failures would help. I do hope to get a newer revision posted for hopefully the last upstream review round later this month.

A little overkill, but the Intel I340-T4 works fine.

1 Like