From b1c117aeeb8be3f6642ebf53b6649b9a1890ecbe Mon Sep 17 00:00:00 2001 From: mbm Date: Tue, 1 May 2007 21:53:32 +0000 Subject: various patches to add support for ppp over evdo or character devices git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7076 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/files/lib/network/config.sh | 2 ++ package/kernel/modules/usb.mk | 10 ++++++++++ package/ppp/files/ppp.sh | 22 +++++++++++++++++++++- 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/package/base-files/files/lib/network/config.sh b/package/base-files/files/lib/network/config.sh index eee72c0cd..7e90368e2 100755 --- a/package/base-files/files/lib/network/config.sh +++ b/package/base-files/files/lib/network/config.sh @@ -75,6 +75,8 @@ prepare_interface() { # to create any interfaces here. The scripts have already done that, otherwise # the bridge interface wouldn't exist. [ "$iface" = "br-$config" ] && return 0; + + [ -f "$iface" ] && return 0; ifconfig "$iface" 2>/dev/null >/dev/null && { # make sure the interface is removed from any existing bridge and brought down diff --git a/package/kernel/modules/usb.mk b/package/kernel/modules/usb.mk index 99a497a92..d5af3d92b 100644 --- a/package/kernel/modules/usb.mk +++ b/package/kernel/modules/usb.mk @@ -170,6 +170,16 @@ define KernelPackage/usb-serial endef $(eval $(call KernelPackage,usb-serial)) +define KernelPackage/usb-serial-airprime + TITLE:=Support for Airprime (EVDO) + DESCRIPTION:=Kernel support for Airprime (EVDO) + DEPENDS:=kmod-usb-serial + SUBMENU:=$(USBMENU) + KCONFIG:=$(CONFIG_USB_SERIAL_AIRPRIME) + FILES:=$(LINUX_DIR)/drivers/usb/serial/airprime.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,65,airprime) +endef +$(eval $(call KernelPackage,usb-serial-airprime)) define KernelPackage/usb-serial-belkin TITLE:=Support for Belkin devices diff --git a/package/ppp/files/ppp.sh b/package/ppp/files/ppp.sh index 0bd75fc0a..0d0941fda 100644 --- a/package/ppp/files/ppp.sh +++ b/package/ppp/files/ppp.sh @@ -21,6 +21,10 @@ start_pppd() { config_get username "$cfg" username config_get password "$cfg" password config_get keepalive "$cfg" keepalive + + config_get connect "$cfg" connect + config_get disconnect "$cfg" disconnect + interval="${keepalive##*[, ]}" [ "$interval" != "$keepalive" ] || interval=5 @@ -34,7 +38,23 @@ start_pppd() { replacedefaultroute \ ${username:+user "$username" password "$password"} \ linkname "$cfg" \ - ipparam "$cfg" + ipparam "$cfg" \ + ${connect:+connect "$connect"} \ + ${disconnect:+disconnect "$disconnect"} lock -u "/var/lock/ppp-${cfg}" } + +setup_interface_ppp() { + local iface="$1" + local config="$2" + + config_get device "$config" device + + config_get mtu "$cfg" mtu + mtu=${mtu:-1492} + start_pppd "$config" \ + mtu $mtu mru $mtu \ + "$device" +} + -- cgit v1.2.3