• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Winbetamin

Windows Sytem KB

  • Home
  • About
  • Contact

How To Increase WiFi Speed on Windows 11

By Amiya Leave a Comment

In today’s hyper-connected world, WiFi speed is more than a convenience—it’s a necessity. Whether you’re a developer pushing large repositories to GitHub, a gamer streaming high-definition content, or a remote worker attending back-to-back video calls, sluggish WiFi can cripple productivity and frustrate even the most patient users.

Windows 11, Microsoft’s latest operating system, introduces sleek UI enhancements and performance improvements—but it doesn’t magically solve all network bottlenecks. Often, suboptimal WiFi performance stems from misconfigured settings, outdated drivers, or environmental interference rather than hardware limitations.

Note : Commands are in PowerShell


Understanding WiFi Performance on Windows 11

Before optimizing, we must understand what “WiFi speed” actually means. It’s not just about download Mbps shown in Speedtest. True performance encompasses:

  • Throughput: Actual data transfer rate (affected by protocol, distance, interference)
  • Latency: Time delay between request and response (critical for real-time apps)
  • Jitter: Variability in latency (disrupts VoIP, gaming, video calls)
  • Packet Loss: Dropped data packets requiring retransmission

Windows 11 uses the Windows Filtering Platform (WFP) and NDIS (Network Driver Interface Specification) to manage network traffic. The OS also implements Auto-Tuning for TCP window scaling and Receive Side Scaling (RSS) for multi-core CPU offloading.

As a developer, you can inspect these layers using built-in tools:

1
2
3
4
5
6
7
8
# Check current TCP settings
Get-NetTCPSetting
 
# View active network adapters
Get-NetAdapter | Where-Object {$_.Status -eq "Up"}
 
# Monitor real-time throughput
Get-NetAdapterStatistics -Name "Wi-Fi"

These commands reveal baseline metrics. But raw data isn’t enough—you need context. Is your WiFi adapter using 802.11ac or the newer 802.11ax (WiFi 6)? Is your router on a congested 2.4 GHz channel?

Let’s start with hardware and environmental diagnostics—the foundation of any speed optimization.


Step 1: Diagnose Your Current WiFi Environment

Use PowerShell to Identify Adapter Capabilities

Run this script to extract your WiFi adapter’s technical specs:

1
2
3
4
5
6
7
8
$wifiAdapter = Get-NetAdapter | Where-Object {$_.InterfaceDescription -like "*Wireless*" -and $_.Status -eq "Up"}
if ($wifiAdapter) {
    $nic = Get-NetAdapterAdvancedProperty -Name $wifiAdapter.Name
    $capabilities = $nic | Where-Object {$_.DisplayName -match "802.11|Protocol|Band"}
    $capabilities | Format-Table DisplayName, DisplayValue
} else {
    Write-Host "No active WiFi adapter found."
}

This outputs supported protocols (e.g., 802.11n/ac/ax), frequency bands (2.4 GHz / 5 GHz / 6 GHz), and channel widths.

Pro Tip: If your adapter supports 5 GHz or 6 GHz, force it to use those bands—they offer higher throughput and less interference than crowded 2.4 GHz channels.

Scan for WiFi Channel Congestion

Use the WiFi Analyzer app from the Microsoft Store, or run this PowerShell snippet to list nearby networks:

1
netsh wlan show networks mode=bssid

This command reveals:

  • SSID names
  • Signal strength (in dBm—closer to 0 is better)
  • Channel numbers
  • Authentication types

Interpretation:

  • If >3 networks occupy the same channel (e.g., Channel 6 on 2.4 GHz), interference is likely.
  • On 5 GHz, prefer channels 36–48 or 149–165 (non-DFS channels avoid radar interference).

Developer Insight: Automate channel selection by scripting router reconfiguration via its API (e.g., OpenWRT’s uci commands over SSH).


Step 2: Update and Optimize WiFi Drivers

Outdated or generic drivers are a top cause of poor WiFi performance. Windows Update often installs Microsoft-provided generic drivers instead of vendor-optimized ones.

Identify Your WiFi Hardware

1
2
Get-PnpDevice | Where-Object {$_.Class -eq "Net" -and $_.Status -eq "OK"} |
    Select-Object Name, Manufacturer, HardwareID

Note the HardwareID (e.g., PCI\VEN_8086&DEV_2725). Use this to download the correct driver from Intel, Realtek, Qualcomm, or MEDIATEK.

