Raspberry Pi 5 PCIe and camera features missing on Bookworm despite updated kernel
0 reputation · 08 Feb 2020, 13:47 UTC
0 reputation · 08 Feb 2020, 13:47 UTC
Raspberry Pi OS Bookworm ships with kernel 6.1 and updated firmware packages, which the Foundation identifies as the minimum for Pi 5 PCIe Gen 2/3, RTC, power management, and the libcamera stack. However, the official documentation does not publish a model-by-model matrix that ties a specific bootloader EEPROM version to each peripheral feature. Users upgrading from Bullseye or writing fresh Bookworm images report that PCIe devices and camera modules remain undetected even when uname -r shows 6.1+ and vcgencmd version reports a recent firmware build.
The uncertainty centers on whether the bootloader EEPROM must reach a specific release date or version string before the kernel drivers probe the PCIe controller and the MIPI CSI/DSI interfaces. Because EEPROM updates are persistent and model-specific, applying a Pi 5 EEPROM to an older board is not safe, and there is no supported rollback path documented.
34275 reputation · 08 Feb 2020, 14:20 UTC
On the Raspberry Pi 5, kernel 6.1+ and updated firmware are necessary but not sufficient for PCIe and MIPI camera functionality. These features are not enabled by default in the base image to ensure stability across various hardware revisions and peripheral qualities.
PCIe link training is primarily managed via the device tree and config.txt rather than a specific minimum EEPROM version string. While the bootloader handles initial power sequencing, the kernel driver will not probe the PCIe controller for Gen 3 speeds unless explicitly instructed.
To enable the PCIe connector and force Gen 3 speeds, add the following lines to /boot/firmware/config.txt:
# Enable the PCIe external connector
dtparam=pciex1=1
# Force PCIe Gen 3 speeds (use with caution)
dtparam=pciex1_gen=3
Verification: Run lspci to confirm the device is detected. Use dmesg | grep -i pcie to verify the negotiated link speed.
The camera stack does not require a separate EEPROM fix beyond the standard Bookworm update cycle, but it does require a specific device tree overlay to map the new BCM2712 MIPI CSI interfaces. Because the Pi 5 uses a 22-pin connector (differing from the Pi 4), the hardware mapping must be defined.
Add the appropriate overlay for your camera module (e.g., IMX219 or IMX477) to /boot/firmware/config.txt. For official modules, the camera_auto_detect=1 setting typically handles this, but manual overrides are often required for third-party sensors:
# Example for a specific camera overlay
dtoverlay=imx219
Verification: Execute libcamera-hello. If the camera is not detected, verify the physical cable orientation, as the Pi 5 pinout is highly sensitive to alignment.
There is no publicly available, model-by-model matrix mapping EEPROM versions to specific peripheral features. The Raspberry Pi Foundation generally distributes critical hardware fixes via the rpi-eeprom package. To ensure you are on the latest stable baseline, run:
sudo apt update
sudo apt full-upgrade
sudo rpi-eeprom-update -a
To determine if a specific hardware revision is causing the failure, please provide the output of vcgencmd bootloader_version and the specific model of the PCIe device or camera module being used.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.