The idea: We have an imaging system generating about 200-300 Mb/s of data that currently is passed over an ethernet cable to a computer which decompresses them and displays the live image.
We are trying to make the system wireless over a LAN by having the system pass packets over the ethernet cable to a router which will then broadcast the udp packets to the computer (or eventually-multiple computers).
At the highest level it looks a bit like this:
Before: Imaging device -> cat-5 -> computer (works just fine at up to the required 300 Mb/s)
After: Imaging device -> cat-5 -> router -> 802.11ac wireless -> computer (huge (50%+) data loss past 5Mb/s)
-Computer: surface pro 3
-Router: A Buffalo AirStation AC 1750 DD‑WRT Wireless Firmware: DD-WRT v24SP2- (03/24/14) std
The problem: When we connected the system we found that when we turned up the bandwidth to past about 5Mb/s the packet loss started increasing and the GUI for the router becomes unresponsive.
Knowing that the problem is unlikely to be at either end, we tried configuring the router settings in a variety of ways, disabling the firewall, lowering the UDP timeout, etc to improve the performance. The best configuration we were able to find got us to about 7Mb/s before things rapidly deteriorated.
The surprise: Happened when we replaced the imaging device with a second computer and did a simple file sharing test. When doing a file sharing test (windows computer -> cat-5 -> router -> 802.11ac wireless -> windows computer) with a 2.4GB file we found that we were getting transfer speeds up to 300 Mb/s and that the router GUI was also not freezing.
The only change, near as we can tell, was the communication type and packet size. Because of the complexity of implementing TCP on the FPGA and because we intend to eventually allow multiple end points for the data on a LAN we thought UDP broadcast (1092b sized packets) would work. The other test setup, according to wireshark, was using TCP (1514b sized packets).
The question: Why is the router able to handle TCP with a throughput of 300Mb/s but can't handle a UDP broadcast of more than 10Mb/s? Any thoughts or advice on how to configure the system/router for high UDP throughput on a LAN?
Other notes:
The router was about 5 feet from the computer, transmitting 80Mhz on 5Ghz in both cases.
Update:
As suggested, I tried testing if connecting system over ethernet through the LAN ports would work. This way I was able to get up to 150Mb/s. (imaging system-> ethernet (LAN Port) -> router -> ethernet (LAN Port) -> Surface pro 3)
This suggests to me that the problem is in the router, somewhere between the wireless antenna and the LAN port. Something about how the UDP packets get moved internally to be broadcast is slowing down the process. Which again is interesting because TCP packets were flowing from LAN to wireless just fine. Any thoughts?