Install Vendor Drivers via Script

Create a PowerShell function to automate driver installation:

1
2
3
4
5
6
7
8
9
10
11
12
13
function Install-WiFiDriver {
    param(
        [string]$DriverPath
    )
 
    if (Test-Path $DriverPath) {
        # Extract and install
        pnputil /add-driver "$DriverPath\*.inf" /install
        Write-Host "Driver installed. Reboot required."
    } else {
        Write-Error "Driver path not found."
    }
}

Caution: Always test drivers in a VM or non-production machine first. Faulty drivers can cause BSODs.

Configure Advanced Driver Properties

After installing the vendor driver, tweak advanced settings for performance:

1
2
3
4
5
6
7
8
9
$adapterName = (Get-NetAdapter | Where-Object {$_.InterfaceDescription -like "*Wireless*"}).Name
 
# Disable power saving (critical for consistent throughput)
Set-NetAdapterPowerManagement -Name $adapterName -AllowComputerToTurnOffDevice Disabled
 
# Optimize for throughput
Set-NetAdapterAdvancedProperty -Name $adapterName -DisplayName "Throughput Booster" -DisplayValue "Enabled"
Set-NetAdapterAdvancedProperty -Name $adapterName -DisplayName "Transmit Buffers" -DisplayValue "2048"
Set-NetAdapterAdvancedProperty -Name $adapterName -DisplayName "Receive Buffers" -DisplayValue "2048"

Note: Property names vary by vendor. Use Get-NetAdapterAdvancedProperty -Name $adapterName to list available options.


Step 3: Tune Windows 11 Network Stack Settings

Windows 11 includes several TCP/IP stack optimizations that can be fine-tuned via registry or PowerShell.

Enable TCP Auto-Tuning

Auto-Tuning dynamically adjusts the TCP receive window for optimal throughput. Ensure it’s enabled:

1
2
3
4
5
# Check current setting
netsh int tcp show global
 
# Enable if disabled
netsh int tcp set global autotuninglevel=normal

Valid levels:

  • disabled: Fixed window size (not recommended)
  • highlyrestricted: Conservative scaling
  • restricted: Moderate scaling
  • normal: Default (adaptive)
  • experimental: Aggressive scaling (may cause instability)

Disable Large Send Offload (LSO)

While LSO reduces CPU usage, it can cause packet fragmentation on some WiFi chipsets:

1
2
3
$adapter = Get-NetAdapter | Where-Object {$_.InterfaceDescription -like "*Wireless*"}
Disable-NetAdapterLso -Name $adapter.Name -IPv4
Disable-NetAdapterLso -Name $adapter.Name -IPv6

Optimize Receive Side Scaling (RSS)

RSS distributes network processing across CPU cores. Enable it for multi-core systems:

1
Set-NetAdapterRss -Name $adapter.Name -Enabled $true

Verify with:

1
Get-NetAdapterRss -Name $adapter.Name

Step 4: Eliminate Bandwidth-Hogging Background Processes

Windows 11 runs numerous background services that consume bandwidth silently.

Identify Top Network Consumers

Use PowerShell to list processes by network usage:

1
2
3
4
5
6
7
8
9
10
11
12
Get-NetTCPConnection |
    Where-Object {$_.State -eq "Established"} |
    Select-Object OwningProcess, LocalAddress, RemoteAddress |
    ForEach-Object {
        $proc = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
        [PSCustomObject]@{
            ProcessName = $proc.ProcessName
            PID = $proc.Id
            LocalIP = $_.LocalAddress
            RemoteIP = $_.RemoteAddress
        }
    } | Sort-Object PID -Unique

Block Unnecessary Apps via Windows Firewall

Create outbound firewall rules to restrict non-essential apps:

1
2
# Block OneDrive sync (example)
New-NetFirewallRule -DisplayName "Block OneDrive Outbound" -Direction Outbound -Program "C:\Users\$env:USERNAME\AppData\Local\Microsoft\OneDrive\OneDrive.exe" -Action Block

Warning: Blocking critical system processes (e.g., svchost.exe) can break Windows Update or authentication.

Disable Delivery Optimization

Delivery Optimization uses peer-to-peer updates, consuming upload bandwidth:

1
2
3
4
5
# Disable completely
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\DeliveryOptimization" -Name "SystemSettingsDownloadMode" -Value 0
 
# Or via Group Policy (for enterprise)
# Computer Config > Admin Templates > Windows Components > Delivery Optimization > Download Mode = "Bypass"

