1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00
This commit is contained in:
suyuan 2024-06-22 21:04:23 +08:00 committed by GitHub
commit 67d128ac26
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 38 additions and 32 deletions

View file

@ -54,7 +54,6 @@ omr_intf_set() {
uci -q delete network.$1.modalias
uci -q delete network.$1.product
fi
uci -q delete network.$1.pin_retry
}
omr_set_settings() {

View file

@ -131,13 +131,6 @@ if [ "$(uci -q get openmptcprouter.settings.tracebox)" = "" ]; then
EOF
fi
if [ -z "$(uci -q get openmptcprouter.settings.max_pin_retry)" ]; then
uci -q batch <<-EOF >/dev/null
set openmptcprouter.settings.max_pin_retry='2'
commit openmptcprouter
EOF
fi
_set_omr_ip() {
server=$1
serverip="$(uci -q get openmptcprouter.${server}.ip)"

View file

@ -276,6 +276,7 @@ proto_modemmanager_init_config() {
proto_config_add_int signalrate
proto_config_add_boolean lowpower
proto_config_add_boolean allow_roaming
proto_config_add_boolean force_connection
proto_config_add_string init_epsbearer
proto_config_add_string init_iptype
proto_config_add_string 'init_allowedauth:list(string)'
@ -423,6 +424,7 @@ proto_modemmanager_setup() {
local device apn allowedauth username password pincode
local iptype plmn metric signalrate allow_roaming
local force_connection
local init_epsbearer
local init_iptype init_allowedauth
@ -432,7 +434,7 @@ proto_modemmanager_setup() {
json_get_vars device apn allowedauth username password
json_get_vars pincode iptype sourcefilter plmn metric signalrate allow_roaming
json_get_vars allowedmode preferredmode
json_get_vars allowedmode preferredmode force_connection
json_get_vars init_epsbearer
json_get_vars init_iptype init_allowedauth
@ -473,8 +475,13 @@ proto_modemmanager_setup() {
mmcli --modem="${device}" \
--timeout 120 \
--3gpp-register-in-operator="${plmn}" || {
proto_notify_error "${interface}" MM_3GPP_OPERATOR_REGISTRATION_FAILED
proto_block_restart "${interface}"
if [ -n "${force_connection}" ] && [ "${force_connection}" -eq 1 ]; then
echo "3GPP operator registration failed -> attempting restart"
proto_notify_error "${interface}" MM_INTERFACE_RESTART
else
proto_notify_error "${interface}" MM_3GPP_OPERATOR_REGISTRATION_FAILED
proto_block_restart "${interface}"
fi
return 1
}
}
@ -551,7 +558,6 @@ proto_modemmanager_setup() {
# setup connect args; APN mandatory (even if it may be empty)
echo "starting connection with apn '${apn}'..."
proto_notify_error "${interface}" MM_CONNECT_IN_PROGRESS
# setup allow-roaming parameter
if [ -n "${allow_roaming}" ] && [ "${allow_roaming}" -eq 0 ];then
@ -576,8 +582,13 @@ proto_modemmanager_setup() {
append_param "${password:+password=${password}}"
mmcli --modem="${device}" --timeout 120 --simple-connect="${connectargs}" || {
proto_notify_error "${interface}" MM_CONNECT_FAILED
proto_block_restart "${interface}"
if [ -n "${force_connection}" ] && [ "${force_connection}" -eq 1 ]; then
echo "Connection failed -> attempting restart"
proto_notify_error "${interface}" MM_INTERFACE_RESTART
else
proto_notify_error "${interface}" MM_CONNECT_FAILED
proto_block_restart "${interface}"
fi
return 1
}

View file

@ -757,7 +757,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn
modemfind="0"
device="$(uci -q get network.$OMR_TRACKER_INTERFACE.device)"
. /usr/share/ModemManager/modemmanager.common
[ -n "$device" ] && MODEM_STATUS="$(mmcli -m $device -K)"
[ -n "$device" ] && MODEM_STATUS="$(timeout 3 mmcli -m $device -K)"
modem=$device
if [ -n "$MODEM_STATUS" ]; then
modemfind="1"
@ -768,9 +768,14 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn
_log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..."
/usr/bin/mmcli -m ${modem} -r 2>&1 >/dev/null
sleep 30
elif false && [ "$mm_state_failed" = "sim-missing" ]; then
_log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..."
/usr/bin/mmcli -m ${modem} -r 2>&1 >/dev/null
#_log "Interface $OMR_TRACKER_INTERFACE in failed state sim-missing in ModemManager, reset modem..."
#mm_primary_port=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.primary-port")
#mbimcli -p -d /dev/$mm_primary_port --ms-device-reset 2>&1 >/dev/null
fi
elif [ "$mm_state" = "connected" ] || [ "$mm_state" = "enabled" ]; then
uci -q del network.$OMR_TRACKER_INTERFACE.pin_retry
_log "No answer from $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE), restart interface"
_log "Set $OMR_TRACKER_INTERFACE down"
ifdown $OMR_TRACKER_INTERFACE
@ -791,24 +796,20 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn
elif [ "$mm_state" = "locked" ]; then
mm_unlock_required=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.unlock-required")
mm_generic_sim=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.sim")
#mm_primary_port=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.primary-port")
#mm_drivers=$(modemmanager_get_multivalue_field "${MODEM_STATUS}" "modem.generic.drivers")
mm_unlock_retries=$(modemmanager_get_multivalue_field "${MODEM_STATUS}" "modem.generic.unlock-retries" | awk '{print substr($2,2,length($2)-2)}')
if [ "$mm_unlock_required" = "sim-pin" ]; then
# Sometimes PIN is not correctly sent to modem
if ([ -z "$(uci -q get network.$OMR_TRACKER_INTERFACE.pin_retry)" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.pin_retry)" -lt "$(uci -q get openmptcprouter.settings.max_pin_retry || echo '2')" ]) && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PIN"
#if [ -n "$(echo $modeminfo | grep 'mbim')" ]; then
# mbimcli -d /dev/$(timeout 2 mmcli -m $modem -K | awk '/modem.generic.primary-port / {print $3}') -p --enter-pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) 2>&1 >/dev/null
# ifup $OMR_TRACKER_INTERFACE
#else
mmcli -a -i $mm_generic_sim --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) 2>&1 >/dev/null
#fi
sleep 30
if [ -z "$(uci -q get network.$OMR_TRACKER_INTERFACE.pin_retry)" ]; then
uci -q set network.$OMR_TRACKER_INTERFACE.pin_retry=1
else
uci -q set network.$OMR_TRACKER_INTERFACE.pin_retry=$(($(uci -q get network.$OMR_TRACKER_INTERFACE.pin_retry) + 1))
if [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
if [ "$mm_unlock_retries" -gt "1" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PIN"
mmcli -a -m ${modem} -i $mm_generic_sim --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) 2>&1 >/dev/null
sleep 20
ifup $OMR_TRACKER_INTERFACE
fi
fi
elif [ "$mm_unlock_required" = "sim-puk" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode)" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
elif [ "$mm_unlock_required" = "sim-puk" ] && [ "$mm_unlock_retries" -gt "1" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode)" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PUK"
mmcli -i $mm_generic_sim --puk=$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode) --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) 2>&1 >/dev/null
sleep 30
@ -1090,7 +1091,6 @@ fi
if [ "$OMR_TRACKER_PREV_STATUS" != "" ] && [ "$OMR_TRACKER_PREV_STATUS" != "$OMR_TRACKER_STATUS" ] && [ -n "$OMR_TRACKER_INTERFACE" ]; then
_log "$OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) switched up"
uci -q delete network.$OMR_TRACKER_INTERFACE.pin_retry
mail_alert="$(uci -q get omr-tracker.$OMR_TRACKER_INTERFACE.mail_alert)"
[ -z "$mail_alert" ] && mail_alert="$(uci -q get omr-tracker.defaults.mail_alert)"
[ "$mail_alert" = "1" ] && [ -n "$(uci -q get mail.default.to)" ] && {

View file

@ -88,7 +88,7 @@ MY_DEPENDS := \
luci-proto-external omr-schedule jq luci-app-ddns \
LINUX_6_6:mptcp-bpf-burst LINUX_6_6:mptcp-bpf-first LINUX_6_6:mptcp-bpf-red LINUX_6_6:mptcp-bpf-rr LINUX_6_6:bpftool-full \
mbim-utils (TARGET_x86||TARGET_x86_64):kmod-r8169 !(TARGET_ipq40xx||TARGET_x86_64):kmod-mt7601u !TARGET_x86_64:kmod-ath9k-htc \
TARGET_mvebu:kmod-mwlwifi TARGET_mvebu:mwlwifi-firmware-88w8864 TARGET_mvebu:mwlwifi-firmware-88w8897 TARGET_mvebu:mwlwifi-firmware-88w8964 TARGET_mvebu:mwlwifi-firmware-88w8997 \
TARGET_mvebu:kmod-mwlwifi TARGET_mvebu:mwlwifi-firmware-88w8864 TARGET_mvebu:mwlwifi-firmware-88w8897 TARGET_mvebu:mwlwifi-firmware-88w8964 TARGET_mvebu:mwlwifi-firmware-88w8997
# !TARGET_ipq40xx:kmod-rt2800-usb (TARGET_x86||TARGET_x86_64):kmod-iwlwifi (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl1000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl100 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl105 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl135 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2030 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3160 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3168 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5150 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2a (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2b (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6050 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7260 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265d (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8260c (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8265 \
# !TARGET_ipq40xx:kmod-rtl8xxxu !TARGET_ipq40xx:kmod-rtl8192cu !TARGET_ipq40xx:kmod-net-rtl8192su !LINUX_6_1:kmod-rtl8812au-ct (TARGET_x86||TARGET_x86_64):kmod-r8169 (TARGET_x86||TARGET_x86_64):kmod-8139too (TARGET_x86||TARGET_x86_64):kmod-r8125 !TARGET_ipq40xx:kmod-rtl8187 kmod-rtl8xxxu (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware

View file

@ -37,6 +37,9 @@ RUST_PKG_FEATURES:=local-redir
include $(INCLUDE_DIR)/package.mk
include $(TOPDIR)/feeds/openmptcprouter/rust/rust-package.mk
ifeq ($(ARCH),i386)
RUSTC_LDFLAGS+=-C target-feature=+sse2
endif
define Package/shadowsocks-rust/Default
define Package/shadowsocks-rust-$(1)