You can jump to the Solution section to find a solution for this problem.
My room is in corner of my house and my computer is connected to the router via a coaxial cable. I wrote about that some ago. Also, I have a secondary router that is located in about the middle of the house (sort of).
My family member has a computer in the room just directly above me and connects to that secondary router. Initially, he uses a cheap USB dongle with a single antenna, which has a speed of around 80-90 megabits per second (Mbps). When I moved to my house, my internet speed was about 200 Mbps, so it wasn’t that bad.
But after some time I got 1-gigabit internet, and then I decided that it is time to upgrade his speed. I bought another dongle based on Realtek 8812BU with 2 antennas. It also has a stand and using a USB extender cable, I was able to move it to another side of his room, much closer to the router. Speed improves to around 130-150 Mbps.
Time passes by, and with time computer games grew in size to tens of gigabytes. And Wi-fi speed became a problem because a typical game will take hours to download. And it was time to do something.
At the same time, I was searching for a new router to replace my main router and found Cudy X6 for $54 on Amazon. It looked quite good and I decided to buy it. I will post a full review a little bit later when I will finish all tests and make sure it is stable.
My main goal was to replace my main router. My main router has only a single CPU. Cudy X6 has 32 megabytes of flash and 256 megabytes of RAM. Plus it has 4 CPUs (or 2 + 2 hyperthreading). These CPUs work at 880MHz while my old router’s single CPU works at 750MHz.
As I wrote before, it looks like a slow CPU affects the speed of my router and it cannot do a full 1-gigabit transfer. As result, I want something faster. And lastly, it looks like “Hardware flow offloading” is properly implemented for OpenWrt for this router. And the last reason is that 32/256 megabytes will last for quite a lot of time and allow me to extend its functionality without worrying much about memory constraints.
Attempt to improve the speed
But before doing all that I decided to check its stability. And then I had an idea: I can place a new router in my office and my family member can use it and as result get a much faster speed because his Wi-Fi adapter will be a few meters closer and Cudy X6 supports much faster 5GHz speeds.
My family member has 2 network adapters: one that is built-in in Gigabyte B550 Aorus Pro AC and a USB dongle. All of them were using a 5 GHz band. Normally he is using a USB dongle. To my surprise, the download speed on both these network devices was about the same and increased only to about 260-280 Mbps. The speed increase is not bad by itself but I expected much faster speeds.
Anyway, just as a joke I took my old iPhone 8 Plus and placed it on the table, and ran a speed test. iPhone was on the table and a USB dongle was on the floor, so iPhone has a longer distance to the router but the iPhone speed was 430 Mbps. How is it possible that my old iPhone able to get much faster speeds than built-in Wifi in the motherboard or a USB dongle? They have antennas that are quite bigger than my iPhone. And they have no power limit like mobile devices do.
I was intrigued and started researching. I tried different settings in Advanced properties in network drivers for these network adapters and I only got a decrease in speed. I tried different channels. Speed was the same. I tried different iPhones and they all had more than 400 Mbps. I tried an old notebook and I also got a faster speed.
I thought that perhaps my family member installed something strange on his PC. So, I created an Ubuntu Desktop bootable USB drive and started Ubuntu from it. And I also had 260 Mpbs. Unfortunately, I couldn’t find an easy way to switch adapters and Ubuntu was using a built-in network adapter. And the video driver messed up and everything on the screen has a toxic green color with a little bit of black. Very hard on the eyes.
My PC also has built-in Wi-Fi and I decided to create Mobile Hotspot and went to my relative room to run tests when connected to that hotspot. And speed was around 160 Mbps. Speed is not impressive but it turns out that Windows always is using 20Mhz wide channel and there is no way to change it. But technically using 40 MHz will double the speed and the router supports 80 MHz, so it looks like it is possible to get a faster speed.
Then I placed the router on the next floor and installed the iperf3 package on it to test speed directly from the router because there is no internet connection there. And then I tried to test the speed when the router and antennas of these network adapters are extremely close. And I still got the same 260 Mbps speed.
After that, I decided to invert the test and test the speed from my PC to the router on the next floor. And I got almost 400 Mpbs from my PC. The motherboard on my PC has very short antennas and I think it is the reason for a slightly slower speed. After that, I tried that USB dongle on my computer to test the speed to the router on the next floor and I also got 260 Mbps. So it looks like it is not a problem with my family member's computer.
At that moment I started to think that there is some incompatibility between these devices and a new router. I had similar cases in the past when some devices are simply rejected to connect to some of my routers. But then I got another idea.
But then I started to compare built-in Wi-Fi adapters on my PC and the PC on the next floor. And I immediately found that the $195 Gigabyte B550 Aorus Pro AC has a cheap Intel Dual Band Wireless-AC 3168 that has an 1x1 antenna, while my $129 MSI B450 GAMING PRO CARBON AC has a much better 2x2 antenna. I don’t know why Gigabyte decided to save a few bucks on such important tech.
After all tests above I was quite sure that a USB dongle will have an 1x1 antenna because it has shown the same speed. But I decided to be thorough and check it. And to my surprise, after some research, I found that Realtek 8812BU has a 2x2 antenna.
After that, I decided to update the driver. But Windows Update insisted that I have the latest driver. I found a driver on the Realtek website and try to update the driver from Windows. I usually don’t like to install it because it usually brings a lot of unwanted garbage. But Windows said again that I have the most recent driver.
Out of desperation, I ran setup.exe. After it finished, it asked me to restart Windows and I did. I specifically checked that version of the driver didn’t change. But after restarting, I got 430-450 Mpbs on that card. It looks like the setup updated some settings for the driver and without setup, the driver falls back to much more conservative settings. Another possibility is that setup could change something in the dongle itself.
I wrote such a long story, just to show you, how I was trying to address the problem and what I tried, and how I eventually got to the right outcome.
I hope it helps someone