All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Upload speed problems with the new ISP (affects only Win10 1607 and newer)
First of all, sorry if this shouldn't be posted here. I tried asking on several other forums before, but I didn't get helpful answers nor test ideas. I know that there are many smart people at LowEndTalk, so maybe somebody will figure out what's wrong.
Around 3 weeks ago I changed my ISP to T-mobile (LTE, no data limit). Seems like I connect to a nice, non-overloaded BTS, because I always get ~150Mb/s download and ~32Mb/s upload.
I fully described this problem at: https://superuser.com/questions/1326302/a-mysterious-upload-speed-issues-with-the-new-isp-affecting-win10-1607-and-newe
I'll try to write a short version of what's happening:
When I upload a big file (for example 2GB) to my VPS by SFTP, WWW, or any other method the speed is 32Mb/s at start, and then decreases to 3-5Mb/s.
It doesn't happen when I upload files on YouTube, GoogleDrive, OneDrive, etc.
This problem happens on 3 VPS I tested, but there is also a VPS where it works fine (all the time full upload speed).
I noticed that this problem doesn't exist at all, when I'm using Windows 8.1 (installed as a secondary OS). Later I tested all new Windows 10 versions and I detected that it happens only since ver. 1607.
I tested on a different laptop, with a different hardware. I also tested using 2 different routers and my smartphone as the mobile hotspot. Both, Wi-Fi and Ethernet.
It seems that when I set "autotuninglevel=disabled" I get slow speeds since start (without the 32Mb/s boost).
And now the most surprising things:
There is a VPS where I get full upload speeds (all the time). I made an OpenVPN UDP Server on it. And... the same problem happens when uploading to certain servers. Full speed at start, and drops to 3-5Mb/s. I am very confused, because in my understanding when I get full speed to the VPN then such issues shouldn't happen.
I found out, that this problem doesn't happen when I use a Virtual Machine with "NAT" Network Adapter (tested Win XP, 10, Linux Mint). But... when I change the Network Adapter to "Bridged" - the same problem occurs.
There are my workaround notes, hope it will be understandable enough:
Virtual Machine Local IP: 192.168.32.132
>
apt-get install sshpass autossh screen
>
edit etc\ssh\sshd_config:
>
Port 777
service ssh restartKitty settings:
>
Name - > LinuxVM-Tunnel-SpeedFix (port 777 if 22 doesn't work)
>
Connection -> keepalives -> 30
>
Connection -> Data -> Autologin username/password
SSH -> Tunnels:
>
- Source port: 7771 Destination: localhost:8881 | Server1
>
- Source port: 7772 Destination: localhost:8882 | Server2
>
- Source port: 7773 Destination: localhost:8883 | Unused
>
- Source port: 7774 Destination: localhost:8884 | Unused
Connection -> Data login/pass
>
Connection -> Data -> Command:
>
screen -X -S VMTunnel1 quit; screen -X -S VMTunnel2 quit; screen -X -S VMTunnel3 quit; screen -X -S VMTunnel4 quit; screen -S VMTunnel1 -dm sshpass -p 'MyPassword' autossh -oStrictHostKeyChecking=no -L 8881:127.0.0.1:22 [email protected]; screen -S VMTunnel2 -dm sshpass -p 'MyPassword' autossh -oStrictHostKeyChecking=no -L 8882:127.0.0.1:22 [email protected];
Filezilla:
>
Profile: LinuxVM-server1.example.com | 127.0.0.1 | 7771
>
Profile: LinuxVM-server2.example.com | 127.0.0.1 | 7772
When I use my "workaround" I get full upload speeds, to the same servers all the time.
I'm so confused. It is definitely a problem with Windows 10 1607+ but I would like to know if anyone experienced the same problem or has any solution ideas? Maybe some test ideas how to detect what's wrong?
Comments
Stab in the dark: MTU problems? Beyond, that no idea since ditching windows is probably not the solution you want to hear.
maybe "traffic shaping" from your isp ?
Thought of this too but then it's kinda unlikely to go away just by using another OS, isn't it?
Yeah. I tried changing MTU and play with TCP settings (using TCP Optimizer for example). Nothing really worked.
I also thought it's some "traffic shaping" for this unlimited Internet. But then I tested with my pre-paid phone number (also T-mobile) and noticed the same thing. For now I managed to use 1.1TB with this Internet (probably mostly spent for speedtests, lol).
It must be something broken on Windows 10 TCP autotuning. It affects UDP VPNs and "Bridged" virtual machines as well.
To be honest, I couldn't get more than 5Mb/s upload with my old ISP, so I'm used to low speeds. However this is so strange issue that I'm trying to fix it out of curiosity.
I wouldn't count on no shaping just because the plan is metered. I sadly have no idea what MS might mean by "TCP autotuning". In theory something related to TCP shouldn't affect UDP at all. As for shaping UDP is often the prime target (mainly to cripple VoIP i guess). Also from my experience the NAT solutions used by some mobile providers don't deal with UDP all that well. Concerning this i've had some good results in the past with running VPNs on a low port while using the same (not sure if it mattered) fixed source port locally (can't remember the exact settings sorry - the manual is your friend if you want to give it a try).
I mostly tested without the VPN (so normal TCP packets). I literally installed all Windows 10 versions on a second HDD just to see when it started. Then I tried disabling features mentioned at: https://blogs.technet.microsoft.com/networking/2016/07/18/announcing-new-transport-advancements-in-the-anniversary-update-for-windows-10-and-windows-server-2016/
For me it seems like the issue is caused by Windows, even before it hits OpenVPN network adapter. So even when VPN uses UDP, SFTP still sends TCP packets to the OpenVPN adapter, and the problem appears there.
When I disable autotuning by command "netsh int tcp set global autotuninglevel=disabled" - the upload speed is low from the beginning. When I re-enable it by "netsh int tcp set global autotuninglevel=normal", around 20MiB is uploaded with a full speed (30Mb/s), and then it slows down...
Just to clarity what happens when I'm using VPN:
I ordered an Arubacloud VPS, when I was checking what servers are affected by this problem. Luckily I could upload 2GiB to this one without issues.
I created OpenVPN server using: https://github.com/Nyr/openvpn-install (tried different ports and protocols as well)
I connected to this Aruba VPN from the "problem affected" Windows 10 OS. I'm pretty sure it worked, because I was getting an Aruba's IP address.
I started transferring 2GiB file to the Aruba VPS again. No problem, no speed drops.
I started transferring the same file to my other VPS (netcup, nazwa.pl, and I think scaleway shared from a friend). And again, first 10-20MiB uploaded with a full speed, then dropped to 3-5Mb/s.
I tested upload from Aruba to those VPSes (directly), and there was no problem, 10GiB files uploaded quickly.
That's why I'm so confused. Microsoft's fault, but I at least hoped to find an universal solution, without using a Virtual Machine.
Well it might be worth investigating what "TCP autotuning" does after all then and see if you can manually adjust settings. As for the VPN port (not that i really think it matters here) i guess what did it for me was setting the local port. I don't think any of the install scripts will do this.
Question; T-Mobile in your case are you tethering or using some sort of hot spot to there cell towers?
I assume not, but I figured I would ask.
I'm not sure if I understood the question. This is a mobile (LTE) Internet and I have got a Huawei B525 router with the SIM card slot. It gets Internet wirelessly from the cell tower.
However, I inserted the SIM card to my old LTE modem and got the same upload speed problems to certain servers.
I also inserted that SIM card to my smartphone and shared Internet using "mobile hotspot" on Android, with the same results.
I have to use a mobile connection, because DSL connection would be too slow at my location (even though neighbors get better speeds than I would). But anyway, since I got unlimited data now I don't complain
Is this a legitimate product from T-Mobile, or are you running this as a sudo hotspot?
In my knowledge it is because of the TTL value. It needs to be 64 as it leaves to the tower. If it isn't it gets chunked through the hotspot functionality. Which is slower. Also! T-Mobile uses heavy QoS variables depending on the usage of the towers. This of course here in the states.
I believe this is a legitimate product from T-Mobile. I have a two years contract with them.
I'm aware that mobile ISP use QoS and all features that provide stability and Fair Usage between clients. However, this is a Windows related issue, since at the same time, connecting to the same VPS from an older Windows version I get full upload speeds. I also tested it on the other, older laptop with a totally different hardware configuration.
You might be on to something here. I remember reading about certain mobile providers using TTL to detect routing. An easy solution would be to run a VPN client on the device doing the routing and route everything through the VPN. Packets will always originate on the same device then and therefore pass inspection.
I tried to set up the "L2TP VPN" all day long. That Huawei router has something like this: https://i.imgur.com/ZnALdff.png
I installed https://github.com/hwdsl2/setup-ipsec-vpn and got details like this:
Works fine on Windows, but when I put this data into router control panel it doesn't connect at all. Not even information in /var/log/auth.log on VPS. I might try again later, but I'm too annoyed by it now
Could you link me there product details. I would love to see if I could get anything like you are in the US.
Sure. It's called "Max". Hopefully Google Translate will help:
http://www.t-mobile.pl/internet-mobilny/cat10032.chtml
And regulations:
http://www.t-mobile.pl/r/repo1/tm/documents/doc_00008/D_007_0016555.pdf
I read a little bit more about those TTL issues on reddit.
It seems like for some offers in the USA, T-mobile doesn't want people to use Internet outside the phone. That's why they detect when a phone acts like the router using this funny TTL method.
Here, the situation is a bit different. T-mobile actually sells modems/routers to be used as "Home Internet". I don't think they would be limiting speeds this way. Also, if they did I don't think it would be OS depended.
Well, different OS might use different TTL values. Also the TTL thing isn't US only. I've heard reports from france too. Don't think any provider would do this on plans for actual home usage though.
On the other hand austrian mobile ISP Drei at least at some point was prioritizing traffic of mobile plans over traffic of home plans. Not that i'd care all that much at 20-50 euros for 20-150mbit LTE flat but they still got a lot of flak for it.
Actually, I have got a mobile plan. The home plan is a bit cheaper and has 20 or 60Mb/s fixed speed limits. Both are sold for the home usage, though.
I did some more tests with a Windows VM.
Pinging google using the Bridged interface shows:
Reply from 216.58.209.46: bytes=32 time=36ms TTL=52
Pinging google using the NAT interface shows:
Reply from 216.58.215.78: bytes=32 time=38ms TTL=128
Same results from Ubuntu Server VM.
I'm not able to get a TTL greater than 64 when I ping my routers (192.168.1.1) from the host laptop. I tried changing DefaultTTL value in regedit, but it always shows TTL=64 in ping replies. Does anybody know how can I bypass this 64 limit?
So, there is an offer at https://www.humblebundle.com/software/cybersecurity-software-bundle
For 1$ we can get a privateinternetaccess.com VPN for 1 month.
(I think for 15$ we can get 12 months).
I "bought" for 1 month, and the Huawei router connected fine to their VPN by the built-in "L2TP VPN client".
Unfortunately, the same upload speed problem exists to certain servers
Something is broken on newer versions of Win10, and I bet it will never get fixed.
Maybe it's really time to move to Linux then
Switch to a modern operating system. Windows is deprecated.
You cannot manipulate the TTL values in the reply packets, because they are set by the remote host. Interestingly, it seems your VM software is spoofing this value in the NAT mode. However, keep in mind the spoofed reply TTL is only visible to your guest OS, not to your ISP routers. Speaking of, which VM software did you use, VirtualBox?
If you suspect TTL is the cause, and your Mint Linux suffers from the speed drop in the bridged mode, you can try manipulating this value with iptables. It can rewrite the TTL values in your outbound packets, and it can fake the value in inbound packets for your Linux kernel (or downstream hosts, if operating as a router). However I doubt changing TTL alone will improve your speed.
You can try capturing packets in the NAT and bridged mode, both on the host and inside the guest OS. There might be more meaningful contrasts (e.g. TCP flags) other than TTL values.
Other than auto-tuning, there are many TCP tweaks available since Win10 1607 that you can check out.
Yeah, I tried to disable all new "features" that came with 1607, used TCP in "legacy" mode (
netsh interface tcp set supplemental template=compat
), etc. Even posted here what solutions I tried: https://www.speedguide.net/forums/showthread.php?287731-Upload-speed-problems-with-the-new-ISP-(affects-only-Win10-1607-and-newer)But since VPN was running on the last device (Huawei Router in this case) I don't think it's a TTL issue. Also, there really is a low probability of it when it works fine on older Windows versions, using the same environment.
I have Linux Mint installed on the other HDD and it also has funny "upload speed problems" to certain servers. It actually works better than on Windows 10 1607+, but gets max upload speed 20Mb/s. At the same time on Windows 8.1 it's full 32Mb/s. So in this case using Linux isn't that perfect either. Maybe I could tweak some autotuning options on Linux, but that's not a solution since I use Windows 10 as the main system (I'm playing games).
Actually I used both: VirtualBox and Vmware for tests.
Linux has nothing you could call autotuning. Just a bunch of network settings. It's a sane OS (not always these days but as long as choose a good distro it's fine).
I see.
Have you tried a congestion control algorithm called "BBR"? Does it improve your upload and reach full speed?
I didn't play with Linux distros for long, because I wouldn't use it as the "main" system anyway.
Anyway...
Today I ordered a second root server at netcup. And... the upload speed is fine all the time, without any drops... Very confusing. The only difference is Ubuntu Server version 16.04 (on the old one), and 18.04 (on the new one).
Mtr is pretty much the same...
Old:
New:
When I finish my website migration, I'll install 18.04 on the old one and see if it makes any difference. Would be very interesting if it also depended on the Server OS...
Holy fuck you pay less than 20€ for unlimited LTE...
For the same contract they ask 80€ in germany, fucking criminals they are.
... After decreasing the price from 200€ two or three months ago )
I paid 5 euros for 40GB LTE data and unlimited calls (EU&local).
Yeah, german mobile data prices are garbage. A southern neighbor has had <20€/m flat rates without caps for ages. Was paying 18€/m for 10/4 flat without contract like 4-5 years ago. Right now 20€/m prepaid for 21mbit LTE seems to a standard deal any budget provider offers. 150 flat is around 40-50 euros i think. On top of that the sim cards need no registration at all. No ID cards, no online forms, no nothing. Germany is pretty backwards sometimes.
Oh and "Kein Verkauf von Tabakwaren an Jugendliche unter 16". Always gives me a flashback
80€ would be 1/5 of the minimum monthly payment... So I guess that's why it has to be cheaper, so the people can actually afford it.