Slow wifi on Fedora 40 for Intel Tiger Lake PCH CNVi WiFi

I am experiencing slow wifi on my Fedora 40 KDE.

This is the output of the command inxi -Fzxx.

System:
  Kernel: 6.8.4-200.fc39.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.40-14.fc39
  Desktop: KDE Plasma v: 5.27.11 tk: Qt v: 5.15.12 wm: kwin_wayland dm: SDDM
    Distro: Fedora Linux 39 (KDE Plasma)
Machine:
  Type: Laptop System: HP product: Victus by HP Laptop 16-d0xxx v: N/A
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: HP model: 88FA v: 88.58 serial: <superuser required>
    part-nu: 4D8K8PA#UUF UEFI: AMI v: F.25 date: 10/04/2023
Battery:
  ID-1: BAT0 charge: 69.2 Wh (100.0%) condition: 69.2/70.1 Wh (98.8%)
    volts: 17.0 min: 15.4 model: HP Primary serial: <filter> status: full
  Device-1: hidpp_battery_0 model: Logitech Wireless Mouse MX Master 2S
    serial: <filter> charge: 55% (should be ignored) status: discharging
CPU:
  Info: 6-core model: 11th Gen Intel Core i5-11260H bits: 64 type: MT MCP
    arch: Tiger Lake rev: 1 cache: L1: 480 KiB L2: 7.5 MiB L3: 12 MiB
  Speed (MHz): avg: 1828 high: 4300 min/max: 800/4400 cores: 1: 800 2: 3588
    3: 844 4: 802 5: 3673 6: 800 7: 800 8: 800 9: 3941 10: 799 11: 800 12: 4300
    bogomips: 62668
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel TigerLake-H GT1 [UHD Graphics] vendor: Hewlett-Packard
    driver: i915 v: kernel arch: Gen-12.1 ports: active: eDP-1 empty: DP-1
    bus-ID: 0000:00:02.0 chip-ID: 8086:9a68
  Device-2: NVIDIA TU117M [GeForce GTX 1650 Mobile / Max-Q]
    vendor: Hewlett-Packard driver: nouveau v: kernel arch: Turing ports:
    active: HDMI-A-1 empty: none bus-ID: 0000:01:00.0 chip-ID: 10de:1f9d
  Device-3: Chicony HP Wide Vision HD Camera driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 3-6:4 chip-ID: 04f2:b735
  Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 23.2.4
    compositor: kwin_wayland driver: X: loaded: modesetting unloaded: fbdev,vesa
    dri: iris,nouveau gpu: i915,nouveau d-rect: 3840x1080 display-ID: 0
  Monitor-1: HDMI-A-1 pos: primary,left res: 1920x1080 size: N/A
  Monitor-2: eDP-1 pos: right res: 1920x1080 size: N/A
  API: EGL v: 1.5 platforms: device: 0 drv: iris device: 1 drv: nouveau
    device: 2 drv: swrast gbm: drv: nouveau surfaceless: drv: iris wayland:
    drv: iris x11: drv: iris
  API: OpenGL v: 4.6 compat-v: 4.3 vendor: intel mesa v: 23.3.6 glx-v: 1.4
    direct-render: yes renderer: Mesa Intel UHD Graphics (TGL GT1)
    device-ID: 8086:9a68 display-ID: :0.0
  API: Vulkan v: 1.3.275 surfaces: xcb,xlib,wayland device: 0
    type: integrated-gpu driver: N/A device-ID: 8086:9a68 device: 1 type: cpu
    driver: N/A device-ID: 10005:0000
Audio:
  Device-1: Intel Tiger Lake-H HD Audio vendor: Hewlett-Packard
    driver: sof-audio-pci-intel-tgl bus-ID: 0000:00:1f.3 chip-ID: 8086:43c8
  Device-2: NVIDIA vendor: Hewlett-Packard driver: snd_hda_intel v: kernel
    bus-ID: 0000:01:00.1 chip-ID: 10de:10fa
  Device-3: JMTek LLC. USB PnP Audio Device
    driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 1.1 speed: 12 Mb/s
    lanes: 1 bus-ID: 3-2:3 chip-ID: 0c76:1612
  API: ALSA v: k6.8.4-200.fc39.x86_64 status: kernel-api
  Server-1: PipeWire v: 1.0.4 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin
Network:
  Device-1: Intel Tiger Lake PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 0000:00:14.3 chip-ID: 8086:43f0
  IF: wlo1 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Hewlett-Packard driver: r8169 v: kernel port: 3000
    bus-ID: 0000:02:00.0 chip-ID: 10ec:8168
  IF: eno1 state: up speed: 100 Mbps duplex: full mac: <filter>
Bluetooth:
  Device-1: Intel AX201 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 bus-ID: 3-14:5 chip-ID: 8087:0026
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.2
    lmp-v: 11
RAID:
  Hardware-1: Intel Volume Management Device NVMe RAID Controller driver: vmd
    v: 0.6 bus-ID: 0000:00:0e.0 chip-ID: 8086:9a0b
Drives:
  Local Storage: total: 942.7 GiB used: 152.54 GiB (16.2%)
  ID-1: /dev/nvme0n1 vendor: Samsung model: MZVL2512HCJQ-00BH1
    size: 476.94 GiB speed: 63.2 Gb/s lanes: 4 serial: <filter> temp: 48.9 C
  ID-2: /dev/nvme1n1 vendor: Kingston model: SNVS500G size: 465.76 GiB
    speed: 31.6 Gb/s lanes: 4 serial: <filter> temp: 52.9 C
