add preinit modularization work by Daniel Dickinson (cshore)
[openwrt/svn-archive/archive.git] / target / linux / atheros / base-files / lib / preinit / 15_preinit_iface_atheros
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 (file)
index 0000000..c15b4de
--- /dev/null
@@ -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
+}