diff --git a/modemmanager/Makefile b/modemmanager/Makefile index d3a0405cb..f7d78f154 100644 --- a/modemmanager/Makefile +++ b/modemmanager/Makefile @@ -8,7 +8,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=modemmanager -PKG_SOURCE_VERSION:=1.23.6-dev +#PKG_SOURCE_VERSION:=1.23.6-dev +PKG_SOURCE_VERSION:=1e26e16168d4815a48ab77610e1c282dfc345567 PKG_RELEASE:=20 PKG_SOURCE_PROTO:=git 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 0cf696354..70d037cd8 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 @@ -749,9 +749,20 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn device="$(uci -q get network.$OMR_TRACKER_INTERFACE.device)" if [ -n "$(echo $modeminfo | grep $device)" ]; then modemfind="1" - if [ -n "$(echo $modeminfo | grep 'modem.generic.state ' | grep failed)" ] && [ -n "$(echo $modeminfo | grep 'modem.generic.state-failed-reason' | grep 'unknown-capabilities')" ]; then - _log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..." - /usr/bin/mmcli -m ${modem} -r 2>&1 >/dev/null + if [ -n "$(echo $modeminfo | grep 'modem.generic.state ' | grep failed)" ]; then + if [ -n "$(echo $modeminfo | grep 'modem.generic.state-failed-reason' | grep 'unknown-capabilities')" ]; then + _log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..." + /usr/bin/mmcli -m ${modem} -r 2>&1 >/dev/null + sleep 30 + fi + elif [ -n "$(echo $modeminfo | grep 'modem.generic.state ' | grep connected)" ] || [ -n "$(echo $modeminfo | grep 'modem.generic.state ' | grep enabled)" ]; then + # [ -n "$(echo $modeminfo | grep 'modem.3gpp.registration-state ' | grep home)" ]; then + _log "No answer from $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE), restart interface" + _log "Set $OMR_TRACKER_INTERFACE down" + ifdown $OMR_TRACKER_INTERFACE + sleep 5 + _log "Set $OMR_TRACKER_INTERFACE up" + ifup $OMR_TRACKER_INTERFACE sleep 30 fi fi diff --git a/omr-tracker/files/bin/omr-tracker-server b/omr-tracker/files/bin/omr-tracker-server index c0043ccab..d83ccfc64 100755 --- a/omr-tracker/files/bin/omr-tracker-server +++ b/omr-tracker/files/bin/omr-tracker-server @@ -156,7 +156,7 @@ _check_master() { #_check_server $serverip $port _check_server_intf $serverip $port [ "$server_ping" = true ] && { - oneserverup=1 + oneserverup="1" } countips=$((countips+1)) set_ip @@ -172,6 +172,16 @@ _check_master() { set shadowsocks-libev.sss${count}.server=$ip set shadowsocks-rust.sss${count}.server=$ip EOF + if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks-rust" ]; then + uci -q batch <<-EOF >/dev/null + set shadowsocks-rust.sss${count}.disabled=0 + EOF + fi + if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks" ]; then + uci -q batch <<-EOF >/dev/null + set shadowsocks-libev.sss${count}.disabled=0 + EOF + fi if [ "$count" -eq "0" ]; then config_load openmptcprouter config_foreach _disable_current server @@ -218,6 +228,7 @@ _check_master() { config_foreach _enable_redir ss_redir "shadowsocks-libev" config_load shadowsocks-rust config_foreach _enable_redir ss_redir "shadowsocks-rust" + OMR_TRACKER_STATUS_MSG="Answer to ping and to API check" mail_alert="$(uci -q get omr-tracker.server.mail_alert)" #[ -z "$mail_alert" ] && mail_alert="$(uci -q get omr-tracker.defaults.mail_alert)" @@ -278,7 +289,7 @@ _check_master() { # EOF # config_foreach _enable_redir ss_redir #fi - if [ "$oneserverup" != "0" ]; then + if [ "$oneserverup" = "0" ]; then uci -q batch <<-EOF >/dev/null set openmptcprouter.${name}.current='0' commit openmptcprouter @@ -322,7 +333,9 @@ _check_backup() { #_ping_server $serverip #_check_server $serverip $port _check_server_intf $serverip $port - [ "$server_ping" = true ] && return + [ "$server_ping" = true ] && { + oneserverup="1" + } countips=$((countips+1)) } set_ip() { @@ -336,6 +349,17 @@ _check_backup() { set shadowsocks-libev.sss${count}.server=$ip set shadowsocks-rust.sss${count}.server=$ip EOF + if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks-rust" ]; then + uci -q batch <<-EOF >/dev/null + set shadowsocks-rust.sss${count}.disabled=0 + EOF + fi + if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks" ]; then + uci -q batch <<-EOF >/dev/null + set shadowsocks-libev.sss${count}.disabled=0 + EOF + fi + if [ "$count" -eq "0" ]; then config_load openmptcprouter config_foreach _disable_current server @@ -446,7 +470,7 @@ _check_backup() { # EOF # config_foreach _enable_redir ss_redir #fi - if [ "$oneserverup" != "0" ]; then + if [ "$oneserverup" = "0" ]; then uci -q batch <<-EOF >/dev/null set openmptcprouter.${name}.current='0' commit openmptcprouter diff --git a/shadowsocks-rust/files/shadowsocks-rust.config b/shadowsocks-rust/files/shadowsocks-rust.config index b131b7a12..47a10cfc4 100644 --- a/shadowsocks-rust/files/shadowsocks-rust.config +++ b/shadowsocks-rust/files/shadowsocks-rust.config @@ -15,7 +15,7 @@ config ss_redir hi1 config ss_redir hi2 option server 'sss1' option local_address '::' - option local_port '1100' + option local_port '1101' option mode 'tcp_and_udp' option timeout '1000' option fast_open 0 @@ -28,7 +28,7 @@ config ss_redir hi2 config ss_rules 'ss_rules' option disabled 0 - option redir_tcp 'hi1' + option redir_tcp 'all' option src_default 'forward' option dst_default 'forward' option local_default 'forward'