Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with OpenID
Advertise on LowEndTalk.com

In this Discussion

Upload speed problems with the new ISP (affects only Win10 1607 and newer)
New on LowEndTalk? Please read our 'Community Rules' by clicking on it in the right menu!

Upload speed problems with the new ISP (affects only Win10 1607 and newer)

DrDirectorDrDirector Member

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 restart

Kitty 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

  • mkshmksh Member

    Stab in the dark: MTU problems? Beyond, that no idea since ditching windows is probably not the solution you want to hear.

  • shellshell Member

    Full speed at start, and drops to 3-5Mb/s. I

    maybe "traffic shaping" from your isp ?

    Thanked by 1davidgestiondbi
  • mkshmksh Member

    @shell said:

    Full speed at start, and drops to 3-5Mb/s. I

    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.

  • mkshmksh Member

    @DrDirector said: 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.

    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).

    Thanked by 1DrDirector
  • @mksh said: 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).

    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.

  • mkshmksh Member

    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.

  • AlyssaDAlyssaD Member

    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.

  • DrDirectorDrDirector Member
    edited June 11

    @AlyssaD said: 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 :)

  • AlyssaDAlyssaD Member

    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.

    Thanked by 1mksh
  • 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.

  • mkshmksh Member

    @AlyssaD said: In my knowledge it is because of the TTL value. It needs to be 64 as it leaves to the tower.

    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:

    Server IP: x.x.x.x

    IPsec PSK: BZCoo4nZ3ipEhaTA

    Username: vpnuser

    Password: ynncj6nJwMxPBtRR

    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 :D

  • AlyssaDAlyssaD Member

    @DrDirector said: 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.

    Could you link me there product details. I would love to see if I could get anything like you are in the US.

  • DrDirectorDrDirector Member
    edited June 12

    @AlyssaD said: 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.

  • mkshmksh Member
    edited June 12

    @DrDirector said: 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?

Sign In or Register to comment.