mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-02-21 15:54:43 +02:00
pppoe support c/o below0
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@88 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
95ee189127
commit
7ce21e134c
103
obsolete-buildroot/README.pppoe
Normal file
103
obsolete-buildroot/README.pppoe
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
OPENWRT PPPOECD NOTES
|
||||||
|
=====================
|
||||||
|
|
||||||
|
1. GENERAL
|
||||||
|
----------
|
||||||
|
|
||||||
|
This package is used to estabilish basic connection to the
|
||||||
|
Internet via DSL/ADSL modems. This is also known as the
|
||||||
|
PPPoE or PPP-over-Ethernet connection.
|
||||||
|
|
||||||
|
The PPPOECD program included in the OpenWrt distribution is a
|
||||||
|
modified version of the PPPOECD that is present in the original
|
||||||
|
Linksys firmware.
|
||||||
|
|
||||||
|
This modified version is directly supported by the OpenWrt
|
||||||
|
startup scripts.
|
||||||
|
|
||||||
|
2. BUILDING
|
||||||
|
-----------
|
||||||
|
|
||||||
|
If you have a pre-compiled PPPOECD package, skip this section.
|
||||||
|
|
||||||
|
PPPOECD can be built in two ways. As an integrated part
|
||||||
|
of the OpenWrt FLASH image or as an .ipk package that can
|
||||||
|
be installed separately.
|
||||||
|
|
||||||
|
To build PPPOECD as an embedded component, add "pppoecd" to the
|
||||||
|
TARGETS variable in the main OpenWrt Makefile before the
|
||||||
|
"openwrt-bin" value.
|
||||||
|
|
||||||
|
To build as a standalone package, add "pppoecd" to the
|
||||||
|
PACKAGES variable in the main OpenWrt Makefile.
|
||||||
|
|
||||||
|
3. NVRAM variables
|
||||||
|
------------------
|
||||||
|
|
||||||
|
In order for the PPPoE link to be established by the networking
|
||||||
|
scripts the following NVRAM variables must be present:
|
||||||
|
|
||||||
|
wan_ifname Should be set to: ppp0
|
||||||
|
|
||||||
|
wan_proto Should be set to: pppoe
|
||||||
|
|
||||||
|
pppoe_ifname Set it to the WAN interface on which the PPPoE
|
||||||
|
is to function. On a 2.0 or a GS model it is
|
||||||
|
usually vlan1. The 1.0 and 1.1 models used vlan2.
|
||||||
|
|
||||||
|
ppp_username User name for your PPPoE connection.
|
||||||
|
|
||||||
|
ppp_passwd Password for the connection.
|
||||||
|
|
||||||
|
ppp_redialperiod Time between reconnect attempts.
|
||||||
|
Usualy set to 30.
|
||||||
|
|
||||||
|
ppp_idletime Time the link has to stay dead before reconnecting.
|
||||||
|
Usually set to 5.
|
||||||
|
|
||||||
|
wan_mtu The Maxumum Transfer Unit for the PPPoE connection.
|
||||||
|
Typically 1492.
|
||||||
|
|
||||||
|
Please consult the OpenWrt WIKI or the forum for more
|
||||||
|
information on NVRAM variables.
|
||||||
|
|
||||||
|
|
||||||
|
4. STARTUP / SHUTDOWN
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
OpenWrt will attempt to connect using PPPOECD when starting up.
|
||||||
|
The script responsible for that is /etc/init.d/S40network.
|
||||||
|
|
||||||
|
You can also manually start the PPPOECD by doing:
|
||||||
|
|
||||||
|
. /etc/functions.sh; ifup wan
|
||||||
|
|
||||||
|
Similarly you can shutdown the PPPOECD by doing:
|
||||||
|
|
||||||
|
. /etc/functions.sh; ifdown wan
|
||||||
|
|
||||||
|
|
||||||
|
5. CONFIGURATION
|
||||||
|
----------------
|
||||||
|
|
||||||
|
PPPoE firewall configuration is the standard OpenWrt configuration
|
||||||
|
in /etc/init.d/S45firewall that applies to all the other types
|
||||||
|
of connections to the Internet.
|
||||||
|
|
||||||
|
Additional actions can be performed when connecting or disconnecting
|
||||||
|
by modifying "ip-up" and "ip-down" scripts in the /etc/ppp directory.
|
||||||
|
|
||||||
|
When connecting, PPPOECD creates /tmp/resolv.conf file that contains
|
||||||
|
DNS server entries as supplied by the ISP. The standard ip-up
|
||||||
|
script will also add a default route leading via the PPPoE link.
|
||||||
|
|
||||||
|
6. DIFFERENCES FROM THE ORIGINAL PPPOECD
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
The main difference is the location of files. Original Linksys
|
||||||
|
PPPOECD operated almost exclusively in the /tmp/ppp directory. This
|
||||||
|
however prevents any persistent configuration of the program via
|
||||||
|
ip-up or ip-down scripts. Also the program itself was located in
|
||||||
|
/usr/sbin whereas OpenWrt scripts expect it to be in /sbin directory.
|
||||||
|
|
||||||
|
|
73
obsolete-buildroot/make/pppoecd.mk
Normal file
73
obsolete-buildroot/make/pppoecd.mk
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
# build the Linksys pppoecd
|
||||||
|
|
||||||
|
# Note that this patches the linksys pppd before patching pppoecd.
|
||||||
|
# The pppd patch changes the pathnames that pppoecd will use.
|
||||||
|
# In an attempt to avoid conflicts the marker file is called
|
||||||
|
# .patched-pppoecd in the pppd directory.
|
||||||
|
|
||||||
|
PPPD_DIR=$(BUILD_DIR)/WRT54GS/release/src/router/ppp/pppd
|
||||||
|
PPPD_PATCH=$(SOURCE_DIR)/pppoecd-pathnames.patch
|
||||||
|
|
||||||
|
PPPOECD_DIR=$(BUILD_DIR)/WRT54GS/release/src/router/ppp/pppoecd
|
||||||
|
PPPOECD_PATCH=$(SOURCE_DIR)/pppoecd.patch
|
||||||
|
PPPOECD_BIN=$(TARGET_DIR)/sbin/pppoecd
|
||||||
|
|
||||||
|
PPPOECD_IPK_DIR=$(BUILD_DIR)/pppoecd-1.0
|
||||||
|
PPPOECD_PACKAGE=$(BUILD_DIR)/pppoecd_1.0_mipsel.ipk
|
||||||
|
PPPOECD_IPK_BIN=$(PPPOECD_IPK_DIR)/sbin/pppoecd
|
||||||
|
|
||||||
|
# patch pppd for the openwrt compatible path names
|
||||||
|
$(PPPD_DIR)/.patched-pppoecd: $(BUILD_DIR)/WRT54GS/.source
|
||||||
|
cat $(PPPD_PATCH) | patch -d $(PPPD_DIR)
|
||||||
|
touch $(PPPD_DIR)/.patched-pppoecd
|
||||||
|
|
||||||
|
# patch the pppoecd itself for GCC3.x compatibility and to move pppoecd to /sbin
|
||||||
|
$(PPPOECD_DIR)/.patched: $(PPPD_DIR)/.patched-pppoecd
|
||||||
|
cat $(PPPOECD_PATCH) | patch -d $(PPPOECD_DIR)
|
||||||
|
touch $(PPPOECD_DIR)/.patched
|
||||||
|
|
||||||
|
# build the pppoecd binary for the ipk version
|
||||||
|
$(PPPOECD_IPK_BIN): $(PPPOECD_DIR)/.patched
|
||||||
|
mkdir -p $(PPPOECD_IPK_DIR)/etc/ppp
|
||||||
|
cp $(SOURCE_DIR)/pppoecd.ip-up $(PPPOECD_IPK_DIR)/etc/ppp/ip-up
|
||||||
|
chmod a+x $(PPPOECD_IPK_DIR)/etc/ppp/ip-up
|
||||||
|
$(MAKE) -C $(PPPOECD_DIR) CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld \
|
||||||
|
SRCBASE=$(OPENWRT_SRCBASE) INSTALLDIR=$(PPPOECD_IPK_DIR) LIBDIR=$(UCLIBC_DIR)/lib \
|
||||||
|
STRIP="$(STRIP)" \
|
||||||
|
install
|
||||||
|
|
||||||
|
# setup ipkg control files
|
||||||
|
$(PPPOECD_IPK_DIR)/CONTROL/control:
|
||||||
|
mkdir -p $(PPPOECD_IPK_DIR)/CONTROL
|
||||||
|
cp $(SOURCE_DIR)/pppoecd.prerm $(PPPOECD_IPK_DIR)/CONTROL/prerm
|
||||||
|
chmod a+x $(PPPOECD_IPK_DIR)/CONTROL/prerm
|
||||||
|
cp $(SOURCE_DIR)/pppoecd.postrm $(PPPOECD_IPK_DIR)/CONTROL/postrm
|
||||||
|
chmod a+x $(PPPOECD_IPK_DIR)/CONTROL/postrm
|
||||||
|
cp $(SOURCE_DIR)/pppoecd.conffiles $(PPPOECD_IPK_DIR)/CONTROL/conffiles
|
||||||
|
cp $(SOURCE_DIR)/pppoecd.control $(PPPOECD_IPK_DIR)/CONTROL/control
|
||||||
|
|
||||||
|
# build the ipk package
|
||||||
|
$(PPPOECD_PACKAGE): $(PPPOECD_IPK_BIN) $(PPPOECD_IPK_DIR)/CONTROL/control
|
||||||
|
cd $(BUILD_DIR); $(STAGING_DIR)/bin/ipkg-build -c -o root -g root pppoecd-1.0
|
||||||
|
|
||||||
|
# main target for building the ipk version
|
||||||
|
pppoecd-ipk: $(PPPOECD_PACKAGE)
|
||||||
|
|
||||||
|
# the embedded binary
|
||||||
|
$(PPPOECD_BIN): $(PPPOECD_DIR)/.patched
|
||||||
|
mkdir $(TARGET_DIR)/etc/ppp
|
||||||
|
cp $(SOURCE_DIR)/pppoecd.ip-up $(TARGET_DIR)/etc/ppp/ip-up
|
||||||
|
chmod a+x $(TARGET_DIR)/etc/ppp/ip-up
|
||||||
|
$(MAKE) -C $(PPPOECD_DIR) CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld \
|
||||||
|
SRCBASE=$(OPENWRT_SRCBASE) INSTALLDIR=$(TARGET_DIR) LIBDIR=$(UCLIBC_DIR)/lib \
|
||||||
|
STRIP="$(STRIP)" \
|
||||||
|
install
|
||||||
|
|
||||||
|
# main target for building the embedded version
|
||||||
|
pppoecd: $(PPPOECD_BIN)
|
||||||
|
|
||||||
|
pppoecd-clean:
|
||||||
|
-$(MAKE) -C $(PPPOECD_DIR) clean
|
||||||
|
rm -f $(TARGET_DIR)/usr/sbin/pppoecd
|
||||||
|
rm -rf $(PPPOECD_IPK_DIR)
|
||||||
|
rm -f $(PPPOECD_PACKAGE)
|
66
obsolete-buildroot/sources/pppoecd-pathnames.patch
Normal file
66
obsolete-buildroot/sources/pppoecd-pathnames.patch
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
--- pathnames.h.orig Tue Oct 14 03:09:53 2003
|
||||||
|
+++ pathnames.h Sat Jul 10 21:04:34 2004
|
||||||
|
@@ -9,37 +9,37 @@
|
||||||
|
|
||||||
|
#else /* HAVE_PATHS_H */
|
||||||
|
#ifndef _PATH_VARRUN
|
||||||
|
-#define _PATH_VARRUN "/tmp/ppp/"
|
||||||
|
+#define _PATH_VARRUN "/var/run"
|
||||||
|
#endif
|
||||||
|
#define _PATH_DEVNULL "/dev/null"
|
||||||
|
#endif /* HAVE_PATHS_H */
|
||||||
|
|
||||||
|
#ifndef _ROOT_PATH
|
||||||
|
-#define _ROOT_PATH
|
||||||
|
+#define _ROOT_PATH "/etc"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#define _PATH_UPAPFILE _ROOT_PATH "/tmp/ppp/pap-secrets"
|
||||||
|
-#define _PATH_CHAPFILE _ROOT_PATH "/tmp/ppp/chap-secrets"
|
||||||
|
-#define _PATH_SYSOPTIONS _ROOT_PATH "/tmp/ppp/options"
|
||||||
|
-#define _PATH_IPUP _ROOT_PATH "/tmp/ppp/ip-up"
|
||||||
|
-#define _PATH_IPDOWN _ROOT_PATH "/tmp/ppp/ip-down"
|
||||||
|
-#define _PATH_AUTHUP _ROOT_PATH "/tmp/ppp/auth-up"
|
||||||
|
-#define _PATH_AUTHDOWN _ROOT_PATH "/tmp/ppp/auth-down"
|
||||||
|
-#define _PATH_TTYOPT _ROOT_PATH "/tmp/ppp/options."
|
||||||
|
-#define _PATH_CONNERRS _ROOT_PATH "/tmp/ppp/connect-errors"
|
||||||
|
-#define _PATH_PEERFILES _ROOT_PATH "/tmp/ppp/peers/"
|
||||||
|
-#define _PATH_RESOLV _ROOT_PATH "/tmp/ppp/resolv.conf"
|
||||||
|
+#define _PATH_UPAPFILE _ROOT_PATH "/ppp/pap-secrets"
|
||||||
|
+#define _PATH_CHAPFILE _ROOT_PATH "/ppp/chap-secrets"
|
||||||
|
+#define _PATH_SYSOPTIONS _ROOT_PATH "/ppp/options"
|
||||||
|
+#define _PATH_IPUP _ROOT_PATH "/ppp/ip-up"
|
||||||
|
+#define _PATH_IPDOWN _ROOT_PATH "/ppp/ip-down"
|
||||||
|
+#define _PATH_AUTHUP _ROOT_PATH "/ppp/auth-up"
|
||||||
|
+#define _PATH_AUTHDOWN _ROOT_PATH "/ppp/auth-down"
|
||||||
|
+#define _PATH_TTYOPT _ROOT_PATH "/ppp/options."
|
||||||
|
+#define _PATH_CONNERRS "/tmp/connect-errors"
|
||||||
|
+#define _PATH_PEERFILES _ROOT_PATH "/ppp/peers/"
|
||||||
|
+#define _PATH_RESOLV "/tmp/resolv.conf"
|
||||||
|
|
||||||
|
#define _PATH_USEROPT ".ppprc"
|
||||||
|
|
||||||
|
#ifdef INET6
|
||||||
|
-#define _PATH_IPV6UP _ROOT_PATH "/tmp/ppp/ipv6-up"
|
||||||
|
-#define _PATH_IPV6DOWN _ROOT_PATH "/tmp/ppp/ipv6-down"
|
||||||
|
+#define _PATH_IPV6UP _ROOT_PATH "/ppp/ipv6-up"
|
||||||
|
+#define _PATH_IPV6DOWN _ROOT_PATH "/ppp/ipv6-down"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef IPX_CHANGE
|
||||||
|
-#define _PATH_IPXUP _ROOT_PATH "/tmp/ppp/ipx-up"
|
||||||
|
-#define _PATH_IPXDOWN _ROOT_PATH "/tmp/ppp/ipx-down"
|
||||||
|
+#define _PATH_IPXUP _ROOT_PATH "/ppp/ipx-up"
|
||||||
|
+#define _PATH_IPXDOWN _ROOT_PATH "/ppp/ipx-down"
|
||||||
|
#endif /* IPX_CHANGE */
|
||||||
|
|
||||||
|
#ifdef __STDC__
|
||||||
|
@@ -48,7 +48,7 @@
|
||||||
|
#ifdef HAVE_PATHS_H
|
||||||
|
#define _PATH_PPPDB "/var/run/pppd.tdb"
|
||||||
|
#else
|
||||||
|
-#define _PATH_PPPDB "/tmp/ppp/pppd.tdb"
|
||||||
|
+#define _PATH_PPPDB "/tmp/pppd.tdb"
|
||||||
|
#endif
|
||||||
|
#endif /* __STDC__ */
|
||||||
|
|
1
obsolete-buildroot/sources/pppoecd.conffiles
Normal file
1
obsolete-buildroot/sources/pppoecd.conffiles
Normal file
@ -0,0 +1 @@
|
|||||||
|
/etc/ppp/ip-up
|
10
obsolete-buildroot/sources/pppoecd.control
Normal file
10
obsolete-buildroot/sources/pppoecd.control
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
Package: pppoecd
|
||||||
|
Priority: optional
|
||||||
|
Version: 1.0
|
||||||
|
Architecture: mipsel
|
||||||
|
Maintainer: below0
|
||||||
|
Section: net
|
||||||
|
Source: Embedded in the main openwrt tarball
|
||||||
|
Description: Linksys PPPoE daemon for access to internet using DSL modems
|
||||||
|
|
||||||
|
|
5
obsolete-buildroot/sources/pppoecd.ip-up
Normal file
5
obsolete-buildroot/sources/pppoecd.ip-up
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# set default route
|
||||||
|
/sbin/route add default gw $IPREMOTE
|
||||||
|
|
27
obsolete-buildroot/sources/pppoecd.patch
Normal file
27
obsolete-buildroot/sources/pppoecd.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
--- pppoe.c.orig Sat Jul 10 20:55:38 2004
|
||||||
|
+++ pppoe.c Sat Jul 10 20:55:55 2004
|
||||||
|
@@ -131,8 +131,7 @@
|
||||||
|
|
||||||
|
if (pppoe_srv_name !=NULL) {
|
||||||
|
if (strlen (pppoe_srv_name) > 255) {
|
||||||
|
- poe_error (ses," Service name too long
|
||||||
|
- (maximum allowed 256 chars)");
|
||||||
|
+ poe_error (ses," Service name too long (maximum allowed 256 chars)");
|
||||||
|
poe_die(-1);
|
||||||
|
}
|
||||||
|
ses->filt->stag = make_filter_tag(PTT_SRV_NAME,
|
||||||
|
--- Makefile.orig Sun Jul 11 03:26:49 2004
|
||||||
|
+++ Makefile Sun Jul 11 03:27:18 2004
|
||||||
|
@@ -68,9 +68,9 @@
|
||||||
|
all: pppoecd
|
||||||
|
|
||||||
|
install: all
|
||||||
|
- install -d $(INSTALLDIR)/usr/sbin
|
||||||
|
- install -m 755 pppoecd $(INSTALLDIR)/usr/sbin
|
||||||
|
- $(STRIP) $(INSTALLDIR)/usr/sbin/pppoecd
|
||||||
|
+ install -d $(INSTALLDIR)/sbin
|
||||||
|
+ install -m 755 pppoecd $(INSTALLDIR)/sbin
|
||||||
|
+ $(STRIP) $(INSTALLDIR)/sbin/pppoecd
|
||||||
|
|
||||||
|
pppoecd: $(OBJS)
|
||||||
|
$(LD) -r -o .$@ $^ $(LIBCRYPT)
|
4
obsolete-buildroot/sources/pppoecd.postrm
Normal file
4
obsolete-buildroot/sources/pppoecd.postrm
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
rm -rf /etc/ppp
|
||||||
|
|
5
obsolete-buildroot/sources/pppoecd.prerm
Normal file
5
obsolete-buildroot/sources/pppoecd.prerm
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
killall pppoecd
|
||||||
|
sleep 3
|
||||||
|
killall -9 pppoecd
|
Loading…
x
Reference in New Issue
Block a user