Step 5: Optimize DNS and Hosts File

Slow DNS resolution adds latency to every web request.

Switch to Faster DNS Providers

Use Cloudflare (1.1.1.1) or Google (8.8.8.8):

1
2
$interfaceIndex = (Get-NetAdapter | Where-Object {$_.InterfaceDescription -like "*Wireless*"}).ifIndex
Set-DnsClientServerAddress -InterfaceIndex $interfaceIndex -ServerAddresses ("1.1.1.1", "1.0.0.1")

Flush and Reset DNS Cache

1
2
ipconfig /flushdns
Clear-DnsClientCache

Edit Hosts File for Local Development

For local dev environments, bypass DNS entirely:

1
2
$hostsPath = "$env:SystemRoot\System32\drivers\etc\hosts"
Add-Content -Path $hostsPath -Value "127.0.0.1 dev.local" -Force

Security Note: Always validate entries to prevent DNS spoofing in production.


Step 6: Adjust Power Management Settings

Windows 11’s power plans often throttle network performance to save battery.

Disable WiFi Power Saving

1
2
3
4
5
6
7
# Via PowerShell
Set-NetAdapterPowerManagement -Name $adapter.Name -AllowComputerToTurnOffDevice Disabled
 
# Via Registry (persistent across driver updates)
$regPath = "HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000"
# Note: "0000" may vary—find your adapter's subkey
Set-ItemProperty -Path $regPath -Name "PnPCapabilities" -Value 24

Set Power Plan to High Performance

1
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

GUIDs:

  • 381b4222-f694-41f0-9685-ff5bb260ef2c: Balanced (default)
  • 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c: High performance
  • a1841308-3541-4fab-bc81-f71556f20b4a: Power saver

Step 7: Reduce WiFi Interference and Improve Signal

Even perfect software tuning fails with poor signal.

Reposition Your Router and Device

  • Place router centrally, elevated, away from metal objects.
  • Avoid microwaves, cordless phones, and Bluetooth devices (all use 2.4 GHz).
  • Use WiFi heatmapping tools like NetSpot or Ekahau to visualize dead zones.

Upgrade to WiFi 6 (802.11ax)

If your laptop and router support WiFi 6, enable these features:

  • OFDMA: Splits channels for multiple devices
  • MU-MIMO: Simultaneous data streams
  • 1024-QAM: Higher data density

Check compatibility:

1
netsh wlan show drivers

Look for:

  • Radio types supported: Should include 802.11ax
  • 802.11w Management Frame Protection: Enhances security without speed loss

Step 8: Leverage Windows 11 QoS and Traffic Prioritization

Quality of Service (QoS) ensures critical apps get bandwidth priority.

Configure Application QoS via PowerShell

1
2
3
4
5
# Prioritize SSH traffic (port 22)
New-NetQosPolicy -Name "SSH-Priority" -AppPathNameMatchCondition "ssh.exe" -NetworkProfile All -PriorityValue8021Action 6
 
# Prioritize Visual Studio Live Share
New-NetQosPolicy -Name "VS-LiveShare" -AppPathNameMatchCondition "devenv.exe" -NetworkProfile All -PriorityValue8021Action 5

Priority values (802.1p):

  • 0–1: Best effort (default)
  • 2–3: Excellent effort
  • 4–5: Critical applications
  • 6–7: Network control

Enable Multimedia Class Scheduler (MMCSS)

MMCSS prioritizes audio/video streams:

1
2
Set-Service -Name Audiosrv -StartupType Automatic
Start-Service Audiosrv

Verify with:

1
Get-Service Audiosrv

Step 9: Disable IPv6 (If Not Needed)

While IPv6 is the future, misconfigured IPv6 can cause connection delays due to failed fallbacks.

Test IPv6 Impact

1
2
3
4
5
# Time DNS lookup with IPv6
Measure-Command { Resolve-DnsName google.com -Type AAAA }
 
# Time with IPv4
Measure-Command { Resolve-DnsName google.com -Type A }

If IPv6 is significantly slower and unused, disable it:

1
Disable-NetAdapterBinding -Name $adapter.Name -ComponentID ms_tcpip6

Warning: Some modern services (e.g., Microsoft 365) require IPv6. Test thoroughly.


Step 10: Automate Optimization with a Master Script

Combine all steps into a single, idempotent PowerShell script:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Optimize-WiFi.ps1
param(
    [switch]$ForceReboot
)
 
