diff --git a/docs/Application_guide/en/dev-tools/QPYcom/README.md b/docs/Application_guide/en/dev-tools/QPYcom/README.md
index 94d8c8e51f847928daf13001fcff46567d2e5940..9aa2d249761b32bfc9ceda4b8de92f9030f98a70 100644
--- a/docs/Application_guide/en/dev-tools/QPYcom/README.md
+++ b/docs/Application_guide/en/dev-tools/QPYcom/README.md
@@ -1,6 +1,6 @@
# QPYcom User Guide
-[QPYcom](https://python.quectel.com/download) is a full-stack development and debugging tool for QuecPython. It supports basic functions such as REPL interaction, file transfer,and firmware combination and download. It also includes extended functions such as DFOTA package making and partition adjustment.
+[QPYcom](https://python.quectel.com/en/download) is a full-stack development and debugging tool for QuecPython. It supports basic functions such as REPL interaction, file transfer,and firmware combination and download. It also includes extended functions such as DFOTA package making and partition adjustment.
This series of documents will introduce the use of *QPYcom* from the following aspects:
diff --git a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5ajhmingrtucv1jn367v1c3s9.png b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5ajhmingrtucv1jn367v1c3s9.png
index 9cacbfb74e0ea2daf69a57032d01e0c4d2bf8460..fb87385c25041c472431a1aeab8279948ac35907 100644
Binary files a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5ajhmingrtucv1jn367v1c3s9.png and b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5ajhmingrtucv1jn367v1c3s9.png differ
diff --git a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5ajqjmoaln1a971anfgd916t4m.png b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5ajqjmoaln1a971anfgd916t4m.png
index c9f6c3df2fbbb4d016a52871e88609c90ceec202..b8f045108691679126946ecfce0a97f5a77a2495 100644
Binary files a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5ajqjmoaln1a971anfgd916t4m.png and b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5ajqjmoaln1a971anfgd916t4m.png differ
diff --git a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5akck9b1mro11bp1smc11me10qf1g.png b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5akck9b1mro11bp1smc11me10qf1g.png
index 3eda171425baf577c198919f538f913dffe9a2b7..b027ede7b6287878f81b639eac7f0774e7ef817d 100644
Binary files a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5akck9b1mro11bp1smc11me10qf1g.png and b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5akck9b1mro11bp1smc11me10qf1g.png differ
diff --git a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5akj3l77091lc5qq9144a1t6g1t.png b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5akj3l77091lc5qq9144a1t6g1t.png
index f28ccdbbd471e4966761455f2877cc57c81c570f..7164ab8787fb2c895528133b6cf15c4c4628d430 100644
Binary files a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5akj3l77091lc5qq9144a1t6g1t.png and b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5akj3l77091lc5qq9144a1t6g1t.png differ
diff --git a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5akvkki10re169nua1njrrl2a.png b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5akvkki10re169nua1njrrl2a.png
index e098093a4011b9a39305b2b334dcfb66ad19c860..91875ba18d0dc86cdc9548d0228adb89427f4d62 100644
Binary files a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5akvkki10re169nua1njrrl2a.png and b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5akvkki10re169nua1njrrl2a.png differ
diff --git a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5amm4omau7k60fka1tvg10612n.png b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5amm4omau7k60fka1tvg10612n.png
index 58ac59e2d21d77d54413224b7c6303a7fa939db5..66a8439f3534813c1fa56836db76ed7a01aa3256 100644
Binary files a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5amm4omau7k60fka1tvg10612n.png and b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5amm4omau7k60fka1tvg10612n.png differ
diff --git a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5cub1eb1590gi816j41t21fglm.png b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5cub1eb1590gi816j41t21fglm.png
index 797fead37fd8145ea5cdaef5999697687e8164ef..b0129cd2c9c60e9be446dd8fc809952fe24ac4f0 100644
Binary files a/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5cub1eb1590gi816j41t21fglm.png and b/docs/Application_guide/en/media/helios-sdk/advanced/image_1f5cub1eb1590gi816j41t21fglm.png differ
diff --git a/docs/Application_guide/en/network-comm/net-protocols/ftp.md b/docs/Application_guide/en/network-comm/net-protocols/ftp.md
index fd67456606141ba5dc821cbef634a39e257cc561..c56db9904b0d3bf2fbbb07a792425063cdfc6021 100644
--- a/docs/Application_guide/en/network-comm/net-protocols/ftp.md
+++ b/docs/Application_guide/en/network-comm/net-protocols/ftp.md
@@ -123,7 +123,7 @@ To build an FTP client with `ftplib` on the module and establish a connection wi
2. Connect to network: Ensure your device can connect to the network.
3. QuecPython firmware includes ftplib module.
-After downloading the firmware, you need to check whether the current firmware includes the `ftplib` module and check the network status. You can use [QPYcom](https://python.quectel.com/doc/Advanced_development/en/QuecPythonTools/QPYcom.html) for debugging. The demonstrations in this document are performed with this tool. On the interactive page of QPYcom, you can confirm whether the module contains and uses APIs to check the network status by importing the feature. In Python syntax, you can import APIs with `import xxx` or `from xx import xxx`.
+After downloading the firmware, you need to check whether the current firmware includes the `ftplib` module and check the network status. You can use [QPYcom](https://python.quectel.com/doc/Application_guide/en/dev-tools/QPYcom/index.html) for debugging. The demonstrations in this document are performed with this tool. On the interactive page of QPYcom, you can confirm whether the module contains and uses APIs to check the network status by importing the feature. In Python syntax, you can import APIs with `import xxx` or `from xx import xxx`.
```python
# Inclueded if no exception occurs
@@ -150,7 +150,7 @@ ftp_obj = FTP()
By following these steps, you can successfully create an FTP client object. Now you can utilize this object to perform various operations.
-After creating the FTP client object, the next step is to actively request to connect with the server. You can achieve this with the `connect` method. This method requires two parameters: the server address and the port number.
+After creating the FTP client object, the next step is to actively request to connect with the server. You can achieve this with the `connect` method. This method requires two parameters: the server address and the port number.
```python
# FTP server address
@@ -162,7 +162,7 @@ port = 21
ftp_obj.connect(host, port)
```
-Once the connection is successfully established, the next step is to perform the login operation. If the FTP server does not require specific credentials or if it is set to be empty, you can simply pass an empty string. This can be achieved with the `login` method.
+Once the connection is successfully established, the next step is to perform the login operation. If the FTP server does not require specific credentials or if it is set to be empty, you can simply pass an empty string. This can be achieved with the `login` method.
```python
# FTP server username
@@ -177,7 +177,7 @@ The running result is shown in the figure:

-Once the connection and login are completed, you can proceed with file transfer. When uploading a file, please note that the file you upload must actually exist. You should open the file following its file path. Here is an example of uploading a file.
+Once the connection and login are completed, you can proceed with file transfer. When uploading a file, please note that the file you upload must actually exist. You should open the file following its file path. Here is an example of uploading a file.
```python
path = 'usr/' # The root directory of the module user partition is 'usr'
@@ -217,7 +217,7 @@ filename = 'ftp_file.txt' # File name to be downloaded
# Open and create a file
save_fp = open(path + filename, "wb+")
# Query the current path of the server
-server_path = ftp_obj.pwd()
+server_path = ftp_obj.pwd()
# Establish the download connection. fp.write is an operation of writing files
res = ftp_obj.retrlines("RETR " + server_path + "/" + filename, fp.write)
# Finish downloading
@@ -227,7 +227,7 @@ if res.startswith('226 Transfer complete'):
return True
else:
print(msg % (filename, "falied"))
- return False
+ return False
```
Running Result:
@@ -265,7 +265,7 @@ class FtpManager(object):
"""
login_sta = self.ftp_obj.login(username, password)
return login_sta
-
+
def check_file(self, filename):
"""
check file is usr
@@ -274,7 +274,7 @@ class FtpManager(object):
if filename in uos.listdir("usr/"):
return True
return False
-
+
def upload_file(self, path, filename):
"""
file_path
@@ -284,7 +284,7 @@ class FtpManager(object):
print("please check file")
return False
with open(path + filename, "rb") as fp:
- # Store files in text line mode. cmd should be the appropriate STOR command. fp is a file object (opened in binary), each line of which will be read with its readline() method to provide the data to be stored.
+ # Store files in text line mode. cmd should be the appropriate STOR command. fp is a file object (opened in binary), each line of which will be read with its readline() method to provide the data to be stored.
res = self.ftp_obj.storlines("STOR " + filename, fp)
msg = "Upload %s to FTP Server %s."
if res.startswith("226 Transfer complete"):
@@ -293,7 +293,7 @@ class FtpManager(object):
else:
print(msg % (filename, "falied"))
return False
-
+
def download_file(self, path, filename):
"""
file_path
@@ -341,7 +341,7 @@ else:
### FTP Client Commands
-The commonly used FTP client commands are as follows.
+The commonly used FTP client commands are as follows.
- CONNECT: Establishes connection with the FTP server
- USER: Specifies the login username
@@ -376,7 +376,7 @@ An FTP server provides a reliable and standardized way for file transfer, widely
3. Data Transfer: Depending on the command type and transfer mode, the server establishes a data connection with the client for actual file transfers. Data connections can be either active mode (initiated by the server) or passive mode (initiated by the client).
4. Response and Status Codes: After receiving a command from the client, the server executes the corresponding operation and sends response messages and status codes to indicate the command's execution result or error information.
-Configuration of the server (with public IP by default):
+Configuration of the server (with public IP by default):
Inbound Port Mapping in Security Group: TCP/Port 21
```python
diff --git a/docs/Application_guide/zh/dev-tools/LogTool/ASR.md b/docs/Application_guide/zh/dev-tools/LogTool/ASR.md
deleted file mode 100644
index c896d0d5c0b3cb3586a3710c8b05ab06e22639ee..0000000000000000000000000000000000000000
--- a/docs/Application_guide/zh/dev-tools/LogTool/ASR.md
+++ /dev/null
@@ -1,308 +0,0 @@
-# ASR平台Log工具使用说明
-
-ASR平台AP和CP的Log抓取,既可以使用CATStudio工具,也可以使用QWinLog工具,本文将介绍如何使用这两种工具来抓取AP和CP的Log。同时也将说明如何使用CATStudio工具来导出dump文件和pcap文件。
-
-## 概述
-
-### 工具简介
-
-CATStudio是用于实时监控和抓取ASR平台模组log的软件工具,功能非常丰富,对于用户来说,最常用的就是抓取设备的AP/CP log、dump文件导出和pcap文件导出。
-
-QWinLog是专门用来进行log抓取的工具,目前支持高通和ASR平台AP/CP log的抓取,使用非常简单。
-
-### 软件安装
-
-CATStudio和QWinLog工具均为免安装软件,只需要将工具压缩包解压到电脑某个目录下即可。需要注意,解压路径中,不要包含中文字符,否则可能导致工具无法正常运行。
-
-### 运行环境
-
-CATStudio支持在Windows XP/7/10 系统上运行,计算机内存应在512M以上,处理器双核以上。
-
-QWinLog工具支持在Windows 7/10系统上运行。
-
-
-
-## 硬件连接
-
-抓取log之前,用户应做如下准备:
-
-* 确认计算机已经安装ASR平台模组的USB驱动程序。
-
-* 使用USB数据线连接模组和计算机。
-
-* 模组上电运行。
-
-进入计算机的设备管理器界面,如果USB驱动程序加载正常,应该可以看到下图所示的几个端口:
-
-
-
-
-
-几个端口的作用如下:
-
-* Quectel USB AT Port:该端口用于发送AT指令。
-
-* Quectel USB DIAG Port:该端口用于抓取Log。
-
-* Quectel USB REPL Port:对于QuecPython固件而言,该端口是python的REPL端口,用户可通过该端口执行一些python代码。 需要注意的是,不同的平台,python的REPL端口名称可能是不同的。如果用户不清楚哪个端口是python的REPL端口,可以咨询我司的FAE进行确认。
-
-上图中红框标注的端口,就是接下来我们使用CATStudio抓取Log时需要使用的端口。
-
-
-
-## 使用指南
-
-硬件环境准备完成后,按照下面的步骤来操作。
-
-### AP和CP日志抓取
-
-#### 使用CATStudio抓取
-
-**步骤1:选择功能类型**
-
-打开CATStudio软件,默认会弹出下图所示界面,选择“在线解析日志”选项,并点击“OK”。
-
-
-
-
-
-**步骤2:通信端口选择与配置**
-
-经过步骤1后会进入如下界面,点击右下角的“Device Communication”选项,弹出对应配置界面后,默认选择“Device 0”,点击“Settings”。
-
-
-
- 进入如下界面,选中“Serial”,点击“Serial Port”选择框的下拉按钮,选择“Quectel USB DIAG Port”端口,波特率保持默认即可,点击“OK”,之后应该就能看到工具窗口开始输出Log信息了。
-
-
-
-
-
-> 如果经过这一步骤后,CATStudio主窗口无Log信息输出,需要重启电脑,然后重新打开CATStudio软件工具。
-
-
-
-**步骤3:匹配DB文件**
-
-如果没有匹配DB文件,CatStudio工具界面上很多Log都是处于未解码的状态。为了方便看Log信息,用户可以选择匹配模组当前使用固件所对应的DB文件。DB文件一般都在对应固件包中,如下所示:
-
-
-
-
-
-> 如果用户的固件包中没有DBG目录,可以将使用的固件版本号提供给我司FAE,让FAE提供对应固件的DB文件。
-
-
-
-如果没有匹配DB文件,从工具界面上,可以看到如下图所示的红色指示灯:
-
-
-
-
-
-点击红色指示灯边上的“Update”按钮,进入下面的界面,然后按照下面步骤设置:
-
-* 选择①处的“TEXT”。
-
-* 点击②处的按钮,在弹出的文件选择窗口中,切换到模组固件包所在路径,然后进入固件包中的DBG目录下,选择对应的DB文件。
-
-* 点击③处的“Update”按钮,如果选择的DB文件与模组中的固件是匹配的,则可以看到图中右边CP部分的指示灯变成绿色。
-* DB文件匹配成功后,点击④处的“Close”按钮,重新回到Log输出界面,此时应该可以看到上图中Device 0的指示灯也变成绿色。
-
-
-
-
-
-> 对于用户来说,匹配DB文件这一步骤并不是必须的,如果客户仅需要抓取Log并提供给我司研发人员分析,也可以省略该步骤,由我司研发人员自行匹配DB文件。
-
-
-
-**步骤4:Log文件导出**
-
-当Log抓取结束后,需要将Log文件导出,然后提供给我司FAE或者研发人员,用于分析相关问题。用户可按照如下操作导出Log文件:
-
-* 点击菜单栏的“Log”选项,在弹出的下拉框中,继续点击“Export Log-File”选项,弹出ExportLog窗口。
-
-* 在ExportLog窗口中,点击“Select Path(P)”,选择Log保存路径。
-
-* 点击“Output”按钮,等待Log文件导出结束。
-
-
-
-
-
-导出的Log文件,同时包含了AP和CP的Log,用户如需我司协助分析相关问题,需要将导出的Log文件提供给我司FAE或者研发人员。
-
-
-
-#### 使用QWinLog抓取
-
-**步骤1:打开QWinLog**
-
-将QWinLog工具的压缩包解压到电脑某个路径下,注意路径中不要包含中文字符。进入到QWinLog工具根目录下,双击QWinLog.exe打开工具后,进入下图所示的界面:
-
-
-
-
-
-**步骤2:参数配置**
-
-由于是使用QWinLog抓取ASR平台的log,因此只需要配置QWinLog工具界面中和ASR平台相关的参数即可,如下图所示:
-
-
-
-具体配置说明如下:
-
-* 首先勾选①处的“QASR log”选项。
-
-* 选中②处的“USB Port”。
-
-* 点击图中③处端口选择窗口后面下拉按钮,选择“Quectel USB DIAG Port”端口。该端口是ASR平台抓取AP和CP log的端口。
-
-* “Config file”是QWinLog抓取log所使用的配置文件,用户可以使用工具默认的配置文件或者联系我司FAE提供相关配置文件。
-
-* “Log path”为抓取的log保存路径,一般保持默认即可,用户也可根据需要修改。
-
-
-
-**步骤3:开始Log抓取**
-
-点击QWinLog界面的“Start”按钮开始抓取log,点击“Stop”按钮则停止log抓取。
-
-
-
-**步骤4:Log文件打包**
-
-当需要的log抓取完成,点击“Stop”按钮停止后,进入到“Log path”选项中设置的路径下,就可以看到保存的log文件,如下图所示:
-
-
-
-用户只需要将这些log文件打包压缩后,发送给我司FAE或者研发人员即可。
-
-
-
-### Dump文件导出
-
-当用户使用ASR平台模组过程中,遇到dump问题时,可以通过CATStudio工具来导出dump文件,然后将dump文件发送给我司研发人员进行分析。
-
-**步骤1:配置dump模式**
-
-模组在默认情况下,如果发生dump,会直接重启,这种情况下,无法导出dump文件。因此,我们需要在模组正常运行时,先发送AT指令来配置模组的dump模式,确保发生dump时不会自动重启,而是一直停在dump状态,等待用户导出dump文件。下面是ASR平台模组配置dump模式,需要发送的AT指令。
-
-```
-AT+QDUMPCFG=0,0
-AT+QDUMPCFG=2,1
-AT+log=19,1
-```
-
-在模组正常运行时,打开QPYcom工具,“COM Port”选择“Quectel USB AT Port”,然后点击“Open port”。依次发送上述3条AT,如下所示:
-
-
-
-
-
-**步骤2:复现dump问题**
-
-按照步骤1中的说明,确定所使用的模组型号并发送了对应的AT指令后,按照之前测试出现dump问题的方法步骤重新测试,等待dump问题复现。当出现dump问题时,从电脑的设备管理器中,可以看到出现如下所示的dump端口:
-
-
-
-
-
-**步骤3:选择功能类型**
-
-打开CATStudio软件,默认会弹出下图所示界面,选择“专门抓取日志”选项,并点击“OK”。
-
-
-
-
-
-**步骤4:参数设置与dump文件导出**
-
-按照步骤3操作后,会弹出下面的窗口,我们先点击①处的“Dump”,切换到dump导出标签页,依次按照下图标号进行参数设置即可:
-
-
-
-* 选择YModem模式,如图中②处所示;
-
-* 图中③处,点击下拉按钮,选择步骤2中dump端口;
-
-* 点击图中④处的“open”按钮,打开对应端口;
-
-* 点击图中⑤处的“Browse”按钮,选择dump文件保存的路径;
-
-* 点击图中的⑥处的“Receive”按钮,开始dump文件的导出,并等待dump文件导出结束。当文件导出结束时,会弹出窗口提示用户,用户点击“确定”即可。如下图所示:
-
-
-
-
-
-经过这些步骤后,dump文件就已经导出完成,可将导出的dump文件打包压缩为一个文件,提供给我司FAE或者研发人员进行分析。
-
-
-
-### Pcap文件导出
-
-pcap文件是一种常见的网络数据存储文件,通常与Wireshark、Tcpdump等流行的网络分析工具一起使用,用来监控和分析与网络应用相关的问题。比如像MQTT和HTTP等应用协议的数据传输问题。
-
-CATStudio工具支持导出pacp文件,下面说明如何通过CATStudio工具来导出pacp文件。
-
-**步骤1:导出AP和CP Log**
-
-先按照前面[AP和CP日志抓取](./ASR.html#AP和CP日志抓取)章节的步骤,将Log文件导出备用。
-
-**步骤2:选择功能类型**
-
-重新打开CATStudio软件,默认会弹出下图所示界面,选择“离线解析日志”选项,并点击“OK”。
-
-
-
-
-
-> 这里需要注意,是选择“离线解析日志”,前面《AP和CP日志抓取》章节中,选择的是“在线解析日志”。
-
-
-
-**步骤3:加载Log文件**
-
-进入CATStudio主界面后,点击右上角的“Open ZIP/ICL ...”按钮,在弹出的窗口中选择之前导出Log压缩文件,等待文件解压并加载完成。
-
-
-
-如果加载文件过程中,弹出如下窗口,说明选择的Log文件比较大,超过了默认的文件大小限制。这种情况我们直接选择“Cancel(Load whole file)”选项,即选择加载整个文件。
-
-
-
-
-
-**步骤4:匹配DB文件**
-
-如果用户在导出Log文件的步骤中,已经按照说明匹配过了DB文件,则可以省略该步骤,直接进行步骤5,否则需要按照前面的说明匹配DB文件。
-
-
-
-**步骤5:导出pacp文件**
-
-点击菜单栏的“Action”选项,在弹出的下来框中,选择“Export SN Trace to pacp file”选项,弹出如下窗口:
-
-
-
-
-
-在弹出的窗口中,选择导出文件的保存路径,然后点击“OK”,等待导出完成,会弹出如下提示窗口,点击“确定”即可。
-
-
-
-
-
-## 常见问题
-
-**问题1:**使用QWinLog工具抓取log失败,并弹出如下窗口,是什么原因?
-
-
-
-这种情况可能有两种原因导致:
-
-原因1:有其他程序占用了“Quectel USB DIAG Port”端口,可以检查是否存在这种情况,如果有,请先关闭占用该端口的软件,然后重新尝试。
-
-原因2:USB驱动程序加载异常。可以先尝试断开模组和计算机的USB连接再重新接上,或者将模组断电后再重新上电,如果仍然不能正常使用,则需要重启计算机。
\ No newline at end of file
diff --git a/docs/Application_guide/zh/dev-tools/LogTool/EIGEN.md b/docs/Application_guide/zh/dev-tools/LogTool/EIGEN.md
deleted file mode 100644
index f959151665346a0e368b819fc5f65c9255661c58..0000000000000000000000000000000000000000
--- a/docs/Application_guide/zh/dev-tools/LogTool/EIGEN.md
+++ /dev/null
@@ -1,189 +0,0 @@
-# EIGEN平台Log工具使用说明
-
-EIGEN平台AP、CP Log的抓取和dump文件的导出,都是使用EPAT工具。本文将介绍如何使用ArmLogel工具来抓取AP和CP Log,以及如何导出dump文件。
-
-## 概述
-
-### 工具简介
-
-EPAT是用于抓取和分析EIGEN平台模组log的工具,可在线实时抓取分析,也可以离线分析。同时支持pcap和dump文件的导出功能。
-
-### 软件安装
-
-EPAT为绿色免安装软件,只需要将工具压缩包解压到电脑某个目录下即可。需要注意,解压路径中,不要包含中文字符,否则可能导致工具无法正常运行。解压后,进入到工具的Bin目录下,执行EPAT.exe 即可打开该工具。
-
-
-
-> EPAT需要VC MFC DLLs,如果第一次运行EPAT失败,请安装执行Bin目录下的vc_redist.x86.exe文件。
-
-
-
-### 运行环境
-
-EPAT支持在Windows7/8/10系统上运行,计算机内存应在2G以上,处理器建议酷睿i3以上。
-
-
-
-## 硬件连接
-
-抓取log之前,用户应做如下准备:
-
-* 确认已经安装EPAT平台模组的USB驱动程序。
-
-* 使用USB数据线连接模组和计算机。
-
-* 模组上电运行。
-
-进入计算机的设备管理器界面,如果USB驱动程序加载正常,应该可以看到下图所示的几个端口:
-
-
-
-图中几个端口的作用如下:
-
-* Quectel USB AT Port:该端口用于发送AT指令,是专用AT端口。
-* Quectel USB Diag Port:该端口用于AP/CP log的抓取以及dump文件的导出。
-* USB 串行设备:对于QuecPython固件而言,该端口是python的REPL端口,用户可通过该端口执行一些python代码。 需要注意的是,不同的平台,python的REPL端口名称可能是不同的。如果用户不清楚哪个端口是python的REPL端口,可以咨询我司的FAE进行确认。
-
-
-
-## 使用指南
-
-确认设备与PC硬件连接正常,并且所有USB端口枚举成功,接下来就可以进行软件工具的配置和使用。
-
-### AP和CP日志抓取
-
-**步骤1:打开AP Log工具**
-
-进入EPAT工具的根目录,双击EPAT.exe,打开EPAT工具:
-
-
-
-打开EPAT工具后,会先弹出如下窗口,让用户选择在线还是离线模式:
-
-* Serial Device:该选项表示在线模式,即直接从串口设备上实时抓取。
-
-* Select From Local Files:该选项表示离线模式,即从计算机本地加载log文件。
-
-这里我们选择第一个“Serial Device”模式,然后点击“OK”。
-
-
-
-
-
-**步骤2:端口参数配置**
-
-点击工具栏的如下图中①处的按钮,弹出“Device Selection”窗口。
-
-点击②处的“Setting”按钮,弹出“Communications Settings”窗口。
-
-点击③处选择“Quectel USB DIAG Port”端口。然后依次点击④和⑤处的“OK”按钮。
-
-
-
-
-
-**步骤3:DB匹配**
-
-步骤2中端口参数配置完成后,工具会自动打开并连接USB端口,此时应该可以看到工具窗口中有log开始输出,如下图所示:
-
-
-
-因为没有匹配DB文件,所以输出的log基本都是处于未解码的状态,为了看到解码后的明文log,我们需要先匹配DB文件,具体操作如下:
-
-点击图中①处的按钮,弹出“State”窗口。
-
-点击“State”窗口中②处的“Update”按钮,弹出“CheckVersion”窗口。
-
-点击“CheckVersion”窗口中③处的按钮,在弹出的窗口中选择模组当前固件所对应的DB文件,如④处所示。选中后点击“打开”。
-
-点击“CheckVersion”窗口中⑥处的“Update”按钮,然后点击⑦处的“Close”按钮。如果匹配成功,应该可以看到“State”窗口中的指示灯变成绿色。
-
-点击“State”窗口中⑧处的“Close”按钮。到此DB文件就匹配完成了,此时应该可以看到log输出窗口输出的都是明文信息。
-
-
-
-
-
-**步骤4:重启设备并开始log抓取**
-
-DB文件匹配完成后,我们重启设备,EPAT工具会自动识别端口并开始抓取log。
-
-
-
-**步骤5:log文件保存**
-
-需要的log抓取完成后,点击工具栏的保存按钮,选择目录保存导出的log文件,确认后等待文件保存完成。默认保存的log是zip压缩文件。
-
-
-
-文件保存完成后,打开log保存目录,将对应的log压缩文件发送给我司FAE。
-
-
-
-### Dump文件导出
-
-EPAT支持dump文件导出,当模组发生dump死机问题时,EPAT工具会自动抓取dump文件并导出。
-
-**步骤1:配置dump模式**
-
-模组在默认情况下,如果发生dump,会直接重启。这种情况下,无法导出dump文件。因此,我们需要在模组正常运行时,先发送AT指令来配置模组的dump模式,确保发生dump时不会自动重启。
-
-下面是EIGEN平台模组配置dump模式,需要发送的AT指令:
-
-```
-AT+ECPCFG="faultAction",0
-```
-
-打开QPYcom工具,“COM Port”选择“Quectel USB AT Port”端口,点击“Open Port”,然后发送上面的AT指令:
-
-
-
-
-
->上述AT发送后立即生效,并且配置掉电保存。
-
-
-
-**步骤2:复现dump问题**
-
-按照步骤1发送相关AT指令后,就可以去复现相关的dump问题。
-
-
-
-**步骤3:dump文件保存**
-
-当模组出现dump问题时,EPAT工具会自动检测并开始dump文件的导出。dump文件导出完成时,会弹出如下窗口,此时dump文件已经导出并保存到计算机本地,默认保存在工具根目录下的Bin\RamDump目录中。用户可以直接点击图中①处的按钮关闭“RamDump”窗口。
-
-
-
-进入到EPAT工具根目录下的`Bin\RamDump`目录,即可看到dump文件。将该文件打包压缩后发送给我司FAE即可。
-
-
-
-
-
-### Pcap文件导出
-
-当用户需要导出pcap文件来分析MQTT/HTTP/HTTPS等网络问题时,可以按照如下步骤进行操作。
-
-* 点击图中①处的“SigLogger”标签。
-
-* 点击图中②处的暂停按钮。
-
-* 点击菜单栏的“SigLog”选项,在弹出的下拉窗口中,选择“Export As pcap file”选项。
-
-* 在弹出的窗口中,选择pcap文件保存目录并设置文件名,确认后即可导出pcap文件。
-
-
-
-
-
-
-
-## 常见问题
-
-**问题1:**使用EPAT工具连接模组后,为什么log输出窗口中看到的几乎都是一些十六进制的数据?
-
-这是因为没有匹配DB文件导致的,此时输出的log信息大致如下,log是处于未解码的状态,需要匹配正确的DB文件才能看到明文log。
-
-
\ No newline at end of file
diff --git a/docs/Application_guide/zh/dev-tools/LogTool/Qualcomm.md b/docs/Application_guide/zh/dev-tools/LogTool/Qualcomm.md
deleted file mode 100644
index 517126cc8b7358a8c871a343bf7d8a5cec8577d3..0000000000000000000000000000000000000000
--- a/docs/Application_guide/zh/dev-tools/LogTool/Qualcomm.md
+++ /dev/null
@@ -1,209 +0,0 @@
-# Qualcomm平台log工具使用说明
-
-Qualcomm平台AP和CP Log的抓取,都是使用QWinLog工具。Dump文件的导出需要使用QPST工具,pcap文件的导出则需要使用QCAT工具。
-
-## 概述
-
-### 工具简介
-
-QWinLog是专门用来进行log抓取的工具,目前支持高通和ASR平台AP/CP log的抓取,使用非常简单。
-
-### 软件安装
-
-QWinLog工具为免安装软件,只需要将工具压缩包解压到电脑某个目录下即可。需要注意,解压路径中,不要包含中文字符,否则可能导致工具无法正常运行。
-
-### 运行环境
-
-QWinLog工具支持在Windows 7/10系统上运行。
-
-
-
-## 硬件连接
-
-抓取log之前,用户应做如下准备:
-
-* 确认已经安装Qualcomm平台模组的USB驱动程序。
-
-* 使用USB数据线连接模组和计算机。
-
-* 模组上电运行。
-
-进入计算机的设备管理器界面,如果USB驱动程序加载正常,应该可以看到下图所示的几个端口:
-
-
-
-
-
-几个端口的作用如下:
-
-* Quectel USB DM Port:该端口是AP和CP log的输出端口。
-* Quectel USB Modem:该端口可用于发送AT指令。
-* Quectel USB REPL Port:对于QuecPython固件而言,该端口是python的REPL端口,用户可通过该端口执行一些python代码。 需要注意的是,不同的平台,python的REPL端口名称可能是不同的。如果用户不清楚哪个端口是python的REPL端口,可以咨询我司的FAE进行确认。
-
-
-
-## 使用指南
-
-确认设备与PC硬件连接正常,并且所有USB端口枚举成功,接下来就可以进行软件工具的配置和使用。
-
-### AP和CP日志抓取
-
-**步骤1:打开QWinLog**
-
-进入到QWinLog工具根目录下,双击QWinLog.exe打开工具后,进入下图所示的界面:
-
-
-
-
-
-**步骤2:参数配置**
-
-由于是使用QWinLog抓取Qualcomm平台的log,因此只需要配置QWinLog工具界面中和Qualcomm平台相关的参数即可,如下图所示:
-
-
-
-具体配置说明如下:
-
-* 首先勾选①处的“QXDM log”选项,一般软件打开后,默认勾选该项,如果不是,请手动勾选。
-
-* 选中图中②处的“USB&TCP Port”。
-
-* 点击图中③处端口选择窗口后面下拉按钮,选择“Quectel USB DM Port”端口。
-
-* “Config file”是QWinLog抓取log所使用的配置文件,用户可以使用工具默认的配置文件或者联系我司FAE提供相关配置文件。
-
-* “Log path”为抓取的log保存路径,一般保持默认即可,用户也可根据需要修改。
-
-
-
-**步骤3:开始Log抓取**
-
-点击QWinLog界面的“Start”按钮开始抓取log,点击“Stop”按钮则停止log抓取。
-
-
-
-**步骤4:Log文件打包**
-
-当需要的log抓取完成,点击“Stop”按钮停止后,进入到前面设置的log保存路径下,就可以看到保存的log文件,如下图所示:
-
-
-
-用户只需要将这些log文件打包压缩后,发送给我司FAE或者研发人员即可。
-
-
-
-### Dump文件导出
-
-Qualcomm平台dump文件的抓取和导出需要使用QPST工具,如果计算机没有安装该软件工具,请先联系我司FAE获取对应工具安装包并安装。QPST具有自动抓取和导出dump文件的功能,用户只需要进行简单的配置。
-
-**步骤1:配置dump模式**
-
-下面是Qualcomm平台模组配置dump模式,需要发送的AT指令:
-
-```
-AT+QCFGEXT="dump",1
-```
-
-打开QPYcom工具,“COM Port”选择“Quectel USB Modem”端口,点击“Open Port”,然后发送上面的AT指令:
-
-
-
-
-
->上述AT发送后立即生效,且掉电保存。
-
-
-
-**步骤2:打开QPST**
-
-QPST工具安装完成后,进入安装目录下的bin文件夹下,双击QPSTServer.exe文件打开QPST软件。进入如下主界面:
-
-
-
-该工具打开后,可能会自动最小化,如果用户打开后,没看到工具主窗口,可以双击电脑右下角的地球图标,如下所示:
-
-
-
-
-
-**步骤3:添加端口**
-
-在QPST主窗口中,点击如下图中①处的“Ports”选项:
-
-
-
-然后点击②处的“Add New Port”按钮,弹出如下所示的窗口,在弹出的窗口中,进行如下操作:
-
-在“Serial/USB Ports”标签页中,选择“Quectel USB DM Port”端口,然后点击“OK”按钮。
-
-
-
-点击“OK”后,QPST会自动打开并连接“Quectel USB DM Port”端口。
-
-
-
-**步骤4:复现dump问题**
-
-QPST工具配置完成后,就可以去复现相关的dump问题,当模组出现dump问题时,QPST能自动识别到,并自动抓取和保存dump文件。
-
-
-
-**步骤5:dump文件打包**
-
-当QPST自动抓取保存dump文件完成后,我们点击QPST工具菜单栏的“Help”——>"Open Log File Directory",即可打开dump文件保存的目录。QPST会在Sahara目录下,以“Port_COMx”为名称新建一个对应的子文件夹用于保存dump文件。一般如下:
-
-
-
-上图中就是QPST自动抓取并保存的dump文件,用户可将这些dump文件打包压缩为一个文件后,发送给我司FAE或者研发用于分析相关问题。
-
-
-
-### Pcap文件导出
-
-Qualcomm平台的pcap文件导出,需要使用QCAT工具,如果计算机没有安装该软件工具,请先联系我司FAE获取对应工具安装包并安装。
-
-**步骤1:AP和CP log抓取**
-
-Qualcomm平台的pcap文件,需要使用QCAT工具从抓取的AP/CP log文件中提取。因此想要导出pcap文件,需要先按照前面《AP和CP Log抓取》章节的步骤,使用QWinLog工具先抓取.bin格式的log文件,如下图所示:
-
-
-
-
-
-**步骤2:修改log文件后缀**
-
-进入到QWinLog工具抓取.bin格式的log文件的保存目录下,将.bin格式的log文件拷贝一份,然后将拷贝的那个文件后缀修改为.qmdl,如下所示:
-
-
-
-
-
-**步骤3:打开QCAT工具**
-
-QCAT工具安装完成后,进入安装目录下的Bin文件夹下,双击QCAT.exe文件打开软件。进入如下主界面:
-
-
-
-
-
-**步骤4:导入文件**
-
-在QCAT主窗口中,点击图中所示按钮,在弹出的窗口中,切换到.qmdl文件所在的路径下,并选中.qmdl文件,然后等待文件导入完成。
-
-
-
-
-
-> 用户也可以直接将.qmdl文件拖拽到QCAT主窗口内,实现文件导入过程。
-
-
-
-**步骤5:pcap文件导出**
-
-依次点击QCAT菜单栏的“Tools”——>"Convert log to PCAP/TXT",弹出如下窗口:
-
-
-
-通过该窗口可以看到输入文件的路径和导出的pcap文件的保存路径,一般默认和输入文件在同一个目录下。点击上图中的“Run”按钮,即可开始pcap文件的导出。等待导出完成后,回到.qmdl文件所在路径,就能看到导出的pcap文件,如下图所示:
-
-
diff --git a/docs/Application_guide/zh/dev-tools/LogTool/README.md b/docs/Application_guide/zh/dev-tools/LogTool/README.md
deleted file mode 100644
index 14e34863c36a9026475cb50e4bca58e3c1dc99b7..0000000000000000000000000000000000000000
--- a/docs/Application_guide/zh/dev-tools/LogTool/README.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# 平台Log工具使用说明
-
-本文主要介绍QuecPython各个平台log抓取工具的使用,包括ASR、UNISOC8850、UNISOC8910、Qualcomm和EIGEN平台。
-
-## 模组log的作用
-
-用户在使用模组的过程中,经常会遇到各种问题,为了确认问题的原因和模组代码运行的情况,我们通常需要抓取模组运行的日志。通过这些日志,可以帮助研发人员分析和定位问题,以及判断一些功能的运行是否符合预期。
-
-
-
-## 模组Log分类
-
-模组的Log一般分为AP log、CP log、pcap log和dump文件。
-
-* AP log:一般是SDK以及APP输出的日志文件。AP log主要用于确认系统软件运行情况,可用于定位一些软件BUG。
-
-* CP log:一般是Modem输出的无线协议栈相关的日志,比如我们经常说的空口log。CP log主要用于定位确认和无线网络相关的问题,比如模组网络注册问题、网络异常断开问题等。如果是确认设备的网络注册问题,一般需要抓取设备开机阶段的CP log,或者抓取包含CFUN0/1切换过程的CP log。
-
- > CFUN0/1切换是指通过`net.setModemFun(0)`方法先将设备切换到模式0(最小功能模式),然后再通过`net.setModemFun(1)`方法将设备切换到模式1(全功能模式),目的是为了让设备重新发起网络注册流程。如果用户没有抓到设备开机时的CP log,也可以抓取包含CFUN0/1切换过程的CP log提供给我司研发人员分析问题。
-
-* pcap log:pcap日志文件可用于网络流量分析和调试。使用pcap日志文件可以了解设备或应用在网络层面的工作情况,以找出性能问题或故障。通过分析pcap日志,可以查看网络通信的细节,如连接建立的过程、传输的报文格式、请求和响应的参数等。比如分析TCP/IP、MQTT、HTTP/HTTPS等问题时,可能会经常用到pcap日志。用户一般可使用Wireshark软件工具来打开pcap文件。
-* dump文件:当操作系统或应用程序遇到某些不可恢复的错误时,为了记录当时的状态和其他相关信息,它会将内存中的某些部分保存为文件,这些文件称为dump文件。比如程序崩溃、非法内存访问、内存耗尽、栈溢出等异常问题都可能导致模组程序崩溃,从而异常重启。如果用户遇到模组异常重启的情况,很可能是发生dump问题了,此时需要抓取并导出dump文件,提供给我司研发人员进行问题定位和分析。
-
-
-
-## 各平台Log工具
-
-下面是各个平台抓取AP/CP log、pcap log以及dump文件所使用的工具:
-
-| 平台 | 模组型号 | AP Log | CP Log | pcap Log | Dump | 图标 |
-| ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | --------------------------------------------- | --------------------------------------------- | ------------------------------------------------------------ |
-| ASR | EC100Y/EC200N/EC600S/
EC600N/EG915N/EC600M/
EC800M/EG810M/EC200A/
UC200A | [CATStudio](./ASR.html#使用CATStudio抓取)
[QWinLog](./ASR.html#使用QWinLog抓取) | [CATStudio](./ASR.html#使用CATStudio抓取)
[QWinLog](./ASR.html#使用QWinLog抓取) | [CATStudio](./ASR.html#Pcap文件导出) | [CATStudio](./ASR.html#Dump文件导出) |  |
-| UNISOC8850 | EC600G/EC800G | [ArmLogel](./UNISOC8850.html#AP和CP日志抓取) | [ArmLogel](./UNISOC8850.html#AP和CP日志抓取) | [ArmLogel](./UNISOC8850.html#Pcap文件导出) | [DTools](./UNISOC8850.html#Dump文件导出) |  |
-| UNISOC8910 | EC200U/EC600U/EG912U/
EG915U | [coolwatcher](./UNISOC8910.html#AP日志抓取) | [ArmTracer](./UNISOC8910.html#CP日志抓取) | [coolwatcher](./UNISOC8910.html#Pcap文件导出) | [coolwatcher](./UNISOC8910.html#Dump文件导出) |   |
-| Qualcomm | BG95M1/BG95M2/BG95M3/
BG95M6/BG95M8/BG95M9 | [QWinLog](./Qualcomm.html#AP和CP日志抓取) | [QWinLog](./Qualcomm.html#AP和CP日志抓取) | [QCAT](./Qualcomm.html#Pcap文件导出) | [QPST](./Qualcomm.html#Dump文件导出) |  |
-| EIGEN | EC600E/EC800E | [EPAT](./EIGEN.html#AP和CP日志抓取) | [EPAT](./EIGEN.html#AP和CP日志抓取) | [EPAT](./EIGEN.html#Pcap文件导出) | [EPAT](./EIGEN.html#Dump文件导出) |  |
-
-
-
-## 目录
-
-[ASR平台Log工具使用说明](./ASR.md)
-
-[EIGEN平台Log工具使用说明](./EIGEN.md)
-
-[Qualcomm平台Log工具使用说明](./Qualcomm.md)
-
-[UNISOC8850平台Log工具使用说明](./UNISOC8850.md)
-
-[UNISOC8910平台Log工具使用说明](./UNISOC8910.md)
\ No newline at end of file
diff --git a/docs/Application_guide/zh/dev-tools/LogTool/UNISOC8850.md b/docs/Application_guide/zh/dev-tools/LogTool/UNISOC8850.md
deleted file mode 100644
index a5ec930e78f0a4a438536c97e766f9e4a52a64cf..0000000000000000000000000000000000000000
--- a/docs/Application_guide/zh/dev-tools/LogTool/UNISOC8850.md
+++ /dev/null
@@ -1,247 +0,0 @@
-# UNISOC8850平台Log工具使用说明
-
-UNISOC8850平台AP和CP Log的抓取,都是使用ArmLogel工具,而dump文件的导出则需要使用dtools_win工具。本文将介绍如何使用ArmLogel工具来抓取AP和CP的Log,以及使用dtools_win工具导出dump文件。
-
-## 概述
-
-### 工具简介
-
-ArmLogel是一个用来实时监控并抓取UNISOC8850平台模组的内部消息、空中消息、系统消息的测试工具。它可以将来自每个任务的消息分层显示,并提供了对消息结构和数据的解析功能。
-
-### 软件安装
-
-ArmLogel工具为免安装软件,只需要将工具压缩包解压到电脑某个目录下即可。需要注意,解压路径中,不要包含中文字符,否则可能导致工具无法正常运行。
-
-### 运行环境
-
-ArmLogel工具支持在Windows XP/7/10系统上运行,计算机内存应在8G以上,处理器至少双核。
-
-
-
-## 硬件连接
-
-抓取log之前,用户应做如下准备:
-
-* 确认已经安装UNISOC8850平台模组的USB驱动程序。
-
-* 使用USB数据线连接模组和计算机。
-
-* 模组上电运行。
-
-进入计算机的设备管理器界面,如果USB驱动程序加载正常,应该可以看到下图所示的几个端口:
-
-
-
-几个端口的作用如下:
-
-* Quectel USB AT Port:该端口用于发送AT指令。
-* Quectel USB CP Port:该端口用于抓取CP Log。
-* Quectel USB Debug Port:在USB连接下,该端口保留,用户可忽略。
-
-* Quectel USB DIAG Port:该端口用于抓取AP Log。
-
-* Quectel USB REPL Port:对于QuecPython固件而言,该端口是python的REPL端口,用户可通过该端口执行一些python代码。需要注意的是,不同的平台,python的REPL端口名称可能是不同的。如果用户不清楚哪个端口是python的REPL端口,可以咨询我们公司的FAE进行确认。
-
-
-
-## 使用指南
-
-确认设备与计算机硬件连接正常,并且所有USB端口枚举成功,接下来就可以进行软件工具的配置和使用。
-
-### AP和CP日志抓取
-
-**步骤1:打开ArmLogel工具**
-
-将ArmLogel工具的压缩包解压到电脑某个路径下,注意路径中不要包含中文字符。进入到ArmLogel工具根目录下,双击Logel.exe打开ArmLogel工具后,进入下图所示的界面,其中的“Traces”窗口就是AP Log的输出窗口。CP Log的输出窗口一般默认不直接打开,而是在用户配置好参数并连接设备成功后,会自动弹出。
-
-
-
-
-
-**步骤2:参数配置**
-
-点击菜单栏的设置按钮,如下图所示:
-
-
-
-弹出如下所示的参数设置窗口,在该窗口中,用户需要设置Log的保存路径以及USB端口相关的参数。当用户设置好这些参数,并开始Log的抓取时,ArmLogel工具会自动保存AP和CP Log到用户设置的目录中。
-
-
-
-具体的参数设置说明如下:
-
-* 在①处设置Log的保存路径。
-
-* ②处的“Type”选择“Uart”。
-
-* ③处的“Diag Port”选择“Quectel USB DIAG Port”,后面波特率输入框填写2000000即可。
-
-* ④处的“Log Port”选择“Quectel USB CP Port”,后面波特率输入框填写8000000即可。
-
-* 点击⑤处的“OK”按钮确认。
-
-按照上述步骤配置之后,参数配置就完成了。
-
-
-
-**步骤3:开始Log抓取**
-
-点击菜单栏的“Capture Log”按钮开始抓取Log:
-
-
-
-当“Capture Log”按钮变成绿色,并且“Traces”窗口能看到Log输出,说明硬件连接正常,并且工具参数配置也正确。当工具开始输出Log时,还会弹出几个新的窗口,比如“CP All Message”、"CP Lay3 Message"和“Neighbour Cell Info”窗口,这些窗口输出的是CP Log相关的信息。
-
-
-
-
-
-**步骤4:Log文件打包保存**
-
-当需要的Log抓取完成时,点击ArmLogel工具菜单栏的停止按钮,Log会自动保存到之前设置的目录下。
-
-
-
-进入之前设置的Log保存路径下,该目录下就是ArmLogel工具自动保存的所有Log文件,用户需要将这些文件打包压缩后,发送给我司FAE或者研发,用于分析问题。
-
-
-
-
-
-> 由于ArmLogel工具每次打开时,默认都会按照用户之前设置的路径来保存,所以会导致保存Log文件的目录下有大量历史Log文件。因此,建议用户在每次使用ArmLogel工具抓取Log之前,先将历史Log文件都删除,这样可以确保该目录下保存的文件是最新的。
-
-
-
-### Dump文件导出
-
-UNISOC8850平台模组抓取dump文件,需要使用dtools_win工具,且需要结合ArmLogel工具来使用。下面将说明如何使用ArmLogel工具合dtools_win工具来导出模组的dump文件。
-
-**步骤1:配置dump模式**
-
-模组在默认情况下,如果发生dump,会直接重启。这种情况下,无法导出dump文件。因此,我们需要在模组正常运行时,先发送AT指令来配置模组的dump模式,确保发生dump时不会自动重启,而是一直停在dump状态,等待用户导出dump文件。
-
-下面是UNISOC8850平台模组配置dump模式,需要发送的AT指令:
-
-```
-AT+QDBGCFG="DUMPCFG",0
-```
-
-打开QPYcom工具,“COM Port”选择“Quectel USB AT Port”端口,点击“Open Port”,然后发送上面的AT指令:
-
-
-
-
-
->上述AT发送后立即生效,但是掉电不保存,如果重启设备了,就需要重新发送一次。
-
-
-
-**步骤2:复现dump问题**
-
-按照步骤1发送相关AT指令后,就可以去复现相关的dump问题,当模组出现dump问题时,ArmLogel工具会弹出如下所示的Assert Information窗口:
-
-
-
-并且Traces窗口中会列出模组当前所有Task的基本信息:
-
-
-
-
-
-**步骤3:停止ArmLogel工具的Log抓取**
-
-由于接下来需要使用dtools_win工具来导出dump文件。dtools_win工具导出dump时使用的也是模组的USB端口,如果不先停止ArmLogel工具,会导致模组的USB端口一直被ArmLogel工具占用,dtools_win工具则无法再使用模组的USB端口。
-
-当模组确认发生dump,并出现步骤2中的现象时,用户需要点击ArmLogel工具菜单栏的停止按钮,停止成功后,该按钮会变成红色。
-
-
-
-
-
-**步骤4:打开dtools_win工具**
-
-双击打开dtools_win工具,进入该工具的主界面,具体如下所示:
-
-
-
-
-
-**步骤5:端口参数配置**
-
-点击下图中①处的图标,弹出端口参数配置窗口,如下所示:
-
-
-
-在弹出的端口参数配置窗口中,依次按照下面的步骤进行配置:
-
-* 图中②处的Chip Type类型,选择8850。
-
-* 选择图中③处的Diag Port,并且后面的端口号选择"Quectel USB DIAG Port"所对应的端口号。
-
-* 最后点击图中④处的“Confirm”按钮。
-
-
-
-**步骤6:dump文件导出**
-
-在dtools_win工具的主界面上,先点击下图①处的“Blue Screen Dump”标签,进入对应的标签页:
-
-
-
-在“Blue Screen Dump”标签页中,依次按照如下步骤进行操作:
-
-* 图中②处的Chip类型需要选择8850,如果步骤5中配置正确,此处应该默认就是8850。
-
-* 图中③处是dump文件导出后的保存路径,用户可以点击输入框后面的按钮选择指定的目录来保存dump文件。
-
-* 点击图中④处的按钮,开始dump文件的导出。下方⑤处会有dump文件导出的进度显示,当导出进度显示为100%时,表示dump文件导出已经完成。
-
-我们可以点击“Open Dump Folder”按钮,直接打开dump文件保存目录,然后将dump文件打包压缩为一个文件后,发送给我司FAE或者研发进行dump问题的分析。
-
-
-
-### Pcap文件导出
-
-ArmLogel工具会自动抓取并保存pcap文件,并将pcap文件保存在用户设置的Log保存路径下,用户只需要按照前面[AP和CP日志抓取](./UNISOC8850.html#AP和CP日志抓取)章节的步骤设置即可,无需单独设置其他参数。
-
-模组开机后,如果没有进行过任何网络数据业务,则Log保存路径下不会有pcap文件存在;只有当模组进行进行socket、mqtt以及http等业务时,ArmLogel工具才会抓取并保存pacp文件。
-
-
-
-
-
-## 常见问题
-
-**问题1:**ArmLogel工具打开后,没有看到“Traces”窗口。
-
-如果用户打开ArmLogel工具后,没有看到“Traces”窗口,可以手动打开。点击菜单栏的“View”选项,在弹出的下拉窗口中,依次点击“Common”——>"Traces",即可显示“Traces”窗口。
-
-
-
-**问题2:**点击菜单栏的“Capture Log”按钮后,该按钮已经变成绿色,但是“Traces”窗口看不到任何的AP Log输出。
-
-AP Log默认是从USB端口输出,对于ArmLogel工具来说,即从"Quectel USB DIAG Port"端口输出。如果用户之前通过相关AT将AP Log输出切换到了物理串口的Debug串口,就会出现“Capture Log”按钮已经变成绿色,但是“Traces”窗口看不到任何的AP Log输出的现象。此时,用户可以按照下面步骤进行操作:
-
-步骤1:确认当前AP Log输出端口。
-
-发送如下AT,查询当前的AP Log输出端口:
-
-```
-at+qdbgcfg="tracecfg"
-```
-
-打开QPYcom工具,“COM Port”选择“Quectel USB AT Port”端口,点击“Open Port”,然后发送上面的AT指令:
-
-
-
-如果AT指令查询结果如上图所示,最后两位数字是0和1,说明当前AP Log的输出端口是物理串口Debug口。
-
-此时,用户可以发送如下AT命令,来将AP Log输出端口切换到USB端口:
-
-```
-at+qdbgcfg="tracecfg",0,2
-```
-
-
-
-由于上述AT指令需要重启才能生效,所以发送上述AT指令后,重启模组。然后回到ArmLogel工具界面,应该就可以看到有Log输出了。
\ No newline at end of file
diff --git a/docs/Application_guide/zh/dev-tools/LogTool/UNISOC8910.md b/docs/Application_guide/zh/dev-tools/LogTool/UNISOC8910.md
deleted file mode 100644
index b0f051e57bb492039c6d3e42130fa1df31089666..0000000000000000000000000000000000000000
--- a/docs/Application_guide/zh/dev-tools/LogTool/UNISOC8910.md
+++ /dev/null
@@ -1,392 +0,0 @@
-# UNISOC8910平台Log工具使用说明
-
-本文将介绍如何使用coolwatcher和ArmTracer这两种工具来进行AP和CP Log的抓取,以及dump文件的导出。
-
-## 概述
-
-### 工具简介
-
-coolwatcher是用来抓取UNISOC8910平台模组AP Log的软件工具,同时支持dump文件导出。
-
-ArmTracer是用来抓取UNISOC8910平台模组CP Log的软件工具,用于分析模组网络注册相关的问题。
-
-### 软件安装
-
-coolwatcher和ArmTracer工具均为免安装软件,只需要将工具压缩包解压到电脑某个目录下即可。需要注意,解压路径中,不要包含中文字符,否则可能导致工具无法正常运行。
-
-### 运行环境
-
-coolwatcher支持在Windows XP/7/10 系统上运行,计算机内存应在4G以上,处理器双核以上。
-
-ArmTracer运行于 Windows XP 以上的系统版本,如果软件无法正常运行,可尝试以管理员身份运行或者以XP SP3兼容模式来运行。
-
-
-
-## 硬件连接
-
-抓取log之前,用户应做如下准备:
-
-* 确认已经安装UNISOC8910平台模组的USB驱动程序。
-
-* 使用USB数据线连接模组和计算机。
-
-* 模组上电运行。
-
-进入计算机的设备管理器界面,如果USB驱动程序加载正常,应该可以看到下图所示的几个端口:
-
-
-
-图中几个端口的作用如下:
-
-* Quectel Modem:该端口主要用于ppp拨号,也可用于发送AT,但是一般不用该端口发送AT,而是使用专用AT端口。
-
-* Quectel USB AP Log Port:该端口用于抓取AP Log。
-
-* Quectel USB AT Port:该端口用于发送AT指令,是专用AT端口。
-
-* Quectel USB CP Log Port:该端口用于抓取CP Log。
-
-* Quectel USB Diag Port:该端口保留。
-
-* Quectel USB MOS Port:该端口保留。
-
-* Quectel USB REPL Port:对于QuecPython固件而言,该端口是python的REPL端口,用户可通过该端口执行一些python代码。需要注意的是,不同的平台,python的REPL端口名称可能是不同的。如果用户不清楚哪个端口是python的REPL端口,可以咨询我们公司的FAE进行确认。
-
-
-
-## 使用指南
-
-确认设备与PC硬件连接正常,并且所有USB端口枚举成功,接下来就可以进行软件工具的配置和使用。
-
-### AP日志抓取
-
-**步骤1:打开AP Log工具**
-
-将cooltools软件工具压缩包解压到电脑某个目录下,需要注意,cooltools工具所在路径中,不要包含中文路径。解压完成后,进入到工具根目录下:
-
-
-
-双击coolwatcher_usb.exe文件打开工具,弹出如下配置窗口,窗口左侧为模块型号选择区,右侧为对应型号的配置项:
-
-* 点击①处的8910,进入对应项目的配置界面。
-
-* 确认②处型号为8910。
-
-* 在③处的输入框中,填写“Quectel USB AP Log Port”所对应的端口号。点击“OK”按钮。
-
-
-
-
-
-**步骤2:等待工具连接模组成功**
-
-步骤1中,端口参数配置完成,点击“OK”后,coolwatcher工具会自动打开“Quectel USB AP Log Port”端口,并与模组进行通信,建立连接。当连接建立成功后,会出现下图所示的界面,左边会有几条绿色提示信息,并且最后会出现“[COM OPEN OK]”的提示信息。
-
-
-
-上图就是我们打开coolwatcher工具进入的主界面。其中右边的Trace tool窗口就是AP Log的输出窗口,图中①处是控制AP Log的一些按钮,下面是几个常用按钮功能的介绍:
-
-| 按钮 | 功能 |
-| ------------------------------------------------------------ | ------------------------------------------------------------ |
-|  | 开始,点击后trace窗口开始输出AP Log。 |
-|  | 停止,点击后trace窗口停止输出AP Log。 |
-|  | 清空,点击后会清空trace窗口的所有AP Log。 |
-|  | 设置,点击后会弹出设置窗口,可设置自动保存、保存的文件类型、保存路径、单个文件大小、pcap保存等。 |
-|  | 保存,点击后立即保存,实际可以通过“设置”按钮来配置自动保存,无需手动保存。 |
-
-图种②处是AP Log过滤功能的关键字输入框,用户可以在该输入框中输入某个字符串作为关键字并按键盘的回车键确认,工具会把包含该关键字的所有AP Log条目都列举出来。
-
-如果用户在步骤1中,端口参数配置完成,点击“OK”后,没有弹出上面图中右边的Trace tool窗口,而是进入下面的窗口,说明用户使用的软件版本不是最新的。
-
-
-
-此时按照下面步骤操作即可:
-
-点击菜单栏的“Plugins”,在弹出的下拉窗口中,点击“Activate Tracer”,即可出现Trace tool窗口。
-
-
-
-
-
-
-
-**步骤3:参数设置**
-
-点击Trace tool窗口工具栏里面的“设置”按钮,弹出如下设置窗口,用户需要关注和设置的即图中标注的部分:
-
-* ①自动保存,默认是勾选的,如果没有勾选,建议用户勾选该功能。
-
-* ②保存的Log文件类型,支持Bin和trc两种类型,默认是trc。Bin类型的文件需要coolwatcher才能查看,trc为普通文本文件。
-
-* ③单个Log文件大小,当文件大小超过该值时,会自动保存到下一个新的文件中。
-
-* ④Log文件保存路径,用户可根据需要来设置,默认是保存到coolwatcher工具根目录的logs目录下。
-
-* ⑤是否保存pcap文件,默认不保存。建议用户勾选该选项,勾选后,coolwatcher工具会自动抓取并保存pcap文件。
-
-按照上述说明设置完成后,点击“OK”按钮保存。
-
- 
-
-
-
-**步骤4:开始Log抓取**
-
-点击Trace tool窗口的“开始”按钮,即可看到下方的窗口开始输出Log信息。如下图所示:
-
-
-
-
-
-**步骤5:Log文件打包**
-
-当需要的AP Log已经抓取完成时,点击Trace tool窗口的“停止”按钮,进入用户设置的Log保存目录下,如果用户没有设置过,则默认保存到coolwatcher工具根目录下的logs文件夹。进入AP Log保存目录后,将logs目录下的所有文件都打包压缩,然后发送给我司FAE或者研发人员,用于分析问题。
-
-
-
-> 建议用户在每次抓取log之前,先将默认的log保存路径下的历史log文件删除。
-
-
-
-### CP日志抓取
-
-UNISOC8910平台模组CP Log的抓取,需要使用ArmTracer工具,下面将说明如何使用ArmTracer工具来抓取模组CP Log。
-
-#### 抓取步骤
-
-**步骤1:打开ArmTracer工具**
-
-将ArmTracer工具的压缩包解压到电脑某个路径下,注意路径中不要包含中文字符。进入到ArmTracer工具根目录下,双击ArmTracer.exe文件打开该工具,进入如下所示主界面:
-
-
-
-上图中①处是端口参数设置按钮,②处是开始按钮,③处是停止按钮,④处是log保存路径设置按钮。
-
-
-
-**步骤2:端口参数配置**
-
-点击工具栏的端口参数设置按钮,弹出如下设置窗口。由于使用的是USB端口,因此只需要选择端口号即可,其他参数一般保持默认。点击“Device Port”选项输入框的下拉按钮,选择“Quectel USB CP Log Port”端口对应的端口号,然后点击“OK”。
-
-
-
-
-
-**步骤3:设置log保存路径**
-
-点击工具栏的log保存路径设置按钮,弹出如下设置窗口。“Saved Path”是CP log的保存路径,用户根据需要去设置。“Filename”是log文件的名称,ArmTracer工具会使用该名称和时间戳组合为最终的log文件名称。设置好log文件保存路径和文件名称后,点击“OK”。
-
-
-
-
-
-**步骤4:开始CP log抓取**
-
-点击工具栏的开始按钮,此时可能会自动弹出步骤3中的“log setting”窗口,直接点击“OK”。如果硬件连接正常,工具配置正确,应该可以看到工具窗口开始输出log信息,如下图所示:
-
-
-
-
-
-**步骤5:Log文件打包保存**
-
-当需要的Log抓取完成了,点击ArmTracer工具栏的停止按钮,log会自动保存到之前设置的目录下。将log保存目录下的最新生成的.tra文件都打包压缩为一个文件,发送给我司FAE即可。
-
-
-
-
-
-#### 配置工具自动抓取
-
-抓取CP Log的目的是为了分析设备的无线网络相关的问题,比如设备网络注册失败问题。而设备的网络注册过程是在开机阶段就自动进行的,所以分析网络注册失败这一类问题,一般都需要抓设备开机阶段的CP Log。为了方便抓取设备开机阶段的CP log,我们可以配置ArmTracer工具自动检测CP log端口并抓取log。下面将说明如何配置该功能。
-
-> 如果仅仅是分析模组网络注册失败问题,也可以不配置该功能,采用手动抓取的方式,抓取包含CFUN0/1切换过程的CP log。
-
-
-
-**步骤1:打开配置文件**
-
-进入到ArmTracer工具根目录下,找到ArmTracer.ini配置文件,如下图所示:
-
-
-
-以文本的方式打开该配置文件,找到[USBDevice]配置项,如下图所示:
-
-
-
-
-
-**步骤2:修改配置文件**
-
-找到[USBDevice]配置项后,我们需要在`DeviceList`中增加“Quectel USB CP Log Port”端口,并将`DeviceSel`的值改为“Quectel USB CP Log Port”,修改后如下:
-
-
-
-修改完成后,保存退出。
-
-
-
-**步骤3:选择自动检测CP端口**
-
-如果修改配置文件之前,ArmTracer工具就已经处于打开状态,在修改配置文件之后,需要关闭ArmTracer工具并重新打开,配置才会生效。打开ArmTracer工具后,进入下图所示主界面:
-
-
-
-点击图中箭头所指的图标,会弹出“Software Setting”窗口,可以看到此时“USB Device Description”对应的值已经是我们前面配置的“Quectel USB CP Log Port”,勾选“Automatic Detect CP Port”功能,点击“OK”。
-
-
-
-如果配置正确,理论上在点击“OK”后,工具就会自动检测CP log端口并开始抓取log,可以看到CP log输出,如下所示:
-
-
-
-为了进一步验证配置是否正常,我们重启设备,观察ArmTracer工具是否可以自动检测CP log端口并自动开始输出log,如果能观察到ArmTracer工具log输出窗口不断有log输出,说明配置是生效的。就可以开始正式抓取CP log了。
-
-
-
-
-
-### Dump文件导出
-
-coolwatcher支持dump文件导出,当模组发生dump死机问题时,可以通过coolwatcher导出dump文件,然后将其打包压缩后发送给我司研发分析。下面介绍如何使用coolwatcher工具来导出dump文件。
-
-**步骤1:配置dump模式**
-
-模组在默认情况下,如果发生dump,会直接重启。这种情况下,无法导出dump文件。因此,我们需要在模组正常运行时,先发送AT指令来配置模组的dump模式,确保发生dump时不会自动重启,而是一直停在dump状态,等待用户导出dump文件。
-
-下面是UNISOC8910平台模组配置dump模式,需要发送的AT指令:
-
-```
-AT+QDBGCFG="DUMPCFG",0
-```
-
-打开QPYcom工具,“COM Port”选择“Quectel USB AT Port”端口,点击“Open Port”,然后发送上面的AT指令:
-
-
-
-
-
->上述AT发送后立即生效,但是掉电不保存,如果重启设备了,就需要重新发送一次。
-
-
-
-**步骤2:复现dump问题**
-
-按照步骤1发送相关AT指令后,就可以去复现相关的dump问题,当模组出现dump问题时,从coolwatcher的log输出窗口可以看到如下log信息:
-
-
-
-
-
-**步骤3:导出dump文件**
-
-依次点击菜单栏的“Tools”——>“Blue Screen Dump”,如下图所示:
-
-
-
-点击之后会弹出dump导出设置窗口,如下图所示:
-
-
-
-在上图所示窗口中,用户需要进行的操作如下:
-
-* “Mode”:选择“8910 (FreeRTOS)”选项。
-
-* “XML file name”:选择图中所示的文件,一般默认就是该文件。
-
-* “Elf file name”:选择模组当前使用的固件所对应的elf文件,一般可直接在固件包中找到,如下图所示。如果固件包中没有,可以联系我司FAE获取对应固件的elf文件。
-
-
-
-> 如果用户使用的coolwatcher工具版本较新,在导出dump文件时,是不需要选择elf文件的,即上面的“Bule Screen Dump”窗口中,“Elf file name”选项是处于无法操作的状态。如果“Elf file name”选项处于可选择的状态,用户按照上述说明选择对应elf文件即可。
-
-* “Output Directory”:选择dump文件保存目录。需要注意选择的路径中不要包含任何中文字符以及空格等。
-
-按照上述说明配置后,点击“start”按钮开始dump文件的导出并等待dump文件导出完成,如下图所示:
-
-
-
-进入到dump文件保存目录下,将所有的dump文件打包压缩后,发送给我司FAE或者研发人员进行问题定位和分析。
-
-
-
-
-
-### Pcap文件导出
-
-coolwatcher工具支持自动保存pcap文件,但是该功能默认没有开启。开启方式在前面[AP日志抓取](./UNISOC8910.html#AP日志抓取)章节的步骤3中其实已经提到,即点击Trace tool窗口工具栏里面的“设置”按钮,弹出如下设置窗口,勾选图中⑤处的“Save Pcap”功能,点击“OK”。
-
-
-
-勾选该功能后,工具就会自动抓取并保存pcap文件,保存的路径为上图④处设置的路径下的cap子目录,cap目录为工具自动创建,无需用户新建该文件夹。
-
-
-
-如需要我司FAE或者研发协助分析网络应用相关的问题,可以将AP Log文件和这些pcap文件一起打包压缩后,发送给我司FAE。
-
-
-
-## 常见问题
-
-**问题1:**dump导出失败了。
-
-dump导出失败的原因有多种,一般常见的原因有下面这些。
-
-情况1:
-
-
-
-如果导出失败的提示信息类似上图这种,那么可能的原因有:
-
-* 连接模组和电脑的USB数据线太长,用户可尝试换一根较短的USB数据线。
-
-* 模组和电脑之间不是通过USB直连,而是经过了HUB集线器。这种情况很容易导致dump导出失败,建议用户使用USB数据线直连模组和电脑。
-
-情况2:
-
-
-
-
-
-如果导出失败的提示信息类似上述两种情况,那很可能是选择的elf文件和模组当前使用的固件不匹配导致。这种情况需要用户选择和模组当前使用的固件相匹配的elf文件。
-
-如果用户按照上述几种情况排查后,仍然无法导出,可以联系我司FAE进行协助。
-
-
-
-**问题2:**按照前文说明打开配置coolwatcher工具后,点击“开始”按钮后,trace窗口无AP Log输出。
-
-AP Log默认是从USB端口输出,对于coolwatcher工具来说,即从"Quectel USB AP Log Port"端口输出。如果用户之前通过相关AT将AP Log输出切换到了物理串口的Debug串口,就会出现点击“开始”按钮后,trace窗口无AP Log输出的现象。此时,用户可以按照下面步骤进行操作:
-
-步骤1:确认当前AP Log输出端口。
-
-发送如下AT,查询当前的AP Log输出端口:
-
-```
-at+qdbgcfg="tracecfg"
-```
-
-打开QPYcom工具,“COM Port”选择“Quectel USB AT Port”端口,点击“Open Port”,然后发送上面的AT指令:
-
-
-
-如果AT指令查询结果如上图所示,最后两位数字是0和1,说明当前AP Log的输出端口是物理串口Debug口。
-
-此时,用户可以发送如下AT命令,来将AP Log输出端口切换到USB端口:
-
-```
-at+qdbgcfg="tracecfg",0,2
-```
-
-
-
-由于上述AT指令需要重启才能生效,所以发送上述AT指令后,重启模组。然后回到coolwatcher工具界面,重新点击“开始”按钮,应该就可以看到有Log输出了。
-
-
-
-**问题3:**log中看到如下这种信息,是系统某些功能运行异常吗?
-
-
-
-上图中这些信息并不是模组功能运行异常,而是因为使用的coolwatcher工具版本比较旧,工具无法识别解析一些log。用户可联系我司FAE申请最新版本的coolwatcher工具。
-
diff --git a/docs/Application_guide/zh/dev-tools/README.md b/docs/Application_guide/zh/dev-tools/README.md
index 37a588772b7aca2ce2d3e71057c2f221d267aadb..d7e17df5e856ae3fb43aac45b3747ce85157032d 100644
--- a/docs/Application_guide/zh/dev-tools/README.md
+++ b/docs/Application_guide/zh/dev-tools/README.md
@@ -8,6 +8,5 @@
- [Thonny IDE 使用教程](./Thonny/README.md)
- [DTU Tool 使用教程](./DTU-Tool/README.md)
- [产测工具使用教程](./FactoryTool/README.md)
-- [各平台Log工具使用教程](./LogTool/README.md)
- [VSCode 插件使用教程](./VSCode-Plugin-quecpython/README.md)
- [QMulti_DL 批量烧录工具使用教程](./QMulti-DL/README.md)
diff --git a/docs/Application_guide/zh/network-comm/net-protocols/ftp.md b/docs/Application_guide/zh/network-comm/net-protocols/ftp.md
index 26e3b2b643633d36484a2a925dd84f4e20f0745c..aced553cd08159a1c17e2f42109891365500f518 100644
--- a/docs/Application_guide/zh/network-comm/net-protocols/ftp.md
+++ b/docs/Application_guide/zh/network-comm/net-protocols/ftp.md
@@ -115,7 +115,7 @@ QuecPython 提供了`ftplib`模块,用于FTP客户端连接使用,本节分
2. 连接到网络:确保您的设备能连接到网络。
3. QuecPython固件中包含ftplib模块。
-完成固件烧录后需要检测当前固件是否包含`ftplib`模块以及找网状态,可使用[Qpycom工具](https://python.quectel.com/doc/Advanced_development/zh/QuecPythonTools/QPYcom.html)进行调试,本文演示均使用该工具。在工具交互页面通过导入模块的方式来确认是否包含和使用API检测网络情况,python语法通过`import xxx`或`from xx import xxx`的方式导入API。
+完成固件烧录后需要检测当前固件是否包含`ftplib`模块以及找网状态,可使用[Qpycom工具](https://python.quectel.com/doc/Application_guide/zh/dev-tools/QPYcom/index.html)进行调试,本文演示均使用该工具。在工具交互页面通过导入模块的方式来确认是否包含和使用API检测网络情况,python语法通过`import xxx`或`from xx import xxx`的方式导入API。
```python
# 未抛出异常则包含
@@ -209,7 +209,7 @@ filename = 'ftp_file.txt' # 待下载的文件名
# 打开并创建一个文件
save_fp = open(path + filename, "wb+")
# 查询服务端当前路径
-server_path = ftp_obj.pwd()
+server_path = ftp_obj.pwd()
# 建立下载连接,fp.write为写文件操作
res = ftp_obj.retrlines("RETR " + server_path + "/" + filename, fp.write)
# 完成下载
@@ -219,7 +219,7 @@ if res.startswith('226 Transfer complete'):
return True
else:
print(msg % (filename, "falied"))
- return False
+ return False
```
运行截图:
@@ -257,7 +257,7 @@ class FtpManager(object):
"""
login_sta = self.ftp_obj.login(username, password)
return login_sta
-
+
def check_file(self, filename):
"""
check file is usr
@@ -266,7 +266,7 @@ class FtpManager(object):
if filename in uos.listdir("usr/"):
return True
return False
-
+
def upload_file(self, path, filename):
"""
file_path
@@ -285,7 +285,7 @@ class FtpManager(object):
else:
print(msg % (filename, "falied"))
return False
-
+
def download_file(self, path, filename):
"""
file_path