Due to frustration, claude is responsible for this document.
The problem
I bought a “henryreal” branded PEX88048 card from Amazon (~$240). It enumerates as a Broadcom PEX880xx [1000:c012], the switch topology appears in lspci -tv, fans spin on both R9700s (power through C-Payne device adapters is fine) — but zero GPUs appear on any downstream port.
The root cause is in the upstream port’s capability register:
=== 01:00.0 (upstream port) ===
LnkCap: Port #0, Speed 2.5GT/s, Width x4
LnkSta: Speed 2.5GT/s, Width x4
LnkCap2: Supported Link Speeds: 2.5GT/s
This is a Gen 4 switch chip advertising Gen 1 x4 as its maximum capability. That’s not a negotiation failure — it’s the EEPROM configuration. The chip can do Gen4 x16, but the board’s EEPROM tells it not to. All downstream ports also show 2.5GT/s capability only.
For comparison, a working card should show Speed 16GT/s, Width x16 in LnkCap.
Full diagnostic
# Upstream port
=== 01:00.0 ===
LnkCap: Port #0, Speed 2.5GT/s, Width x4, ASPM L1, Exit Latency L1 <32us
LnkSta: Speed 2.5GT/s, Width x4
# Downstream ports (all empty — no GPUs detected)
=== 02:00.0 ===
LnkCap: Port #224, Speed 2.5GT/s, Width x16, ASPM L0s L1
LnkSta: Speed 2.5GT/s, Width x16
=== 02:04.0 ===
LnkCap: Port #225, Speed 2.5GT/s, Width x16, ASPM L0s L1
LnkSta: Speed 2.5GT/s, Width x16
=== 02:0c.0 ===
LnkCap: Port #227, Speed 2.5GT/s, Width x16, ASPM L0s L1
LnkSta: Speed 2.5GT/s, Width x16
=== 02:1c.0 ===
LnkCap: Port #255, Speed 2.5GT/s, Width x16, ASPM L0s L1
LnkSta: Speed 2.5GT/s, Width x16
What I checked
-
Card is physically x16 edge connector, fully seated in CPU-direct Slot 1 (X870E Tomahawk, Gen5 capable)
-
Reseated the card, tried BIOS slot speed at Gen4 and Auto — no change
-
No DIP switches on the board to change upstream config
-
GPUs have power (fans spin from C-Payne 6-pin slot power + 12VHPWR from PSU)
-
pci=reallocin GRUB, Above 4G + ReBAR enabled in BIOS -
Vendor website unreachable, no firmware download path
The takeaway
Not all PEX88048 carrier boards ship with correct EEPROM programming. The Broadcom chip is fine — the board vendor’s firmware is wrong. There’s no user-serviceable fix without Broadcom’s proprietary SDK tools.
If you’re buying a PEX88048/88096 for GPU use, run lspci -vv on the upstream port before building anything around it. LnkCap should show 16GT/s (Gen4) and your expected width. If it shows 2.5GT/s, return it.
Setup context
-
ASRock X870E Tomahawk MAX, Ryzen 9 9900X, 96GB DDR5
-
2× Radeon AI PRO R9700 (gfx1201) on C-Payne SlimSAS Gen4 device adapters
-
Ubuntu 24.04.4, kernel 6.17 HWE, ROCm 7.2.3
-
Goal: dual-card DDP/FSDP training via RCCL