Hi All!
I'm testing a USB 3.2 Gen 1 interface under Linux (Ubuntu 20.04.3 LTS) using the API/example version 2.1.1002 and am seeing ~329 MB/s (2632 Mbit/s) when running the benchmark test (USB_3_BenchmarkTest()) which seems very reasonable and as expected. See below:
For the loopback test however I'm seeing only ~16 MB/s (I added data rate measurement):
If I disable the actual checking of the data at the application level I see a slight bandwidth increase but not very much:
I would like to increase the bandwidth of the loopback testing and retain data checking at the application level.
I note that when calling ConnectUSBPlug() that for USB_3_TEST_MODE there are different modes for benchmark/loopback testing which makes we wonder if there is some hardware related upper bandwidth limit for loopback testing?
If not, how can I increase the loopback test bandwidth please? I tried with the same buffer size and count as for the benchmark test but this led to an error on the dongle hence why I think there may be a hardware related restriction.
Many thanks in advance for your time and assistance!
Ken
I'm testing a USB 3.2 Gen 1 interface under Linux (Ubuntu 20.04.3 LTS) using the API/example version 2.1.1002 and am seeing ~329 MB/s (2632 Mbit/s) when running the benchmark test (USB_3_BenchmarkTest()) which seems very reasonable and as expected. See below:
Code:
Found USB3 plug : firmware: 2.5 PMU356ZYJS speed: 5000 at 0:0 Connecting [Serial: PMU356ZYJS] Connecting [Serial: PMU356ZYJS] <snip> Transfer count 64/1024 - Transfer rate: 1807.55 Mbit/s (Max rate: 1807.55 Mbit/s) Transfer count 128/1024 - Transfer rate: 2493.68 Mbit/s (Max rate: 2493.68 Mbit/s) Transfer count 192/1024 - Transfer rate: 2623.66 Mbit/s (Max rate: 2623.66 Mbit/s) Transfer count 256/1024 - Transfer rate: 2616.75 Mbit/s (Max rate: 2623.66 Mbit/s) Transfer count 320/1024 - Transfer rate: 2627.85 Mbit/s (Max rate: 2627.85 Mbit/s) Transfer count 384/1024 - Transfer rate: 2632.03 Mbit/s (Max rate: 2632.03 Mbit/s) Transfer count 448/1024 - Transfer rate: 2620.37 Mbit/s (Max rate: 2632.03 Mbit/s) Transfer count 512/1024 - Transfer rate: 2622.42 Mbit/s (Max rate: 2632.03 Mbit/s) Transfer count 576/1024 - Transfer rate: 2625.30 Mbit/s (Max rate: 2632.03 Mbit/s) Transfer count 640/1024 - Transfer rate: 2626.49 Mbit/s (Max rate: 2632.03 Mbit/s) Transfer count 704/1024 - Transfer rate: 2622.89 Mbit/s (Max rate: 2632.03 Mbit/s) Transfer count 768/1024 - Transfer rate: 2623.98 Mbit/s (Max rate: 2632.03 Mbit/s)
Code:
Error Count: 0 - Packets sent: 400 - Bytes sent: 26214400 - Bytes received 26214400, TX rate: 16.83 Mb/s, RX rate: 16.83 MB/s Error Count: 0 - Packets sent: 500 - Bytes sent: 32768000 - Bytes received 32768000, TX rate: 16.79 Mb/s, RX rate: 16.79 MB/s Error Count: 0 - Packets sent: 600 - Bytes sent: 39321600 - Bytes received 39321600, TX rate: 16.83 Mb/s, RX rate: 16.83 MB/s Error Count: 0 - Packets sent: 700 - Bytes sent: 45875200 - Bytes received 45875200, TX rate: 16.80 Mb/s, RX rate: 16.80 MB/s Error Count: 0 - Packets sent: 800 - Bytes sent: 52428800 - Bytes received 52428800, TX rate: 16.82 Mb/s, RX rate: 16.82 MB/s Error Count: 0 - Packets sent: 900 - Bytes sent: 58982400 - Bytes received 58982400, TX rate: 16.74 Mb/s, RX rate: 16.74 MB/s Error Count: 0 - Packets sent: 1000 - Bytes sent: 65536000 - Bytes received 65536000, TX rate: 16.70 Mb/s, RX rate: 16.70 MB/s
Code:
Error Count: 0 - Packets sent: 100 - Bytes sent: 6553600 - Bytes received 6553600, TX rate: 20.04 Mb/s, RX rate: 20.04 MB/s Error Count: 0 - Packets sent: 200 - Bytes sent: 13107200 - Bytes received 13107200, TX rate: 19.74 Mb/s, RX rate: 19.74 MB/s Error Count: 0 - Packets sent: 300 - Bytes sent: 19660800 - Bytes received 19660800, TX rate: 19.80 Mb/s, RX rate: 19.80 MB/s Error Count: 0 - Packets sent: 400 - Bytes sent: 26214400 - Bytes received 26214400, TX rate: 18.63 Mb/s, RX rate: 18.63 MB/s Error Count: 0 - Packets sent: 500 - Bytes sent: 32768000 - Bytes received 32768000, TX rate: 18.07 Mb/s, RX rate: 18.07 MB/s Error Count: 0 - Packets sent: 600 - Bytes sent: 39321600 - Bytes received 39321600, TX rate: 17.67 Mb/s, RX rate: 17.67 MB/s
I note that when calling ConnectUSBPlug() that for USB_3_TEST_MODE there are different modes for benchmark/loopback testing which makes we wonder if there is some hardware related upper bandwidth limit for loopback testing?
Code:
typedef enum _USB_3_TEST_MODE { USB_3_TEST_LOOPBACK = 0, USB_3_TEST_BENCHMARK_READ, USB_3_TEST_BENCHMARK_WRITE, USB_3_TEST_BENCHMARK_RW } USB_3_TEST_MODE;
Many thanks in advance for your time and assistance!
Ken
Comment