diff options
Diffstat (limited to 'target/linux/atheros/base-files/lib')
-rw-r--r-- | target/linux/atheros/base-files/lib/preinit/15_preinit_iface_atheros | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/target/linux/atheros/base-files/lib/preinit/15_preinit_iface_atheros b/target/linux/atheros/base-files/lib/preinit/15_preinit_iface_atheros new file mode 100644 index 000000000..c15b4de1e --- /dev/null +++ b/target/linux/atheros/base-files/lib/preinit/15_preinit_iface_atheros @@ -0,0 +1,32 @@ +#!/bin/sh + +# reset button only supported on ar5315+ at the moment +preinit_ip() { + if [ -z "$pi_ifname" ]; then + grep 'Atheros AR231[567]' /proc/cpuinfo > /dev/null && { + 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 + ifconfig eth0 up + vconfig add eth0 1 + ifname=eth0.1 + else + ifname=eth0 + fi + pi_ifname=$ifname + } + [ -n "$pi_ifname" ] && grep "$pi_ifname" /proc/net/dev >/dev/null && { + ifconfig $pi_ifname $pi_ip netmask $pi_netmask broadcast $pi_broadcast 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 + ifconfig $pi_ifname down + fi +} |