--- /dev/null
+#!/bin/sh
+# Copyright (C) 2012 OpenWrt.org
+
+[ -d /sys/class/leds/power/ ] || return
+
+set_state() {
+ [ -d /sys/class/leds/power1/ ] && {
+
+ case "$1" in
+ preinit)
+ echo heartbeat >/sys/class/leds/power/trigger
+ ;;
+ failsafe)
+ echo none >/sys/class/leds/power/trigger
+ echo timer >/sys/class/leds/power1/trigger
+ echo 100 >/sys/class/leds/power1/delay_on
+ echo 100 >/sys/class/leds/power1/delay_off
+ ;;
+ done)
+ echo none >/sys/class/leds/power/trigger
+ echo none >/sys/class/leds/power1/trigger
+ echo 1 >/sys/class/leds/power/brightness
+ ;;
+ esac
+ return
+ }
+
+ case "$1" in
+ preinit)
+ echo heartbeat >/sys/class/leds/power/trigger
+ ;;
+ failsafe)
+ echo timer >/sys/class/leds/power/trigger
+ echo 100 >/sys/class/leds/power/delay_on
+ echo 100 >/sys/class/leds/power/delay_off
+ ;;
+ done)
+ echo none >/sys/class/leds/power/trigger
+ echo 1 >/sys/class/leds/power/brightness
+ ;;
+ esac
+}
case "${BUTTON}" in
BTN_0)
logger "reset pressed"
+ echo "REBOOT" > /dev/console
+ sleep 3
sync
reboot
;;
BTN_1)
logger "factory pressed"
+ echo "FACTORY RESET" > /dev/console
jffs2_mark_erase "rootfs_data"
sync
reboot
}
[ -e /lib/firmware/$FIRMWARE ] && exit 0
-
-. /lib/lantiq.sh
+. /lib/functions/lantiq.sh
case "$FIRMWARE" in
"RT2860.eeprom" )
- local board=$(lantiq_board_name)
+ local board=$(lantiq_board_id)
case $board in
ARV7525PW|ARV752DPW)
rt2x00_eeprom_extract "board_config" 1040 272
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K stop
ttyLTQ0::askfirst:/bin/ash --login
-ttyLTQ1::askfirst:/bin/ash --login
#
. /lib/functions/uci-defaults.sh
-. /lib/lantiq.sh
+. /lib/functions/lantiq.sh
-board=$(lantiq_board_name)
+[ -e "/sys/class/leds/wifi" ] && ucidef_set_led_wlan "wifi" "wifi" "wifi" "phy0tx"
+[ -e "/sys/class/leds/usb" ] && ucidef_set_led_usbdev "usb" "usb" "usb" "1-1"
+[ -e "/sys/class/leds/dsl" ] && ucidef_set_led_netdev "dsl" "dsl" "dsl" "pppoe-wan"
-case "$board" in
-ARV4520PW|ARV452CPW)
- ucidef_set_led_netdev "wifi" "wifi" "soc:blue:wifi" "wlan0"
- ucidef_set_led_usbdev "usb" "USB" "soc:blue:usb" "1-1"
- ucidef_set_led_default "fxs1" "fxs1" "soc:blue:fxs1" "1"
- ucidef_set_led_default "fxs2" "fxs2" "soc:blue:fxs2" "1"
- ucidef_set_led_default "online" "online" "soc:blue:internet" "1"
- ;;
-
-ARV7525PW)
- ucidef_set_led_netdev "wifi" "wifi" "soc:green:wifi" "wlan0"
- ucidef_set_led_default "fxs1" "fxs1" "soc:green:fxs1" "1"
- ucidef_set_led_default "fxs2" "fxs2" "soc:green:fxs2" "1"
- ucidef_set_led_default "dsl" "dsl" "soc:red:dsl" "1"
- ucidef_set_led_default "online" "online" "soc:green:online" "1"
- ;;
-
-ARV4525PW)
- ucidef_set_led_netdev "wifi" "wifi" "soc:green:wifi" "wlan0"
- ucidef_set_led_default "fxs1" "fxs1" "soc:green:fxs1" "1"
- ucidef_set_led_default "fxs2" "fxs2" "soc:green:fxs2" "1"
- ucidef_set_led_default "dsl" "dsl" "soc:green:dsl" "1"
- ucidef_set_led_default "online" "online" "soc:green:online" "1"
- ;;
+for a in `ls /sys/class/leds/`; do
+ grep -q "\[none\]" /sys/class/leds/$a/trigger
+ [ $? -eq 0 ] && ucidef_set_led_default $a $a $a `cat /sys/class/leds/$a/brightness`
+done
-GIGASX76X)
- ucidef_set_led_wlan "wifi" "wifi" "soc:green:wifi" "phy0radio"
- ucidef_set_led_netdev "online" "online" "soc:green:online" "pppoe-wan"
- ucidef_set_led_usbdev "usb" "USB" "soc:green:usb" "1-1"
- ;;
+board=$(lantiq_board_id)
-ARV4519PW)
- ucidef_set_led_wlan "wifi" "wifi" "soc:green:wifi" "phy0radio"
- ucidef_set_led_netdev "internet" "internet" "soc:green:internet" "pppoe-wan"
- ucidef_set_led_usbdev "usb" "USB" "soc:green:usb" "1-1"
- ;;
-
-ARV7518PW)
- ucidef_set_led_wlan "wifi" "wifi" "soc:green:wifi" "phy0radio"
- ucidef_set_led_netdev "internet" "internet" "soc:green:internet" "pppoe-wan"
- ucidef_set_led_usbdev "usb" "USB" "soc:green:usb" "1-1"
+case "$board" in
+*)
;;
esac
local payload=$4
uci batch <<EOF
set network.atm='atm-bridge'
-set network.atm.unit='0'
set network.atm.vpi='$vpi'
set network.atm.vci='$vci'
set network.atm.encaps='$encaps'
EOF
}
-set_adsl() {
- local fwannex=$1
- local annex=$2
- uci batch <<EOF
-set network.adsl='adsl-device'
-set network.adsl.fwannex='$fwannex'
-set network.adsl.annex='$annex'
-EOF
-}
-
. /lib/functions/uci-defaults.sh
-. /lib/lantiq.sh
+. /lib/functions/lantiq.sh
touch /etc/config/network
vci=32
encaps="llc"
payload="bridged"
-fwannex=$(lantiq_dsl_fwannex)
-board=$(lantiq_board_name)
-dsl=$(lantiq_soc_has_adsl)
+
+board=$(lantiq_board_id)
case "$board" in
-# annex B with adm6996
+# adm6996
ARV4520PW)
ucidef_set_interface_lan "eth0.1"
ucidef_add_switch "eth0" "1" "1"
ucidef_add_switch_vlan "eth0" "1" "3 2 1 0 5t"
- set_adsl "b" "b2p"
;;
GIGASX76X)
ucidef_set_interface_lan "eth0.1"
ucidef_add_switch "eth0" "1" "1"
ucidef_add_switch_vlan "eth0" "1" "4 3 2 1 5t"
- set_adsl "b" "b2p"
;;
-# annex A with ar8316
+# ar8316
ARV4519PW|ARV7518PW)
ucidef_set_interface_lan "eth0.1"
ucidef_add_switch "eth0" "1" "1"
ucidef_add_switch_vlan "eth0" "1" "0t 2 3 4 5"
- set_adsl "a" "a2p"
- ;;
-
-ARV7525PW|ARV4525PW|*)
- set_adsl "$fwannex" "${fwannex}2p"
;;
esac
-[ -z "$dsl" ] || set_atm_wan "$vpi" "$vci" "$encaps" "$payload"
+[ -z "$(ls /lib/modules/`uname -r`/ltq_atm*)" ] || set_atm_wan "$vpi" "$vci" "$encaps" "$payload"
+
uci commit network
--- /dev/null
+#!/bin/sh
+
+lantiq_board_id() {
+ grep "^system type" /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g" | sed "s/.* - \(.*\) - .*/\1/g"
+}
+
+lantiq_board_name() {
+ grep "^system type" /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g" | sed "s/.* - \(.*\)/\1/g"
+}
+++ /dev/null
-#!/bin/sh
-
-lantiq_soc_has_adsl() {
- ls /lib/modules/*/drv_dsl_cpe_api.ko
-}
-
-lantiq_soc_name() {
- grep ^system /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g"
-}
-
-lantiq_board_name() {
- grep ^machine /proc/cpuinfo | sed "s/machine.*: \(.*\)/\1/g" | sed "s/\(.*\) - .*/\1/g"
-}
-
-lantiq_dsl_fwannex() {
- ls /lib/firmware/dsl-fw-*.bin 2> /dev/null | sed "s/.*\([ab]\)\.bin/\1/g"
-}
#!/bin/sh
-. /lib/lantiq.sh
+. /lib/functions/lantiq.sh
init_atheeprom() {
local board=$(lantiq_board_name)