Skip to content

RPi 4B fails to boot when two specific USB serial devices are connected #1987

@psych0d0g

Description

@psych0d0g

Hardware and Power Configuration

  • Pi Model: Raspberry Pi 4 Model B, 2GB
  • Power: Powered by a dedicated 5V 3A PSU via the GPIO 5V and GND pins.
  • USB Device 1: Duet 2 Controller, running Klipper firmware.
  • USB Device 2: Fysetc H36 Combo Board, running Klipper firmware.

Both controller boards are powered by a separate 24V PSU that shares a common ground with the Pi's 5V PSU. The USB connections are for data transfer only.

Problem Description

The Raspberry Pi 4 fails to boot when both the Duet 2 and Fysetc H36 boards are connected to the USB ports. This failure occurs on both cold starts and reboots, with no signs of boot activity (e.g., no LED flashes, no HDMI signal).
When this happens not even the rainbow screen is showing up.

The boot process succeeds normally if either one of the two USB devices is disconnected. The disconnected device can be plugged back in immediately after boot starts, and both devices are then recognized and function correctly within the operating system.

Troubleshooting Steps Completed

  1. EEPROM Firmware Verified: The bootloader is confirmed to be the latest version available (May 8 2025) via rpi-eeprom-update.
  2. USB Port Isolation Tested: The failure persists regardless of how the devices are connected to the Pi's USB ports. The result is the same whether they share the same USB controller (e.g., both on USB 2.0) or are split between the USB 2.0 and USB 3.0 controllers.

Successful Workaround

The issue is reliably resolved by connecting both controller boards to the Pi through a simple, unpowered USB 2.0 hub. This suggests the problem is a boot-time USB enumeration conflict in the Pi's firmware.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions