diff options
3 files changed, 76 insertions, 22 deletions
| diff --git a/openwrt/package/base-files/default/etc/hotplug.d/net/10-net b/openwrt/package/base-files/default/etc/hotplug.d/net/10-net index 9a4c45003..8d2c6a803 100644 --- a/openwrt/package/base-files/default/etc/hotplug.d/net/10-net +++ b/openwrt/package/base-files/default/etc/hotplug.d/net/10-net @@ -1,30 +1,10 @@  #!/bin/sh  setup_eth()  { -    	for part in $(nvram get unused_ifnames); do -		[ "$part" = "$INTERFACE" ] && return 0 +	for part in $(nvram get unused_ifnames); do +		[ "$part" = "$INTERFACE" ] && exit 0  	done -	[ -f /proc/net/wl0 ] && { -		lsmod | grep wlcompat >&- || insmod wlcompat -	} -	iwconfig "$INTERFACE" 2>&- | grep -v 'no wireless' >&- && { -		/sbin/wifi -	} -	[ -d /proc/switch ] || { -		insmod switch-core -		insmod switch-robo || insmod switch-adm -	} -	if="$(echo "$INTERFACE" | sed s,eth,et,)"  	ifconfig "$INTERFACE" up 2>&- >&- -	for vlan in $(seq 0 15); do -		[ "$(nvram get vlan${vlan}hwname)" = "$if" ] && { -			$DEBUG vconfig add "$INTERFACE" "$vlan" -			vports="$(nvram get vlan${vlan}ports)" -			[ \! -z "$vports" -a -d "/proc/switch/$INTERFACE" ] && \ -				echo "$vports" > "/proc/switch/$INTERFACE/vlan/$vlan/ports" -				echo "1" > "/proc/switch/$INTERFACE/enable_vlan" -		} -	done  }  find_name() diff --git a/openwrt/target/linux/package/base-files/files/brcm-2.4/etc/hotplug.d/09-net b/openwrt/target/linux/package/base-files/files/brcm-2.4/etc/hotplug.d/09-net new file mode 100644 index 000000000..75604ebef --- /dev/null +++ b/openwrt/target/linux/package/base-files/files/brcm-2.4/etc/hotplug.d/09-net @@ -0,0 +1,40 @@ +#!/bin/sh +setup_eth() +{ +	for part in $(nvram get unused_ifnames); do +		[ "$part" = "$INTERFACE" ] && exit 0 +	done +	[ -f /proc/net/wl0 ] && { +		lsmod | grep wlcompat >&- || insmod wlcompat +	} +	iwconfig "$INTERFACE" 2>&- | grep -v 'no wireless' >&- && { +		/sbin/wifi +	} +	[ -d /proc/switch ] || { +		insmod switch-core +		insmod switch-robo || insmod switch-adm +	} +	if="$(echo "$INTERFACE" | sed s,eth,et,)" +	ifconfig "$INTERFACE" up 2>&- >&- +	[ -d "/proc/switch/$INTERFACE" ] || return 0 +	echo "1" > "/proc/switch/$INTERFACE/enable_vlan" +	for vlan in $(seq 0 15); do +		[ "$(nvram get vlan${vlan}hwname)" = "$if" ] && { +			vports="$(nvram get vlan${vlan}ports)" +			[ -n "$vports" ] && echo "$vports" > "/proc/switch/$INTERFACE/vlan/$vlan/ports" +			$DEBUG vconfig add "$INTERFACE" "$vlan" +		} +	done +} + +do_register() +{ +	case "${INTERFACE%%[0-9]*}" in +		eth) setup_eth;; +	esac +} + + +case "$ACTION" in +	add|register) do_register;; +esac diff --git a/openwrt/target/linux/package/base-files/files/brcm-2.6/etc/hotplug.d/09-net b/openwrt/target/linux/package/base-files/files/brcm-2.6/etc/hotplug.d/09-net new file mode 100644 index 000000000..5e941e5a7 --- /dev/null +++ b/openwrt/target/linux/package/base-files/files/brcm-2.6/etc/hotplug.d/09-net @@ -0,0 +1,34 @@ +#!/bin/sh +setup_eth() +{ +	for part in $(nvram get unused_ifnames); do +		[ "$part" = "$INTERFACE" ] && exit 0 +	done +	[ -d /proc/switch ] || { +		insmod switch-core +		insmod switch-robo || insmod switch-adm +	} +	if="$(echo "$INTERFACE" | sed s,eth,et,)" +	ifconfig "$INTERFACE" up 2>&- >&- +	[ -d "/proc/switch/$INTERFACE" ] || return 0 +	echo "1" > "/proc/switch/$INTERFACE/enable_vlan" +	for vlan in $(seq 0 15); do +		[ "$(nvram get vlan${vlan}hwname)" = "$if" ] && { +			vports="$(nvram get vlan${vlan}ports)" +			[ -n "$vports" ] && echo "$vports" > "/proc/switch/$INTERFACE/vlan/$vlan/ports" +			$DEBUG vconfig add "$INTERFACE" "$vlan" +		} +	done +} + +do_register() +{ +	case "${INTERFACE%%[0-9]*}" in +		eth) setup_eth;; +	esac +} + + +case "$ACTION" in +	add|register) do_register;; +esac | 
