Debian – How to make wifi and bluetooth work simultaneously

bluetoothdebian-jessiewifi-driver

I have a laptop running Debian Jessie with Intel Wireless-N 7265 BGN adapter. Mine looks like the one on the right, with an antenna cable going to the right-most socket.

According to dmesg I'm using WLAN firmware iwlwifi-7265-16.ucode and BT firmware ibt-hw-37.8.10-fw-1.10.2.27.d.bseq, which I have installed from Jessie-backports. As far as I understand, Wifi / Bluetooth coexistence is possible and enabled:

$ sudo modinfo iwlwifi
...
parm:           bt_coex_active:enable wifi/bt co-exist (default: enable) (bool)
...
$ cat /sys/module/iwlwifi/parameters/bt_coex_active 
Y

Both Wifi and Bluetooth work separately, however, when I try to activate them at the same time, I lose Wifi connectivity. The laptop disconnects from a network if it was connected, and scanning for networks yields no results unless I disable Bluetooth. Once Bluetooth is disabled, I'm able to reconnect to Wifi again.

What could be the reason for this? Is there a particular firmware I could use to get Wifi and Bluetooth work together? Or do I have the bad kind of adaptor, and upgrading it would solve my issue? Would it help to get a second antenna connected? I don't have one, but I would consider ordering / making one if that is known to help.

EDIT:
Here's what happens on my system starting from a fresh reboot:

dmesg | grep iwlwifi > dmesg_iwlwifi

dmesg | grep -i blue > dmesg_bluetooth

sudo modinfo iwlwifi | grep -v alias > modinfo_iwlwifi

sudo modinfo btintel > modinfo_btintel

uname -a

Linux hostname 4.6.0-0.bpo.1-686-pae #1 SMP Debian 4.6.4-1~bpo8+1 (2016-08-11) i686 GNU/Linux

and here's what happens when I connect a BT device while using WiFi:
btmon, udevadm, iwevent, dmesg.

EDIT2: Things I have tried.

  1. setting cfg80211_disable_40mhz_24ghz to "Y" – no visible changes
  2. setting bt_coex_active to "N" – make things worse: WiFi stops working altogether, BT still works fine
  3. upgrading firmware to the latest version as described here – no visible changes
  4. setting disable_11ac to "Y" and 11n_disable to 1 – no visible changes

Final edit: we went to see some friends this weekend, and when I wanted to show them my issue, I discovered that I could stay connected to their router while using BT. There is a drop in connection speed when BT is in use, but this is to be expected AFAIK. I'm not sure if my question will be of any use to anyone, but just in case: the router I had the issue with was a german FritzBox configured to 2.4 GHz, channel 6. Since I don't own that router, I can't really fiddle with it to investigate.

Best Answer

This isn't an answer per se, as there is insufficient information provided in the question for me to provide a resolution, but a comment requesting this information would be difficult to follow.

Are you connecting to a wireless router on the 2.4 or 5 GHz bands? If you are typically using 2.4, does your router support dual band 'N'? If so, try configuring the router for 5 GHz, connecting to that, and seeing if the bluetooth behavior changes. The 2.4 GHz Wifi band and bluetooth spectrums have a great deal of overlap and can conflict with each other - this is an attempt to see if that is at play here.

If there is no change with that test, or you don't have a router that would allow you to try it, the next step is to collect more information on what is happening.

Please provide the output from the following commands. The dmesg commands should be run shortly after boot so that the relevant entries aren't rotated out.

sudo modinfo iwlwifi | grep -v 'alias'
sudo modinfo btintel
dmesg | grep iwlwifi
dmesg | grep -i blue
uname -a

Start the next steps in the 'working' configuration of wifi connected and bluetooth disabled.

1. Open three terminals as root and a fourth as a regular user.

2. In one root terminal run the command

btmon 

3. In the 2nd root terminal run the command

iwevent

4. In the 3rd root terminal run the command:

udevadm monitor

5. Finally, in the non-root terminal, run:

dmesg -w

6. Now with these monitoring tools running, try to simultaneously utilize wifi and bluetooth using more or less the same sequence of steps you described above.

  1. Start with bluetooth disabled and wifi connected
  2. Enable bluetooth
  3. Presumably wifi will have disconnected; if so try scanning for a network so we can see what the logs report.
  4. Try to connect to a bluetooth device
  5. If connected to a bluetooth device, now try connecting to wifi again.
  6. Disable bluetooth, and reconnect to wifi.

The output of these logs should allow us to debug what is happening here. You may want to obfuscate MAC addresses in the results, although please leave them uniquely identifiable.

Post the results on a website like pastebin, as some of them may be lengthy.

Related Question