diff options
Diffstat (limited to 'target/linux/ath25/base-files/lib/preinit/15_preinit_iface_atheros')
-rw-r--r-- | target/linux/ath25/base-files/lib/preinit/15_preinit_iface_atheros | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/target/linux/ath25/base-files/lib/preinit/15_preinit_iface_atheros b/target/linux/ath25/base-files/lib/preinit/15_preinit_iface_atheros new file mode 100644 index 0000000000..235ba4befc --- /dev/null +++ b/target/linux/ath25/base-files/lib/preinit/15_preinit_iface_atheros @@ -0,0 +1,34 @@ +# reset button only supported on ar5315+ at the moment +preinit_ip() { + if [ -z "$pi_ifname" ]; then + grep -q 'Atheros AR231[567]' /proc/cpuinfo && { + if [ -e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/0:00" -o \ + -e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then + vconfig set_name_type DEV_PLUS_VID_NO_PAD + ip link set eth0 up + vconfig add eth0 1 + ifname=eth0.1 + else + ifname=eth0 + fi + pi_ifname=$ifname + } + fi + [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && { + ip addr add $pi_ip/$pi_netmask broadcast $pi_broadcast dev $pi_ifname + ip link set $pi_ifname up + } +} + + +# reset button only supported on ar5315+ at the moment + +preinit_ip_deconfig() { + if [ -e "/sys/bus/mdio_bus/drivers/Infineon ADM6996/0:00" -o \ + -e "/sys/bus/mdio_bus/drivers/Marvell 88E6060/0:10" ]; then + vconfig rem eth0.1 2>/dev/null + ip link set $pi_ifname down + elif [ -n "$pi_ifname" ]; then + ip -4 addr flush dev $pi_ifname + fi +} |