Skip to content

Instantly share code, notes, and snippets.

@andrewssobral
Last active June 21, 2024 15:20
Show Gist options
  • Save andrewssobral/840c5be9aff3347d358a43bb5deb1a9e to your computer and use it in GitHub Desktop.
Save andrewssobral/840c5be9aff3347d358a43bb5deb1a9e to your computer and use it in GitHub Desktop.
Disable leds on Raspberry Pi 3 Model B Rev 1.2
# 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
@jksmurf
Copy link

jksmurf commented Jul 17, 2023

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.

@andrewssobral
Copy link
Author

Perfect thanks for sharing @jksmurf !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment