diff options
Diffstat (limited to 'package/ppp')
-rw-r--r-- | package/ppp/Makefile | 2 | ||||
-rw-r--r-- | package/ppp/files/etc/hotplug.d/atm/20-usb-modem | 25 |
2 files changed, 27 insertions, 0 deletions
diff --git a/package/ppp/Makefile b/package/ppp/Makefile index 90e4590efe..222c85deae 100644 --- a/package/ppp/Makefile +++ b/package/ppp/Makefile @@ -149,6 +149,8 @@ define Package/ppp-mod-pppoa/install $(1)/usr/lib/pppd/$(PKG_VERSION)/ $(INSTALL_DIR) $(1)/lib/network $(INSTALL_BIN) ./files/pppoa.sh $(1)/lib/network/ + $(INSTALL_DIR) $(1)/etc/hotplug.d/atm + $(INSTALL_DATA) ./files/etc/hotplug.d/atm/20-usb-modem $(1)/etc/hotplug.d/atm/ endef define Package/ppp-mod-pppoe/install diff --git a/package/ppp/files/etc/hotplug.d/atm/20-usb-modem b/package/ppp/files/etc/hotplug.d/atm/20-usb-modem new file mode 100644 index 0000000000..45ef54239c --- /dev/null +++ b/package/ppp/files/etc/hotplug.d/atm/20-usb-modem @@ -0,0 +1,25 @@ +#!/bin/sh + +if [ "$ACTION" = "add" ]; then + include /lib/network + scan_interfaces + + local found=0 + local ifc + for ifc in $interfaces; do + local up + config_get_bool up "$ifc" up 0 + + local proto + config_get proto "$ifc" proto + + if [ "$proto" = "pppoa" ] && [ "$up" != 1 ]; then + found=1 + ( sleep 1; ifup "$ifc" ) & + fi + done + + if [ "$found" != 1 ]; then + logger "Found no matching interface for DSL device $DEVICENAME" + fi +fi |