Page 1 of 2
求助:TCP透传丢包
Posted: Tue Feb 28, 2023 11:22 am
by pengxinmin
主机与ESP32C3-MINI1模组进行UART通信。开启透传模式,数据传输到服务器上。大概每100ms传输不到300个字节。一段时间后服务器老是解析出错,通过在服务器上抓包发现丢包引起。
波特率:750000
AT固件是基于最新的工程开启WBE配网指令编译后的版本。
如附件抓包图所示:
服务器一直请求2134571的包,然后也没有重传。
最后丢了这一包数据,服务器解析就出错了。
目前是已经按照指南里的提高WIFI吞吐量的方法,进行配置,将UART的缓冲区提高到16*1024了。也还是存在很大几率丢包。
是否还有其他方法能降低丢包率的。
有没有大佬帮忙看一下!!!
Re: 求助:TCP透传丢包
Posted: Wed Mar 01, 2023 7:11 am
by pengxinmin
充分测试几次之后发现,不是丢包的问题,是传输一段时间之后模组停止上传数据了,但与服务器的连接并未断开,还在与服务器进行应答,只是没有数据上传了,而我此时数据还是一直往模组发送的。
停止上传数据之前并无太大异常,就是经常有乱序包
- $ZLHBDR5D_4]TE$$1)AK]EC.png (196.65 KiB) Viewed 25480 times
。但是并不是一有乱序包就会停止上传数据。可否帮忙解答一下这个问题,不然这个项目很难进行下去了!!!
- 4{AA{DQ4U_1H_`E(YZ8M8_9.png (195.18 KiB) Viewed 25480 times
Re: 求助:TCP透传丢包
Posted: Fri Mar 03, 2023 11:21 am
by ESP_Sun
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 那边挂了。
Re: 求助:TCP透传丢包
Posted: Mon Mar 06, 2023 5:59 am
by pengxinmin
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。按理应该不会频繁的丢包。
Re: 求助:TCP透传丢包
Posted: Mon Mar 06, 2023 6:57 am
by pengxinmin
好吧,今天又测试了一次,大概测了5个小时。最后我把门关起来了。可能WiFi信号弱了一点吧。最后又出现了不上传数据的情况。
在2.4.2的基础工程上按照指南文档5.4.2的提示提高系统性能与UART的RX缓冲。日志我再测试一下
Re: 求助:TCP透传丢包
Posted: Mon Mar 06, 2023 10:18 am
by pengxinmin
日志显示connect fail,ret=-1
fd:58 errno:113 (Software caused connection abort)
tcp create 0 socket fail
麻烦看一下这是什么错误,因为什么引起的。
- 4KHMAU8SGD75HSPAH0{F_HM.png (53.28 KiB) Viewed 25413 times
详情见附件txt文件。麻烦解答一下。
Re: 求助:TCP透传丢包
Posted: Sun Aug 13, 2023 2:37 pm
by ronicsu
我有碰到跟你一样的问题,也没有解决。也是用了提高了吞吐量的方法,不知道会不会是提高了吞吐量导致的。但是这个ESP32模块能够接收数据,不过数据发了一阵之后就发不出来。
Re: 求助:TCP透传丢包
Posted: Mon Aug 14, 2023 7:33 am
by ronicsu
基本上可以认定跟加了增加吞吐量的那部分配置有关系,主要是wifi配置的改变引起。
Re: 求助:TCP透传丢包
Posted: Mon Sep 04, 2023 8:51 am
by ESP_Sun
ronicsu wrote: ↑Mon Aug 14, 2023 7:33 am
基本上可以认定跟加了增加吞吐量的那部分配置有关系,主要是wifi配置的改变引起。
你是参考 [如何提高 ESP-AT 吞吐性能][
https://docs.espressif.com/projects/esp ... tml#esp-at] 修改了相关配置后编译 AT 固件测试出现了这个问题,使用默认的官方固件不会出现这个问题是吗?我正在尝试复现这个问题。
Re: 求助:TCP透传丢包
Posted: Fri Sep 15, 2023 12:23 pm
by ronicsu
是的,在增加了那些部分之后,就会出现如果在透传模式下,如果tcp服务端断开链接之后再连上,会出现即使单片机那那边还在持续向esp32发数据,但是tcp服务端已经无法收到数据,看起来是esp32没有把透传数据发出去了,但是服务端数据可以发给esp32的情况。这个狠容易复现。