Raspberry Pi 4B reboot issue, 3.3V pins go to 0V and stay on reboot with HAT attached

Open
#3,065 26 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
linux, raspberry-pi

Research direction

Start by reproducing the reboot and shutdown scenarios on a Raspberry Pi 4 with and without the Pisound HAT, while monitoring the 3.3V and 5V rails as described. Compare the behavior with the Raspberry Pi 3B+ setup and the reported kernel 4.19.57-v7+ environment; done means determining why the 3.3V rail remains low and identifying a safe fix that preserves stable power behavior.

Written by the indexing model from the issue text.

Description

Waiting for external input

It seems the 3.3V pins of Raspberry Pi 4 (pins 1 and 17) briefly go to 0V during reboot, and they go low until unplugged when the system is shutdown. This seems to be a new behavior of Raspberry Pi 4 - I couldn't reproduce the same on 3B+. 3B+ board has rock solid 3.3V during the same shutdown and reboot scenarios.

With Pisound board attached, during reboot, the 3.3V pins get stuck at about 0.2V. This is also bad for the board itself - it uses the 3.3V for some digital chips, while deriving its own 3.3V level from 5V pins for analog chips. As 5V remains at ~5V during the entire time, 3.3V pins going to 0V even briefly could end up causing damage. If 5V would get switched off too, then I think it'd be OK to power-cycle the entire GPIO header, but switching only 3.3V off seems like a dangerous thing to do.

Once the issue occurs, the 3.3V rail gets unstuck only after leaving RPi4 unplugged for about 15 seconds. (In this case, I was leaving the USB-C connector attached to RPi4, and unplugging it from the outlet)

I have measured the 5V and 3.3V rails of Raspberry Pi 3B+ and 4, here are the Oscilloscope screenshots of the result:

  1. Raspberry Pi 3B+ with the official USB power supply, Pisound attached. Ethernet cable was plugged in, and nothing else was connected.

    RPi3

    The 3.3V stayed very stable when rebooting and shutting down the system, and remained at 3.3V at all times.

  2. Raspberry Pi 4 (4GB version) with the official USB C power supply, with Pisound attached. Ethernet cable was plugged in, and nothing else was connected.

    RPi4_Pisound

    To reboot the device, I ssh'ed to RPi4 and ran sudo reboot. The oscillogram shows the 3.3V went low for a long time and didn't recover. The system does not boot from this state.

  3. Same setup, except Pisound detached.

    RPi4_Only

    Ssh'ed, ran sudo reboot, and without anything attached, the 3.3V line went low for ~60ms, and then the system booted up again.

To reproduce
Reboot on Raspberry Pi 4, monitor the 3.3V line.

Expected behaviour
3.3V remains stable at all times and does not go to 0V even on shutdown, especially if 5V remains at 5V.

System

Raspinfo.txt

Running kernel 4.19.57-v7l+, on RPi4, I built it on my own locally, it's unmodified from the main branch of this repository, following the steps here. On RPi3B+, running the 4.19.57-v7+, which I got using sudo rpi-update.

VL805 FW version: 000137a8
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.