Gigabit USB Ethernet Adapter on USB2?

angrynerdrock

Member
Jul 9, 2005
174
0
76
So I have a laptop with a broken backlight that ive made a kodi/mysql/sabnzbd server. Its worked well, but I recently upgraded to 150M internet (300M is available if i want to upgrade in the future too). Due to the laptop having a 10/100 adapter Im only getting about 94M on speed tests. The laptop only has USB2 ports. I understand Ill never get 1000M speeds from a USB2 port, but if i took a 10/100/1000 usb ethernet adapter and put it on a USB2 port, will I get near the 150M speeds (and possible 300 in the future) or will it still only max out at 100?
 

mxnerd

Diamond Member
Jul 6, 2007
6,799
1,101
126
USB 2.0 is 480 Mbps. So, yes, you will get over 100Mbps from your ethernet if you buy USB 3.0 gigabit adapter, which is downgrade compatible with USB 2.0

Make sure you are using cat 5e cable. Although if short distance cat 5 cable works too.
 

thecoolnessrune

Diamond Member
Jun 8, 2005
9,672
578
126
Keep in mind that 480Mbps is the signaling rate of the specification, not the data rate. Due to 8b/10b encoding, the maximum actual data rate is about 385Mbps. Keep in mind also that USB 2.0 is half duplex unlike standard Ethernet. As such, you should be able to get over 100Mbps, maybe 160-170 if you're lucky, but I wouldn't expect anywhere close to 300 with standard traffic.
 

mxnerd

Diamond Member
Jul 6, 2007
6,799
1,101
126
IIRC, half duplex only means the communication can happen in one direction at one time, doesn't mean the speed will be cut in half. Most networking traffic is one direction. 8b/10b encoding applied in all real world ethernet traffic, not particular in this case.
 

thecoolnessrune

Diamond Member
Jun 8, 2005
9,672
578
126
IIRC, half duplex only means the communication can happen in one direction at one time, doesn't mean the speed will be cut in half. Most networking traffic is one direction. 8b/10b encoding applied in all real world ethernet traffic, not particular in this case.

Indeed, half duplex means that traffic can only send or receive in any specific time domain, and no, it does not mean that overall speed is cut in half, but it does impact your theoretical speeds, which has a real world impact when you approach those limits. General traffic over ethernet is very much bi-directional, with ARP, DNS, TCP, and SSL/TLS traffic all requiring varying degrees of acknowledgements and responses. If you are multi-tasking, the situation gets worse, because you are limited to half duplex communication. If you have a large upload going while attempting to download, you can expect the time sharing needed to have an impact on speeds. None of this stuff matters if you're just casually using your link, but if you're for some reason trying to eek out the maximum performance of your link over a USB 2.0 connection, there will definitely be a performance impact.

Your second statement indicating that 8b/10b doesn't matter doesn't appear correct either, as it most certainly does.

If you have a 1Gb link, unless you're using fiber, it's not using 8b/10b anyways, but that's immaterial to the current discussion (because fiber based ethernet runs on the physical link at 1.25Gbps to account for this), but if you have 300Mbps of traffic, and 1Gbps of bandwidth, then it doesn't matter if you have 8b/10b encoding because you have enough bandwidth anyways.

But if you have 300Mbps of traffic, and you have a half-duplex link of 385Mbps because of 8b/10b encoding, then it most certainly can affect your traffic, because within the same time domain you would have half that download bandwidth available assuming in / out traffic took equal amounts of time.

According to Google's own analytics, for a certain amount of general web traffic, it takes about 11% of the data used to download to upload information to receive it. In other words, if you download 10KB of data, about 1.1KB of data is uploaded to receive it. This only works as a rough estimate, but again if you're multi-tasking, a half-duplex link can have a noticeable effect on traffic capacity over USB 2.0. Remember it doesn't have to be high bandwidth, it just has to take a long time. For instance, if you have 5Mbps of upload speed, and you upload 6.25MB of data, that would require the same time allotment as downloading a 375MB file on a 300Mbps download link. If both were occurring simultaneously, on a half-duplex link, without accounting for each operations respective traffic transmitted in the opposite direction, that 6MB upload would cut your effective download link speed in half to 150Mbps (because all things being equal, splitting up the time domain amongst both operations would require twice the time allocation).

My estimates of about 160-170Mbps appear in line with other people's real-world findings, so I don't see anything particularly wrong with my statements above.
 
  • Like
Reactions: mxnerd

mxnerd

Diamond Member
Jul 6, 2007
6,799
1,101
126
I admit I'm not as technical as you and most of what you said is true., but the following video also shows that

AX88179 chipset can achieve 250mbps ~ 300 mbps on USB 2.0

https://www.youtube.com/watch?v=3E7SSPgwq3k

Of course it's way off the max theory, but I think it's reasonable to take ethernet protocol handshaking (sending & receiving acknowledgements ), error correction, etc., into account.
 

thecoolnessrune

Diamond Member
Jun 8, 2005
9,672
578
126
I admit I'm not as technical as you and most of what you said is true., but the following video also shows that

AX88179 chipset can achieve 250mbps ~ 300 mbps on USB 2.0

https://www.youtube.com/watch?v=3E7SSPgwq3k

Of course it's way off the max theory, but I think it's reasonable to take ethernet protocol handshaking (sending & receiving acknowledgements ), error correction, etc., into account.

That's actually a pretty accurate video of what happens in real life. You can see in the file share, that it goes very quickly, but that is because Windows is allowing ping traffic to suffer. Notice when the file shares start that ping response times skyrocket to around 250ms per ping. That's because if the pings were treated equally, they would take a large portion of time allocation on the link. Instead of pausing the data send to receive the ping response, it's instead delaying switching to receive so that it can send more of the file data.

This works fine when you have traffic that is important one way vs. traffic that is unimportant in the opposite direction, but what happens if your bi-directional traffic is important? Your max link speed plummets, because your effective bandwidth reduces in proportion to the amount of time your link remains in the opposite traffic state.
 
  • Like
Reactions: mxnerd