RTL88x2BU-Linux-Driver
RTL88x2BU-Linux-Driver copied to clipboard
Intial Connection to a new IP extremly slow even tough download & upload speed is fast
With the latest git driver and an Archer T3U Plus I get pretty fast internet speed (almost as fast as my phone over WiFi).

But loading a new web page is extremely slow. By extremely slow I mean easily 5 to 10 seconds or more.
I also tried to ping google.com and found that after executing the ping command the first messages takes easily 8 seconds to appear even tough it says that the packet only took a few ms to send.

As you can see the total time of the packets isn't even close to the total time the ping command shows near the bottom. So I think there is something wrong with the driver sending packets.
I have also checked the Network tab in Firefox when loading a web page and each get request takes multiple seconds.

But I think this time comes from the driver not sending the message in time, as my tested ping is very low and over ethernet or my phone I get much faster load times.
The problem
So what I think is happening there is that the initial connection to a new ip takes a long time for some reason but after that the wifi driver performs as expected (even faster than the windows driver :)) that would explain why my speedtest is fast but loading web pages is so slow. I also noticed the speedtest takes much longer to start then over ethernet.
I am running :

Here is my output of lsusb -v:
Bus 001 Device 004: ID 2357:0138 TP-Link 802.11ac NIC
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x2357 TP-Link
idProduct 0x0138
bcdDevice 2.10
iManufacturer 1 Realtek
iProduct 2 802.11ac NIC
iSerial 3 123456
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0035
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 5
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 2
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 3
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x08 EP 8 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Let me know if you need any further information and thanks for the great work on this driver!
Hi, maybe you can try ping 1.1.1.1 8.8.8.8 9.9.9.9 and see if the issue still exists. The driver itself do not tracking connections, so this is probably more of a network configuration issue. For example, your first DNS resolution fails or the MTU is too large causing a retransmission.
This is when pinging my local router. I get some pretty fishy times. And again only the first few packets are really slow and the thing gradually speeds up.
icmp_seq=1 ttl=64 time=1547 ms
icmp_seq=2 ttl=64 time=544 ms
icmp_seq=3 ttl=64 time=2312 ms
icmp_seq=4 ttl=64 time=1287 ms
icmp_seq=5 ttl=64 time=273 ms
icmp_seq=6 ttl=64 time=1794 ms
icmp_seq=7 ttl=64 time=768 ms
icmp_seq=8 ttl=64 time=82.0 ms
icmp_seq=9 ttl=64 time=2.30 ms
icmp_seq=10 ttl=64 time=9.61 ms
icmp_seq=11 ttl=64 time=5.07 ms
icmp_seq=12 ttl=64 time=2.78 ms
icmp_seq=13 ttl=64 time=4.79 ms
icmp_seq=14 ttl=64 time=9.33 ms
Similar results when pinging 1.1.1.1(pinging from Europe).
I let ping ROUTER_IP run for a bit longer and it seams like roughly 20% of packets are really slow (500-2000ms) and the rest is below 20ms. Don't think its because of Wifi, I am roughly 3m away from the router (Can confirm this by using USB Tethering with my phone where I have low ping with low mdev).
Pinging my local router:
Getting pretty high mdev using the Archer

Maybe you can try https://www.wireshark.org/ to see if there is any issue on the connections. Also check dmesg.
Ok so... I don't know what changed because I don't remember changing anything but now for some random reason the stability issue is fixed.

But for same random reason the overall connection speed is much lower :
Tested on my phone to make sure its not the routers fault and indeed it seems to only have slowed down with the Archer T3U Plus.
Anyway, the situation is much better now, as my internet is now slower but still reasonably fast but much much more consistent.
I don't know if there is a way to fix the slower speed though.
RTW: IEEE 802.11 element parse ignored unknown element (id=108 elen=2) getting a lot of this or similar in dmesg.
They always appear in the same pattern:

I guess the wifi configuration may be a little incompatible. You can try to change the channel. The unknown element is caused by having an unsupported extension protocol, which can usually be safely ignored.
Thanks!
I will have to test a bit more, it seems to be stable at max speed currently but I will have to do further testing. I find it pretty funny that this driver is faster and more stable than the official windows driver, wonder if that is due to the custom patches or linux networking just being better. I will close the issue once I'm done.