osrf / ovc

the Open Vision Computer
Apache License 2.0
198 stars 42 forks source link

OVC3 jumbo frames may cause instabilities #53

Open fcladera opened 3 years ago

fcladera commented 3 years ago

Documenting the issue so I don't forget to look into it.

OVC3 is currently configured to use jumbo frames in its ethernet interface:

ubuntu@arm:~$ cat /etc/dhcp/dhcpd.conf | grep -n 13500
45:  option interface-mtu 13500;

This can cause some instabilities: the interface stops sending data in an unpredictable way. Commenting this line solves the issue.

luca-della-vedova commented 3 years ago

Interesting, never noticed it before. I remember setting that number as high as possible since the lower it was the lower the performance of the USB ethernet was. I'd suggest running a benchmark with iperf3 to see if it significantly affects performance and whether the tradeoff is acceptable for your application.

fcladera commented 3 years ago

Hi @luca-della-vedova. Yes, I also noticed that this behavior depends significantly on the computer the OVC is connected to. I have observed that some computers are able to communicate and transmit simple messages, such as ssh commands (less than MTU?). But things get unstable when we start transmitting images and the connection just hangs.

As you suggested, it may be interesting to get some benchmarks on this issue.

luca-della-vedova commented 3 years ago

Hi @fcladera

I was probing around the documentation of the Xilinx tools and found out that in the 2021.1 version of the tools released just a few weeks ago, I saw that in the changelog (under Linux kernel bugfixes) there is an entry: Fixed USB3.0 RNDIS Gadget issue when MTU value is set to 15300.

I wonder if it could help, upgrading the tools to 2021.1 would bring that fix in but if that is too daunting it should be possible to just get the relevant patch and add it to the kernel compilation recipe in the petalinux project