this post was submitted on 12 Aug 2024
87 points (97.8% liked)

Linux

47777 readers
781 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

This is swiped from reddit but I thought it was really helpful so please don't judge me too harshly lol.

So it turns out that some Linux distros don't enable this by default for whatever reason but if you have an Intel wifi card that uses the iwlwifi driver (you can check this with lspci -k and look for a section that says Network controller: Intel Corporation and Kernel driver in use: iwlwifi under it), you can add a simple line to a config file that might make a huge difference to your wifi speeds.

Just edit /etc/modprobe.d/iwlwifi.conf (if it doesn't exist just create it) and add the line: options iwlwifi 11n_disable=8 then reboot. I ran Speedtest before and after trying this on my laptop and it seems to have increased it by about 20% or so.

Your mileage may vary of course, but hopefully this helps someone!

you are viewing a single comment's thread
view the rest of the comments
[–] gerdesj@lemmy.ml 18 points 2 months ago

Please do a little research before trying random stuff. After checking to see if you are actually using the iwlwifi module, why not find out a bit about whether the mentioned param. is available to you and what it does:

Am I using the module. If the output from this is blank, then no:

$ lsmod | grep iwlwifi
iwlwifi               622592  1 iwlmvm
cfg80211             1331200  3 iwlmvm,iwlwifi,mac80211

Also verify with lspci -k as above:

$ lspci -k | grep iwlwifi -A2 -B2
        DeviceName: WLAN
        Subsystem: Intel Corporation Raptor Lake PCH CNVi WiFi
        Kernel driver in use: iwlwifi
        Kernel modules: iwlwifi
00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01)
        Subsystem: Hewlett-Packard Company Alder Lake PCH Serial IO I2C Controller

# modinfo iwlwifi
   ...
parm:           swcrypto:using crypto in software (default 0 [hardware]) (int)
parm:           11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint)
parm:           amsdu_size:amsdu size 0: 12K for multi Rx queue devices, 2K for AX210 devices, 4K for other devices 1:4K 2:8K 3:12K (16K buffers) 4: 2K (default 0) (int)
parm:           fw_restart:restart firmware in case of error (default true) (bool)
parm:           nvm_file:NVM file name (charp)
parm:           uapsd_disable:disable U-APSD functionality bitmap 1: BSS 2: P2P Client (default: 3) (uint)
parm:           enable_ini:0:disable, 1-15:FW_DBG_PRESET Values, 16:enabled without preset value defined,Debug INI TLV FW debug infrastructure (default: 16) (uint)
parm:           bt_coex_active:enable wifi/bt co-exist (default: enable) (bool)
parm:           led_mode:0=system default, 1=On(RF On)/Off(RF Off), 2=blinking, 3=Off (default: 0) (int)
parm:           power_save:enable WiFi power management (default: disable) (bool)
parm:           power_level:default power save level (range from 1 - 5, default: 1) (int)
parm:           disable_11ac:Disable VHT capabilities (default: false) (bool)
parm:           remove_when_gone:Remove dev from PCIe bus if it is deemed inaccessible (default: false) (bool)
parm:           disable_11ax:Disable HE capabilities (default: false) (bool)
parm:           disable_11be:Disable EHT capabilities (default: false) (bool)

sysfs is a pseudo filesystem with lots of info in it. cat the files here:

$ ls -l /sys/module/iwlwifi/parameters/

... to see what your current values are set at. You can install sysfstools and run this for a neat report:

$ systool -vm iwlwifi
Module = "iwlwifi"

  Attributes:
     ...
  Parameters:
    11n_disable         = "0"
    amsdu_size          = "0"
    bt_coex_active      = "Y"
    disable_11ac        = "N"
    disable_11ax        = "N"
    disable_11be        = "N"
    enable_ini          = "16"
    fw_restart          = "Y"
    led_mode            = "0"
    nvm_file            = "(null)"
    power_level         = "0"
    power_save          = "N"
    remove_when_gone    = "N"
    swcrypto            = "0"
    uapsd_disable       = "3"