parent
c055b4eb2d
commit
475644dd92
@ -0,0 +1,2 @@ |
||||
#!/bin/sh |
||||
exec ash --login |
@ -0,0 +1,118 @@ |
||||
#!/bin/sh |
||||
|
||||
. /etc/nvram.overrides |
||||
|
||||
debug () { |
||||
[ -z "$DEBUG" ] || echo $1 |
||||
} |
||||
|
||||
# allow env to override nvram |
||||
nvram_get () { |
||||
eval "echo \${$1:-\$(nvram get $1)}" |
||||
} |
||||
|
||||
# valid interface? |
||||
if_valid () ( |
||||
[ "${1%%[0-9]}" = "vlan" ] && { |
||||
i=${1#vlan} |
||||
hwname=$(nvram_get vlan${i}hwname) |
||||
hwaddr=$(nvram_get ${hwname}macaddr) |
||||
[ -z "$hwaddr" ] && return 1 |
||||
|
||||
vif=$(ifconfig -a | awk '{IGNORECASE=1} /^eth.*'$hwaddr'/ {print $1; exit}') |
||||
debug "# vlan$i: $hwname $hwaddr => $vif" |
||||
|
||||
$DEBUG ifconfig $vif up |
||||
$DEBUG vconfig add $vif $i 2>/dev/null |
||||
} |
||||
ifconfig "$1" >/dev/null 2>&1 || [ "${1%%[0-9]}" = "br" ] |
||||
return $? |
||||
) |
||||
|
||||
wifi () ( |
||||
debug "### wifi $1 ###" |
||||
if=$(awk 'gsub(":","") {print $1}' /proc/net/wireless) |
||||
$DEBUG wlconf $if $1 |
||||
) |
||||
|
||||
ifup () ( |
||||
type=$1 |
||||
debug "### ifup $type ###" |
||||
|
||||
if=$(nvram_get ${type}_ifname) |
||||
if [ "${if%%[0-9]}" = "ppp" ]; then |
||||
if=$(nvram_get pppoe_ifname) |
||||
fi |
||||
|
||||
if_valid $if || return |
||||
|
||||
$DEBUG ifconfig $if down |
||||
if [ "${if%%[0-9]}" = "br" ]; then |
||||
stp=$(nvram_get ${type}_stp) |
||||
$DEBUG brctl delbr $if |
||||
$DEBUG brctl addbr $if |
||||
$DEBUG brctl setfd $if 0 |
||||
$DEBUG brctl stp $if $stp |
||||
if_list=$(nvram_get ${type}_ifnames) |
||||
for sif in $if_list; do { |
||||
if_valid $sif || continue |
||||
$DEBUG ifconfig $sif 0.0.0.0 up |
||||
$DEBUG brctl addif $if $sif |
||||
} done |
||||
fi |
||||
|
||||
if_mac=$(nvram_get ${type}_hwaddr) |
||||
[ -z "$if_mac" ] || $DEBUG ifconfig $if hw ether $if_mac |
||||
|
||||
if_proto=$(nvram_get ${type}_proto) |
||||
case "$if_proto" in |
||||
static) |
||||
if_ip=$(nvram_get ${type}_ipaddr) |
||||
if_netmask=$(nvram_get ${type}_netmask) |
||||
if_gateway=$(nvram_get ${type}_gateway) |
||||
|
||||
ipcalc -s "$if_ip" || return |
||||
ipcalc -s "$if_netmask" || return |
||||
$DEBUG ifconfig $if $if_ip netmask $if_netmask up |
||||
|
||||
ipcalc -s "$if_gateway" || return |
||||
$DEBUG route add default gw $if_gateway |
||||
|
||||
[ -f /etc/resolv.conf ] && return |
||||
|
||||
debug "# --- creating /etc/resolv.conf ---" |
||||
for dns in $(nvram_get ${type}_dns); do { |
||||
echo "nameserver $dns" >> /etc/resolv.conf |
||||
} done |
||||
;; |
||||
dhcp) |
||||
pidfile=/tmp/dhcp-${type}.pid |
||||
if [ -f $pidfile ]; then |
||||
$DEBUG kill $(cat $pidfile) |
||||
fi |
||||
cmd="udhcpc -i $if -b -p $pidfile &" |
||||
${DEBUG:-eval} $cmd |
||||
;; |
||||
pppoe) |
||||
if_username=$(nvram_get ppp_username) |
||||
if_password=$(nvram_get ppp_passwd) |
||||
if_redial=$(nvram_get ppp_redialperiod) |
||||
if_idletime=$(nvram_get ppp_idletime) |
||||
|
||||
$DEBUG ifconfig $if 0.0.0.0 up |
||||
|
||||
$DEBUG /sbin/pppoecd $if -u $if_username -p $if_password -i 0 -I $if_redial -T $if_idletime -k |
||||
;; |
||||
*) |
||||
echo "### WARNING $if: $if_proto is not supported" |
||||
;; |
||||
esac |
||||
) |
||||
|
||||
ifdown () ( |
||||
type=$1 |
||||
debug "### ifdown $type ###" |
||||
if=$(nvram_get ${type}_ifname) |
||||
if_valid $if || return |
||||
$DEBUG ifdown $if |
||||
) |
@ -0,0 +1,41 @@ |
||||
# NVRAM overrides |
||||
# This file handles the NVRAM quirks of various hardware |
||||
|
||||
# linksys bug has lan doing dhcp; force static |
||||
lan_proto="static" |
||||
|
||||
# failsafe if reset is held |
||||
[ "$FAILSAFE" = "true" ] && { |
||||
debug "### FAILSAFE MODE ####" |
||||
lan_ifname="br0" |
||||
lan_ifnames="vlan0 vlan2 eth1 eth2 eth3" |
||||
lan_ipaddr="192.168.1.1" |
||||
lan_netmask="255.255.255.0" |
||||
lan_hwaddr="00:0B:AD:0A:DD:00" |
||||
wan_ifname="none" |
||||
wifi_ifname="none" |
||||
} |
||||
|
||||
# hacks for 1.x hardware |
||||
[ "$(nvram get boardnum)" = "42" ] && \ |
||||
[ "$(nvram get boardtype)" = "bcm94710dev" ] && { |
||||
debug "### 1.x hardware hack ###" |
||||
vlan1hwname="et0" |
||||
vlan2hwname="et0" |
||||
|
||||
# we remap old device names to new |
||||
# it's recommended that you continue to |
||||
# use the old names to preserve backwards |
||||
# compatibility |
||||
remap () { |
||||
eval $1=\"$(nvram_get $1 | awk 'gsub("eth0","vlan2") gsub("eth1","vlan1")')\" |
||||
} |
||||
|
||||
remap lan_ifname |
||||
remap lan_ifnames |
||||
remap wifi_ifname |
||||
remap wifi_ifnames |
||||
remap wan_ifname |
||||
remap wan_ifnames |
||||
remap pppoe_ifname |
||||
} |
@ -0,0 +1,3 @@ |
||||
#!/bin/sh |
||||
export PATH=/bin:/sbin:/usr/bin:/usr/sbin |
||||
export PS1='\u@\h:\w\$ ' |
@ -0,0 +1,7 @@ |
||||
kernel.panic = 3 |
||||
net.ipv4.ip_forward = 1 |
||||
net.ipv4.icmp_echo_ignore_broadcasts = 1 |
||||
net.ipv4.icmp_ignore_bogus_error_responses = 1 |
||||
net.ipv4.tcp_fin_timeout = 30 |
||||
net.ipv4.tcp_keepalive_time = 120 |
||||
net.ipv4.tcp_timestamps = 0 |
Loading…
Reference in new issue