# Step 1: Get active WiFi adapter
$adapter = Get-NetAdapter | Where-Object {$_.InterfaceDescription -like "*Wireless*" -and $_.Status -eq "Up"}
if (-not $adapter) { throw "No active WiFi adapter found." }
 
# Step 2: Disable power saving
Set-NetAdapterPowerManagement -Name $adapter.Name -AllowComputerToTurnOffDevice Disabled
 
# Step 3: Tune TCP
netsh int tcp set global autotuninglevel=normal
Disable-NetAdapterLso -Name $adapter.Name -IPv4
Disable-NetAdapterLso -Name $adapter.Name -IPv6
 
# Step 4: Set DNS
Set-DnsClientServerAddress -InterfaceIndex $adapter.ifIndex -ServerAddresses ("1.1.1.1", "1.0.0.1")
 
# Step 5: High performance power plan
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
 
# Step 6: Flush DNS
Clear-DnsClientCache
 
Write-Host "WiFi optimization complete."
if ($ForceReboot) { Restart-Computer -Force }

Run with:

1
.\Optimize-WiFi.ps1 -ForceReboot

Best Practice: Store this script in your dotfiles repo and deploy via Ansible or Intune for team-wide consistency.


Performance Benchmarking: Before and After

Always measure impact. Use these tools:

Built-in Windows Tools

1
2
3
4
5
# Test raw throughput
Test-NetConnection -ComputerName speedtest.net -Port 80
 
# Monitor adapter stats
Get-NetAdapterStatistics -Name $adapter.Name

Third-Party CLI Tools

  • iPerf3: For controlled bandwidth tests
1
2
3
4
5
  # Server
  iperf3 -s
 
  # Client
  iperf3 -c 192.168.1.100 -t 30
  • Speedtest CLI (by Ookla):
1
  speedtest --accept-license --accept-gdpr

Custom PowerShell Benchmark

1
2
3
4
5
6
7
8
9
10
11
12
function Measure-WiFiSpeed {
    $start = Get-Date
    $request = Invoke-WebRequest -Uri "https://speed.hetzner.de/100MB.bin" -OutFile "$env:TEMP\test.bin"
    $end = Get-Date
    $duration = ($end - $start).TotalSeconds
    $sizeMB = (Get-Item "$env:TEMP\test.bin").Length / 1MB
    $speed = [math]::Round($sizeMB / $duration, 2)
    Remove-Item "$env:TEMP\test.bin"
    return "$speed MB/s"
}
 
Measure-WiFiSpeed

Common Pitfalls and How to Avoid Them

IssueCauseSolution
Speed drops after sleepPower management re-enablesDisable “Allow computer to turn off device” permanently
5 GHz not connectingRouter DFS channel conflictSwitch router to non-DFS channel (36–48, 149–165)
High latency in gamesBackground updatesDisable Delivery Optimization and Windows Update during sessions
Intermittent disconnectsDriver bugUse vendor driver, not Microsoft generic
Slow local networkSMB protocol mismatchEnable SMB Direct: Set-SmbClientConfiguration -EnableSMB1Protocol $false

Advanced: Registry Tweaks for Extreme Tuning

Warning: Editing the registry can break your system. Backup first (reg export HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318} backup.reg).

Increase TCP Window Size

1
2
# Max TCP window (in bytes)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name "TcpWindowSize" -Value 64240

Disable Nagle’s Algorithm (for low-latency apps)

1
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\MSMQ\Parameters" -Name "TCPNoDelay" -Value 1

Note: Nagle’s reduces small packet overhead—disable only for real-time apps like gaming or trading platforms.


Enterprise Considerations: Group Policy and Intune

For IT admins managing developer workstations:

Group Policy Settings

  • Computer Config > Admin Templates > Network > QoS Packet Scheduler
  • Limit reservable bandwidth: Set to 0%
  • Computer Config > Admin Templates > System > Power Management
  • Turn off hybrid sleep
  • Set wireless adapter policy to “Maximum Performance”

Intune Configuration Profile (Custom OMA-URI)

1
2
3
4
5
6
7
<Configuration>
  <Wifi>
    <PowerManagement>
      <AllowComputerToTurnOffDevice>0</AllowComputerToTurnOffDevice>
    </PowerManagement>
  </Wifi>
</Configuration>

Deploy via Settings Catalog in Microsoft Intune.


Case Study: Boosting Git Clone Speed by 300%

