So reduzieren Sie den Stromverbrauch auf Raspberry Pi 4

This post describes some configurations I did to reduce the power (energy) consumption of my Raspberry Pi.

Für mehr Posts über den Raspberry Pi siehe: Raspberry Pi

Setup

I'm running three Raspberry Pi 4 (4 GB) 24/7 which are hosting various stuff like my git, jenkins and also some applications and databases.

They all are build from the same custom image which basically is based on Raspberry Pi OS 64 bit lite. I'm just login via ssh for maintenance reasons, network connection is established via LAN. Therefore a lot of components can be disabled.

Raspberry Pi in Mini-Rack

Zunächst einmal habe ich mich entschieden, keine aktive Kühlung zu verwenden (obwohl das Layer-Gehäuse diese standardmäßig bereitstellt), sondern nur die passiven Kühlkörper. Ich kann damit umgehen, dass der Pi die CPU drosselt, wenn es zu heiß wird.

Ich verwende keine Monitor-, Sound- oder USB-Geräte und auch kein WLAN oder Bluetooth. So kann ich alle notwendigen Komponenten deaktivieren.

Sound, WLAN und Bluetooth deaktivieren

In der Konfigurationsdatei /boot/config.txt können einige Komponenten direkt beim Start deaktiviert werden. Editiere mit

sudo nano /boot/config.txt

Ändere zunächst die folgende Zeile zu

dtparam=audio=off

wodurch das Soundmodul deaktiviert wird. Füge in der Datei die folgenden Zeilen hinzu, um WLAN und Bluetooth zu deaktivieren:

dtoverlay=disable-wifi
dtoverlay=disable-bt

LEDs deaktivieren

Zusätzlich habe ich die LEDs auf der Platine mit den folgenden Zeilen deaktiviert.

dtparam=act_led_trigger=none
dtparam=act_led_activelow=off
dtparam=pwr_led_trigger=default-on
dtparam=pwr_led_activelow=off

Bitte beachten Sie, dass der Pi einen Neustart benötigt, damit die Änderungen wirksam werden.

Monitorausgabe deaktivieren

Um die Monitorausgabe zu deaktivieren, wird der folgende Befehl verwendet

vcgencmd display_power 0

Es lässt sich mit folgendem Befehl wieder aktivieren

vcgencmd display_power 1

USB-Anschlüsse deaktivieren

Am Ende können wir die USB-Ports deaktivieren. Dies ist etwas komplexer, da ein zusätzliches Tool namens uhubctl benötigt wird. Es kann auch bestimmte Ports ausschalten, aber in meinem Fall schalte ich USB vollständig aus.

Vor der Installation sollten wir sicherstellen, dass die neuste Firmware installiert ist.

sudo rpi-eeprom-update

sollte folgendes ergeben

  VL805_FW: Dedicated VL805 EEPROM
     VL805: up to date
   CURRENT: 000138a1
    LATEST: 000138a1

(to run an update execute sudo rpi-eeprom-update -d -a)

As I'm writing this post the version (2.3.X) which can be installed via apt is not capable to deal with the pi usb controller so I have installed it on my own (2.4.X). The steps to do so can be found on the github page des Projektes.

Anschließend müssen beide USB-Hubs separat deaktiviert werden:

sudo uhubctl -e -l 1 -a 0
sudo uhubctl -e -l 2 -a 0

Der folgende Befehl sollte jetzt ergeben

sudo uhubctl
Current status for hub 2 [1d6b:0003 Linux 5.15.32-v8+ xhci-hcd xHCI Host Controller 0000:01:00.0, USB 3.00, 4 ports, ppps]
  Port 1: 0080 off
  Port 2: 0080 off
  Port 3: 0080 off
  Port 4: 0080 off
Current status for hub 1 [1d6b:0002 Linux 5.15.32-v8+ xhci-hcd xHCI Host Controller 0000:01:00.0, USB 2.00, 1 ports, ppps]
  Port 1: 0000 off

Wenn ich weitere Möglichkeiten zur Reduzierung des Stromverbrauchs erfahre, wird dieser Beitrag aktualisiert.

2 Comments

Marty

I’m on a Raspberry Pi 2 Model B. Might you know which of the described power reduction options for the RPi 4 are usable on the RPi 2? Or where I could look up the available options for the RPi 2? (When I look on its PCB is see a BCM2836R1FB6 chip).

Reply
Benni

1. I guess wifi and bt are not built into the Pi2 so no need to disable
2. If you are using ethernet you should be careful with disabling the usb hubs as ethernet runs over usb on Pi2 and Pi3
3. I would expect that you can also disable some components in the /boot/config.txt like shown in the post. LEDs should maybe work like described, sound maybe also, but I have never used a Pi2 so no guarantee 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert