ppp: add hotplug helper for usb dsl modems to ppp-mod-pppoa package
authorJo-Philipp Wich <jow@openwrt.org>
Sun, 2 May 2010 16:40:58 +0000 (16:40 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Sun, 2 May 2010 16:40:58 +0000 (16:40 +0000)
SVN-Revision: 21302

package/ppp/Makefile
package/ppp/files/etc/hotplug.d/atm/20-usb-modem [new file with mode: 0644]

index 90e4590efe41b909ac78fd8b27944a2d7e4cb9f9..222c85deaef3aeaebe0f120b16bb117ed89050f3 100644 (file)
@@ -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 (file)
index 0000000..45ef542
--- /dev/null
@@ -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