summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/base-files
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm47xx/base-files')
-rwxr-xr-xtarget/linux/brcm47xx/base-files/etc/init.d/netconfig102
-rw-r--r--target/linux/brcm47xx/base-files/etc/uci-defaults/09_fix_crc14
-rw-r--r--target/linux/brcm47xx/base-files/lib/preinit/03_init_hotplug_failsafe_brcm2
-rw-r--r--target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm28
-rw-r--r--target/linux/brcm47xx/base-files/lib/preinit/05_reset_button_brcm1
-rw-r--r--target/linux/brcm47xx/base-files/lib/preinit/05_set_failsafe_switch_brcm7
-rw-r--r--target/linux/brcm47xx/base-files/lib/preinit/15_mount_proc_brcm3
-rw-r--r--target/linux/brcm47xx/base-files/lib/preinit/15_set_preinit_interface_brcm14
-rw-r--r--target/linux/brcm47xx/base-files/lib/preinit/20_failsafe_net_echo_brcm2
-rw-r--r--target/linux/brcm47xx/base-files/lib/preinit/20_failsafe_set_boot_wait_brcm2
10 files changed, 101 insertions, 74 deletions
diff --git a/target/linux/brcm47xx/base-files/etc/init.d/netconfig b/target/linux/brcm47xx/base-files/etc/init.d/netconfig
index fb41ddd7c..b4be21fe9 100755
--- a/target/linux/brcm47xx/base-files/etc/init.d/netconfig
+++ b/target/linux/brcm47xx/base-files/etc/init.d/netconfig
@@ -81,46 +81,67 @@ start() {
BEGIN {
FS="="
- c["lan_ifname"]="eth0.0"
- c["wan_ifname"]="eth0.1"
- c["vlan0ports"]="1 2 3 4 5"
- c["vlan1ports"]="0 5"
+ c["lan_ifname"]="eth0.1"
+ c["wan_ifname"]="eth0.2"
+ c["vlan1ports"]="1 2 3 4 5t"
+ c["vlan2ports"]="0 5t"
getline < "/proc/diag/model"
model=$0
for (i = 0; i < 6; i++) {
if (mac_check != "") mac_check = mac_check ":"
mac_check = mac_check "[0-9a-fA-F][0-9a-fA-F]"
}
+ if (system("[ -d /proc/switch/eth0 ] ") == 0) {
+ getline cpuport < "/proc/switch/eth0/cpuport"
+ }
+ if (system("command -v swconfig > /dev/null") == 0) {
+ "swconfig dev switch0 help \| sed -ne \"s\|.*cpu @ \\([0-9]*\\).*\|\\1\|p\"" | getline cpuport
+ }
+ if (cpuport == "8") {
+ c["vlan1ports"]="1 2 3 4 8t"
+ c["vlan2ports"]="0 8t"
+ }
}
- ($1 == "boardnum") || ($1 == "boardtype") || ($1 == "boardflags") || ($1 ~ /macaddr/) {
+ ($1 == "boardnum") || ($1 == "boardtype") || ($1 == "boardflags") || ($1 ~ /macaddr/) || \
+ ($1 ~ /^vlan[0-9]{1,2}ports$/) {
nvram[$1] = $2
}
END {
+ if (((nvram["vlan0ports"] ~ /^0 1 2 3 8/ ) && (nvram["vlan1ports"] ~ /^4 8/ && (cpuport == "8"))) || \
+ ((nvram["vlan1ports"] ~ /^0 1 2 3 8/ ) && (nvram["vlan2ports"] ~ /^4 8/ && (cpuport == "8")))) {
+ c["vlan1ports"] = "0 1 2 3 8t"
+ c["vlan2ports"] = "4 8t"
+ }
+ if (((nvram["vlan0ports"] ~ /^0 1 2 3 5/ ) && (nvram["vlan1ports"] ~ /^4 5/ && (cpuport == "5"))) || \
+ ((nvram["vlan1ports"] ~ /^0 1 2 3 5/ ) && (nvram["vlan2ports"] ~ /^4 5/ && (cpuport == "5")))) {
+ c["vlan1ports"] = "0 1 2 3 5t"
+ c["vlan2ports"] = "4 5t"
+ }
if ((model == "ASUS WL-HDD") || (model == "ASUS WL-300g") || (model == "Linksys WAP54G V1")) {
c["wan_ifname"] = ""
c["lan_ifname"] = "eth1"
}
if (model == "ASUS WL-330gE") {
c["wan_ifname"] = ""
- c["lan_ifname"] = "eth0.0"
- c["vlan0ports"] = "4 5"
- c["vlan1ports"] = ""
+ c["lan_ifname"] = "eth0.1"
+ c["vlan1ports"] = "4 5t"
+ c["vlan2ports"] = ""
}
if ((model == "ASUS WL-500g") || (model == "Microsoft MN-700")) {
c["wan_ifname"] = "eth1"
c["lan_ifname"] = "eth0"
}
if ((model == "ASUS WL-500g Premium V2") || (model == "Dell TrueMobile 2300 v2") || (model == "Buffalo WHR-G125")) {
- c["vlan0ports"] = "0 1 2 3 5"
- c["vlan1ports"] = "4 5"
+ c["vlan1ports"] = "0 1 2 3 5t"
+ c["vlan2ports"] = "4 5t"
}
if (model == "Dell TrueMobile 2300") {
c["lan_ifname"] = "eth0"
c["wan_ifname"] = "eth1"
- c["vlan0ports"] = "0 1 2 3 4 5u"
- c["vlan1ports"] = ""
+ c["vlan1ports"] = "0 1 2 3 4 5u"
+ c["vlan2ports"] = ""
}
if (nvram["boardtype"] == "bcm94710r4") {
# Toshiba WRC-1000
@@ -128,18 +149,18 @@ start() {
c["wan_ifname"] = "eth1"
}
if ((nvram["boardtype"] == "wgt634u") || (nvram["boardtype"] == "0x0467")) {
- c["vlan0ports"] = "0 1 2 3 5"
- c["vlan1ports"] = "4 5"
+ c["vlan1ports"] = "0 1 2 3 5t"
+ c["vlan2ports"] = "4 5t"
}
if ((nvram["boardtype"] == "0x042f") || (nvram["boardtype"] == "0x0472")) {
if (nvram["boardnum"] == "45") {
# WL-500gP
- c["vlan0ports"] = "1 2 3 4 5"
- c["vlan1ports"] = "0 5"
+ c["vlan1ports"] = "1 2 3 4 5t"
+ c["vlan2ports"] = "0 5t"
} else {
# Generic BCM94704
- c["vlan0ports"] = "0 1 2 3 4 5u"
- c["vlan1ports"] = ""
+ c["vlan1ports"] = "0 1 2 3 4 5u"
+ c["vlan2ports"] = ""
c["lan_ifname"] = "eth0"
c["wan_ifname"] = "eth1"
@@ -152,18 +173,11 @@ start() {
}
# Buffalo WBR-B11 and Buffalo WBR-G54
if (nvram["boardtype"] == "bcm94710ap") {
- c["vlan0ports"] = "0 1 2 3 4 5u"
- c["vlan1ports"] = ""
+ c["vlan1ports"] = "0 1 2 3 4 5u"
+ c["vlan2ports"] = ""
c["lan_ifname"] = "eth0"
c["wan_ifname"] = "eth1"
}
- # generic broadcom 4705/4785 processor with 5397 switch?
- # EXCEPT Linksys WRT300N V1.1
- if ((nvram["boardtype"] == "0x478") && \
- (model != "Linksys WRT300N V1.1")) {
- c["vlan0ports"] = "1 2 3 4 8*"
- c["vlan1ports"] = "0 8"
- }
# WAP54G
if ((nvram["boardnum"] == "2") || \
@@ -184,35 +198,41 @@ start() {
# Generic BCM94704 settings instead so we revert to proper settings here.
# Hopefully someone will fix this properly soon.
if (model == "ASUS WL-700gE") {
- c["lan_ifname"]="eth0.0"
- c["wan_ifname"]="eth0.1"
- c["vlan0ports"]="1 2 3 4 5"
- c["vlan1ports"]="0 5"
+ c["lan_ifname"]="eth0.1"
+ c["wan_ifname"]="eth0.2"
+ c["vlan1ports"]="1 2 3 4 5t"
+ c["vlan2ports"]="0 5t"
}
if ((model == "Motorola WR850G V2/V3") || (model == "Siemens SE505 V2")) {
- c["vlan0ports"]="0 1 2 3 5"
- c["vlan1ports"]="4 5"
+ c["vlan1ports"]="0 1 2 3 5t"
+ c["vlan2ports"]="4 5t"
}
if (model == "ASUS WL-500W") {
c["lan_ifname"] = "eth0"
c["wan_ifname"] = "eth1"
- c["vlan0ports"] = "0 1 2 3 4 5u"
- c["vlan1ports"] = ""
+ c["vlan1ports"] = "0 1 2 3 4 5u"
+ c["vlan2ports"] = ""
}
if (model == "OvisLink WL-1600GL") {
- c["lan_ifname"] = "eth0.0"
- c["wan_ifname"] = "eth0.1"
- c["vlan0ports"] = "0 1 2 3 5"
- c["vlan1ports"] = "4 5"
+ c["lan_ifname"] = "eth0.1"
+ c["wan_ifname"] = "eth0.2"
+ c["vlan1ports"] = "0 1 2 3 5t"
+ c["vlan2ports"] = "4 5t"
+ }
+ if (model == "SimpleTech SimpleShare NAS") {
+ c["lan_ifname"] = "eth0"
+ c["wan_ifname"] = ""
+ c["vlan1ports"] = ""
+ c["vlan2ports"] = ""
}
- if (c["vlan0ports"] || c["vlan1ports"]) {
+ if (c["vlan1ports"] || c["vlan2ports"]) {
print "#### VLAN configuration "
print "config switch eth0"
print " option enable 1"
print ""
- vlan(0, "vlan0ports")
vlan(1, "vlan1ports")
+ vlan(2, "vlan2ports")
}
print "#### Loopback configuration"
print "config interface loopback"
diff --git a/target/linux/brcm47xx/base-files/etc/uci-defaults/09_fix_crc b/target/linux/brcm47xx/base-files/etc/uci-defaults/09_fix_crc
new file mode 100644
index 000000000..b411d8495
--- /dev/null
+++ b/target/linux/brcm47xx/base-files/etc/uci-defaults/09_fix_crc
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# Copyright (C) 2007 OpenWrt.org
+#
+#
+
+do_fixcrc() {
+ mtd fixtrx linux
+}
+
+case `uname -r` in
+ 3.8* | 3.9* ) do_fixcrc;;
+esac
+
diff --git a/target/linux/brcm47xx/base-files/lib/preinit/03_init_hotplug_failsafe_brcm b/target/linux/brcm47xx/base-files/lib/preinit/03_init_hotplug_failsafe_brcm
index b0f4a4efa..a930b7eb4 100644
--- a/target/linux/brcm47xx/base-files/lib/preinit/03_init_hotplug_failsafe_brcm
+++ b/target/linux/brcm47xx/base-files/lib/preinit/03_init_hotplug_failsafe_brcm
@@ -5,5 +5,3 @@ init_hotplug_failsafe() {
}
boot_hook_add preinit_main init_hotplug_failsafe
-
-
diff --git a/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm b/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm
index 3cd760e2d..e85dd49f4 100644
--- a/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm
+++ b/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm
@@ -4,6 +4,12 @@ set_preinit_iface() {
ifname=eth0
insmod diag
+ insmod hwmon
+ insmod pps_core
+ insmod ptp
+ insmod tg3
+ insmod b44
+ insmod bgmac
# hardware specific overrides
case "$(cat /proc/diag/model)" in
@@ -16,21 +22,17 @@ set_preinit_iface() {
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() {
- check_module tg3
insmod switch-core
- check_module switch-robo || check_module switch-adm || {
- check_module bcm57xx activate_gpio=0x4 && cpu_port="8u*"
- } || rmmod switch-core
+ insmod switch-robo
+ insmod switch-adm
+
+ [ -d /proc/switch/eth0 ] && [ "$ifname" = "eth0" ] && {
+ case "$(cat /proc/switch/eth0/cpuport)" in
+ "5") cpu_port="5u*";;
+ "8") cpu_port="8u*";;
+ esac
+ }
}
boot_hook_add preinit_main set_preinit_iface
diff --git a/target/linux/brcm47xx/base-files/lib/preinit/05_reset_button_brcm b/target/linux/brcm47xx/base-files/lib/preinit/05_reset_button_brcm
index 5a5ffe96c..5aa7bc0b1 100644
--- a/target/linux/brcm47xx/base-files/lib/preinit/05_reset_button_brcm
+++ b/target/linux/brcm47xx/base-files/lib/preinit/05_reset_button_brcm
@@ -5,4 +5,3 @@ enable_reset_button() {
}
boot_hook_add preinit_main enable_reset_button
-
diff --git a/target/linux/brcm47xx/base-files/lib/preinit/05_set_failsafe_switch_brcm b/target/linux/brcm47xx/base-files/lib/preinit/05_set_failsafe_switch_brcm
index a93559f97..dd8fd6e9f 100644
--- a/target/linux/brcm47xx/base-files/lib/preinit/05_set_failsafe_switch_brcm
+++ b/target/linux/brcm47xx/base-files/lib/preinit/05_set_failsafe_switch_brcm
@@ -3,13 +3,12 @@
failsafe_ip() {
[ -d /proc/switch/eth0 ] && [ "$ifname" = "eth0" ] && {
ifconfig eth0 0.0.0.0 down
- echo "0 1 2 3 4 ${cpu_port:-5u*}" > /proc/switch/eth0/vlan/0/ports
+ echo "0 1 2 3 4 ${cpu_port:-5u*}" > /proc/switch/eth0/vlan/1/ports
}
-
+
[ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && {
- ifconfig $pi_ifname $pi_ip netmask $pi_netmask broadcast $pi_broadcast up
+ ifconfig $pi_ifname $pi_ip netmask $pi_netmask broadcast $pi_broadcast up
}
}
boot_hook_add failsafe failsafe_ip
-
diff --git a/target/linux/brcm47xx/base-files/lib/preinit/15_mount_proc_brcm b/target/linux/brcm47xx/base-files/lib/preinit/15_mount_proc_brcm
index fd5add16a..4ca445623 100644
--- a/target/linux/brcm47xx/base-files/lib/preinit/15_mount_proc_brcm
+++ b/target/linux/brcm47xx/base-files/lib/preinit/15_mount_proc_brcm
@@ -1,6 +1,5 @@
#!/bin/sh
do_mount_procfs() {
- mount none /proc -t proc
+ mount -o noatime none /proc -t proc
}
-
diff --git a/target/linux/brcm47xx/base-files/lib/preinit/15_set_preinit_interface_brcm b/target/linux/brcm47xx/base-files/lib/preinit/15_set_preinit_interface_brcm
index fdc7c71ca..8c425a094 100644
--- a/target/linux/brcm47xx/base-files/lib/preinit/15_set_preinit_interface_brcm
+++ b/target/linux/brcm47xx/base-files/lib/preinit/15_set_preinit_interface_brcm
@@ -2,7 +2,7 @@
port_net_echo() {
[ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && {
- if [ "$pi_preinit_net_messages" = "y" ] || [ "$pi_failsafe_net_message" = "true" ] && [ "$pi_preinit_no_failsafe_netmsg" != "y" ]; then
+ if [ "$pi_preinit_net_messages" = "y" ] || [ "$pi_failsafe_net_message" = "true" ] && [ "$pi_preinit_no_failsafe_netmsg" != "y" ]; then
netmsg $pi_broadcast "$1"
fi
}
@@ -20,20 +20,18 @@ preinit_ip_deconfig() {
preinit_net_echo() {
preinit_ip
-
+
[ -d /proc/switch/eth0 ] && [ "$pi_ifname" = "eth0" ] && {
echo 1 > /proc/switch/eth0/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/eth0/vlan/0/ports
+ echo "$port ${cpu_port:-5u*}" > /proc/switch/eth0/vlan/1/ports
port_net_echo $1
}; done
-
- echo "0 ${cpu_port:-5u*}" > /proc/switch/eth0/vlan/0/ports
-
- } || port_net_echo $1
-}
+ echo "0 1 2 3 4 ${cpu_port:-5u*}" > /proc/switch/eth0/vlan/1/ports
+ } || port_net_echo $1
+}
diff --git a/target/linux/brcm47xx/base-files/lib/preinit/20_failsafe_net_echo_brcm b/target/linux/brcm47xx/base-files/lib/preinit/20_failsafe_net_echo_brcm
index f030cb283..2b0d2cccc 100644
--- a/target/linux/brcm47xx/base-files/lib/preinit/20_failsafe_net_echo_brcm
+++ b/target/linux/brcm47xx/base-files/lib/preinit/20_failsafe_net_echo_brcm
@@ -8,5 +8,3 @@ indicate_failsafe() {
preinit_net_echo "Entering Failsafe!\n"
indicate_failsafe_led
}
-
-
diff --git a/target/linux/brcm47xx/base-files/lib/preinit/20_failsafe_set_boot_wait_brcm b/target/linux/brcm47xx/base-files/lib/preinit/20_failsafe_set_boot_wait_brcm
index da721b848..001f5f4d3 100644
--- a/target/linux/brcm47xx/base-files/lib/preinit/20_failsafe_set_boot_wait_brcm
+++ b/target/linux/brcm47xx/base-files/lib/preinit/20_failsafe_set_boot_wait_brcm
@@ -1,6 +1,6 @@
#!/bin/sh
-. /etc/functions.sh
+. /lib/functions.sh
set_boot_wait() {
[ -x "/usr/sbin/nvram" ] && {