summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/base-files/lib
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm63xx/base-files/lib')
-rwxr-xr-xtarget/linux/brcm63xx/base-files/lib/brcm63xx.sh49
-rw-r--r--target/linux/brcm63xx/base-files/lib/preinit/05_failsafe_config_switch_brcm63xx5
-rw-r--r--target/linux/brcm63xx/base-files/lib/preinit/05_init_interfaces_brcm63xx19
-rw-r--r--target/linux/brcm63xx/base-files/lib/preinit/05_reset_button_brcm63xx3
-rw-r--r--target/linux/brcm63xx/base-files/lib/preinit/15_set_preinit_interface_brcm63xx19
-rw-r--r--target/linux/brcm63xx/base-files/lib/upgrade/platform.sh2
6 files changed, 43 insertions, 54 deletions
diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
index 11774770d..ded946de6 100755
--- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
+++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh
@@ -9,11 +9,12 @@ status_led=""
status_led2=""
sys_mtd_part=""
brcm63xx_has_reset_button=""
+ifname=""
brcm63xx_detect() {
board_name=$(awk 'BEGIN{FS="[ \t:/]+"} /system type/ {print $4}' /proc/cpuinfo)
- if [ "$board_name" = "96358VW" ] && [ -e /proc/switch/eth1/enable ]; then
+ if [ "$board_name" = "96358VW" ] && [ -n "$(swconfig dev eth1 help 2>/dev/null)" ]; then
board_name="DVAG3810BN"
fi
@@ -22,12 +23,37 @@ brcm63xx_detect() {
status_led="96328avng::power"
ifname=eth0
;;
+ 96328A-1241N)
+ brcm63xx_has_reset_button="true"
+ status_led="96328A-1241N:green:power"
+ ifname=eth0
+ ;;
+ RTA770BW)
+ brcm63xx_has_reset_button="true"
+ status_led="RTA770BW:green:diag"
+ ifname=eth0
+ ;;
+ RTA770W)
+ brcm63xx_has_reset_button="true"
+ status_led="RTA770W:green:diag"
+ ifname=eth0
+ ;;
+ 96328A-1441N1)
+ brcm63xx_has_reset_button="true"
+ status_led="96328A-1441N1:green:power"
+ ifname=eth0
+ ;;
963281TAN)
status_led="963281TAN::power"
ifname=eth0
;;
+ 963281T_TEF)
+ brcm63xx_has_reset_button="true"
+ status_led="963281T_TEF:green:power"
+ ifname=eth0
+ ;;
96348GW)
- status_led="power"
+ status_led="96348GW:green:power"
brcm63xx_has_reset_button="true"
ifname=eth1
;;
@@ -36,23 +62,28 @@ brcm63xx_detect() {
ifname=eth1
;;
GW6200)
- status_led="line1"
- status_led2="tel"
+ status_led="GW6200:green:line1"
+ status_led2="GW6200:green:tel"
brcm63xx_has_reset_button="true"
ifname=eth1
;;
+ HW556*)
+ status_led="HW556:red:power"
+ brcm63xx_has_reset_button="true"
+ ifname=eth0
+ ;;
96348GW-11)
- status_led="power"
+ status_led="96348GW-11:green:power"
brcm63xx_has_reset_button="true"
ifname=eth1
;;
CT536_CT5621)
- status_led="power"
+ status_led="CT536_CT5621:green:power"
brcm63xx_has_reset_button="true"
ifname=eth0
;;
SPW500V)
- status_led="power:green"
+ status_led="SPW500V:green:power"
brcm63xx_has_reset_button="true"
ifname=eth0
;;
@@ -73,12 +104,12 @@ brcm63xx_detect() {
ifname=eth0
;;
CPVA642)
- status_led="power:green"
+ status_led="CPVA642:green:power:"
brcm63xx_has_reset_button="true"
ifname=eth0
;;
D-4P-W)
- status_led="power:green"
+ status_led="D-4P-W:green:power"
brcm63xx_has_reset_button="true"
ifname=eth0
;;
diff --git a/target/linux/brcm63xx/base-files/lib/preinit/05_failsafe_config_switch_brcm63xx b/target/linux/brcm63xx/base-files/lib/preinit/05_failsafe_config_switch_brcm63xx
index 43da8cc06..e1653e393 100644
--- a/target/linux/brcm63xx/base-files/lib/preinit/05_failsafe_config_switch_brcm63xx
+++ b/target/linux/brcm63xx/base-files/lib/preinit/05_failsafe_config_switch_brcm63xx
@@ -1,11 +1,6 @@
#!/bin/sh
failsafe_ip() {
- [ -d "/proc/switch/$ifname" ] && {
- ifconfig "$ifname" 0.0.0.0 down
- echo "0 1 2 3 4 ${cpu_port:-5u*}" > "/proc/switch/$ifname/vlan/0/ports"
- }
-
[ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && {
ifconfig $pi_ifname $pi_ip netmask $pi_netmask broadcast $pi_broadcast up
}
diff --git a/target/linux/brcm63xx/base-files/lib/preinit/05_init_interfaces_brcm63xx b/target/linux/brcm63xx/base-files/lib/preinit/05_init_interfaces_brcm63xx
index b7cbecd4f..1de59b79c 100644
--- a/target/linux/brcm63xx/base-files/lib/preinit/05_init_interfaces_brcm63xx
+++ b/target/linux/brcm63xx/base-files/lib/preinit/05_init_interfaces_brcm63xx
@@ -1,26 +1,7 @@
#!/bin/sh
set_preinit_iface() {
- ifname=eth1
-
- . /lib/brcm63xx.sh
-
ifconfig $ifname 0.0.0.0 up
}
-check_module () {
- module="$1"; shift; params="$*"
-
- insmod "$module" "$params"
- sleep 1
- grep "^$module" /proc/modules
- return $?
-}
-
-init_iface() {
- insmod switch-core
- check_module switch-robo || check_module switch-adm || rmmod switch-core
-}
-
boot_hook_add preinit_main set_preinit_iface
-boot_hook_add preinit_main init_iface
diff --git a/target/linux/brcm63xx/base-files/lib/preinit/05_reset_button_brcm63xx b/target/linux/brcm63xx/base-files/lib/preinit/05_reset_button_brcm63xx
index f33825f96..0dfca73c2 100644
--- a/target/linux/brcm63xx/base-files/lib/preinit/05_reset_button_brcm63xx
+++ b/target/linux/brcm63xx/base-files/lib/preinit/05_reset_button_brcm63xx
@@ -1,13 +1,12 @@
#!/bin/sh
-. /lib/brcm63xx.sh
-
enable_reset_button() {
if [ "$brcm63xx_has_reset_button" = "true" ]; then
insmod input-core
insmod input-polldev
insmod gpio_buttons
insmod button-hotplug
+ insmod gpio_keys_polled
fi
}
diff --git a/target/linux/brcm63xx/base-files/lib/preinit/15_set_preinit_interface_brcm63xx b/target/linux/brcm63xx/base-files/lib/preinit/15_set_preinit_interface_brcm63xx
index 9d366fa33..7655fb7d5 100644
--- a/target/linux/brcm63xx/base-files/lib/preinit/15_set_preinit_interface_brcm63xx
+++ b/target/linux/brcm63xx/base-files/lib/preinit/15_set_preinit_interface_brcm63xx
@@ -16,29 +16,12 @@ preinit_ip_deconfig() {
ifconfig $pi_ifname 0.0.0.0 down
}
fi
- [ -d "/proc/switch/$ifname" ] && {
- echo 1 > "/proc/switch/$ifname/reset"
- echo "0 1 2 3 4 ${cpu_port:-5u*}" > "/proc/switch/$ifname/vlan/0/ports"
- }
-
}
preinit_net_echo() {
preinit_ip
-
- [ -d "/proc/switch/$ifname" ] && {
- echo 1 > "/proc/switch/$ifname/reset"
- # this would be easier if we blasted the message across all ports
- # but we don't want packets leaking across interfaces
- for port in $(seq 0 4); do {
- echo "$port ${cpu_port:-5u*}" > "/proc/switch/$ifname/vlan/0/ports"
- port_net_echo $1
- }; done
-
- echo "0 ${cpu_port:-5u*}" > "/proc/switch/$ifname/vlan/0/ports"
-
- } || port_net_echo $1
+ port_net_echo $1
}
diff --git a/target/linux/brcm63xx/base-files/lib/upgrade/platform.sh b/target/linux/brcm63xx/base-files/lib/upgrade/platform.sh
index 1a025f7d7..63ab77418 100644
--- a/target/linux/brcm63xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/brcm63xx/base-files/lib/upgrade/platform.sh
@@ -2,7 +2,7 @@ PART_NAME=linux
platform_check_image() {
[ "$ARGC" -gt 1 ] && return 1
case "$(get_magic_word "$1")" in
- 3600)
+ 3600|3700|3800)
# 6348GW-11 boards use openwrt-96348GW-11-squashfs-cfe.bin files
return 0
;;