aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xpackage/base-files/files/lib/network/config.sh2
-rw-r--r--package/kernel/modules/usb.mk10
-rw-r--r--package/ppp/files/ppp.sh22
3 files changed, 33 insertions, 1 deletions
diff --git a/package/base-files/files/lib/network/config.sh b/package/base-files/files/lib/network/config.sh
index eee72c0cde..7e90368e26 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 99a497a92a..d5af3d92b5 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 0bd75fc0a7..0d0941fda5 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"
+}
+