Wireless LED doesn't stop blinking on an HP dv5 with an Atheros AR5007

So, I'm having this problem with the WiFi LED which doesn't stop blinking when I'm using the Internet.

I have tried many different solutions. I have searched a lot in other topics on Google, Ubuntus Forums, and blogs and none of the solutions they presented worked for me. I hope that one of you guys can help me here.

My notebook is an HP dv5 1240br, and the wireless adapter is an Atheros AR5007 802.11b/g.

thigomes95@Homenotebook:~$ lsmod | grep ath
ath5k                 156371  0 
ath                    24067  1 ath5k
mac80211              462092  1 ath5k
cfg80211              199587  3 ath5k,ath,mac80211

Solution 1:

Unfortunately, this driver doesn't have an option to turn that blinking off, but you should be able to control the leds via the sys interface and put the commands in a startup script:

  • Test the commands from the command line:

    echo none | sudo tee "/sys/class/leds/ath5k-phy0::tx/trigger" > /dev/null
    echo none | sudo tee "/sys/class/leds/ath5k-phy0::rx/trigger" > /dev/null
    

    This should completely turn off led triggering on data transfer. If you want it to reflect your radio status (on/off), you can try this instead (I'm afraid I cannot test this):

    echo none | sudo tee "/sys/class/leds/ath5k-phy0::tx/trigger" > /dev/null
    echo phy0radio | sudo tee "/sys/class/leds/ath5k-phy0::rx/trigger" > /dev/null
    

    [If phy0radio doesn't work, you can run cat /sys/class/leds/ath5k-phy0::rx/trigger to get a list of supported triggers for the led you can try.]

  • Once you know which commands to use, run them automatically when the wireless interface comes up:

    1. Create and open a new file in gedit from the command line:

      gksu gedit /etc/network/if-up.d/ath5k-led-trigger
      
    2. Now paste the following into the file (replace the value to echo and your wireless interface name if necessary):

      #!/bin/sh -e
      # Called whenever an interface comes up. Sets led triggers for 
      # tx and rx of the ath5k module.
      
      # Only care about the wireless interface "wlan0"
      if [ "$IFACE" != "wlan0" ]; then
          exit 0
      fi            
      
      # Also exit, if /sys is not yet mounted (not sure
      # if that's even possible, but checking shouldn't hurt).
      if [ ! -d "/sys/class/leds/ath5k-phy0::tx/trigger" ]; then
          exit 0
      fi
      
      # Echo the two triggers
      echo none > "/sys/class/leds/ath5k-phy0::tx/trigger"
      echo none > "/sys/class/leds/ath5k-phy0::rx/trigger"
      
    3. Save, quit gedit, back at the command line make the script executable:

      sudo chmod +x /etc/network/if-up.d/ath5k-led-trigger
      

Next time you reboot, the blinking should be gone. If anyone else knows of a better way to run those two echos on system start (Upstart job?), feel free to comment or suggest an edit. :-)