Imagine, for a moment: you’re hanging out at Billy-New-To-PC-Gaming’s place. You’re bathed in a soft RGB glow as he shows off his lovingly-crafted, built-from-scratch rig. There’s minimal noise as the liquid cooling keeps things super quiet, the m.2 RAID array boots Windows up in mere seconds, and the ultra-wide monitor displays a completely flicker-free desktop. Billy fires up the latest and greatest sandbox-shooter.
But something is wrong. This magnificent machine should be generating crisp frames without breaking a sweat, but the textures are blurred and the motion is jerky. After some quick troubleshooting, a sinking realization sets in. The monitor is plugged into the motherboard’s onboard HDMI port – Billy’s dedicated GPU is just an unused bystander! To you, the problem is obvious. But not to Billy; the game still ran. How could he have known something was wrong when he had nothing else to compare it to?
And this, IMHO, is the same kind of problem that plays out across the majority of the home networks I encounter. Everywhere I go, people’s wireless networks are running at a fraction of their potential, but because they work “well enough”, the problems go undiagnosed.
Wi-Fi is a remarkable achievement. Designed by some of the smartest minds to ever walk the earth, it degrades gracefully when conditions are not ideal. And because of this, we must be aware of how easy it is to make Billy’s mistake! Because if we do not understand the potential of our chosen networking technologies – how could we even recognize when they’re running at 10% of their performance capacity?
Optimizing Wi-Fi networks is a rabbit hole far too deep to be covered in this blog post. Instead, let’s take the first steps of investigating the most common pitfalls of wireless. For each weakness, let’s also review how a simple, cheap Ethernet cable avoids the problem entirely. It is my goal, that by the end of this post, you will be contemplating wiring all of the wireless devices that you can!
The Pitfalls of Wireless
The first performance pitfall encountered is the all-in-one wireless router[1] your internet service provider will give you during setup. Your ISP, Compu-Global-Hyper-Mega-Net, will ensure the internal modem supports the raw speed you’re subscribing to – this is how your installation technician will demonstrate to you that everything is working. But beyond that, they don’t care much about its wireless Access Point (AP) performance. Their only incentive to provide you with semi-modern hardware is simply so that they can slap a “supports Wi-Fi 6” sticker on the case. But you can bet that the internal antennas are pathetic, backed by underpowered chipsets that suffer from massive buffer bloat.
If you connect an Ethernet cable directly to your ISP’s all-in-one, you bypass the cheapness of its Wi-Fi hardware, and get the core speeds the installation tech demonstrated to you.
So, your first step should always be to upgrade to proper wireless equipment, with better chipsets and the appropriate antennas for your needs. Depending on your situation, this could be a single device, a controller with multiple APs, or maybe even a wireless mesh. But, no matter the hardware you decide on, from this point forward your quest for performance will be challenged by the very physics behind wireless.
Modern Wi-Fi operates on the 5 GHz frequencies of the electromagnetic spectrum. Wi-Fi divides this frequency range into bands, separated from each other to create isolated channels for communication. For wireless devices to communicate, they must use the same channel.
If two devices on the same channel try to transmit simultaneously, a collision will occur, corrupting the data and forcing the two devices to wait a random amount of time and try again.[2] As more devices join the domain, the total number of collisions increase exponentially, significantly decreasing network performance.[3] If you’ve ever used a walkie-talkie you’ve experienced this same phenomenon. Only one person can talk, and the more walkie-talkies on the same frequency range, the more interruptions occur!
With a wired network, each device has a dedicated band (the wire itself). To create a collision domain, you’d have to go out of your way and purposely obtain an old piece of network equipment called a hub!
Because each channel only supports one transmission, a wireless device can either send or receive – it can’t do both. This is known as a half-duplex connection. To achieve two-way communication between two devices a second band could be added, but the moment a third device is added the try-not-to-interrupt game is back in play. The more devices sharing those two bands, the number of collisions will again increase, and the coordination between devices takes more effort.
In a wired network, every Ethernet connection is a full-duplex connection. No coordination is required.
Unless there’s an ~800+ foot gap between you and all of your neighbors, you’re locked in an unending resource war for that sweet, sweet chunk of 5GHz air space. If you can see their network’s Wi-Fi name, their signals are invading your home. And your signals are likely invading theirs. And we’re all constantly increasing our claims by adding more APs with better antennas to conquer more channels, and attaching more devices that demand more performance.
Even if you wired your network to all of your neighbors networks, no collisions would occur!
In theory, in this warzone of wireless networks, all of the APs will do their best to automatically switch to unused channels, in an effort to reduce collisions. Unfortunately, all of these well-intentioned access points can only see the 5GHz spectrum where they are physically located – they can only guess at what the conditions are where your connected devices are located. And every time an AP switches a band, other in-range networks will react to it, causing a continuous cascade of band switching from your neighbors to their neighbors, and so on. This means that network conditions are almost always changing. And every time your AP is looking for a new channel, it has to disconnect at least one of its antennas from one of the bands, and perform a site survey.
Ethernet cables don’t need to worry about any of this.
Even worse, your wireless network isn’t just competing with all of your neighbors – it has to compete with anything and everything that’s spitting out electromagnetic waves in the 5 GHz range. Energy from the sun, weather radar stations, baby monitors, fluorescent lights, and numerous other sources pollute the 5GHz air space.
Internally, ethernet cables use twisted pairs of wires to reduce interference – you can put as many Ethernet cords next to each other as you’d like and not worry about interference!
All this random noise can do more harm than collisions! It can create areas where a significant percentage of network packets are lost. When a device enters this area, it will thrash the airwaves attempting to stabilize the connection. And this noise might even create dead zones where an AP can’t be reached at all. Devices in dead zones will start to channel scan, sending broadcast across all the channels – and while the AP itself might not be affected, other devices in its range may very well be!
An Ethernet cable can be damaged so that it only supports 100mbps (instead of 1 gbps). But when this happens, no other devices on the network will be affected.
Not all problems will affect the entire network - some will only affect a specific device. Remember, an antenna can only connect to a single band at a time. So if your laptop’s wireless card goes into polling mode, it will disconnect one of its antennas and do a quick listen for networks. Sometimes this can be mitigated by turning off features such as location service. But other times, any number of applications running on your laptop could kick off polling mode. A big culprit is applications built using cross-platform toolkits that also work on cell phones, where scanning for preferred network connections is the norm.
Since the traffic from multiple networks can peacefully coexist on the same Ethernet cable, there is no concept of polling mode for these kinds of connections.
Ultimately, the 5GHz spectrum has a limited amount of capacity. So once you, and all of your neighbors, all that random noise, and all the rogue devices use is to its fullest – that’s it. There’s no more room to grow.
If your Ethernet wire runs out of capacity, just run a second one!
Conclusion
Most of the facets of Wi-Fi are beyond the scope of this blog post. We’ve only really looked at the physical layer of using the 5Ghz spectrum – we didn’t even touch the effects of encryption and security protocols on performance!
So, the next time you are setting up a system that doesn’t need mobility, consider making an effort to run a network cable – there’s a good chance it’ll be better than optimizing your Wi-Fi connection. Plus, every device you can wire up is one less device hogging up the limited 5GHz medium!
-James
Footnotes
[1] It’s not really a router! It’s actually a modem, NAT, DHCP Server, switch, and a wireless access point crammed into one small, cheap box.
[2] Well-behaved Wi-Fi devices will use CSMA/CA to listen before transmitting to prevent collisions, but the hidden node and exposed node problems limit the effectiveness.
[3] Starting with Wi-Fi standard 6 (2019), advanced algorithms enable devices on the same network to reduce the number of collisions by coordinating on back-off time conventions. But every time a device connects, disconnects, or even goes into low-power mode, this coordination dance must be redone – and even then, collisions still happen!
Further Reading
- Who would win? - The reddit meme that inspired this blog post.
- Wireless is a trap - A rant the inspired this post’s intro.
- Understand Wi-Fi 4/5/6/6E (802.11 n/ac/ax)