I've recently switched to Linux as primary OS on my main system. I'm experiencing weird problems with the Qualcomm Atheros Killer E2200 Gigabit Ethernet controller though. This Ethernet controller is part of my MSI Z87-G45 gaming motherboard.
When accessing the public Internet the card caps around 20 to 30 Mbit/s while I've access to a 50Mbit/s connection. Also, when the card caps at this speed I'm experiencing a lot of packet loss.
To give an example: A Steam download caps at 2 to 3MB/s, and when a download is active I experience a lot of packet loss in Mumble (VOIP client) and some other connections tend to drop periodically.
My LAN is capped at 100Mbit/s because of a network switch. But of course, 20 to 30Mbit/s doesn't even come close.
- When accessing LAN devices, such as my NAS, the full throughput is used and everything seems to work fine. Thus, this problem only occurs when accessing the public Internet.
- Everything worked fine on my Windows 7 installation, with ~50Mbit/s, and no packet loss or connection drops whatsoever.
- I do only start noticing packet loss when the WAN connection is 'capped', not with usage below 5Mbit/s.
- I didn't manually install any additional drivers. The card worked out of the box with a fresh installation, sort of.
$ ~> lspci | grep Killer 03:00.0 Ethernet controller: Qualcomm Atheros Killer E220x Gigabit Ethernet Controller (rev 13) $ ~> screenfetch -n timvisee@AxiomLinux OS: Ubuntu 16.10 yakkety Kernel: x86_64 Linux 4.8.0-34-generic Uptime: 19h 3m Packages: 2388 Shell: fish Resolution: 3200x1097 DE: Gnome WM: GNOME Shell WM Theme: Adwaita, Adapta-Nokto [GTK2], Adapta-Nokto [GTK3] Icon Theme: Papirus-Dark Font: Cantarell 11 CPU: Intel Core i5-4670K CPU @ 3.8GHz GPU: GeForce GTX 550 Ti RAM: 5480MiB / 15991MiB $ ~> ip -s link ... 2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 44:8a:5b:24:46:50 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 32490908621 22983929 0 0 0 15751 TX: bytes packets errors dropped carrier collsns 2694939812 14217026 0 0 0 0 ... $ ~> lspci -v | grep Killer -A11 03:00.0 Ethernet controller: Qualcomm Atheros Killer E220x Gigabit Ethernet Controller (rev 13) Subsystem: Micro-Star International Co., Ltd. [MSI] Killer E220x Gigabit Ethernet Controller Flags: bus master, fast devsel, latency 0, IRQ 30 Memory at f6100000 (64-bit, non-prefetchable) [size=256K] I/O ports at d000 [size=128] Capabilities:  Power Management version 3 Capabilities:  Express Endpoint, MSI 00 Capabilities: [c0] MSI: Enable+ Count=1/16 Maskable+ 64bit+ Capabilities: [d8] MSI-X: Enable- Count=16 Masked- Capabilities:  Advanced Error Reporting Capabilities:  Device Serial Number ff-24-46-50-44-8a-5b-ff Kernel driver in use: alx Kernel modules: alx $ ~> sudo netstat -s | egrep -i 'loss|retran' 24 segments retransmited TCPLossProbes: 23 TCPLossProbeRecovery: 1 TCPSynRetrans: 4 $ ~> sudo ping -s 1 -f -c 1000 -w 5 timvisee.com PING timvisee.com (22.214.171.124) 1(29) bytes of data. --- timvisee.com ping statistics --- 304 packets transmitted, 157 received, 48% packet loss, time 4990ms pipe 5, ipg/ewma 16.469/0.000 ms $ ~> sudo ethtool enp3s0 Settings for enp3s0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Current message level: 0x000060e4 (24804) link ifup rx_err tx_err hw wol Link detected: yes $ ~> modinfo alx | grep version srcversion: 148031F2236BBDAF23DA652 vermagic: 4.8.0-37-generic SMP mod_unload modversions
What is causing this problem? The public Internet connection cap and the packets being dropped. And how can I fix it? Is this because there isn't a daemon running on this machine managing application priorities, like on Windows, maybe?