ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    USB3 streaming slower then expected

    Qualcomm Flight RB5 5G Drone
    5
    15
    559
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • VinnyV
      Vinny ModalAI Team @Chris Hinkey
      last edited by

      @Chris-Hinkey When we test throughout, we use iPerf. With USB2 only, we see it runs at about 340-380Mbps ( makes sense with overhead losses, etc).
      If you do the same type of testing, you can quickly tell if despite enumerating at USB3, only the USB2 signals are working.
      I'm not sure if your issue is HW or SW related, but for certain that cable is not correct. I tried to purge them from our inventory when I saw them but some made it out. With the new cable on the way, you should certainly get much better throughput. We can't guarantee greater than 3-5Gbps though since the new cable is still a prototype and has no shielding required to get full 10Gbps USB3 rates. I have that note on our cable tech docs page. Let me know when you get the replacement then we'll know better if there is some SW issue also occurring.
      Thanks!

      1 Reply Last reply Reply Quote 0
      • Chris HinkeyC
        Chris Hinkey
        last edited by

        I received the new cable thanks for getting that out so quickly. I ran through my set of tests and I am seeing similar performance as before.

        is it possible the USB hub on the 5G card only supports a lower standard of USB?

        I am willing to run an iPerf test in our lab, can you give me a bit more detail on how to perform the tests that you run?

        are you using a usb 3.0 to 10G ethernet adapter or doing this directly over USB?

        how do i my hardware setup to run that test?

        VinnyV 1 Reply Last reply Reply Quote 0
        • VinnyV
          Vinny ModalAI Team @Chris Hinkey
          last edited by

          Hi @Chris-Hinkey
          Glad you got the new cable and were able to help rule that out.
          The Hub on the M0090 is a USB3 hub, with USB3 backhaul. It is certainly capable of several Gbps.

          Is it possible your device is not setup to run faster as well? Maybe it is limited to USB2 speeds?
          On another post I was just helping a user also understand that when you add in encryption, you are slowing your data rate for the same radio/link rate due to adding more overhead. Something else to think of where maybe your reported sample rate is correct, but you have a 3x overhead loss due to coding or encryption of the link? Food for thought... maybe disable all encryption/parity/ECC, etc on the link to see if you can get your data rate as close as possible to the baud/link rates, then individually enable those back in to see the impact of overhead losses?

          I'll have to pull in @tom for help on running iPerf. You might be able to use any OTS USB to ETH dongle that supports Linux and you should have a network that supports it somewhere to connect to and push that throughput.

          1 Reply Last reply Reply Quote 0
          • Chris HinkeyC
            Chris Hinkey
            last edited by

            This same benchmarking application works perfectly on an intel based laptop or desktop at full rates of 56MS/s full duplex. it is just streaming I/Q samples no extra overhead.

            Its possible that the problem is CPU bound but i would expect higher utilization reported from top while the benchmarking application is running if that was the case.

            I am hoping that running your iPerf test sheds some light on what is happening. looking forward to some guidance.

            1 Reply Last reply Reply Quote 0
            • tomT
              tom admin
              last edited by

              @Chris-Hinkey You could use that USB -> JST cable + an ethernet to USB-A adapter, we like this one: https://www.cablecreation.com/products/usb-3-0-gigabit-adapter-2-pack?_pos=8&_sid=9389ea323&_ss=r

              and then connect ethernet from that adapter to your desktop / laptop.

              With internet connected to your VOXL2 via. WiFi on ethernet you can run the following to install iperf:

              sudo apt update
              sudo apt -y install iperf3
              

              Then once you verify that you can ping your VOXL2 from host machine (or vice-versa) you can run iperf3 -s on one machine and iperf3 -c <server IP address> on the other.

              1 Reply Last reply Reply Quote 0
              • C
                chinkey
                last edited by

                Sorry it took me a while to get back to this effort. I was able to run the test i am seeing some interesting behavior.

                between a 1Gbps nic on linux box and 1Gbps usb to eth module on drone:

                drone(server) to lab04:

                Connecting to host 192.168.1.10, port 5201
                [  4] local 192.168.1.20 port 55110 connected to 192.168.1.10 port 5201
                [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
                [  4]   0.00-10.00  sec   398 MBytes   334 Mbits/sec  1127    144 KBytes       
                [  4]  10.00-20.00  sec   420 MBytes   352 Mbits/sec  646    124 KBytes       
                [  4]  20.00-30.00  sec   409 MBytes   343 Mbits/sec  1051   91.9 KBytes       
                [  4]  30.00-40.00  sec   402 MBytes   337 Mbits/sec  859    122 KBytes       
                [  4]  40.00-50.00  sec   411 MBytes   345 Mbits/sec  591    119 KBytes       
                [  4]  50.00-60.00  sec   414 MBytes   348 Mbits/sec  958    123 KBytes       
                - - - - - - - - - - - - - - - - - - - - - - - - -
                [ ID] Interval           Transfer     Bandwidth       Retr
                [  4]   0.00-60.00  sec  2.40 GBytes   343 Mbits/sec  5232             sender
                [  4]   0.00-60.00  sec  2.40 GBytes   343 Mbits/sec                  receiver
                
                iperf Done.
                

                lab04(server) to drone:

                Connecting to host 192.168.1.20, port 5201
                [  4] local 192.168.1.10 port 52686 connected to 192.168.1.20 port 5201
                [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
                [  4]   0.00-10.00  sec   297 MBytes   249 Mbits/sec    0    208 KBytes       
                [  4]  10.00-20.00  sec   301 MBytes   252 Mbits/sec    0    208 KBytes       
                [  4]  20.00-30.00  sec   294 MBytes   247 Mbits/sec    0    208 KBytes       
                [  4]  30.00-40.00  sec   297 MBytes   249 Mbits/sec    0    208 KBytes       
                [  4]  40.00-50.00  sec   295 MBytes   248 Mbits/sec    0    208 KBytes       
                [  4]  50.00-60.00  sec   301 MBytes   252 Mbits/sec    0    208 KBytes       
                - - - - - - - - - - - - - - - - - - - - - - - - -
                [ ID] Interval           Transfer     Bandwidth       Retr
                [  4]   0.00-60.00  sec  1.74 GBytes   250 Mbits/sec    0             sender
                [  4]   0.00-60.00  sec  1.74 GBytes   249 Mbits/sec                  receiver
                
                iperf Done.
                

                between a 1Gbps nic on linux box and 1Gbps usb to eth module on another linux box:
                lab01(server) to lab04:

                Connecting to host 192.168.1.20, port 5201
                [  4] local 192.168.1.10 port 56964 connected to 192.168.1.20 port 5201
                [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
                [  4]   0.00-10.00  sec  1.07 GBytes   923 Mbits/sec    0    208 KBytes       
                [  4]  10.00-20.00  sec  1.07 GBytes   921 Mbits/sec    0    208 KBytes       
                [  4]  20.00-30.00  sec  1.07 GBytes   921 Mbits/sec    0    208 KBytes       
                [  4]  30.00-40.00  sec  1.07 GBytes   921 Mbits/sec    0    208 KBytes       
                [  4]  40.00-50.00  sec  1.07 GBytes   921 Mbits/sec    0    208 KBytes       
                [  4]  50.00-60.00  sec  1.07 GBytes   921 Mbits/sec    0    208 KBytes       
                - - - - - - - - - - - - - - - - - - - - - - - - -
                [ ID] Interval           Transfer     Bandwidth       Retr
                [  4]   0.00-60.00  sec  6.44 GBytes   921 Mbits/sec    0             sender
                [  4]   0.00-60.00  sec  6.43 GBytes   921 Mbits/sec                  receiver
                
                iperf Done.
                

                lab04(server) to lab01:

                Connecting to host 192.168.1.10, port 5201
                [  4] local 192.168.1.20 port 46692 connected to 192.168.1.10 port 5201
                [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
                [  4]   0.00-10.00  sec  1.10 GBytes   942 Mbits/sec    0    477 KBytes       
                [  4]  10.00-20.00  sec  1.10 GBytes   941 Mbits/sec    0    477 KBytes       
                [  4]  20.00-30.00  sec  1.10 GBytes   941 Mbits/sec    0    477 KBytes       
                [  4]  30.00-40.00  sec  1.10 GBytes   941 Mbits/sec    0    477 KBytes       
                [  4]  40.00-50.00  sec  1.10 GBytes   941 Mbits/sec   85    389 KBytes       
                [  4]  50.00-60.00  sec  1.10 GBytes   941 Mbits/sec    0    494 KBytes       
                - - - - - - - - - - - - - - - - - - - - - - - - -
                [ ID] Interval           Transfer     Bandwidth       Retr
                [  4]   0.00-60.00  sec  6.57 GBytes   941 Mbits/sec   85             sender
                [  4]   0.00-60.00  sec  6.57 GBytes   941 Mbits/sec                  receiver
                
                iperf Done.
                

                does this point to a possible hardware defect, or is this the expected performance? Thanks for the help

                1 Reply Last reply Reply Quote 0
                • Chris HinkeyC
                  Chris Hinkey
                  last edited by

                  any more advice here?

                  VinnyV 1 Reply Last reply Reply Quote 0
                  • VinnyV
                    Vinny ModalAI Team @Chris Hinkey
                    last edited by

                    Hi @Chris-Hinkey,
                    Thanks for the reminder. We just ordered some more equipment to dig in further and for more testing.
                    Please bear with us and sorry for the delays.
                    Thanks

                    C 1 Reply Last reply Reply Quote 0
                    • C
                      chinkey @Vinny
                      last edited by

                      @Vinny Any updates?

                      Eric KatzfeyE 1 Reply Last reply Reply Quote 0
                      • Eric KatzfeyE
                        Eric Katzfey ModalAI Team @chinkey
                        last edited by

                        @chinkey I ran a few tests yesterday. I used the speedtest-cli application with a USB dongle. In the first test I connected a USB 2.0 Ethernet dongle to my laptop and got around 90 Mbps. I then connected that dongle to the RB5 USB port and also got about 90 Mbps. I then tried a USB 3.0 Ethernet dongle. On the laptop I saw about 520 Mbps but was only able to achieve about 250 Mbps on RB5. So I think that's pretty similar to what you were seeing. It's unclear at this time why there is such a difference.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Powered by NodeBB | Contributors