#!/bin/sh # # Copyright (C) 2013 OpenWrt.org # LED_OPTIONS_CHANGED=0 . /lib/functions.sh do_led_update_sysfs() { local cfg=$1; shift local tuples="$@" local sysfs local name config_get sysfs $cfg sysfs config_get name $cfg name [ -z "$sysfs" ] && return for tuple in $tuples; do local old=${tuple%=*} local new=${tuple#*=} local new_sysfs new_sysfs=$(echo ${sysfs} | sed "s/${old}/${new}/") [ "$new_sysfs" = "$sysfs" ] && continue uci set system.${cfg}.sysfs="${new_sysfs}" LED_OPTIONS_CHANGED=1 logger -t led-migration "sysfs option of LED \"${name}\" updated to ${new_sysfs}" done; } migrate_leds() { config_load system config_foreach do_led_update_sysfs led "$@" } board=$(board_name) case "$board" in archer-c7) migrate_leds ":blue:=:green:" ;; dhp-1565-a1|\ dir-825-c1|\ dir-835-a1) migrate_leds ":orange:=:amber:" ":wifi_bgn=:wlan2g" ;; dr344) migrate_leds ":red:=:green:" ":yellow:=:green:" ;; gl-ar150) migrate_leds "gl-ar150:wlan=gl-ar150:orange:wlan" "gl-ar150:lan=gl-ar150:green:lan" "gl-ar150:wan=gl-ar150:green:wan" ;; oolite-v1) migrate_leds "oolite:=${board}" ;; wndap360|\ wndr3700|\ wnr2000|\ wnr2200) migrate_leds "${board}:=netgear:" ;; wndr3700v4|\ wndr4300) migrate_leds ":orange:=:amber:" ;; wnr1000-v2) migrate_leds "wnr1000v2:=netgear:" ;; wnr612-v2) migrate_leds "wnr612v2:=netgear:" ;; esac [ "$LED_OPTIONS_CHANGED" = "1" ] && uci commit system exit 0