0

I have a MacBook Air (13-inch, 2017; 7,2) with Ubuntu 22.04 and two USB 3.0 ports which they offer a 5 Gbps per second data transfer. And I have a USB 3.0 cable compatible with the same data transfer rate.

I use this interface for streaming real time signal process data from my smartphone ZTE Blade A5 2020.

The problem is that I believe I can’t take advantage of the data transfer rate of my USB 3.0 connection because my smartphone only has support for USB 2.0, so it offers 480 Mbps per second.

What happens in this case?

  • My data transfer performance tends to maximum data transfer performance offered by my computer (which is 5 Gbps per second)?
  • Or does it decrease speed to minimum offered by my smartphone’s USB 2.0 (which is 480 Mbps per second)?
  • Or (what I believe is happening) my data transfer performance is the average of the two USB interfaces?

That is:

(480 Mbps + 5,120 Mbps (5 Gbps)) / 2 = 2,800 Mbps?

I am implementing a digital signal processing system in real time and I need to have a minimum latency so that the human factor does not detect any delay.

Is my hypothesis correct? Or does the rate of performance decrease to the one offered by my ZTE USB 2.0 (480 Mbps)? Or does it increase to the one offered by my laptop which is 5 Gbps?

Or in all case, exist of a way of take advantage of all the performance power computing offer for my smartphone and my MacBook Air? I need to stream real time data without delay or low/null latency.

I someone can help me clarify my thoughts and concerns.

4
  • 1
    Note that MB is very different from MBit, precisely by a factor of 8. I've edited your post in that regard. Also note that these are theroetical values that the USB standard supports and real world measurements will be far lower Commented Jul 26, 2022 at 22:36
  • 1
    It decreases to the maximum that could be offered by my smartphone's USB 2.0. (You might get nearer to 480 Mbps when it's connected to a USB 3.0 host because the actual bottleneck might be slightly raised.)
    – Tom Yan
    Commented Jul 27, 2022 at 0:23
  • i procesing audio, specifically a virtual pedalboard for guitar and bass players Commented Jul 27, 2022 at 1:17
  • error of web browser tab, and I think it makes sense because the other comments WHICH YOU CAN READ HERE have made me understand that there is a bottleneck which makes it possible to reach the ratio from 480mb*second (USB 2.0 transfer rate) to the transfer rate offered by USB 3.0 generates a data traffic gap which generates a delay because both transfer rates are different and therefore the bottleneck that they mentioned before provides a sense of non-real time which affects the flow of data and causes an overflow of the same type n⁻¹ that is why my signals stream with errors and incorrectily, Commented Jul 27, 2022 at 4:10

2 Answers 2

1

USB data connections are only as fast as the slowest part of the connection.

This can be said about many other data connections, but since this question is USB it focuses on USB.

When you state this, that is the answer:

“Or does it decrease to minimum speed offered by my smartphone’s USB 2.0 (which is 480 Mbps per second)?”

Speed will decrease to minimum speed offered by my smartphone’s USB 2.0.

If you have a USB 2.0 device like your smartphone and it is connected to a USB 3.0 connection on your MacBook Air, the speed will only top out at USB 2.0. So you will never reach USB 3.0 speeds between your smartphone and your MacBook Air.

That said, in some cases USB 2.0 connections via USB 3.0 ports can be more efficient than a regular USB 2.0 connection. This is due to the USB 3.0 controller being a bit more efficient at what it does compared to a USB 2.0 controller. But the speed difference might not be that much or even noticeable.

For more details, look at this other answer I posted to another question on the topic of USB 2.0 devices seeming too be “faster” on USB 3.0 connections.

8
  • because thinking about it makes a lot of sense since the huge difference between the performance rates generates a huge bottleneck and I imagine that is why it takes time to transmit data and I am making audio stream based on digital and analog signal processing for a pedalboard of effects of guitarists and bassists and thinking about it and taking into account all the answers seen here I think that for my processing task I do not need even 10 mb in real time, I think that in fact I simply have to match the throughput rate adjusted my USB of the MacBook to 2.0? :o – Commented Jul 27, 2022 at 3:40
  • So if I disable USB 3.0 mode on my MacBook and put it in 2.0 mode to match my smartphone's USB 2.0 transfer rate, will I eliminate latency? Commented Jul 27, 2022 at 3:40
  • error tab web browser, and I think it makes sense because the other comments WHICH YOU CAN READ HERE have made me understand that there is a bottleneck which makes it possible to reach the ratio from 480mb*second (USB 2.0 transfer rate) to the transfer rate offered by USB 3.0 generates a data traffic gap which generates a delay because both transfer rates are different and therefore the bottleneck that they mentioned before provides a sense of non-real time which affects the flow of data and causes an overflow of the same type n⁻¹ that is why my signals stream with errors and incorrectily, Commented Jul 27, 2022 at 4:13
  • Don't You like read correctily? I said that i use Ubuntu 22.04... You are very mistaked But thanks Commented Jul 27, 2022 at 9:02
  • 1
    @ArmandoRojasValdez There is no need to get snappy at others for trying to explain something to you. Apart from that the same concept could be easily used on a linux machine by running lsusb -tv. The last field of the entries will be the negotiated bandwidth. Commented Jul 27, 2022 at 15:01
0

Think of it as your car: Just because it is rated to be able to drive at 200km/h, you won't be able to do that all the time. If there is a speed limit of 100km/h, you can't (shouldn't) drive faster than that. Think of your USB3 PC being the car and your USB2 device being the road with a speed limit. You will only be able to drive at 100km/h.

Lets say your car is only able to drive at 50km/h, but the road would allow you to drive with 100km/h. You will only be able to drive with 50km/h.

In any case the situation will force you to use the lower speed, the same thing happens with a USB connection. If one device is slower than the other, the lower bitrate will be used.

If one device would "talk too fast" for the other to understand the communication, they cannot communicate at all. USB is backwards compatible, so to ensure that two devices understand each other, they will negotiate the fastest bitrate that everyone can understand. When using a USB1.1 device on a USB3 port, they will communicate at 12MBit/s. Also a USB3 device on a USB2 port will only be able to communicate at 480MBit/s.

As USB3 is an entirely different protocol with more data lanes and a different architecture, it incorporates techniques to lower the latency. Here you can find some basic information about that.

If you need detailed information, you should consider reading the relevant USB specifications.

4
  • thanks <3 i solved my issue Commented Jul 28, 2022 at 0:15
  • @ArmandoRojasValdez in that case you might want to edit your question with additional details and afterwards add an answer with your findings to help others with a similar question in the future. Commented Jul 28, 2022 at 0:18
  • @ArmandoRojasValdez apart from that have a look at What should I do when someone answers my question? Commented Jul 28, 2022 at 0:20
  • of course, i try it, the bad is that my english is very bad, and only know spanish, i m from México, i try to gave me us to understand Commented Jul 28, 2022 at 1:45

Not the answer you're looking for? Browse other questions tagged .