Initial commit
This commit is contained in:
15
target/linux/bcm53xx/base-files/etc/board.d/01_leds
Normal file
15
target/linux/bcm53xx/base-files/etc/board.d/01_leds
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
. /lib/functions/uci-defaults.sh
|
||||
|
||||
board_config_update
|
||||
|
||||
case "$(board_name)" in
|
||||
netgear,r8000)
|
||||
ucidef_set_led_usbport "usb2" "USB 2.0" "bcm53xx:white:usb2" "usb1-port2" "usb2-port2"
|
||||
ucidef_set_led_usbport "usb3" "USB 3.0" "bcm53xx:white:usb3" "usb1-port1" "usb2-port1" "usb4-port1"
|
||||
;;
|
||||
esac
|
||||
|
||||
board_config_flush
|
||||
|
||||
exit 0
|
||||
138
target/linux/bcm53xx/base-files/etc/board.d/02_network
Normal file
138
target/linux/bcm53xx/base-files/etc/board.d/02_network
Normal file
@@ -0,0 +1,138 @@
|
||||
#
|
||||
# Copyright (C) 2011 OpenWrt.org
|
||||
#
|
||||
|
||||
. /lib/functions/system.sh
|
||||
. /lib/functions/uci-defaults.sh
|
||||
|
||||
bcm53xx_setup_interfaces()
|
||||
{
|
||||
local board="$1"
|
||||
|
||||
# On BCM4708 / BCM4709(4) there are 3 Ethernet interfaces connected to 3 switch
|
||||
# ports. It's up to vendor which to use.
|
||||
case "$board" in
|
||||
tenda,ac9)
|
||||
ucidef_add_switch "switch0" \
|
||||
"1:lan" "2:lan" "3:lan" "4:lan" "8@eth0" "0:wan" "5@eth1"
|
||||
;;
|
||||
buffalo,wxr-1900dhp| \
|
||||
buffalo,wzr-1750dhp)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "5@eth0"
|
||||
;;
|
||||
dlink,dir-885l | \
|
||||
netgear,r7900 | \
|
||||
netgear,r8000 | \
|
||||
netgear,r8500)
|
||||
# NVRAM specifies port 8 (eth2) - unsupported by OpenWrt b53
|
||||
# Use port 5 (eth0) as workaround
|
||||
ucidef_add_switch "switch0" \
|
||||
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5t@eth0"
|
||||
;;
|
||||
linksys,panamera)
|
||||
ucidef_add_switch "switch1" \
|
||||
"0:lan" "1:lan:7" "2:lan:4" "3:lan:8" "4:wan" "5t@eth0"
|
||||
;;
|
||||
luxul,abr-4500-v1|\
|
||||
luxul,xbr-4500-v1)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0:wan" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5@eth0"
|
||||
;;
|
||||
luxul,xap-1610-v1)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0:lan" "1:lan" "5@eth0"
|
||||
ucidef_set_interface_lan "eth0.1" "dhcp"
|
||||
;;
|
||||
luxul,xwr-3150-v1)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "5@eth0"
|
||||
;;
|
||||
phicomm,k3)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0:lan" "1:lan" "2:lan" "3:wan" "5@eth0"
|
||||
;;
|
||||
*)
|
||||
# NVRAM entries may contain unsorted ports, e.g. Netgear R6250 uses
|
||||
# vlan1ports=3 2 1 0 5*
|
||||
# vlan2ports=4 5u
|
||||
# and early Netgear R8000 was using
|
||||
# vlan1ports=3 2 1 0 5 7 8*
|
||||
# (the enclosing echo is needed to convert newline back to space)
|
||||
vlan1ports="$(echo $(nvram get vlan1ports | tr " " "\n" | sort))"
|
||||
vlan2ports="$(echo $(nvram get vlan2ports | tr " " "\n" | sort))"
|
||||
if echo "$vlan1ports" | egrep -q "^1 2 3 4 5" && \
|
||||
echo "$vlan2ports" | egrep -q "^0 5"; then
|
||||
ucidef_add_switch "switch0" \
|
||||
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5t@eth0"
|
||||
elif echo "$vlan1ports" | egrep -q "^1 2 3 5 7" && \
|
||||
echo "$vlan2ports" | egrep -q "^0 7"; then
|
||||
ucidef_add_switch "switch0" \
|
||||
"1:lan" "2:lan" "3:lan" "5:lan" "0:wan" "7t@eth1"
|
||||
elif echo "$vlan1ports" | egrep -q "^0 1 2 3 5 7 8" && \
|
||||
echo "$vlan2ports" | egrep -q "^4 8"; then
|
||||
ucidef_add_switch "switch0" \
|
||||
"0:lan" "1:lan" "2:lan" "3:lan" "5:lan" "7:lan" "4:wan" "8t@eth2"
|
||||
else
|
||||
ucidef_add_switch "switch0" \
|
||||
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5t@eth0"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
bcm53xx_setup_macs()
|
||||
{
|
||||
local board="$1"
|
||||
|
||||
case "$board" in
|
||||
dlink,dir-885l | \
|
||||
linksys,panamera | \
|
||||
netgear,r7900 | \
|
||||
netgear,r8000 | \
|
||||
netgear,r8500)
|
||||
# As vendor doesn't use eth0 its MAC may be missing. Use one from eth2.
|
||||
et2macaddr="$(nvram get et2macaddr)"
|
||||
;;
|
||||
esac
|
||||
|
||||
[ -n "$et2macaddr" ] && ucidef_set_interface_macaddr "lan" "$et2macaddr"
|
||||
|
||||
wan_macaddr="$(nvram get wan_hwaddr)"
|
||||
case "$board" in
|
||||
asus,rt-ac87u)
|
||||
etXmacaddr=$(nvram get et1macaddr)
|
||||
offset=1
|
||||
;;
|
||||
dlink,dir-885l | \
|
||||
linksys,panamera | \
|
||||
netgear,r7900 | \
|
||||
netgear,r8000 | \
|
||||
netgear,r8500)
|
||||
etXmacaddr=$(nvram get et2macaddr)
|
||||
offset=1
|
||||
;;
|
||||
luxul,xwr-3100v1 | \
|
||||
luxul,xwr-3150-v1)
|
||||
etXmacaddr=$(nvram get et0macaddr)
|
||||
offset=5
|
||||
;;
|
||||
*)
|
||||
etXmacaddr=$(nvram get et0macaddr)
|
||||
offset=1
|
||||
;;
|
||||
esac
|
||||
|
||||
# If WAN MAC isn't explicitly set, calculate it using base MAC as reference.
|
||||
[ -z "$wan_macaddr" -a -n "$etXmacaddr" ] && wan_macaddr=$(macaddr_add "$etXmacaddr" $offset)
|
||||
|
||||
[ -n "$wan_macaddr" ] && ucidef_set_interface_macaddr "wan" "$wan_macaddr"
|
||||
}
|
||||
|
||||
board_config_update
|
||||
board=$(board_name)
|
||||
bcm53xx_setup_interfaces "$board"
|
||||
bcm53xx_setup_macs "$board"
|
||||
board_config_flush
|
||||
|
||||
exit 0
|
||||
45
target/linux/bcm53xx/base-files/etc/diag.sh
Normal file
45
target/linux/bcm53xx/base-files/etc/diag.sh
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/functions/leds.sh
|
||||
|
||||
get_status_led() {
|
||||
local status_led_file
|
||||
|
||||
# There may be more than one color of power LED, try to avoid amber/red
|
||||
status_led_file=$(find /sys/class/leds/ -name "*:power" -a ! -name "*:amber:*" -a ! -name "*:red:*" | head -n1)
|
||||
if [ -d "$status_led_file" ]; then
|
||||
status_led=$(basename $status_led_file)
|
||||
return
|
||||
fi;
|
||||
|
||||
# Now just pick any power LED
|
||||
status_led_file=$(find /sys/class/leds/ -name "*:power" | head -n1)
|
||||
if [ -d "$status_led_file" ]; then
|
||||
status_led=$(basename $status_led_file)
|
||||
return
|
||||
fi;
|
||||
|
||||
# And finally, let's also try the device-Tree aliases node
|
||||
status_led="$(get_dt_led status)"
|
||||
}
|
||||
|
||||
set_state() {
|
||||
get_status_led
|
||||
|
||||
[ -z "$status_led" ] && return
|
||||
|
||||
case "$1" in
|
||||
preinit)
|
||||
status_led_blink_preinit
|
||||
;;
|
||||
failsafe)
|
||||
status_led_blink_failsafe
|
||||
;;
|
||||
preinit_regular)
|
||||
status_led_blink_preinit_regular
|
||||
;;
|
||||
done)
|
||||
status_led_on
|
||||
;;
|
||||
esac
|
||||
}
|
||||
13
target/linux/bcm53xx/base-files/etc/init.d/clear_partialboot
Executable file
13
target/linux/bcm53xx/base-files/etc/init.d/clear_partialboot
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
START=97
|
||||
boot() {
|
||||
. /lib/functions.sh
|
||||
|
||||
case $(board_name) in
|
||||
linksys,panamera)
|
||||
# clear partialboots
|
||||
nvram set partialboots=0 && nvram commit
|
||||
;;
|
||||
esac
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"\(kernel\|linux\)".*/\1/p' /proc/mtd)
|
||||
|
||||
mtd ${kernel_size:+-c 0x$kernel_size} fixtrx firmware && exit 0
|
||||
mtd ${kernel_size:+-c 0x$kernel_size} fixseama firmware && exit 0
|
||||
exit 1
|
||||
Reference in New Issue
Block a user