Why can I only get full speed on Linux?

post the output of:

ipconfig

in windows

and

ifconfig

in Linux please?

edit:
also while you’re at it, perhaps
netstat -rn

for both

2 Likes

I redacted some of the IPs for security reasons but other than that everything should be there. Also i didn’t run netstat -rn.

ipconfig from Windows shows the following…

Windows IP Configuration

Ethernet adapter Ethernet:

Connection-specific DNS Suffix . : cgocable.net
IPv6 Address. . . . . . . . . . . : redacted b:ae00::7229
Link-local IPv6 Address . . . . . : redacted :2bfd:37d8%11
IPv4 Address. . . . . . . . . . . : 192.168.0.9
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : redacted ff:fe0d:e374%11 192.168.0.1

ifconfig from Manjaro shows the following…

enp5s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.9 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 redacted b:ae00::3995 prefixlen 128 scopeid 0x0
inet6 redacted 50:18b4:c028 prefixlen 64 scopeid 0x20
ether 60:a4:4c:cb:77:85 txqueuelen 1000 (Ethernet)
RX packets 91545 bytes 58106959 (55.4 MiB)
RX errors 0 dropped 115 overruns 0 frame 0
TX packets 50327 bytes 4665212 (4.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 2634 bytes 171623 (167.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2634 bytes 171623 (167.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Unfortunately that doesn’t show anything of relevance because the IPv6 info that was redacted is relevant.

Could you confirm whether or not the first four characters of the IPv6 address(es) are the same or different? And what are those first four characters? If they’re fe80 you only have link-local addressing and it shouldn’t be relevant, and ipv6 shouldn’t be a thing.

Also, did you see anything in windows about isatap adapter(s)?

Actually. looks like your linux ethernet adapter has 2 IPv6 addresses? what are the first four characters of BOTH of those IPv6 IPs in linux? It looks like maybe linux is using ipv6 and windows is not.

Actually looks like Windows is using an ipv6 gateway (as well). If you have no ipv6 gateway it won’t show as having an ipv6 default gateway IP.

So ipv6 is definitely present in your environment on either or both your OSes.

Maybe run through here:

https://ipv6-test.com/

and here

https://test-ipv6.com/

on both platforms and note any wierdness/difference between the two. it’s possible something is partially broken in your windows ipv6 configuration.

I’m not sure if it’s relevant but I have a VPN installed but I disabled it during the tests I ran and there was a big drop is speed with it on so I know when I turned it off it was actually off. I also have VMware installed on Windows and it has a virtual ethernet adapter. I also have hamachi installed on Windows too. I checked to make sure everything was disabled except my actual ethernet adapter.

As to your other question ipv6 in Windows that I redacted starts with 2001:1970… Fe80: :6505… And default gateway starts with fe80 IP.

Ipv6 is enabled and does work. I’m not sure why that would affect speed tho.

Various ways it could impact speed off the top of my head…

  • maybe windows ipv6 in your network driver sucks
  • maybe your windows/other firewall software disables some icmp ports that are required for proper mtu negotiation in ipv6 (and this will be especially relevant if you have been playing with jumbo frames).

Check through here, and also google for other ipv6 gotchas

As per that article, maybe Linux is using a newer strategy for mtu management or something, whereas windows is a bit behind and is experiencing some performance issues due to blocked ipv6 ports/icmp types or similar.

The blunt force test may be to temporarily disable ipv6 in windows and see if the problem goes away - that will at least confirm whether or not ipv6 has a hand in this.

I wouldn’t suggest leaving it off - as you’ll need it in future, but it will at least highlight where the problem is.

I ran the ipv6 test but the speed on Windows was horrible. V4 barely topped 20 megabits and V6 didn’t pass 10. Under Linux ipv4 was 569mbits and V6 was 845mbits.

1 Like

That kinda confirms ipv6 has a hand in it… i edited my post above :+1:

1 Like

Ah I see. Well I’ll have to test that tomorrow. I’ll check through the article and run a few tests.

Ok I’ll check my config tomorrow and see if I can find anything fishy. Maybe I have sobering checked that shouldn’t be.

Actually you said the ipv4 speed in windows was terrible too?

wierd…

very wierd…

Points more to windows driver/firewall/anti-malware related problem(s)?

Yea it’s good under Linux but Windows was bad. Maybe I’ll reinstall windows and see if that fixes it. Might be a DNS problem too but I’m not sure. Also I disabled Windows defender and firewall but it made no difference.

DNS should only really impact the lookup the first time you do a DNS lookup - it shouldn’t impact transfer rate to any significant degree…

Could maybe also be your ISP playing silly buggers with traffic for windows machines. Not sure any of them to do that, but it is POSSIBLE to do OS fingerprinting on IP traffic and potentially route/filter differently…

1 Like

Oh ok. I have another of I can test with that also has gigabit Ethernet. I’ll hook it up tomorrow and run some tests. It’s setup a bit differently so maybe it won’t have the same issue. I’m convinced it’s a software issue as Linux doesn’t have any problems. I probably borked something and didn’t realize previously because I didn’t have enough bandwidth to notice.

If you can find another windows machine, try that.

One more thing. I kinda skimmed the above, but are both of them PHYSICAL installs, or is windows a VM inside Linux?

Both are physical bare metal installs. I have my main system dual booted. I mainly use Linux and only use Windows for games I can run under wine so if it really comes to it and I have to live with less speed I can however I’d prefer to get this issue fixed if I can. Btw you’ve been very helpful.

Ah cool.

No worries, happy to help.

Linux will always be a bit faster than Windows in my experience networking wise, but you’re talking maybe a couple of percent. Not an order of magnitude :smiley:

edit:
It could also be the VPN software if you’re using any in windows. even if it is “disabled” it may still be somwhere in the TCP stack in the windows install, slowing things down. I have very little confidence in any of the Windows software for this sort of stuff… maybe try uninstall that too.

1 Like

Yea that’s why I assume it’s gotta be software related as I know my ethernet adapter can easily do full gigabit transfer speeds no problem. Tomorrow I’ll run through some of the things you suggested and get back to you. Hopefully I can get it solved and I can stop bothering you lol.

It’s definitely software or config related for sure, i agree.

1 Like

One more thing (from linux):

RX packets 91545 bytes 58106959 (55.4 MiB)
RX errors 0 dropped 115 overruns 0 frame 0

I’m not sure why you’re seeing over-runs in Linux (windows doesn’t report them).

I think that’s benign, but it could be (from a quick google, normally is) a sign that your network driver can’t keep up with incoming traffic from the router or other machine(s) on your network.

I don’t see overruns on my linux machine here at work on switched gig ethernet with a gig internet pipe…

Could be a symptom of some “wierd problem” that Linux is dealing with better than Windows. Or a shitty network adapter that Linux can drive better (using more CPU / using CPU more efficiently) due to better open source driver.

Maybe its nothing. Just noticed the counter was non-zero thats all. It’s not a USB NIC or something is it?