#!/bin/sh <<'LICENSE' Part of AREDN -- Used for creating Amateur Radio Emergency Data Networks Copyright (C) 2015 Conrad Lara See Contributors file for additional contributors This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 3 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . LICENSE BOARD_TYPE=$(/usr/local/bin/get_hardwaretype) case "$BOARD_TYPE" in airrouter) LINK1LED=$(readlink -f '/sys/class/leds/ubnt:green:globe') ;; gl-ar150) LINK1LED=$(readlink -f '/sys/class/leds/gl-ar150:orange:wlan') ;; gl-ar300m) LINK1LED=$(readlink -f '/sys/class/leds/gl-ar300m:green:wlan') ;; gl-usb150) LINK1LED=$(readlink -f '/sys/class/leds/gl-usb150:green:wlan') ;; gl-ar750) LINK1LED=$(readlink -f '/sys/class/leds/gl-ar750:white:wlan5g') ;; rb-912uag-5hpnd|rb-911g-5hpnd) LINK1LED=$(readlink -f '/sys/class/leds/rb:green:led1') ;; rb-lhg-5nd|rb-lhg-5hpnd|rb-lhg-5hpnd-xl|rb-ldf-5nd) LINK1LED=$(readlink -f '/sys/class/leds/rb:green:rssi0') ;; *) LINK1LED=$(readlink -f /sys/class/leds/*link1) ;; esac firmware_upgrade_mode() { # Put the LED in "upgrade" mode echo timer > "$LINK1LED/trigger" echo 100 > "$LINK1LED/delay_on" echo 100 > "$LINK1LED/delay_off" echo 1 > "$LINK1LED/brightness" } reset_led() { # Reset the LED to a blank state echo none > "$LINK1LED/trigger" echo 0 > "$LINK1LED/brightness" } link_state() { { reset_led while true; do sleep 11; if echo /nei | nc 127.0.0.1 2006 2>/dev/null | grep -q YES; then echo 1 > "$LINK1LED/brightness" else echo 0 > "$LINK1LED/brightness" fi done; } & # Push into the background } case $1 in "upgrade" ) firmware_upgrade_mode ;; "restore" ) reset_led ;; *) link_state ;; esac