== My computer has extra LEDs for wireless information, how can I make them work? == If the LED is connected to the chipsets GPIO pins, then the following commands should make it blink slowly on power up, and then switch to a 3 second blink period on association (similar to the LED behaviour on PC Cards). Use: {{{ sysctl -w dev.wifi0.ledpin=1 sysctl -w dev.wifi0.softled=1 }}} For AR5007EG the value of dev.wifi0.ledpin must be 3 For MadWifi-Old use: {{{ sysctl -w dev.ath0.ledpin=1 sysctl -w dev.ath0.softled=1 }}} Note that sysctl parameters are not saved in non-volatile memory, so you’ll want to put these commands in a local boot script or just add the following lines to {{{/etc/sysctl.conf}}}: {{{ dev.wifi0.ledpin=1 dev.wifi0.softled=1 }}} For MadWifi-Old use: {{{ dev.ath0.ledpin=1 dev.ath0.softled=1 }}} For the owners of Gigabyte GN-WIAG02 minipci card: I found out that the led is on pin 2, so in this case dev.wifi0.ledpin=2 is the proper choice. Note that I am using it with Dell D610 laptop, this could also be important. For the owners of IBM Thinkpads (at least R51 and R51e series): the following settings will light up your led: {{{ sysctl -w dev.wifi0.ledpin=0 sysctl -w dev.wifi0.softled=1 }}} For the Thinkpad R60e and X40 set both values to 1. == Can I turn on my wireless card LEDs automatically? == If you were able to turn on your LEDs as described above, then most likely yes. === Using udev === [http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html udev] ''"works entirely in userspace, using hotplug events the kernel sends whenever a device is added or removed from the kernel."'' udev can also ''"run a particular program when a device is connected or disconnected."'' To make udev enable the LEDs, create a short script that calls the correct sysctl commands and then add a [http://www.reactivated.net/writing_udev_rules.html udev rule]: `KERNEL=="ath0", RUN+="/path/to/led/script"` To see if udev manages your wireless card, try '''`$ udevinfo -a -p /sys/class/net/ath0`''' and if you see descriptions about your card fill the screen, then udev manages your wireless card. ==== Working example ==== The PCMCIA wireless card [wiki:BigOldCompatibilityList#SMCWCBTG/SMCWCBTGEU SMC WCBT-G] has two LEDs: one for Link (which lights when the card is up) and the other for Activity (which blinks with traffic). Both LEDs can be turned on using the following script: {{{ #!/bin/bash # Set the Link LED to behave like link. sysctl -w dev.wifi0.ledpin=1 sysctl -w dev.wifi0.softled=1 sysctl -w dev.wifi0.softled=0 # Set the Activity LED to behave like activity. sysctl -w dev.wifi0.ledpin=0 sysctl -w dev.wifi0.softled=1 }}} * Save this script as "`leds`" * Make it executable with '''`$ chmod +x leds`''' * Place it in your system path with something like '''`# mv leds /usr/local/bin`''' * Add a udev rule to '''`/etc/udev/udev.d/10-local.rules`''' `KERNEL=="ath0", RUN+="/usr/local/bin/leds"` * Reload udev's rules with '''`# udevcontrol reload_rules`''' * Test your new rule with '''`$ udevtest /class/net/ath0`''' {{{ $ udevtest /sys/class/net/ath0 This program is for debugging only, it does not create any node, or run any program specified by a RUN key. It may show incorrect results, if rules match against subsystem specfic kernel event variables. main: looking at device '/class/net/ath0' from subsystem 'net' wait_for_sysfs: file '/sys/class/net/ath0/address' appeared after 0 loops udev_rules_get_name: rule applied, 'ath0' becomes 'ath0' main: run: 'ifplugd.agent' main: run: '/usr/local/bin/leds' main: run: 'socket:/org/kernel/udev/monitor' main: run: 'net.agent' main: run: 'socket:/org/freedesktop/hal/udev_event' }}} The next time udev dectects the wireless card being connected to the system, it will call `/usr/local/bin/leds` and the LEDs will turn on. Anytime you want to turn on the LEDs, you can also issue '''`# leds`'''. ==== Working example for a Philips SNN6500 PCMCIA card on Gentoo ==== See http://dev.gentoo.org/~wschlich/misc/scripts/udev/atheros-wlan-card-led-activation/ath_led.sh