求助:TCP透传丢包

Moderator: ESP_XCGuang

pengxinmin
Posts: 7
Joined: Tue Feb 28, 2023 1:43 am

求助:TCP透传丢包

Postby pengxinmin » Tue Feb 28, 2023 11:22 am

主机与ESP32C3-MINI1模组进行UART通信。开启透传模式,数据传输到服务器上。大概每100ms传输不到300个字节。一段时间后服务器老是解析出错,通过在服务器上抓包发现丢包引起。

波特率:750000
AT固件是基于最新的工程开启WBE配网指令编译后的版本。

如附件抓包图所示:
服务器一直请求2134571的包,然后也没有重传。
最后丢了这一包数据,服务器解析就出错了。
目前是已经按照指南里的提高WIFI吞吐量的方法,进行配置,将UART的缓冲区提高到16*1024了。也还是存在很大几率丢包。
是否还有其他方法能降低丢包率的。
有没有大佬帮忙看一下!!!
Attachments
]DZ(M({L)[8KJ@LJ8B}~T13.png
附件抓包图
]DZ(M({L)[8KJ@LJ8B}~T13.png (58.51 KiB) Viewed 19933 times

pengxinmin
Posts: 7
Joined: Tue Feb 28, 2023 1:43 am

Re: 求助:TCP透传丢包

Postby pengxinmin » Wed Mar 01, 2023 7:11 am

充分测试几次之后发现,不是丢包的问题,是传输一段时间之后模组停止上传数据了,但与服务器的连接并未断开,还在与服务器进行应答,只是没有数据上传了,而我此时数据还是一直往模组发送的。

停止上传数据之前并无太大异常,就是经常有乱序包
$ZLHBDR5D_4]TE$$1)AK]EC.png
$ZLHBDR5D_4]TE$$1)AK]EC.png (196.65 KiB) Viewed 19928 times
。但是并不是一有乱序包就会停止上传数据。可否帮忙解答一下这个问题,不然这个项目很难进行下去了!!!
4{AA{DQ4U_1H_`E(YZ8M8_9.png
4{AA{DQ4U_1H_`E(YZ8M8_9.png (195.18 KiB) Viewed 19928 times

ESP_Sun
Posts: 320
Joined: Thu Dec 30, 2021 9:52 am

Re: 求助:TCP透传丢包

Postby ESP_Sun » Fri Mar 03, 2023 11:21 am

pengxinmin wrote:
Wed Mar 01, 2023 7:11 am
充分测试几次之后发现,不是丢包的问题,是传输一段时间之后模组停止上传数据了,但与服务器的连接并未断开,还在与服务器进行应答,只是没有数据上传了,而我此时数据还是一直往模组发送的。

停止上传数据之前并无太大异常,就是经常有乱序包$ZLHBDR5D_4]TE$$1)AK]EC.png。但是并不是一有乱序包就会停止上传数据。可否帮忙解答一下这个问题,不然这个项目很难进行下去了!!!4{AA{DQ4U_1H_`E(YZ8M8_9.png
1. AT 版本信息可以提供下吗?(AT+GMR 命令查询)
2. 有使用流控吗?(AT+UART_CUR 命令)
3. 可以把 TCPIP 的 log 打开(menuconfig 开启 Component Config ---> lwip ---> Enable lwip log 以及把 Component Config -----> log output 调整为 debug 模式),然后测试抓包并看下 log 是不是因为没有开流控,然后直接在 UART 那边挂了。

pengxinmin
Posts: 7
Joined: Tue Feb 28, 2023 1:43 am

Re: 求助:TCP透传丢包

Postby pengxinmin » Mon Mar 06, 2023 5:59 am

2.没有开启流控功能,开启流控是会对丢包有很大的改善吗。
1.当时那个固件是基于2.5.0的工程。然后按照指南文档里的5.4.1快速配置进行提高WiFi的吞吐性能。
后来我测试了官方固件2.4.2,数据会一直上传,只是会丢包。
然后我在2.4.2的基础工程上按照指南文档5.4.2的提示提高系统性能与UART的RX缓冲。数据也会一直上传,就是还是丢包。
3.想请教一下这个TCPIP 的 log,可以打印出丢包的信息吗。
目前还是存在丢包的问题。我的数据量理论上是1s中上传1K。按理应该不会频繁的丢包。

pengxinmin
Posts: 7
Joined: Tue Feb 28, 2023 1:43 am

Re: 求助:TCP透传丢包

Postby pengxinmin » Mon Mar 06, 2023 6:57 am

好吧,今天又测试了一次,大概测了5个小时。最后我把门关起来了。可能WiFi信号弱了一点吧。最后又出现了不上传数据的情况。
在2.4.2的基础工程上按照指南文档5.4.2的提示提高系统性能与UART的RX缓冲。日志我再测试一下

pengxinmin
Posts: 7
Joined: Tue Feb 28, 2023 1:43 am

Re: 求助:TCP透传丢包

Postby pengxinmin » Mon Mar 06, 2023 10:18 am

日志显示connect fail,ret=-1
fd:58 errno:113 (Software caused connection abort)
tcp create 0 socket fail
麻烦看一下这是什么错误,因为什么引起的。
4KHMAU8SGD75HSPAH0{F_HM.png
4KHMAU8SGD75HSPAH0{F_HM.png (53.28 KiB) Viewed 19861 times
详情见附件txt文件。麻烦解答一下。
Attachments
SaveWindows2023_3_6_18-09-50.TXT
(55.79 KiB) Downloaded 797 times

ronicsu
Posts: 12
Joined: Sun Oct 09, 2022 12:19 pm

Re: 求助:TCP透传丢包

Postby ronicsu » Sun Aug 13, 2023 2:37 pm

我有碰到跟你一样的问题,也没有解决。也是用了提高了吞吐量的方法,不知道会不会是提高了吞吐量导致的。但是这个ESP32模块能够接收数据,不过数据发了一阵之后就发不出来。

ronicsu
Posts: 12
Joined: Sun Oct 09, 2022 12:19 pm

Re: 求助:TCP透传丢包

Postby ronicsu » Mon Aug 14, 2023 7:33 am

基本上可以认定跟加了增加吞吐量的那部分配置有关系,主要是wifi配置的改变引起。

ESP_Sun
Posts: 320
Joined: Thu Dec 30, 2021 9:52 am

Re: 求助:TCP透传丢包

Postby ESP_Sun » Mon Sep 04, 2023 8:51 am

ronicsu wrote:
Mon Aug 14, 2023 7:33 am
基本上可以认定跟加了增加吞吐量的那部分配置有关系,主要是wifi配置的改变引起。
你是参考 [如何提高 ESP-AT 吞吐性能][https://docs.espressif.com/projects/esp ... tml#esp-at] 修改了相关配置后编译 AT 固件测试出现了这个问题,使用默认的官方固件不会出现这个问题是吗?我正在尝试复现这个问题。

ronicsu
Posts: 12
Joined: Sun Oct 09, 2022 12:19 pm

Re: 求助:TCP透传丢包

Postby ronicsu » Fri Sep 15, 2023 12:23 pm

是的,在增加了那些部分之后,就会出现如果在透传模式下,如果tcp服务端断开链接之后再连上,会出现即使单片机那那边还在持续向esp32发数据,但是tcp服务端已经无法收到数据,看起来是esp32没有把透传数据发出去了,但是服务端数据可以发给esp32的情况。这个狠容易复现。

Who is online

Users browsing this forum: No registered users and 87 guests