diff options
Diffstat (limited to 'target/linux/lantiq')
9 files changed, 75 insertions, 88 deletions
diff --git a/target/linux/lantiq/base-files/etc/diag.sh b/target/linux/lantiq/base-files/etc/diag.sh new file mode 100644 index 000000000..d0088f5bc --- /dev/null +++ b/target/linux/lantiq/base-files/etc/diag.sh @@ -0,0 +1,42 @@ +#!/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 +} diff --git a/target/linux/lantiq/base-files/etc/hotplug.d/button/10-generic.sh b/target/linux/lantiq/base-files/etc/hotplug.d/button/10-generic.sh index b2fdda23f..1d1467ade 100644 --- a/target/linux/lantiq/base-files/etc/hotplug.d/button/10-generic.sh +++ b/target/linux/lantiq/base-files/etc/hotplug.d/button/10-generic.sh @@ -7,11 +7,14 @@ 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 diff --git a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom index 1eee55e22..e58ca34de 100644 --- a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom +++ b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom @@ -23,12 +23,11 @@ rt2x00_eeprom_extract() { } [ -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 diff --git a/target/linux/lantiq/base-files/etc/inittab b/target/linux/lantiq/base-files/etc/inittab index 96afec9e7..46a1312c6 100644 --- a/target/linux/lantiq/base-files/etc/inittab +++ b/target/linux/lantiq/base-files/etc/inittab @@ -1,4 +1,3 @@ ::sysinit:/etc/init.d/rcS S boot ::shutdown:/etc/init.d/rcS K stop ttyLTQ0::askfirst:/bin/ash --login -ttyLTQ1::askfirst:/bin/ash --login diff --git a/target/linux/lantiq/base-files/etc/uci-defaults/leds b/target/linux/lantiq/base-files/etc/uci-defaults/leds index 64b080f33..747a71504 100755 --- a/target/linux/lantiq/base-files/etc/uci-defaults/leds +++ b/target/linux/lantiq/base-files/etc/uci-defaults/leds @@ -5,51 +5,21 @@ # . /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 diff --git a/target/linux/lantiq/base-files/etc/uci-defaults/network b/target/linux/lantiq/base-files/etc/uci-defaults/network index b40134d93..e1459b9fc 100755 --- a/target/linux/lantiq/base-files/etc/uci-defaults/network +++ b/target/linux/lantiq/base-files/etc/uci-defaults/network @@ -12,7 +12,6 @@ set_atm_wan() { 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' @@ -25,18 +24,8 @@ set network.wan.password='bar' 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 @@ -47,40 +36,33 @@ vpi=1 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 diff --git a/target/linux/lantiq/base-files/lib/functions/lantiq.sh b/target/linux/lantiq/base-files/lib/functions/lantiq.sh new file mode 100644 index 000000000..ca52d08a6 --- /dev/null +++ b/target/linux/lantiq/base-files/lib/functions/lantiq.sh @@ -0,0 +1,9 @@ +#!/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" +} diff --git a/target/linux/lantiq/base-files/lib/lantiq.sh b/target/linux/lantiq/base-files/lib/lantiq.sh deleted file mode 100644 index e4f1471a9..000000000 --- a/target/linux/lantiq/base-files/lib/lantiq.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/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" -} diff --git a/target/linux/lantiq/base-files/lib/preinit/42_athfix b/target/linux/lantiq/base-files/lib/preinit/42_athfix index 114aaffc8..d182fbf34 100644 --- a/target/linux/lantiq/base-files/lib/preinit/42_athfix +++ b/target/linux/lantiq/base-files/lib/preinit/42_athfix @@ -1,6 +1,6 @@ #!/bin/sh -. /lib/lantiq.sh +. /lib/functions/lantiq.sh init_atheeprom() { local board=$(lantiq_board_name) |