WiFi and Bluetooth can coexist peacefully on 2.4 Ghz

I wonder who decided it might be a good idea to put Bluetooth and WiFi on the same 2.4 gigahertz spectrum?

It was relatively easy to enable Bluetooth and connect my wireless headphones in Arch Linux. I noticed however that afterwards my internet connection would inexplicably slow to a crawl whenever I connected. Disconnect, and it would be fine again. Connect, and again, virtually nothing — especially if sound was playing through the headset.

The easy solution was to connect my WiFi on the 5 Ghz band. Done. It worked. No interference. And that could have been that. But it was still bugging me. I still wanted to know why. I still wanted to fix it.

(2.4 Ghz gets better range than 5 Ghz because it's a lower frequency so sometimes it actually gives me a more stable connection from further away.)

I found a few possible solutions. I tried changing the WiFi channel on my router, and that helped a little bit, but not quite enough.

In the Arch Wiki they have a small section about Intel combined WiFi and Bluetooth cards and playing with the coexistence setting and I thought I was onto something.

They suggested adding the following to /etc/modprobe.d/iwlwifi.conf:

options iwlwifi bt_coex_active=0

But nope. Nothing. No difference.

After some searching, a post in the Arch Forums put me on the right track.

In the end, adding this to /etc/modprobe.d/iwlwifi.conf fixed it for me:

options iwlmvm power_scheme=1

Reboot and you're all good.

Seems to be the same fix as described here, but for a different symptom.

Anyway, hope this helps someone else. Happy hacking!


ps.

One does indeed simply install Arch Linux

A poll I ran on Mastodon recently forced me, against my will, to attempt an install of Arch Linux again.

...Multiple hours of frustration later...

Here's how to install Arch the easy way.

  1. Download and make a bootable USB of the Arch Linux ISO.
  2. DON'T FOLLOW THE INSTALL GUIDE.
  3. Boot into the USB and run iwctl and follow these instructions to connect — basically device list, station <device> scan, station <device> get-networks, station <device> connect <SSID> — you can tab-complete devices and SSIDs.
  4. (OR simply plug in an ethernet cable.)
  5. Run archinstall and follow the prompts.
  6. Hit "Install" then run reboot when it's done.

That's it. You're done. You have a working Arch Linux install.

Of course, it won't actually do much just yet, but it's a start. Here's a good place to continue your journey: https://wiki.archlinux.org.

Good luck out there!