save the boot loader's vlan config before setting the failsafe config and restore...
authorFelix Fietkau <nbd@openwrt.org>
Sun, 15 Jan 2006 16:17:26 +0000 (16:17 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 15 Jan 2006 16:17:26 +0000 (16:17 +0000)
SVN-Revision: 2987

openwrt/package/base-files/default/etc/preinit

index 575b30ba9c905ae181e922c84033e1082aa12349..509f378a88d63e008e54ffe8cffef448c49f795d 100755 (executable)
@@ -8,7 +8,12 @@ ifconfig eth0 up
 insmod switch-core
 insmod switch-robo || insmod switch-adm || rmmod switch-core
 
+# save the boot loader's vlan config
+# we need it on some routers that have no vlan*ports set
 [ -d /proc/switch/eth0 ] && {
+       v0p="$(cat /proc/switch/eth0/vlan/0/ports)"
+       v1p="$(cat /proc/switch/eth0/vlan/1/ports)"
+       v2p="$(cat /proc/switch/eth0/vlan/2/ports)"
        echo 1 > /proc/switch/eth0/reset
        echo "0 1 2 3 4 5u*" > /proc/switch/eth0/vlan/0/ports
 }
@@ -34,7 +39,15 @@ fi
 
 mount_root ${FAILSAFE:+failsafe}
 
-# remove the drivers for now, just in case the user has newer versions on the jffs2 partition
+# revert to the boot loader's vlan config
+# required for at least WRT54G v1.1
+[ -d /proc/switch/eth0 ] && {
+       echo "$v0p" > /proc/switch/eth0/vlan/0/ports
+       echo "$v1p" > /proc/switch/eth0/vlan/1/ports
+       echo "$v2p" > /proc/switch/eth0/vlan/2/ports
+}
+
+# remove the drivers for now
 rmmod switch-robo
 rmmod switch-adm
 rmmod switch-core