diff options
Diffstat (limited to 'target/linux/package/base-files/files/brcm-2.4')
3 files changed, 161 insertions, 0 deletions
diff --git a/target/linux/package/base-files/files/brcm-2.4/etc/config/network b/target/linux/package/base-files/files/brcm-2.4/etc/config/network new file mode 100644 index 000000000..ee8e02043 --- /dev/null +++ b/target/linux/package/base-files/files/brcm-2.4/etc/config/network @@ -0,0 +1,18 @@ +# Network configuration file +# Uncomment the following statements to override the default or nvram config + +## LAN configuration +# lan_ifname="br0" +# lan_proto="static" +# lan_ipaddr="192.168.1.1" +# lan_netmask="255.255.255.0" +# lan_gateway="" +# lan_dns="" + +## WAN configuration (PPPoE) +# wan_proto=pppoe +# wan_ifname=ppp0 +# pppoe_ifname=vlan1 +# ppp_username=my_username +# ppp_passwd=my_passwd +# ppp_mtu=1492 diff --git a/target/linux/package/base-files/files/brcm-2.4/etc/init.d/S05nvram b/target/linux/package/base-files/files/brcm-2.4/etc/init.d/S05nvram new file mode 100755 index 000000000..0d1300b96 --- /dev/null +++ b/target/linux/package/base-files/files/brcm-2.4/etc/init.d/S05nvram @@ -0,0 +1,102 @@ +# NVRAM setup +# +# This file handles the NVRAM quirks of various hardware. + +. /etc/network.overrides +alias debug=${DEBUG:-:} + +remap () { + for type in lan wifi wan pppoe + do + for s in '' s + do + eval nvram set ${type}_ifname$s=\"$(nvram get ${type}_ifname$s|sed s/$1/$2/g)\" + done + done +} + +nvram_default() { + [ -z "$(nvram get $1)" ] && nvram set "$1=$2" +} + +# linksys bug; remove when not using static configuration for lan +nvram set lan_proto="static" + +# hacks for wrt54g 1.x hardware +[ "$(nvram get boardnum)" = "42" \ +-a "$(nvram get boardtype)" = "bcm94710dev" ] && { + debug "### wrt54g 1.x hack ###" + nvram set vlan1hwname="et0" + nvram set vlan2hwname="et0" + remap eth0 vlan2 + remap eth1 vlan1 +} + +# hacks for asus wl-500g deluxe +[ "$(nvram get boardtype)" = "bcm95365r" \ +-a "$(nvram get boardnum)" = "45" ] && { + debug "### wl-500g deluxe hacks ###" + nvram set vlan0hwname="et0" + nvram set vlan1hwname="et0" + remap eth0.1 vlan0 + remap eth0 vlan1 + + # set up the vlan*ports variables for the asus wl-500g deluxe + # if they don't already exist + nvram_default vlan0ports "1 2 3 4 5*" + nvram_default vlan1ports "0 5" +} + +# hacks for asus wl-300g +[ "$(nvram get productid)" = "WL300g" ] && { + debug "### wl-300g hacks ###" + nvram set lan_ifnames="eth0 eth2" + nvram set wan_ifname="none" +} + +# hacks for asus wl-hdd +[ "$(nvram get productid)" = "WLHDD" ] && { + debug "### wl-hdd hacks ###" + nvram set lan_ifnames="eth1 eth2" + nvram set wan_ifname="none" +} + +# hacks for wap54g hardware +[ "$(nvram get boardnum)" = "2" \ +-o "$(nvram get boardnum)" = "1024" ] && { + debug "### wap54g hack ###" + nvram set wan_ifname="none" +} + +# hacks for buffalo wla2-g54l +[ "$(nvram get boardnum)" = "00" \ +-a "$(nvram get product_name)" = "Product_name" \ +-o "$(nvram get product_name)" = "WLA2-G54L" ] && { + debug "### wla2-g54l hacks ###" + nvram set wan_ifname="none" + nvram set lan_ifnames="vlan0" +} + +# needed at least for wrt54gs v1.1 and wrt54g v2.0, v2.2 +[ \! -z "$(nvram get boardrev)" ] && { + nvram set wl0id=0x4320 +} + +# defaults +nvram_default lan_ifname "br0" +nvram_default lan_ifnames "$FAILSAFE_ifnames" + +nvram_default wan_ifname "vlan1" +nvram_default wan_proto "dhcp" + +nvram_default wl0_ssid OpenWrt +nvram_default wl0_mode ap +nvram_default wl0_infra 1 +nvram_default wl0_radio 1 + +[ "$(nvram get il0macaddr)" = "00:90:4c:5f:00:2a" ] && { + # if default wifi mac, set two higher than the lan mac + nvram set il0macaddr=$(nvram get et0macaddr| + awk '{OFS=FS=":";for(x=7,y=2;--x;){$x=sprintf("%02x",(y+="0x"$x)%256);y/=256}print}') +} + diff --git a/target/linux/package/base-files/files/brcm-2.4/etc/network.overrides b/target/linux/package/base-files/files/brcm-2.4/etc/network.overrides new file mode 100644 index 000000000..dc3abcaeb --- /dev/null +++ b/target/linux/package/base-files/files/brcm-2.4/etc/network.overrides @@ -0,0 +1,41 @@ +# NVRAM overrides +# +# This file handles the NVRAM quirks of various hardware. +# THIS FILE IS NOT A REPLACEMENT FOR NVRAM + +# Load sysconf defaults +[ -f /etc/sysconf ] && . /etc/sysconf + +# hacks for wrt54g 1.x hardware +[ "$(nvram get boardnum)" = "42" \ +-a "$(nvram get boardtype)" = "bcm94710dev" ] && FAILSAFE_ifnames="vlan0 vlan2 eth2" + +# hacks for asus wl-500g deluxe +[ "$(nvram get boardtype)" = "bcm95365r" \ +-a "$(nvram get boardnum)" = "45" ] && FAILSAFE_ifnames="vlan0 eth1" + +# hacks for wap54g hardware +[ "$(nvram get boardnum)" = "2" \ +-o "$(nvram get boardnum)" = "1024" ] && FAILSAFE_ifnames="eth0 eth1" + +# hack for asus wl-500g hardware +[ "$(nvram get boardnum)" = "asusX" \ +-a "$(nvram get boardtype)" = "bcm94710dev" ] && FAILSAFE_ifnames="eth0 eth1 eth2" + +FAILSAFE_ifnames=${FAILSAFE_ifnames:-"vlan0 eth1 eth2"} + +DEFAULT_lan_ipaddr=${BR2_SYSCONF_FAILSAFE_IP:-"192.168.1.1"} +DEFAULT_lan_netmask=${BR2_SYSCONF_FAILSAFE_NETMASK:-"255.255.255.0"} +DEFAULT_lan_hwaddr=${BR2_SYSCONF_FAILSAFE_MAC:-"00:0B:AD:0A:DD:00"} + +# failsafe if reset is held +[ "$FAILSAFE" = "true" ] && { + echo "### YOU ARE IN FAILSAFE MODE ####" + NVRAM_lan_ifname="br0" + NVRAM_lan_ifnames=$FAILSAFE_ifnames + NVRAM_lan_ipaddr=DEFAULT_lan_ipaddr + NVRAM_lan_netmask=DEFAULT_lan_netmask + NVRAM_lan_hwaddr=DEFAULT_lan_hwaddr + NVRAM_wan_ifname="none" + NVRAM_wifi_ifname="none" +} |