diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm
index 15e7b0f00..d9fb3a643 100755
--- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm
+++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm
@@ -232,6 +232,42 @@
diff --git a/modemmanager/files/modemmanager.init b/modemmanager/files/modemmanager.init
index c19022031..16610bcd8 100755
--- a/modemmanager/files/modemmanager.init
+++ b/modemmanager/files/modemmanager.init
@@ -20,7 +20,7 @@ start_service() {
#
. /usr/share/ModemManager/modemmanager.common
procd_open_instance
- procd_set_param command /usr/sbin/ModemManager-wrapper
+ procd_set_param command /usr/sbin/ModemManager-wrapper --debug
procd_set_param respawn "${respawn_threshold:-3600}" "${respawn_timeout:-5}" "${respawn_retry:-5}"
procd_set_param pidfile "${MODEMMANAGER_PID_FILE}"
procd_close_instance
diff --git a/mptcp/files/usr/share/omr/post-tracking.d/001-post-tracking b/mptcp/files/usr/share/omr/post-tracking.d/001-post-tracking
index 86490fa01..737415ae9 100755
--- a/mptcp/files/usr/share/omr/post-tracking.d/001-post-tracking
+++ b/mptcp/files/usr/share/omr/post-tracking.d/001-post-tracking
@@ -722,6 +722,7 @@ default_gw=$(ip route get 1.1.1.1 | grep via | awk '{print $3}')
default_gw6=$(ip -6 route get 2606:4700:4700::1111 | grep via | awk '{print $3}')
#current_interface_gw=$(uci -q get "network.$OMR_TRACKER_INTERFACE.gateway")
+interface_autostart=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["autostart"]')
interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]')
interface_available=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["available"]')
interface_pending=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["pending"]')
@@ -739,7 +740,20 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || [ "$interface_up" != "true" ]; then
_log "Set $OMR_TRACKER_INTERFACE up"
ifup $OMR_TRACKER_INTERFACE
sleep 30
- #elif [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ]; then
+ elif [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] && [ "$interface_up" = "false" ] && [ "$interface_available" = "false" ] && [ "$interface_pending" = "false" ] && [ "$interface_autostart" = "true" ]; then
+ modemfind="0"
+ for modem in $(timeout 3 mmcli -L | awk -F/ '{ print $6}' | awk '{print $1}'); do
+ if [ -n "$(timeout 2 mmcli -m $modem -K | grep $OMR_TRACKER_DEVICE)" ]; then
+ modemfind="1"
+ fi
+ done
+ if [ "$modemfind" = "0" ]; then
+ _log "Can't find $OMR_TRACKER_INTERFACE in ModemManager, restart modemmanager..."
+ /etc/init.d/modemmanager restart
+ sleep 30
+ fi
+ fi
+ #elif [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] && [ "$interface_available" = "false" ]; then
# for modem in $(timeout 3 mmcli -L | awk -F/ '{ print $6}' | awk '{print $1}'); do
# if [ -n "$(timeout 2 mmcli -m $modem -K | grep $OMR_TRACKER_DEVICE)" ]; then
# modem_device=$(timeout 2 mmcli -m $modem -K | grep 'modem.generic.device ' | awk '{print $3}')
@@ -753,7 +767,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || [ "$interface_up" != "true" ]; then
# }
# fi
# done
- fi
+ #fi
# This part must be done after modems restart because we have no idea when modems will be ready again... (another solution would be to check ModemManager status)
if [ "$OMR_TRACKER_PREV_STATUS" = "$OMR_TRACKER_STATUS" ]; then
diff --git a/mptcp/files/usr/share/omr/post-tracking.d/010-services b/mptcp/files/usr/share/omr/post-tracking.d/010-services
index eab51b480..4268caa61 100755
--- a/mptcp/files/usr/share/omr/post-tracking.d/010-services
+++ b/mptcp/files/usr/share/omr/post-tracking.d/010-services
@@ -42,7 +42,7 @@ fi
if [ "$(pgrep openvpn)" = "" ] && [ -f /etc/init.d/openvpn ]; then
openvpn_enable=0
openvpn_enabled() {
- [ "$(uci -q get openvpn.$1.enabled)" = "1" ] && openvpn_enable=1
+ [ "$(uci -q get openvpn.$1.enabled)" = "1" ] && [ -n "$(uci -q get openvpn.$1.ca)" ] && openvpn_enable=1
}
config_load openvpn
config_foreach openvpn_enabled openvpn
diff --git a/netxen-nic/Makefile b/netxen-nic/Makefile
new file mode 100644
index 000000000..399970c87
--- /dev/null
+++ b/netxen-nic/Makefile
@@ -0,0 +1,39 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
+
+PKG_NAME := netxen-nic
+PKG_RELEASE := 1
+
+PKG_SOURCE := $(LINUX_SOURCE)
+PKG_SOURCE_URL := $(LINUX_SITE)
+PKG_HASH := $(LINUX_KERNEL_HASH)
+
+PKG_LICENSE := GPL-2.0
+
+PKG_FLAGS := nonshared
+PKG_BUILD_PARALLEL := 1
+
+include $(INCLUDE_DIR)/package.mk
+
+TAR_CMD=$(HOST_TAR) -C $(1) --strip-components=1 $(TAR_OPTIONS)
+
+define Build/Compile
+ $(KERNEL_MAKE) \
+ $(PKG_JOBS) \
+ CONFIG_NETXEN_NIC=m \
+ M=$(PKG_BUILD_DIR)/drivers/net/ethernet/qlogic/netxen \
+ modules
+endef
+
+KernelPackage/hooks := :
+
+define KernelPackage/netxen-nic
+ TITLE := NetXen Multi port (1/10) Gigabit Ethernet NIC
+ KCONFIG := CONFIG_NETXEN_NIC=m
+ FILES := $(PKG_BUILD_DIR)/drivers/net/ethernet/qlogic/netxen/netxen_nic.ko
+ AUTOLOAD := $(call AutoProbe,netxen_nic)
+ DEPENDS := @PCI_SUPPORT
+endef
+$(eval $(call KernelPackage,netxen-nic))
diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps
index 0b3512f6e..0176273ea 100755
--- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps
+++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps
@@ -1936,8 +1936,10 @@ _set_config_from_vps() {
# Get available server
available_vpn="$(echo "$vps_config" | jsonfilter -q -e '@.vpn.available' | sed -e 's/\[ //' -e 's/ \]//' -e 's/,//g')"
+ available_proxy="$(echo "$vps_config" | jsonfilter -q -e '@.proxy.available' | sed -e 's/\[ //' -e 's/ \]//' -e 's/,//g')"
uci -q batch <<-EOF >/dev/null
del openmptcprouter.${servername}.available_vpn
+ del openmptcprouter.${servername}.available_proxy
EOF
if [ "$user_permission" = "ro" ]; then
@@ -1947,6 +1949,12 @@ _set_config_from_vps() {
set openmptcprouter.${servername}.available_vpn=${current_vpn}
EOF
fi
+ current_proxy="$(echo "$vps_config" | jsonfilter -q -e '@.proxy.current')"
+ if [ -n "$current_proxy" ]; then
+ uci -q batch <<-EOF >/dev/null
+ set openmptcprouter.${servername}.available_proxy=${current_proxy}
+ EOF
+ fi
else
if [ -n "$available_vpn" ]; then
@@ -1956,6 +1964,13 @@ _set_config_from_vps() {
EOF
done
fi
+ if [ -n "$available_proxy" ]; then
+ for proxy in $available_proxy; do
+ uci -q batch <<-EOF >/dev/null
+ add_list openmptcprouter.${servername}.available_proxy=$proxy
+ EOF
+ done
+ fi
fi
if [ "$noerror" = "1" ]; then
uci -q batch <<-EOF >/dev/null
diff --git a/openmptcprouter/files/etc/uci-defaults/2060-omr-system b/openmptcprouter/files/etc/uci-defaults/2060-omr-system
index 3e30f8d5b..01d8b66b2 100755
--- a/openmptcprouter/files/etc/uci-defaults/2060-omr-system
+++ b/openmptcprouter/files/etc/uci-defaults/2060-omr-system
@@ -7,6 +7,7 @@ uci -q batch <<-EOF >/dev/null
set system.ntp.enabled='1'
del system.ntp.server
set system.@system[-1].cronloglevel=9
+ set system.@system[-1].conloglevel=7
add_list system.ntp.server='0.pool.ntp.org'
add_list system.ntp.server='1.pool.ntp.org'
add_list system.ntp.server='2.pool.ntp.org'