web-dev-qa-db-ja.com

Wifi接続の問題が解決しました。 「修正」が機能する理由

私はサムスンのラップトップを持っていますが、Ubuntu 15.04がインストールされており、13.10からずっとアップグレードされていますが、それは問題ではありません。

問題なく無数のwifiネットワークに接続してきました...つまり、数日前までです。私はクライアントの場所で一時的に働いており、Wi-Fiネットワークにまったく接続できませんでした。すべてのネットワークが確認されましたが、接続を確立できませんでした...

他に誰も問題がなかったので、私は問題が私の終わりにあることを知っていました。

私のカードはこれです:

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

突然、接続に問題がなくなりました...

なぜこれが機能するのですか?このオプションは何をしますか?

15
fge

Wifi接続の問題は解決しましたが、「修正」が機能するのはなぜですか?

Bt_coex_activeを有効にすると、Bluetooth /無線干渉を防止します。無効にすると、Bluetooth /ワイヤレス干渉が増加します。

  • bt_coex_active=1(true)Bluetooth /ワイヤレス干渉を防止します。
  • bt_coex_active=0(false)は、Bluetooth /ワイヤレス干渉を増加させます。

この機能が機能する方法は、オンの場合、無線LANトランシーバーがBluetoothトランシーバーと同時に送信することを回避することです。

バグのある実装では、Bluetoothが常に送信していると見なして、WLANを完全に「ミュート」しているため、オフにすると、WLANが再び機能するようになります。


802.11 Bluetoothの共存

802.11デバイスが2.4 GHz帯域で動作している場合、802.11デバイスとBluetoothは互いに干渉する可能性があります。すべてのBluetoothデバイスは2.4 GHz帯域で動作します。このセクションでは、干渉の原因と、ドライバー、802.11スタック、および将来の機能拡張に実装されるソリューションに関する技術的な詳細について説明します。

...

干渉

各802.11チャネルは、20のBluetoothチャネルに相当します。 Bluetoothデバイスで通信が有効になっている場合、Bluetoothデバイスが802.11チャネルと同等の20のBluetoothチャネルのいずれかにホップすると、干渉が発生します。 Bluetoothデバイスが1秒あたり1600周波数ホップの最大許容周波数レートでホップする場合でも、使用できるチャネルは79しかないため、このレートでは、各チャネルは1秒あたり約20回使用されます。

ソース 802.11 Bluetooth共存


ソースコードの抜粋:

/*
 * 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-core.c


参考文献

15
DavidPostill