Copy it on your computer and save it in a file to have it offline
Fix slow Wi-Fi (stuck at ~54 Mbps) on Comcast/Xfinity gateways — Linux kernel 6.14 workaround
What this fixes
If your Linux machine connects to an Xfinity/Comcast (or Rogers / Videotron) Wi-Fi gateway and your speed is stuck around 15–50 Mbps, while the same network is fast on phones and Windows, you are very likely hitting this bug.
A recent Comcast gateway firmware update makes the router advertise an invalid "basic MCS set". Linux kernels 6.15 and newer check this value, conclude the link can't meet it, and disable Wi-Fi 4/5/6 — dropping you all the way back to old 802.11a (54 Mbps max, 20 MHz). It hits Realtek, Intel and Qualcomm cards alike, because the bug is in the kernel's shared Wi-Fi layer (mac80211), not in your card.
This guide makes your machine boot kernel 6.14, which is older than that check, so full-speed Wi-Fi works again.
This is a workaround, not a permanent fix. See the note at the bottom for the clean long-term solution.
Step 0 — Confirm you actually have THIS problem
Open a terminal and run:
sudo dmesg | grep -i "disabling HT"
If you see a line like required MCSes not supported, disabling HT, this guide is for you.
If it prints nothing, your slow Wi-Fi has a different cause — stop here, this won't help.
Step 1 — Install the 6.14 kernel
sudo apt update
sudo apt install linux-image-6.14.0-37-generic linux-modules-6.14.0-37-generic linux-headers-6.14.0-37-generic
If apt says "Unable to locate package", list what's available and use the highest 6.14 number you see:
apt list 'linux-image-6.14.0-*-generic' 2>/dev/null
Then run the install command again, replacing -37 with that number in all three package names.
(Installing the -headers package matters: it lets any add-on Wi-Fi driver rebuild itself automatically for the new kernel.)
Step 2 — Make the boot menu visible and tidy
Open the GRUB settings:
sudo nano /etc/default/grub
Make these four lines look exactly like this — edit them if they already exist, add them if they're missing:
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=y
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
Save and exit: press Ctrl+X, then Y, then Enter.
Apply the change:
sudo update-grub
Step 3 — Set kernel 6.14 as the permanent default
Copy-paste this whole block. It finds the 6.14 entry automatically and pins it:
ENTRY=$(grep "menuentry '" /boot/grub/grub.cfg | grep 6.14 | head -n1 | cut -d"'" -f2)
sudo grub-set-default "$ENTRY"
echo "Default boot set to: $ENTRY"
The last line should print something containing 6.14.
If it prints an empty name, the 6.14 kernel didn't install — go back to Step 1.
Step 4 — Reboot
sudo reboot
Step 5 — Verify it worked
After you log back in:
uname -r
→ should show 6.14.0-...
sudo dmesg | grep -i "disabling HT"
→ should now be empty
iw dev wlp1s0 link
(Replace wlp1s0 with your Wi-Fi interface name if different — find it with iw dev.)
→ should show something like rx bitrate: ... HE-MCS ... 80MHz instead of 54.0 MBit/s.
Run a speed test to confirm you're back to normal speeds.
If something goes wrong
Important
- Do NOT uninstall your old kernel — keep it as a safety fallback.
- If your Wi-Fi becomes slow again after a future system update, your machine probably booted a newer kernel. Just redo Step 3 and reboot (or pick the 6.14 entry from the boot menu).
- Clean long-term fix: stop using the gateway's Wi-Fi. Put the Comcast box in Bridge mode and use your own router / access point. That sidesteps the bug entirely and usually restores full speed for every device on the network.