Wifi 连接问题已解决;为什么我的“修复”有效?

Wifi 连接问题已解决;为什么我的“修复”有效?

我有一台三星笔记本电脑,安装了 Ubuntu 15.04,从 13.10 一直升级到最低版本,但这不是问题。

我已经连接了无数个 wifi 网络,没有任何问题……直到几天前。我暂时在客户那里工作,根本无法连接任何 wifi 网络。所有网络都可以看到,但我就是无法建立连接……

由于除了我之外没有其他人遇到问题,所以我知道问题出在我这边。

我的卡是这样的:

02:00.0 Network controller: Intel Corporation Centrino Advanced-N 6235 (rev 24)

它使用 iwlwifi 驱动程序。以下是modinfo报告的选项:

parm:           swcrypto:using crypto in software (default 0 [hardware]) (int)
parm:           11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint)
parm:           amsdu_size_8K:enable 8K amsdu size (default 0) (int)
parm:           fw_restart:restart firmware in case of error (default true) (bool)
parm:           antenna_coupling:specify antenna coupling in dB (default: 0 dB) (int)
parm:           wd_disable:Disable stuck queue watchdog timer 0=system default, 1=disable (default: 1) (int)
parm:           nvm_file:NVM file name (charp)
parm:           uapsd_disable:disable U-APSD functionality (default: Y) (bool)
parm:           bt_coex_active:enable wifi/bt co-exist (default: enable) (bool)
parm:           led_mode:0=system default, 1=On(RF On)/Off(RF Off), 2=blinking, 3=Off (default: 0) (int)
parm:           power_save:enable WiFi power management (default: disable) (bool)
parm:           power_level:default power save level (range from 1 - 5, default: 1) (int)
parm:           fw_monitor:firmware monitor - to debug FW (default: false - needs lots of memory) (bool)

凭着直觉,我修改了相应的 modprobe.d 文件以添加:

options iwlwifi bt_coex_active=0

突然间,我的连接就不再有问题了……

为什么这样做有效?此选项起什么作用?

答案1

Wifi 连接问题解决了,为什么我的“修复”有效?

启用 bt_coex_active 可防止蓝牙/无线干扰。禁用后,蓝牙/无线干扰会增加。

  • bt_coex_active=1(真)可防止蓝牙/无线干扰。
  • bt_coex_active=0(假)允许增加蓝牙/无线干扰。

该功能的工作方式是,当它开启时,WLAN收发器将避免与蓝牙收发器同时进行传输。

在一些有缺陷的实现中,它认为蓝牙一直在传输,从而完全“静音” WLAN,所以关闭它将允许 WLAN 再次工作。


802.11 蓝牙共存

当 802.11 设备在 2.4 GHz 频段上运行时,802.11 设备和蓝牙可能会相互干扰。所有蓝牙设备都在 2.4 GHz 频段上工作。本节记录了有关干扰原因和驱动程序、802.11 堆栈以及未来可能的增强功能中实施的解决方案的技术细节。

...

干涉

每个 802.11 信道等于 20 个蓝牙信道。当蓝牙设备上启用通信时,如果蓝牙设备跳转到与您的 802.11 信道等同的 20 个蓝牙信道中的任何一个,您都会受到干扰。即使蓝牙设备以每秒 1600 次跳频的最大允许频率速率跳转,也只有 79 个可用信道,因此按照此速率,每个信道每秒将被使用约 20 次。

来源802.11 蓝牙共存


源代码摘录:

/*
 * set bt_coex_active to true, uCode will do kill/defer
 * every time the priority line is asserted (BT is sending signals on the
 * priority line in the PCIx).
 * set bt_coex_active to false, uCode will ignore the BT activity and
 * perform the normal operation
 *
 * User might experience transmit issue on some platform due to WiFi/BT
 * co-exist problem. The possible behaviors are:
 *   Able to scan and finding all the available AP
 *   Not able to associate with any AP
 * On those platforms, WiFi communication can be restored by set
 * "bt_coex_active" module parameter to "false"
 *
 * default: bt_coex_active = true (BT_COEX_ENABLE)
 */

来源:iwl-核心.c


进一步阅读

相关内容