move ppp plugins default search path and (hopefully) fix pppoe reconnect issue
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 31 Mar 2005 23:32:08 +0000 (23:32 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 31 Mar 2005 23:32:08 +0000 (23:32 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@497 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/ppp/Makefile
package/ppp/ipkg/ppp-pppoe-plugin/etc/init.d/S50pppoe

index 621b9cd..046d47b 100644 (file)
@@ -116,10 +116,10 @@ $(IPKG_STATE_DIR)/info/ppp.list: $(PKG_PPP)
 $(PKG_PPP_PPPOE_PLUGIN): $(PKG_PPP)
        $(SCRIPT_DIR)/make-ipkg-dir.sh $(I_PPP_PPPOE_PLUGIN) control/ppp-pppoe-plugin.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
        cp -af ./ipkg/ppp-pppoe-plugin/* $(I_PPP_PPPOE_PLUGIN)
-       mkdir -p $(I_PPP_PPPOE_PLUGIN)/usr/lib/pppd/rp-pppoe
+       mkdir -p $(I_PPP_PPPOE_PLUGIN)/usr/lib/pppd/$(PKG_VERSION)
        cp -af $(PKG_BUILD_DIR)/pppd/plugins/rp-pppoe/rp-pppoe.so \
-               $(I_PPP_PPPOE_PLUGIN)/usr/lib/pppd/rp-pppoe
-       $(STRIP) $(I_PPP_PPPOE_PLUGIN)/usr/lib/pppd/*/*.so
+               $(I_PPP_PPPOE_PLUGIN)/usr/lib/pppd/$(PKG_VERSION)
+       $(STRIP) $(I_PPP_PPPOE_PLUGIN)/usr/lib/pppd/$(PKG_VERSION)/*.so
        mkdir -p $(I_PPP_PPPOE_PLUGIN)/$(MODULES_SUBDIR)
        cp $(MODULES_DIR)/kernel/drivers/net/pppo*.o $(I_PPP_PPPOE_PLUGIN)/$(MODULES_SUBDIR)
        find $(I_PPP_PPPOE_PLUGIN) -name CVS | xargs rm -rf
@@ -130,10 +130,10 @@ $(IPKG_STATE_DIR)/info/ppp-pppoe-plugin.list: $(PKG_PPP_PPPOE_PLUGIN)
 
 $(PKG_PPP_RADIUS_PLUGIN): $(PKG_PPP)
        $(SCRIPT_DIR)/make-ipkg-dir.sh $(I_PPP_RADIUS_PLUGIN) control/ppp-radius-plugin.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
-       mkdir -p $(I_PPP_RADIUS_PLUGIN)/usr/lib/pppd/radius
+       mkdir -p $(I_PPP_RADIUS_PLUGIN)/usr/lib/pppd/$(PKG_VERSION)
        cp -af $(PKG_BUILD_DIR)/pppd/plugins/radius/radius.so \
-         $(I_PPP_RADIUS_PLUGIN)/usr/lib/pppd/radius/
-       $(STRIP) $(I_PPP_RADIUS_PLUGIN)/usr/lib/pppd/*/*.so
+         $(I_PPP_RADIUS_PLUGIN)/usr/lib/pppd/$(PKG_VERSION)
+       $(STRIP) $(I_PPP_RADIUS_PLUGIN)/usr/lib/pppd/$(PKG_VERSION)/*.so
        find $(I_PPP_RADIUS_PLUGIN) -name CVS | xargs rm -rf
        $(IPKG_BUILD) $(I_PPP_RADIUS_PLUGIN) $(PACKAGE_DIR)
 
index 52e1d79..5d6ca5f 100755 (executable)
@@ -6,7 +6,7 @@ WAN_PROTO=$(nvram get wan_proto)
 [ "$WAN_PROTO" = "pppoe" ] || exit 0
 
 for module in slhc ppp_generic pppox pppoe; do
-       insmod $module 2>/dev/null >/dev/null
+       /sbin/insmod $module 2>/dev/null >/dev/null
 done
 
 IFNAME=$(nvram get pppoe_ifname)
@@ -19,5 +19,9 @@ IDLETIME=${IDLETIME:+idle $IDLETIME}
 MTU=$(nvram get ppp_mtu)
 
 ifconfig $IFNAME up
-echo -e "plugin /usr/lib/pppd/rp-pppoe/rp-pppoe.so\nconnect /bin/true\nusepeerdns\ndefaultroute\nuser \"$USERNAME\"\npassword \"$PASSWORD\"\nmtu $MTU\n$IDLETIME\n$REDIAL" > /tmp/.pppoe-data
-/usr/sbin/pppd file /tmp/.pppoe-data $IFNAME
+echo -e "plugin rp-pppoe.so\nconnect /bin/true\nusepeerdns\ndefaultroute\nuser \"$USERNAME\"\npassword \"$PASSWORD\"\nmtu $MTU\n$IDLETIME\n$REDIAL" > /tmp/.pppoe-data
+(
+       while true; do
+               /usr/sbin/pppd nodetach file /tmp/.pppoe-data $IFNAME
+       done
+) &