diff options
Diffstat (limited to 'package/linux-atm')
-rw-r--r-- | package/linux-atm/Makefile | 4 | ||||
-rw-r--r-- | package/linux-atm/files/br2684.init | 41 |
2 files changed, 22 insertions, 23 deletions
diff --git a/package/linux-atm/Makefile b/package/linux-atm/Makefile index d36c7c39e3..3c7bf9c5b5 100644 --- a/package/linux-atm/Makefile +++ b/package/linux-atm/Makefile @@ -63,8 +63,8 @@ $(IPKG_LINUX_ATM): $(IPKG_BR2684CTL): install -d -m0755 $(IDIR_BR2684CTL)/usr/sbin cp -fpR $(PKG_INSTALL_DIR)/usr/sbin/br2684ctl $(IDIR_BR2684CTL)/usr/sbin/ - install -d -m0755 $(IDIR_BR2684CTL)/etc/init.d - install -m0755 ./files/br2684.init $(IDIR_BR2684CTL)/etc/init.d/S30br2684 + install -d -m0755 $(IDIR_BR2684CTL)/etc/hotplug.d/net + install -m0644 ./files/br2684.init $(IDIR_BR2684CTL)/etc/hotplug.d/net/30-br2684 $(RSTRIP) $(IDIR_BR2684CTL)/ $(IPKG_BUILD) $(IDIR_BR2684CTL) $(PACKAGE_DIR) diff --git a/package/linux-atm/files/br2684.init b/package/linux-atm/files/br2684.init index 90ba36521d..88f40e76b6 100644 --- a/package/linux-atm/files/br2684.init +++ b/package/linux-atm/files/br2684.init @@ -1,22 +1,21 @@ -#!/bin/sh -. /etc/functions.sh -[ -e /etc/config/network ] && . /etc/config/network - -killall br2684ctl 2>&- >&- -[ "$(nvram get pppoe_atm)" = 1 ] && { - VPI=$(nvram get atm_vpi) - VCI=$(nvram get atm_vci) - case "$(nvram get atm_encaps)" in - 0|vc) - ENCAPS=0 - ;; - 1|llc) - ENCAPS=1 - ;; - *) - ENCAPS=0 - ;; - esac - insmod br2684 - br2684ctl -c0 -e${ENCAPS} -a${VPI:-8}.${VCI:-35} & +[ "${INTERFACE%%[0-9]*}" = "atm" ] && { + case "$ACTION" in + register) + [ "$(nvram get pppoe_atm)" = 1 ] && { + VPI=$(nvram get atm_vpi) + VCI=$(nvram get atm_vci) + case "$(nvram get atm_encaps)" in + 0|vc) ENCAPS=0 ;; + 1|llc) ENCAPS=1 ;; + *) ENCAPS=0 ;; + esac + insmod br2684 2>&- >&- + br2684ctl -c0 -e${ENCAPS} -a${VPI:-8}.${VCI:-35} & + } + ;; + unregister) + killall br2684ctl 2>&- >&- + rmmod br2684 + ;; + esac } |