diff options
Diffstat (limited to 'target/linux/brcm63xx/base-files/lib')
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 ;; |