A developer team reported slow git clone operations over WiFi.

Diagnosis:

  • git config --global http.postBuffer 524288000 (increased buffer)
  • WiFi adapter using 2.4 GHz with 70% channel utilization
  • TCP Auto-Tuning disabled

Solution:

  1. Forced 5 GHz connection via router SSID separation
  2. Enabled TCP Auto-Tuning: netsh int tcp set global autotuninglevel=normal
  3. Updated Intel AX200 driver to latest version
  4. Disabled LSO

Result:

  • Clone time reduced from 4m 22s to 1m 10s
  • Throughput increased from 12 Mbps to 48 Mbps

Future-Proofing: Preparing for WiFi 7 and Beyond

Windows 11 22H2+ supports WiFi 7 (802.11be) features:

  • Multi-Link Operation (MLO): Aggregate 2.4/5/6 GHz bands
  • 4096-QAM: 20% higher throughput than WiFi 6
  • 320 MHz channels: Double channel width

To prepare:

  • Ensure BIOS/UEFI allows PCIe Gen4 for WiFi 7 cards
  • Use Cat 6a+ Ethernet for backhaul
  • Monitor Windows Insider builds for MLO driver support

Conclusion: A Sustainable Approach to WiFi Optimization

Optimizing WiFi on Windows 11 isn’t a one-time fix—it’s an ongoing process of monitoring, tuning, and automating. By adopting a developer mindset—scripting configurations, version-controlling settings, and measuring outcomes—you transform from a passive user into an active network engineer.

Remember:

  • Hardware limits software: No registry tweak fixes a 2.4 GHz-only adapter in a crowded apartment.
  • Measure before and after: Optimization without metrics is guesswork.
  • Automate relentlessly: Your future self (and teammates) will thank you.

Use the scripts and tables in this guide as a foundation. Fork them, improve them, and integrate them into your daily workflow. Because in the world of development, every millisecond counts.


Appendix: Complete Reference Table of Commands

GoalPowerShell CommandNotes
List active adaptersGet-NetAdapter | Where Status -eq "Up"Identify WiFi interface
Update DNSSet-DnsClientServerAddress -InterfaceIndex X -ServerAddresses "1.1.1.1"Replace X with ifIndex
Disable power savingSet-NetAdapterPowerManagement -Name "Wi-Fi" -AllowComputerToTurnOffDevice DisabledPrevents sleep-induced slowdowns
Enable TCP Auto-Tuningnetsh int tcp set global autotuninglevel=normalDefault but often disabled by vendors
Block app bandwidthNew-NetFirewallRule -DisplayName "BlockApp" -Program "C:\path\app.exe" -Action BlockUse cautiously
Flush DNSClear-DnsClientCacheResolves stale DNS issues
Set high perf power planpowercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635cGUID for High Performance
Disable IPv6Disable-NetAdapterBinding -Name "Wi-Fi" -ComponentID ms_tcpip6Only if unused
Check driver versionGet-WindowsDriver -Online -All | Where Provider -eq "Intel"Verify vendor driver
Monitor real-time statsGet-NetAdapterStatistics -Name "Wi-Fi"Track bytes sent/received
Prioritize app trafficNew-NetQosPolicy -Name "DevTools" -AppPathNameMatchCondition "code.exe" -PriorityValue8021Action 5For critical IDEs

Final Thought: The fastest WiFi is the one you’ve measured, understood, and optimized—not the one you’ve merely rebooted. Now go forth and code at full speed.

Share this:

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on X (Opens in new window) X
  • Click to share on Telegram (Opens in new window) Telegram
  • Click to share on Reddit (Opens in new window) Reddit

Related

Filed Under: PowerShell, System KB Tagged With: Increase WiFi Speed, Windows 11

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Recent Posts

  • How To Increase WiFi Speed on Windows 11
  • How To Fix Google Chrome Update Failed Error Code 3 0x800704c7
  • How To Fix Keyboard Typing Wrong Character or Keys Not Working in Windows 11
  • How To Fix Time Synchronization Problem in Windows 11
  • How To Fix Google Chrome ERR_TUNNEL_CONNECTION_FAILED

Recent Comments

No comments to show.

Categories

  • Browser KB
  • Custom PC
  • Gaming KB
  • Network
  • PowerShell
  • Software
  • System KB
  • Uncategorized
  • Web Dev

Copyright © 2025 · Log in

  • Privacy Policy
  • Terms and Conditions
  • Disclaimer