Last active
March 3, 2025 10:01
-
-
Save andrewssobral/840c5be9aff3347d358a43bb5deb1a9e to your computer and use it in GitHub Desktop.
Disable leds on Raspberry Pi 3 Model B Rev 1.2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://raspberrypi.stackexchange.com/questions/117632/turn-off-external-leds-on-raspberry-pi-3 | |
# check model | |
cat /sys/firmware/devicetree/base/model | |
# Raspberry Pi 3 Model B Rev 1.2 | |
# Disable Power (red) and Activity (yellow) leds | |
sudo nano /etc/rc.local | |
# Add the following lines before `exit 0`: | |
sudo sh -c 'echo none > /sys/class/leds/led0/trigger' | |
sudo sh -c 'echo none > /sys/class/leds/led1/trigger' | |
sudo sh -c 'echo 0 > /sys/class/leds/led0/brightness' | |
sudo sh -c 'echo 0 > /sys/class/leds/led1/brightness' | |
# Disable LAN/Ethernet leds by using lan951x-led-ctl | |
sudo apt-get install libusb-1.0-0-dev | |
git clone https://github.com/dumpsite/lan951x-led-ctl.git | |
cd lan951x-led-ctl/ | |
make | |
# disable lan leds | |
sudo ./lan951x-led-ctl --fdx=0 --lnk=0 --spd=0 | |
# setting FDX LED to status 0 | |
# setting LNK LED to status 0 | |
# setting SPD LED to status 0 | |
# enable lan leds | |
sudo ./lan951x-led-ctl --fdx=1 --lnk=1 --spd=1 | |
# setting FDX LED to status 1 | |
# setting LNK LED to status 1 | |
# setting SPD LED to status 1 | |
# Let's put all of this on your rc.local to start-up without leds, see below my version: | |
$ sudo cat /etc/rc.local | |
#!/bin/sh -e | |
# | |
# rc.local | |
# | |
# This script is executed at the end of each multiuser runlevel. | |
# Make sure that the script will "exit 0" on success or any other | |
# value on error. | |
# | |
# In order to enable or disable this script just change the execution | |
# bits. | |
# | |
# By default this script does nothing. | |
# Print the IP address | |
_IP=$(hostname -I) || true | |
if [ "$_IP" ]; then | |
printf "My IP address is %s\n" "$_IP" | |
fi | |
sudo sh -c 'echo none > /sys/class/leds/led0/trigger' | |
sudo sh -c 'echo none > /sys/class/leds/led1/trigger' | |
sudo sh -c 'echo 0 > /sys/class/leds/led0/brightness' | |
sudo sh -c 'echo 0 > /sys/class/leds/led1/brightness' | |
sudo sh -c 'sudo /home/pi/Projects/lan951x-led-ctl/lan951x-led-ctl --fdx=0 --lnk=0 --spd=0' | |
exit 0 |
Perfect thanks for sharing @jksmurf !
I had to do some research because for the Raspberry Pi 3 Model B Rev 1.3 ((bookworm) lan951x-led-ctl unfortunately does not work.
Here is the solution for those who are looking for it:
you need to edit /boot/firmware/config.txt
# Turn off Power LED
dtparam=pwr_led_trigger=default-on
dtparam=pwr_led_activelow=off
# Turn off Activity LED
dtparam=act_led_trigger=none
dtparam=act_led_activelow=off
# Turn off Ethernet ACT LED
dtparam=eth_led0=14
# Turn off Ethernet LNK LED
dtparam=eth_led1=14
Nothing more is needed.
Nice! Thanks for sharing @pblue3 !
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
My Pi 3 Model B Rev 1.2 does not have led0 and led1 directories, only ACT and PWR directories.
Replacing your 4 lines like this makes it work on my Pi3.
sudo sh -c 'echo none > /sys/class/leds/ACT/trigger'
sudo sh -c 'echo none > /sys/class/leds/PWR/trigger'
sudo sh -c 'echo 0 > /sys/class/leds/ACT/brightness'
sudo sh -c 'echo 0 > /sys/class/leds/PWR/brightness'
Refer explanation here. https://raspberrypi.stackexchange.com/questions/143740/missing-sys-class-leds-led0-and-sys-class-leds-led1-directories-on-pi3-model-b?noredirect=1&lq=1
Apparently ACT and PWR were introduced in PiOS Bullseye which I am running (64Bit Lite), so it’s OS dependent.