Partition:
  ID-1: / size: 220.36 GiB used: 37.82 GiB (17.2%) fs: ext4
    dev: /dev/nvme1n1p5
  ID-2: /boot/efi size: 974.6 MiB used: 19 MiB (2.0%) fs: vfat
    dev: /dev/nvme1n1p3
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
  ID-2: swap-2 type: partition size: 7.45 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme1n1p4
Sensors:
  System Temperatures: cpu: N/A mobo: N/A
  Fan Speeds (rpm): cpu: 2705 fan-2: 2859
Info:
  Memory: total: 16 GiB note: est. available: 15.25 GiB used: 7.65 GiB (50.2%)
  Processes: 380 Power: uptime: 1h 47m wakeups: 0 Init: systemd v: 254
    target: graphical (5) default: graphical
  Packages: pm: flatpak pkgs: 20 Compilers: gcc: 13.2.1 Shell: Bash
    v: 5.2.26 running-in: yakuake inxi: 3.3.33

Can anyone help me with this?

Added wifi and removed bluetooth, f40, flatpak, kde

You show that both the wifi and wired network ports are active at the same time.

  1. Please show us the output of ip a and ip r
  2. What happens if you disconnect the wired ethernet port?
    Does it change performance on the wifi?

The output of ip a:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 50:81:40:72:c9:59 brd ff:ff:ff:ff:ff:ff
    altname enp2s0
    inet 192.168.0.189/24 brd 192.168.0.255 scope global dynamic noprefixroute eno1
       valid_lft 83053sec preferred_lft 83053sec
    inet6 fe80::327d:fdcf:4a72:ccde/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 38:87:d5:13:9b:ba brd ff:ff:ff:ff:ff:ff
    altname wlp0s20f3
    inet 192.168.0.191/24 brd 192.168.0.255 scope global dynamic noprefixroute wlo1
       valid_lft 83104sec preferred_lft 83104sec
    inet6 fe80::f5c6:b987:8f97:46b7/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

The output of ip r:

default via 192.168.0.1 dev eno1 proto dhcp src 192.168.0.189 metric 100 
default via 192.168.0.1 dev wlo1 proto dhcp src 192.168.0.191 metric 600 
192.168.0.0/24 dev eno1 proto kernel scope link src 192.168.0.189 metric 100 
192.168.0.0/24 dev wlo1 proto kernel scope link src 192.168.0.191 metric 600

And if I disconnect the wired connection, nothing is changed in the performance of the wifi.

Have you tried rebooting with the ethernet disconnected?

Those metric numbers show that almost everything outgoing should be sent by ethernet and nothing by wifi so the only sure test is to only have the wifi connected and only have the gateway know of the wifi as a connection. A proper test may even involve rebooting the gateway router as well to ensure it is not confused by having an earlier entry in the routing table for ethernet to that host.

Okay, let me give it a try.

I also note that your system is showing the interfaces as eno1 and wlo1.

During boot my system renames those interfaces as enp4s0 and wlp5s0 to reflect the pcie addresses of those devices. Probably not an issue but it seems strange since fedora has done this renaming during boot for several years now.

[    4.406206] r8169 0000:04:00.0 enp4s0: renamed from eth0
[    6.737949] iwlwifi 0000:05:00.0 wlp5s0: renamed from wlan0

Which command’s output is that?

How do these metric numbers show that everything should be sent over the Ethernet instead of the WIFI?

sudo dmesg | grep <your interface name>

Lower metric numbers are the preferred path

Okay. Now Wifi seems to be working fine.
But what you said about rebooting with the ethernet connection being disconnected and restarting the router, is that a really good workaround or solution? If the problem persists again, should I do this?

In my system, Fedora is also renaming the interfaces. I have checked that just now.

That is a driver and has nothing directly to do with the naming of the interfaces.
The output of the ip a command should only show the assigned name after it has been renamed.
Mine is named by the OS as eth0 then renamed to enp4s0 when the driver is loaded.

As I understand it the renaming was intended to ensure the ability to directly identify the location on the system by pci bus address. The old naming scheme (eth0, eth1, etc.) left no way to directly identify the hardware location on the machine and allowed naming in the order they were configured, which could change between boots. Naming by pci bus location ensures the device name never changes.

1 Like

For some having multiple interfaces and IP addresses on the same subnet as you showed can at times cause problems. Especially when both interfaces show the same hostname and the gateway router may become confused. With metrics, and the interfaces on the same subnet both having similar routes but only differing metrics, when the primary is busy the second may be used and thus routing can become an issue.

Personally I only ever use ethernet when wifi is not working. I have the ability to use both, but have seen too many times where symptoms like yours may cause problems.

Are you using a home/small business network or an “enterprise/campus” network? Is your ethernet isolated or rate limited?

I’m using a home network. And my ethernet is not isolated.

Is you concern with slow WiFi because you have other systems that are WiFi only on your home network? I assume the default metrics are designed for a typical home with kids and parents
all using different personal machines, perhaps with a media/file server connected by ethernet, and only rarely connecting directly to other systems in the home. As @computersavvy mentioned, it is no surprise that having both wifi and ethernat active at the same time when using typical home routers causes problems. I’ve been there, so upgraded network hardware to business-class.