TL-WDR4300 (N750) disable LEDs

Hi all,

for a long time I've trying to disable the LEDs. There are plenty of pages available on the web but nothing worked so far. I try to write directly to the sys-Filesystem but that didn't work neither.

I really tried a lot of tipps, writing my own scripts, but the LEDs stay enabled. :frowning_face:

I hope someone can help!
Kind regards

As I recall, many of the LEDs on the WDR4300 are not under control of the kernel. I seem to remember something like the power, 2.4 GHz could be controlled, but not the 5 GHz, or the switch-port LEDs.

Opaque black tape works pretty well

Or wire cutters.
On many models the power led is connected directly to the power supply bus. The switch and 5 GHZ leds come from separate chips and the configuration utilities for those chips may not include LED control.

In case you do not succeed via software:

Thank you very much for your help and your very fast answers! But now I made it on my own by recognizing in this forum that there are new versions available called LEDE.
It is a very simple solution and I don't know if all of you will like it but I want to share with you. After trying the following command

echo 0 > /sys/class/leds/tp-link\:blue\:lan1/brightness

I recognized that the LEDs are really switched off which was never the case with the old image. So I extended the start()-function in /etc/init.d/led and added the the last lines. After a reboot the LEDs are now disabled. Perhaps this can be of some help for anybody.

start() {
        [ -e /sys/class/leds/ ] && {
                [ -s /var/run/led.state ] && {
                        local led trigger brightness
                        while read led trigger brightness; do
                                [ -e "/sys/class/leds/$led/trigger" ] && \
                                        echo "$trigger" > "/sys/class/leds/$led/trigger"

                                [ -e "/sys/class/leds/$led/brightness" ] && \
                                        echo "$brightness" > "/sys/class/leds/$led/brightness"
                        done < /var/run/led.state
                        rm /var/run/led.state

                config_load system
                config_foreach load_led led
        # own extension: disable all LEDs
        echo 0 > /sys/class/leds/tp-link\:blue\:lan1/brightness 
        echo 0 > /sys/class/leds/tp-link\:blue\:lan2/brightness 
        echo 0 > /sys/class/leds/tp-link\:blue\:lan3/brightness 
        echo 0 > /sys/class/leds/tp-link\:blue\:lan4/brightness 
        echo 0 > /sys/class/leds/tp-link\:blue\:system/brightness 
        echo 0 > /sys/class/leds/tp-link\:blue\:wan/brightness 
        echo 0 > /sys/class/leds/tp-link\:blue\:wlan2g/brightness 
        echo 0 > /sys/class/leds/tp-link\:blue\:qss/brightness 


Kind regards

So you're aware, the "LEDE" versions are from a year or two ago when the OpenWrt project had split. They are old versions. 18.06.x are the current versions of OpenWrt and LEDE both, as the projects have re-combined since then. Anything prior to 18.06 is either unsupported (meaning, most importantly, no security patches), or will become unsupported at the start of the year, as I understand it.

Curious, did you find that all those LEDs are actually present in the filesystem? If so, what version are you running?

Then I mixed things up because I use a bin image called openwrt.
I'm running 18.06.1 (openwrt-18.06.1-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin).

Obviously I didn't realize that the project split and re-combined since then. :slight_smile:

The LEDs are all available in the filesystem, they were available before but without any effect by writing a zero to the appropriate pseudo-files.

/etc/init.d# cd /sys/class/leds/
/sys/class/leds# ls
ath9k-phy0           tp-link:blue:lan1    tp-link:blue:lan3    tp-link:blue:qss     tp-link:blue:wan     tp-link:green:usb1
ath9k-phy1           tp-link:blue:lan2    tp-link:blue:lan4    tp-link:blue:system  tp-link:blue:wlan2g  tp-link:green:usb2

Kind regards

1 Like