From aaaa00eba3b2dea9e2cf121e71e29911c4e5648d Mon Sep 17 00:00:00 2001 From: wangbo Date: Tue, 9 Jan 2024 05:21:09 +0000 Subject: [PATCH] =?UTF-8?q?ADD=201.=E5=A2=9E=E5=8A=A0=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=E6=8B=A8=E5=8F=B7=E6=96=87=E4=BB=B6=E6=8D=9F=E5=9D=8F=E5=A4=84?= =?UTF-8?q?=E7=90=86;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/include/ca_network.h | 2 ++ app/lib/a_process/ca_network.c | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/app/include/ca_network.h b/app/include/ca_network.h index 28ec52c..e5ef4f5 100755 --- a/app/include/ca_network.h +++ b/app/include/ca_network.h @@ -7,6 +7,8 @@ /* Define --------------------------------------------------------------------*/ //#define USB_MOUDLE_PATH ("/sys/devices/platform/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/") #define DEV_NAME_4G_QUECTEL ("/dev/ttyUSB3") +#define DIAL_PPP_PATH "/etc/ppp/peers" +#define DIAL_PPP_BAK_PATH "/home/root/peers" typedef enum connetType { diff --git a/app/lib/a_process/ca_network.c b/app/lib/a_process/ca_network.c index e038c5d..afcebc5 100755 --- a/app/lib/a_process/ca_network.c +++ b/app/lib/a_process/ca_network.c @@ -391,6 +391,39 @@ void _network_connect_4g() } } +void _network_recovery_dial_file() +{ + int i, num; + char src[128] = {0}; + char cmd[256] = {0}; + char file_path[128] = {0}; + char file_name[][128] = + { + "quectel-chat-connect", + "quectel-chat-disconnect", + "quectel-dial", + "quectel-ppp" + }; + + num = sizeof(file_name)/sizeof(file_name[0]); + //LOG("num=%d\n", num); + for (i = 0; i < num; i++) + { + snprintf(file_path, 128, "%s/%s", DIAL_PPP_PATH, file_name[i]); + + if (access(file_path, F_OK)) + { + snprintf(src, 128, "%s/%s", DIAL_PPP_BAK_PATH, file_name[i]); + if (access(src, F_OK) == 0) + { + snprintf(cmd, 256, "cp -rf %s %s", src, DIAL_PPP_PATH); + system(cmd); + LOG("exec:%s\n", cmd); + usleep(100*1000); + } + } + } +} void *_network_manage_thread(void *args) { @@ -460,6 +493,7 @@ void *_network_manage_thread(void *args) _network_usb_4g_power_on(); _network_usb_4g_reset(); } + _network_recovery_dial_file(); sleep(1); } }