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
Page Contents
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.
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.
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).
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 😉