Jun 9, 2022
6
0
10
Yes I know this question has been asked before, but I've been working this issue for months with no progress so I'd like to list out what I've tried and get feedback on things I may be missing.

The problem:
My primary desktop (the one I'm typing on now) has very unreliable internet. Sometimes it's fast, sometimes slow, sometimes it stops working altogether. Speed tests will work only some of the time (DSLReports likes to throw errors 7, 8, or 11 at random, speedtest.net likes to choose distant servers instead of the local one, and testmy.net reports lower speeds than I'd expect) and report very slow speeds when they do finish (about 1/10th what I would expect) though my ping is always good at around 20-30 ms.

My biggest gripe is YouTube videos will randomly drop out of HD to the lowest resolution and then freeze altogether. Eventually they come back with the "experiencing slowdowns? find out why here" (or whatever it says) popup in the corner of the screen. After returning, they will either remain low resolution, or jump up and down randomly. Sometimes they return to normal, full HD.

Ok, so your network is congested!
My internet is Spectrum cable at 100 down, 10 up.

I've had my fair share of "congested network" issues back in my DSL days, but here's the rub: Other devices have no issues. My phone reports about 114 down, 17 up at the same time on the same network. I have 4 other windows PCs (desktops and laptops, gaming and basic, you name it) which all test just as fast as my phone and have no issues. My router (TP-Link AC1750) only shows my phone and this PC as being connected unless I specifically turn on another device. This isn't a network congestion issue.

Ah so you're on WiFi. Don't you know WiFi is the worst connection ever?
Ignoring that the other devices are also on WiFi, I have tried several connection types. I have tried two WiFi dongles on multiple USB ports. I have tried a direct Ethernet connection to the router. The symptoms are random so they might seem to change between connection types, but they're present in some form every time regardless of connection type.

Hmm, maybe your windows installation is borked.
I have attempted every Windows 10 related fix I could find online: from flushing DNS, to playing with TCP global parameters, even updating BIOS and installing different network drivers. My Windows 10 installation started as Windows 8.1 and has been moved across 3 hard drives, several hardware configurations, and survived all of my tinkering, so maybe it's time for a fresh install, but that's beside the point because:

I installed Linux (Fedora) onto a thumb drive and booted to that. When I connected to the internet and ran some connection tests, I had the same issues as before. Even an entirely different OS has no effect. I tried Googling this, but "Internet slow on windows AND Linux" just returns a bunch of results like "internet slow on Windows but NOT Linux" or vice versa.

You would think If I had an issue in both OSs that network gear or my connection hardware would be at fault, but I'm not inclined to think that because of the tests discussed earlier.

So what are your thoughts now?
Well, I think (and am ready to be corrected on this thought process, please) that the issue is between my computer's OS and my connection hardware (be that a WiFi dongle or motherboard Ethernet port). I have no idea what could cause this. Bad motherboard component? Faulty memory? Bent pin on the CPU? I'm completely at a loss and would love input on other tests I could run or diagnostic steps I could try.

PC specs:
CPU:
Intel i5-8600K
RAM: CORSAIR Vengeance LPX 16GB (2 x 8GB) CMK16GX4M2B3000C15W
GPU:
EVGA GeForce GTX 1070 Ti
Motherboard: Gigabyte Z370 HD3P
PSU:
EVGA 220-G3-0650-Y1 SuperNOVA 650 G3
Hard Drives:
One Samsung 860 EVO SSD and two WD Blue HDDs
WiFi Dongles: tp-link TL-WN725N and Linksys WUSB6300
 
Wifi tends to have very random and intermittent issues so it is hard to test things. You would be better off always testing via ethernet. It is unlikely you have a hardware failure that is common to both the ethernet and multiple usb wifi devices.

Using a linux boot tends to be the best next test which eliminates most software issues.

Your testing though have now eliminated all the causes other than some very strange motherboard failure. Most times actual motherboard failures will give you all kinds of messages in the event monitor and it should have a impact even if you were to run programs that need no network connection. It is highly unlikely it is a motherboard issue you generally see other issues like crashes to the blue screen.

I would start with the very basic again using a ethernet connection to avoid random wifi interference messing up the test data. First thing I would try is a constant ping to 8.8.8.8. I would also set the dns server in your IPv4 settings to this value just to make things more consistent.

You could also try a old line mode program called IPERF to test the transfer speed between machines inside your house. You should see 900+mbps in both directions. This tends to be a very good test hardware and drivers inside your house without complex things like browser or internet interfering with the testing.
 
Jun 9, 2022
6
0
10
I would start with the very basic again using a ethernet connection to avoid random wifi interference messing up the test data. First thing I would try is a constant ping to 8.8.8.8. I would also set the dns server in your IPv4 settings to this value just to make things more consistent.

I've switched to Ethernet for all further testing. Issue is still present.

I pinged 8.8.8.8 10 times with the following results:

Pinging 8.8.8.8 with 32 bytes of data:
Reply from 8.8.8.8: bytes=32 time=12ms TTL=115
Reply from 8.8.8.8: bytes=32 time=11ms TTL=115
Reply from 8.8.8.8: bytes=32 time=11ms TTL=115
Reply from 8.8.8.8: bytes=32 time=11ms TTL=115
Reply from 8.8.8.8: bytes=32 time=13ms TTL=115
Reply from 8.8.8.8: bytes=32 time=12ms TTL=115
Reply from 8.8.8.8: bytes=32 time=11ms TTL=115
Reply from 8.8.8.8: bytes=32 time=17ms TTL=115
Reply from 8.8.8.8: bytes=32 time=14ms TTL=115
Reply from 8.8.8.8: bytes=32 time=12ms TTL=115

Ping statistics for 8.8.8.8:
Packets: Sent = 10, Received = 10, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 11ms, Maximum = 17ms, Average = 12ms

Results seem reasonable to me. Also, I've already set my DNS in our router to 8.8.8.8 with 1.1.1.1 as a backup. Most of my documented tests were performed with that in place.

You could also try a old line mode program called IPERF to test the transfer speed between machines inside your house. You should see 900+mbps in both directions. This tends to be a very good test hardware and drivers inside your house without complex things like browser or internet interfering with the testing.

Ok I have a lot to cover with this test:
So let's set the stage. My PC is A, my fiancée's PC is F (which works fine, but old), and my Dell G7 laptop is L (also works fine, though much newer hardware). All tests used default IPERF3 settings

I set A up as an IPERF server.
F was able to communicate (via the Linksys WiFi dongle listed in my first post) at speeds of about 20-30 mbps. Seems the old 2.4 GHz Wifi is a bit lackluster. I have a new 2.4/5 GHz dongle on the way for this PC which should improve this very much.

L (with an Intel WiFi/Bluetooth card inside, a well regarded one if I remember correctly) was able to run at 250-300 mbps. Much better with the newer WiFi hardware.

Now the problem:
I was unable to use either F or L as IPERF servers. They would both start the server just fine, but any other computer trying to test off them would time-out.

I thought maybe this was because they were on WiFi, so I put L on Ethernet and tried again, but no luck.

Every device has IPERF cleared through Windows firewall for private networks only.
 
That is kinda strange but it should not matter the concept of client/server should not affect traffic.

If I remember correctly there is a "-R" option that reverses the direction of data transfer. Used to be a option to test both directions at the same time but I think they changed that.

It would be very strange if your pc could only transmit data fast and not receive it. Those type of errors are generally some kind of traffic filter software and not hardware.
 
Jun 9, 2022
6
0
10
If I remember correctly there is a "-R" option that reverses the direction of data transfer. Used to be a option to test both directions at the same time but I think they changed that.

Ok so I tried out that -R option and also ran the tests for much longer. What I found was (with my PC as server and my fiancée's PC as client) reverse works slightly faster than forward. The difference is maybe 25%. I'm not sure if this is a significant finding.

More importantly, I occasionally had dropouts of several seconds before the connection would resume. These appeared as rows with "0" in the transfer and bandwidth columns. Not sure what that means since her computer uses and old WiFi dongle which might just be unreliable, but it sure points to something being unreliable in the path.
 
Making progress it appears.

Yup it is eliminate all the possibilities. If the port actually had a issue you generally will see a message in the event viewer at that time.

Maybe open a second cmd window and run a constant ping to the other IP at the same time you run the iperf. You would think a outage in the path would cause both to go down at the same time. I would check the event viewer on both and hopefully it is not the wifi causing it.
 
Jun 9, 2022
6
0
10
Yup it is eliminate all the possibilities. If the port actually had a issue you generally will see a message in the event viewer at that time.

Maybe open a second cmd window and run a constant ping to the other IP at the same time you run the iperf. You would think a outage in the path would cause both to go down at the same time. I would check the event viewer on both and hopefully it is not the wifi causing it.

Ok, I've managed to catch a set of dropouts with event viewer running and while pinging 8.8.8.8 (I'll explain why this is external below) and here is what that looks like:
This is where I would put the photo of the command prompts, if I could figure out how to insert an Imgur photo. It seems this forum doesn't like my links.

Even while the Iperf is sending 0s, the ping to 8.8.8.8 is solid. I only saw 2 pings of 29 ms (the rest are about 10-12) and they happened while Iperf was sending correctly. I would say ping to an outside address is not affected by communication loss over my LAN. This seems correct, since I've always gotten reasonably fast pings, even when the connection was acting up or slow.

I checked event viewer after these dropouts and found "DistributedCOM" threw ID 10016. Here is what it said (redacted some numbers since I don't know what info is sensitive):
The machine-default permission settings do not grant Local Activation permission for the COM Server application with CLSID {...} and APPID {...} to the user home\[User] SID (...) from address LocalHost (Using LRPC) running in the application container Microsoft.Windows.ShellExperienceHost_[...]neutral_neutral[...] SID (...). This security permission can be modified using the Component Services administrative tool.

This warning was thrown twice during the set of dropouts described above, and then one more time when the Iperf test dropped altogether. My PC continued receiving 0s while my fiancée's said: (see note below)
error - unable to write to stream socket: Connection reset by peer

Editors note:
I just noticed the reason for that last complete dropout was because her PC's WiFi dongle cut out. She's told me about this, that it only runs for so long before shutting down, but this is my first experience with that. The evidence of intermittent drops before that point still stands.

Now why are you pinging an outside IP and not your fiancée's IP?
Well, I can't ping addresses within my LAN. Not sure if this is a Windows setting issue or a security setting on my router, but I can only ping outside addresses. Attempting to ping an internal IP address just hangs for a bit then returns a set of request time outs. Probably should have mentioned this in my last reply. Oops
 
That is likely the same reason you can't get the client/server stuff to work. One of the machines firewall is likely blocking ping and inbound session setup. This tends to be mean one of the machines has the network set to public rather than private...my guess is that it is the other machine and not your even though it happens on 2 different machines.

It would be nice if microsoft documented things more. Hard to say if that message means anything, searches say it may not.
 
Jun 9, 2022
6
0
10
What is the best way to go about configuring Windows firewall? I used to have a whitelist only for inbound and outbound traffic and had rules for things I used, but reset my firewall to Windows defaults as part of my diagnostics.
 
Generally you use the temporarily disable option to see if it makes a difference. Could also be virus software. It would not be on your machine it would tend to be on the machines that can not run as the server on iperf. What windows does sometimes is it gets confused. What it does is if it sees your interface is using a private IP address it thinks the connection is safe and puts in few restrictions. If it sees a public IP it will put in rules that pretty much only allow web surfing and some other things like dns.
 
Jun 9, 2022
6
0
10
Generally you use the temporarily disable option to see if it makes a difference. Could also be virus software. It would not be on your machine it would tend to be on the machines that can not run as the server on iperf. What windows does sometimes is it gets confused. What it does is if it sees your interface is using a private IP address it thinks the connection is safe and puts in few restrictions. If it sees a public IP it will put in rules that pretty much only allow web surfing and some other things like dns.

Here we go. Her computer was set to the "public network" profile which blocked Iperf.

Results are as follows:
[All units Mbits/sec]Sending from clientReceiving from client
Her PC as server12047
My PC as server45114

Seems her PC is always reporting a little slower (speeds show on both devices, but I recorded the client side speed). That new 2.4/5 GHz dongle should arrive today so I can upgrade her to that.

Long story short, date from my PC to hers is fast (~120 Mbps) and data coming back to mine is slow (~45 Mbps).

So now we've resolved the Iperf issue of different devices acting as server (need to be set to private network to be a server), but where are we with diagnosing my connection? Seems unstable in Iperf and internet connections when tested for long enough. However, I have been using the internet for video streaming this morning and yesterday afternoon and it was flawless.

Having said that, speed tests are still weird. DSLReports was able to finish this last time, but download speed is half what it should be (~53 instead of 100), and the service can only ping two Texas servers, and can't reach the California or Missouri servers. It also threw error 11 during the test stating "12 from 18 streams failed to start". This is not an error I have gotten before.

Woah wait, I just ran DSLReports on her PC and it failed just like it has been for me.

Well ok then. It's failing on every device on the network.

Speedtest.net is now working on my phone and my PC, but hers goes to a distant server. Still reports the same good speed and latency though.

Looks like an intermittent fault if there's even a fault at all. Could be some funky ISP meddling? I'm really not sure what to say at this point. I guess it's working for the time being.
 
Wifi in the mix can make things tricky to know if it is wifi or a network issue. In general traffic that goes from the router to the end device will be faster than traffic going from the client to the router. Many times the client has lower power transmission and it tends to not have a good antenna placement.

I would check that there is no proxy configured in the browser.

You could also try a vpn or proxy to see if the results are any different. The ISP is unlikely to limit traffic but sometime the DNS causes issues but it does not tend to be what you are seeing. The DNS is the easiest to test. You can now configure encrypted dns in the browser and many times in windows IPv4 settings. The best one to use is 1.1.1.1. I would also try to disable IPv6 that too causes strange issues.