diff options
15 files changed, 144 insertions, 17 deletions
diff --git a/package/Makefile b/package/Makefile index 0b9794132b..9ee4fa9e58 100644 --- a/package/Makefile +++ b/package/Makefile @@ -164,7 +164,7 @@ package-$(BR2_PACKAGE_WPUT) += wput package-$(BR2_PACKAGE_XINETD) += xinetd package-$(BR2_PACKAGE_ZLIB) += zlib -DEV_LIBS:=tcp_wrappers glib ncurses openssl pcre popt zlib libnet libpcap mysql postgresql iptables matrixssl lzo gmp fuse portmap libelf uclibc++ speex libpng libgd wireless-tools nvram +DEV_LIBS:=tcp_wrappers glib ncurses openssl pcre popt zlib libnet libpcap mysql postgresql iptables matrixssl lzo gmp fuse portmap libelf uclibc++ speex libpng libgd wireless-tools nvram linux-atm DEV_LIBS_COMPILE:=$(patsubst %,%-compile,$(DEV_LIBS)) SDK_DEFAULT_PACKAGES:=busybox dnsmasq iptables wireless-tools dropbear bridge ipkg ppp SDK_DEFAULT_COMPILE:=$(patsubst %,%-compile,$(SDK_DEFAULT_PACKAGES)) @@ -217,6 +217,7 @@ openswan-compile: gmp-compile osiris-compile: openssl-compile portmap-compile: tcp_wrappers-compile postgresql-compile: zlib-compile +ppp-compile: linux-atm-compile quagga-compile: readline-compile ncurses-compile rrdcollect-compile: rrdtool-compile rrdtool-compile: cgilib-compile freetype-compile libart-compile libpng-compile diff --git a/package/ppp/Config.in b/package/ppp/Config.in index 951c248829..4feadee868 100644 --- a/package/ppp/Config.in +++ b/package/ppp/Config.in @@ -6,6 +6,13 @@ config BR2_PACKAGE_PPP default y select BR2_PACKAGE_KMOD_PPP +config BR2_PACKAGE_PPP_MOD_PPPOA + prompt "...-mod-pppoa - PPPoA (PPP over ATM) plugin" + tristate + default y if BR2_LINUX_2_4_AR7 + depends on BR2_PACKAGE_PPP + select BR2_PACKAGE_KMOD_PPPOA + config BR2_PACKAGE_PPP_MOD_PPPOE prompt "...-mod-pppoe - PPPoE (PPP over Ethernet) plugin" tristate diff --git a/package/ppp/Makefile b/package/ppp/Makefile index 0fed25c91e..1b20c4e7cd 100644 --- a/package/ppp/Makefile +++ b/package/ppp/Makefile @@ -28,12 +28,14 @@ $$(IPKG_$(1)): endef $(eval $(call PKG_template,PPP,ppp,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) +$(eval $(call PKG_template,PPP_MOD_PPPOA,ppp-mod-pppoa,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) $(eval $(call PKG_template,PPP_MOD_PPPOE,ppp-mod-pppoe,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) $(eval $(call PKG_template,PPP_MOD_RADIUS,ppp-mod-radius,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) $(eval $(call PKG_template,CHAT,chat,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) $(eval $(call PKG_template,PPPDUMP,pppdump,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) $(eval $(call PKG_template,PPPSTATS,pppstats,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) +$(eval $(call PKG_mod_template,PPP_MOD_PPPOA,pppoatm)) $(eval $(call PKG_mod_template,PPP_MOD_PPPOE,rp-pppoe)) $(eval $(call PKG_mod_template,PPP_MOD_RADIUS,radius)) @@ -88,6 +90,12 @@ $(IPKG_PPP): $(RSTRIP) $(IDIR_PPP) $(IPKG_BUILD) $(IDIR_PPP) $(PACKAGE_DIR) +$(IDIR_PPP_MOD_PPPOA)/sbin/ifup.pppoa: + install -d -m0755 $(IDIR_PPP_MOD_PPPOA)/sbin + install -m0755 ./files/ifup.pppoa $(IDIR_PPP_MOD_PPPOA)/sbin/ + +$(IPKG_PPP_MOD_PPPOA): $(IDIR_PPP_MOD_PPPOA)/sbin/ifup.pppoa + $(IDIR_PPP_MOD_PPPOE)/sbin/ifup.pppoe: install -d -m0755 $(IDIR_PPP_MOD_PPPOE)/sbin install -m0755 ./files/ifup.pppoe $(IDIR_PPP_MOD_PPPOE)/sbin/ diff --git a/package/ppp/files/ifup.pppoa b/package/ppp/files/ifup.pppoa new file mode 100644 index 0000000000..ee88e4b9e9 --- /dev/null +++ b/package/ppp/files/ifup.pppoa @@ -0,0 +1,45 @@ +#!/bin/sh +[ $# = 0 ] && { echo " $0 <group>"; exit; } +. /etc/functions.sh +. /etc/network.overrides +[ -e /etc/config/network ] && . /etc/config/network +type=$1 + +[ "$(nvram get ${type}_proto)" = "pppoa" ] || { + echo "$0: ${type}_proto isn't pppoa" + exit +} + +for module in slhc ppp_generic pppox pppoatm; do + /sbin/insmod $module 2>&- >&- +done + +while :; do + VPI=$(nvram get atm_vpi) + VCI=$(nvram get atm_vci) + USERNAME=$(nvram get ppp_username) + PASSWORD=$(nvram get ppp_passwd) + REDIAL=$(nvram get ppp_redialperiod) + REDIAL=${REDIAL:+lcp-echo-interval $REDIAL} + IDLETIME=$(nvram get ppp_idletime) + IDLETIME=${IDLETIME:+lcp-echo-failure $IDLETIME} + MTU=$(nvram get ppp_mtu) + MTU=${MTU:-1492} + MTU=${MTU:+ mtu $MTU mru $MTU} + + ifconfig $IFNAME up + /usr/sbin/pppd nodetach \ + plugin pppoatm.so ${VPI:-8}.${VCI:-35} \ + connect /bin/true \ + usepeerdns \ + defaultroute \ + linkname $type \ + user "$USERNAME" \ + password "$PASSWORD" \ + $MTU \ + $IDLETIME \ + $REDIAL + + # Read settings again (might have changed) + [ -e /etc/config/network ] && . /etc/config/network +done & diff --git a/package/ppp/ipkg/ppp-mod-pppoa.control b/package/ppp/ipkg/ppp-mod-pppoa.control new file mode 100644 index 0000000000..94e5e101b8 --- /dev/null +++ b/package/ppp/ipkg/ppp-mod-pppoa.control @@ -0,0 +1,7 @@ +Package: ppp-mod-pppoa +Priority: optional +Section: net +Maintainer: Matteo Croce <3297627799@wind.it> +Source: buildroot internal +Description: a PPPoA (PPP over ATM) plugin for PPP +Depends: ppp, kmod-pppoa diff --git a/package/ppp/patches/202-atm_fix.patch b/package/ppp/patches/202-atm_fix.patch new file mode 100644 index 0000000000..371dc9611e --- /dev/null +++ b/package/ppp/patches/202-atm_fix.patch @@ -0,0 +1,21 @@ +--- ppp-2.4.3/pppd/plugins/pppoatm/pppoatm.c 2005-08-26 15:18:55.000000000 +0200 ++++ ppp-2.4.3/pppd/plugins/pppoatm/pppoatm.c 2005-08-26 15:19:51.000000000 +0200 +@@ -136,8 +136,6 @@ + int fd; + struct atm_qos qos; + +- system ("/sbin/modprobe pppoatm"); +- + if (!device_got_set) + no_device_given_pppoatm(); + fd = socket(AF_ATMPVC, SOCK_DGRAM, 0); +@@ -152,8 +150,7 @@ + qos.txtp.max_sdu = lcp_allowoptions[0].mru + pppoatm_overhead(); + qos.rxtp.max_sdu = lcp_wantoptions[0].mru + pppoatm_overhead(); + qos.aal = ATM_AAL5; +- if (setsockopt(fd, SOL_ATM, SO_ATMQOS, &qos, sizeof(qos)) < 0) +- fatal("setsockopt(SO_ATMQOS): %m"); ++ setsockopt(fd, SOL_ATM, SO_ATMQOS, &qos, sizeof(qos)); + /* TODO: accept on SVCs... */ + if (connect(fd, (struct sockaddr *) &pvcaddr, + sizeof(struct sockaddr_atmpvc))) diff --git a/package/ppp/patches/202-no_atm.patch b/package/ppp/patches/202-no_atm.patch deleted file mode 100644 index a737cfa23a..0000000000 --- a/package/ppp/patches/202-no_atm.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ruN ppp-2.4.3-orig/pppd/plugins/Makefile.linux ppp-2.4.3-3/pppd/plugins/Makefile.linux ---- ppp-2.4.3-orig/pppd/plugins/Makefile.linux 2004-11-14 08:57:35.000000000 +0100 -+++ ppp-2.4.3-3/pppd/plugins/Makefile.linux 2004-12-05 17:03:59.000000000 +0100 -@@ -9,7 +9,7 @@ - MANDIR = $(DESTDIR)/share/man/man8 - LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION) - --SUBDIRS := rp-pppoe pppoatm radius -+SUBDIRS := rp-pppoe radius - # Uncomment the next line to include the radius authentication plugin - # SUBDIRS += radius - PLUGINS := minconn.so passprompt.so passwordfd.so winbind.so diff --git a/target/linux/package/openwrt/Makefile b/target/linux/package/openwrt/Makefile index 6fb20d6229..6fa350a9dd 100644 --- a/target/linux/package/openwrt/Makefile +++ b/target/linux/package/openwrt/Makefile @@ -36,9 +36,9 @@ $(IDIR_OPENWRT): $(SED) s,base-files-arch,base-files-$(BOARD),g $(IDIR_OPENWRT)/CONTROL/control $(IPKG_OPENWRT): $(IDIR_OPENWRT) - mkdir -p $(IDIR_OPENWRT)/etc/init.d - [ -f files/network.overrides.$(BOARD) ] && cp files/network.overrides.$(BOARD) $(IDIR_OPENWRT)/etc/network.overrides - [ -f files/S05nvram.$(BOARD) ] && install -m0755 files/S05nvram.$(BOARD) $(IDIR_OPENWRT)/etc/init.d/S05nvram + [ -d files/$(BOARD) ] && cp -a files/$(BOARD)/* $(IDIR_OPENWRT)/ + find $(IDIR_OPENWRT) -name CVS | xargs rm -rf + find $(IDIR_OPENWRT) -name .svn | xargs rm -rf $(RSTRIP) $(IDIR_OPENWRT) $(IPKG_BUILD) $(IDIR_OPENWRT) $(PACKAGE_DIR) diff --git a/target/linux/package/openwrt/files/ar7/etc/config/network b/target/linux/package/openwrt/files/ar7/etc/config/network new file mode 100644 index 0000000000..785ad05ee6 --- /dev/null +++ b/target/linux/package/openwrt/files/ar7/etc/config/network @@ -0,0 +1,31 @@ +# Network configuration file +# Uncomment the following statements to change the network configuration + +## LAN configuration +# lan_ifame="br0" +# lan_proto="static" +# lan_ipaddr="192.168.1.1" +# lan_netmask="255.255.255.0" +# lan_gateway="" +# lan_dns="" + +## WAN configuration (PPPoE) +# wan_type=pppoe +# wan_ifname=ppp0 +# pppoe_atm=1 +# pppoe_ifname=nas0 +# atm_vpi=8 +# atm_vci=35 +# ppp_username=my_username +# ppp_passwd=my_passwd +# ppp_mtu=1492 + +## WAN configuration (PPPoA) +# wan_type=pppoa +# wan_ifname=ppp0 +# atm_vpi=8 +# atm_vci=35 +# ppp_username=my_username +# ppp_passwd=my_passwd +# ppp_mtu=1492 + diff --git a/target/linux/package/openwrt/files/network.overrides.ar7 b/target/linux/package/openwrt/files/ar7/etc/network.overrides index 9c0e814059..9c0e814059 100644 --- a/target/linux/package/openwrt/files/network.overrides.ar7 +++ b/target/linux/package/openwrt/files/ar7/etc/network.overrides diff --git a/target/linux/package/openwrt/files/brcm/etc/config/network b/target/linux/package/openwrt/files/brcm/etc/config/network new file mode 100644 index 0000000000..6f09a502a8 --- /dev/null +++ b/target/linux/package/openwrt/files/brcm/etc/config/network @@ -0,0 +1,18 @@ +# Network configuration file +# Uncomment the following statements to override the default or nvram config + +## LAN configuration +# lan_ifame="br0" +# lan_proto="static" +# lan_ipaddr="192.168.1.1" +# lan_netmask="255.255.255.0" +# lan_gateway="" +# lan_dns="" + +## WAN configuration (PPPoE) +# wan_type=pppoe +# wan_ifname=ppp0 +# pppoe_ifname=vlan1 +# ppp_username=my_username +# ppp_passwd=my_passwd +# ppp_mtu=1492 diff --git a/target/linux/package/openwrt/files/S05nvram.brcm b/target/linux/package/openwrt/files/brcm/etc/init.d/S05nvram index 0d1300b964..0d1300b964 100755 --- a/target/linux/package/openwrt/files/S05nvram.brcm +++ b/target/linux/package/openwrt/files/brcm/etc/init.d/S05nvram diff --git a/target/linux/package/openwrt/files/network.overrides.brcm b/target/linux/package/openwrt/files/brcm/etc/network.overrides index 66f1abd248..66f1abd248 100644 --- a/target/linux/package/openwrt/files/network.overrides.brcm +++ b/target/linux/package/openwrt/files/brcm/etc/network.overrides diff --git a/package/base-files/default/etc/config/network b/target/linux/package/openwrt/files/soekris/etc/config/network index 049460160a..8383edbb50 100644 --- a/package/base-files/default/etc/config/network +++ b/target/linux/package/openwrt/files/soekris/etc/config/network @@ -1,6 +1,7 @@ # Network configuration file - # Uncomment the following statements to override the default or nvram config + +## LAN configuration # lan_ifame="br0" # lan_proto="static" # lan_ipaddr="192.168.1.1" diff --git a/target/linux/package/openwrt/files/network.overrides.soekris b/target/linux/package/openwrt/files/soekris/etc/network.overrides index e857d5b5f1..e857d5b5f1 100644 --- a/target/linux/package/openwrt/files/network.overrides.soekris +++ b/target/linux/package/openwrt/files/soekris/etc/network.overrides |