cdxdrg 2018-09-15 07:47 采纳率: 100%
浏览 1118
已采纳

求助: RK3399 的 TCP 重传无效 问题

使用RK3399开发板给服务端的PC发送数据时,总会遇到服务端收不到数据的情况.
RK3399作为TCP的client,PC作为server.
出现问题时,PC端一直收不到ARM的数据,但ARM端没有显示任何异常;15分钟后,ARM放弃该TCP连接,重新建立一个新的TCP连接;
出现异常时,网络正常,能相互ping通;如果另外启动一个client,也能正常发送数据;
使用抓包工具对server端和client端抓包(wireshark和tcpdump),发现两边的抓包结果一致:

  1. client和server在正常传输数据;
    1. server端发出 DUP ACK包;
    2. client端应答 Fast Retransmission;
    3. 重复 2,3过程一会儿后,client端发送 TCP Retransmission,server端无应答;
    4. client端重新建立连接; 由于无法上传图片,只能这样描述了。 PC端尝试更换过工控机和普通的台式机,尝试过windows server和win10和ubuntu16.04, TCP server的程序尝试过自己写的服务端和网络调试助手; RK3399更换过3个不同的开发板,也使用过不同的client程序(一个是基于muduo库写的应用程序,一个是基于linux的socket接口写的测试程序)

详细问题描述在这儿(因为提问的地方没法发图片,只好这样了):
https://blog.csdn.net/cdxdrg/article/details/82714541

后来根据同事的建议,将TCP的每个包大小改到1200byte以内(实际只有800多byte),增加流量控制(每隔200us发一包),仍然有相同的问题。
另外,在这儿: http://dev.t-firefly.com/forum.php?mod=viewthread&tid=13206&extra=&highlight=%CD%F8%C2%E7&page=1
有人提到rk3399的网络有问题,VDD_LOG偏低,但我测试了一下,我的板子的VDD_LOG并无异常.

麻烦CSDN的高手帮忙解答一下.
QQ: 2775379941 可直接技术交流.

  • 写回答

2条回答 默认 最新

  • mush_room 2018-09-29 10:02
    关注

    按照你的描述,应该可以排除网络问题和程序问题, 那只可能是RK3399的问题了.
    可能的原因是RK3399硬件的问题和RK3399系统的问题.
    硬件的千兆网接口都是比较成熟的了,出问题的可能性不大.那问题就很可能是软件问题.
    firefly官方的ubuntu系统一直有bug,你可以给他们客服反馈一下,再看以下他们有没有对系统做升级, 如果有,可以试一下新的系统;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 机器学习教材中的例题询问
  • ¥15 求.net core 几款免费的pdf编辑器
  • ¥20 SQL server表计算问题
  • ¥15 C# P/Invoke的效率问题
  • ¥20 thinkphp适配人大金仓问题
  • ¥20 Oracle替换.dbf文件后无法连接,如何解决?(相关搜索:数据库|死循环)
  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传