Browse Source

:bug: 尝试修复开机一段时间后发送请求失败

Mizore 7 months ago
parent
commit
4565493219
2 changed files with 19 additions and 5 deletions
  1. 15 3
      script/main.lua
  2. 4 2
      script/util_notify.lua

+ 15 - 3
script/main.lua

@@ -20,7 +20,7 @@ socket.setDNS(nil, 1, "119.29.29.29")
 socket.setDNS(nil, 2, "223.5.5.5")
 
 -- SIM 自动恢复, 周期性获取小区信息, 网络遇到严重故障时尝试自动恢复等功能
-mobile.setAuto(10000, 300000, 8, true, 120000)
+mobile.setAuto(10000, 30000, 8, true, 60000)
 
 -- 开启 IPv6
 -- mobile.ipv6(true)
@@ -174,6 +174,13 @@ sys.taskInit(function()
     sys.subscribe("POWERKEY_SHORT_PRESS", function() util_notify.add("#ALIVE") end)
     -- 电源键长按查询流量
     sys.subscribe("POWERKEY_LONG_PRESS", util_mobile.queryTraffic)
+
+    sys.wait(60000);
+    -- EC618配置小区重选信号差值门限,不能大于15dbm,必须在飞行模式下才能用
+    mobile.flymode(0, true)
+    mobile.config(mobile.CONF_RESELTOWEAKNCELL, 10)
+    mobile.config(mobile.CONF_STATICCONFIG, 1) -- 开启网络静态优化
+    mobile.flymode(0, false)
 end)
 
 sys.taskInit(function()
@@ -189,8 +196,13 @@ end)
 -- 定时开关飞行模式
 if type(config.FLYMODE_INTERVAL) == "number" and config.FLYMODE_INTERVAL >= 1000 * 60 then
     sys.timerLoopStart(function()
-        mobile.flymode(0, true)
-        mobile.flymode(0, false)
+        sys.taskInit(function()
+            log.info("main", "定时开关飞行模式")
+            mobile.reset()
+            sys.wait(1000)
+            mobile.flymode(0, true)
+            mobile.flymode(0, false)
+        end)
     end, config.FLYMODE_INTERVAL)
 end
 

+ 4 - 2
script/util_notify.lua

@@ -124,7 +124,9 @@ local function poll()
     -- 每连续失败 2 次, 开关飞行模式
     if error_count % 2 == 0 then
         -- 开关飞行模式
-        log.warn("util_notify.poll", "连续失败次数过多, 开关飞行模式")
+        log.warn("util_notify.poll", "连续失败次数过多, 重启协议栈 & 开关飞行模式")
+        mobile.reset()
+        sys.wait(1000)
         mobile.flymode(0, true)
         mobile.flymode(0, false)
         sys.wait(1000)
@@ -167,7 +169,7 @@ sys.taskInit(function()
             break
         end
         log.info("util_notify", "检查到 fskv 中有历史消息", k, v:gsub("\r", "\\r"):gsub("\n", "\\n"))
-        util_notify.add(v, nil, k)
+        util_notify.add(v .. "\n#FSKV", nil, k)
     end
 end)