如何让wifi和蓝牙同时工作?

Dmi*_*yev 6 bluetooth wifi-driver debian-jessie

我有一台运行 Debian Jessie 和Intel Wireless-N 7265 BGN适配器的笔记本电脑。我的看起来像右边的那个,天线电缆连接到最右边的插座。

根据dmesg我使用的是从 Jessie-backports 安装的WLAN 固件iwlwifi-7265-16.ucode和 BT 固件ibt-hw-37.8.10-fw-1.10.2.27.d.bseq。据我了解,Wifi/蓝牙共存是可能的并已启用:

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

Wifi 和蓝牙分别工作,但是,当我尝试同时激活它们时,我失去了 Wifi 连接。如果连接了笔记本电脑,它就会与网络断开连接,除非我禁用蓝牙,否则扫描网络不会产生任何结果。一旦蓝牙被禁用,我就可以再次重新连接到 Wifi。

这可能是什么原因?是否有特定的固件可以让 Wifi 和蓝牙协同工作?还是我的适配器类型不好,升级它可以解决我的问题?连接第二个天线会有帮助吗?我没有,但如果知道有帮助,我会考虑订购/制作一个。

编辑:这是我的系统从全新重启开始的情况:

留言 | grep iwlwifi > dmesg_iwlwifi

留言 | grep -i blue > dmesg_bluetooth

须藤 modinfo iwlwifi | grep -v 别名 > modinfo_iwlwifi

须藤 modinfo btintel > modinfo_btintel

uname -a

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

这是我在使用 WiFi 时连接 BT 设备时发生的情况: btmonudevadmiweventdmesg

EDIT2:我尝试过的事情。

  1. 设置cfg80211_disable_40mhz_24ghz为“Y” - 没有明显的变化
  2. 设置bt_coex_active为“N” - 让事情变得更糟:WiFi 完全停止工作,BT 仍然可以正常工作
  3. 按照此处所述将固件升级到最新版本- 无明显变化
  4. 设置disable_11ac为“Y”和11n_disable1 - 没有可见的变化

最终编辑:这个周末我们去见了一些朋友,当我想向他们展示我的问题时,我发现我可以在使用 BT 的同时与他们的路由器保持连接。使用 BT 时连接速度会下降,但这是 AFAIK 的预期。我不确定我的问题是否对任何人有用,但以防万一:我遇到问题的路由器是配置为 2.4 GHz、通道 6 的德国 FritzBox。由于我没有该路由器,所以我无法真正摆弄它进行调查。

Arg*_*uts 2

这本身并不是一个答案,因为问题中提供的信息不足以让我提供解决方案,但请求此信息的评论将很难遵循。

您是否连接到 2.4 或 5 GHz 频段的无线路由器?如果您通常使用 2.4,您的路由器是否支持双频“N”?如果是这样,请尝试将路由器配置为 5 GHz,连接到该路由器,然后查看蓝牙行为是否发生变化。2.4 GHz Wifi 频段和蓝牙频谱有大量重叠,并且可能相互冲突 - 这是一次尝试,看看这是否在这里起作用。

如果该测试没有变化,或者您没有允许您尝试的路由器,下一步就是收集有关正在发生的情况的更多信息。

请提供以下命令的输出。dmesg 命令应在启动后立即运行,以便相关条目不会被轮换。

sudo modinfo iwlwifi | grep -v 'alias'
sudo modinfo btintel
dmesg | grep iwlwifi
dmesg | grep -i blue
uname -a
Run Code Online (Sandbox Code Playgroud)

在已连接 WiFi 和禁用蓝牙的“工作”配置中开始后续步骤。

1. 以 root 身份打开三个终端,以普通用户身份打开第四个终端。

2. 在一个根终端中运行命令

btmon 
Run Code Online (Sandbox Code Playgroud)

3. 在第二个根终端中运行命令

iwevent
Run Code Online (Sandbox Code Playgroud)

4. 在第三个根终端中运行命令:

udevadm monitor
Run Code Online (Sandbox Code Playgroud)

5. 最后,在非 root 终端中,运行:

dmesg -w
Run Code Online (Sandbox Code Playgroud)

6. 现在,在这些监控工具运行的情况下,尝试使用与上述步骤大致相同的顺序同时使用 wifi 和蓝牙。

  1. 从禁用蓝牙并连接 WiFi 开始
  2. 启用蓝牙
  3. 大概wifi会断开;如果是这样,请尝试扫描网络,以便我们可以查看日志报告的内容。
  4. 尝试连接蓝牙设备
  5. 如果连接到蓝牙设备,现在尝试再次连接到 WiFi。
  6. 禁用蓝牙,然后重新连接 Wi-Fi。

这些日志的输出应该允许我们调试这里发生的事情。您可能想要混淆结果中的 MAC 地址,但请保留它们的唯一可识别性。

将结果发布在 Pastebin 等网站上,因为其中一些结果可能很长。