Raspberry Pi boots up too fast to enumerate all PCIe devices

Open
#7,172 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
linux, raspberry-pi

Research direction

Start with the CM5 reproduction using multiple graphics cards behind a PCIe switch and compare lspci results across the kernel versions mentioned. Check the historical config.txt boot_delay reference and determine whether device timing explains the missing enumeration; done means the cause is confirmed or a specific kernel/config change is defined and validated.

Written by the indexing model from the issue text.

Description

Describe the bug

Often when testing complex multi-device PCIe scenarios behind a switch, one or more devices won't fully enumerate, and debugging why is a little perplexing.

For example, running four RTX 5000 GPUs behind a PCIe switch often results in one or all of them not showing up: https://github.com/geerlingguy/raspberry-pi-pcie-devices/issues/791

I've also noticed this sometimes with just two or even sometimes one PCIe device, since I test a lot of exotic cards, which may need a little time to get going. At least that's my theory.

This is definitely an edge case, but it would be nice to have a means to debug it and at least confirm the theory.

There used to be a boot_delay option in config.txt which might've helped with this, but that is not present anymore.

Steps to reproduce the behaviour
  1. Plug in multiple modern graphics cards behind a PCIe switch connected to the Pi's external PCIe lane.
  2. Boot Raspberry Pi OS.
  3. Run lspci, and sometimes only one or zero devices are listed.
Device (s)

Raspberry Pi CM5

System

https://pastebin.com/tk7fyjSg

jgeerling@cm5:~ $ cat /etc/rpi-issue
Raspberry Pi reference 2025-11-24
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 6e49e5317491c159c114681ddb4ac0623d855611, stage4

jgeerling@cm5:~ $ uname -a
Linux cm5 6.12.47+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.47-1+rpt1 (2025-09-16) aarch64 GNU/Linux

(But I've also been testing on 6.17 and 6.18 with various kernels...)

Logs

No response

Additional context

No response

Dominant language
C
Stars
13.2k
Forks
5.5k
Avg merge
2d 21h
Merged PRs (30d)
21

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from raspberrypi/linux

All issues in raspberrypi/linux

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.