Вирішені проблеми з підключенням до Wi-Fi; чому моє "виправлення" працює?


15

У мене ноутбук Samsung, з встановленим 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

Проблеми з підключенням до Wi-Fi вирішені, чому функція "виправлення" працює?

Якщо ввімкнено функцію bt_coex_active, вона запобігає перешкодам через Bluetooth / бездротовий зв'язок. Якщо він відключений, це дозволить посилити перешкоди Bluetooth / Wireless.

  • bt_coex_active=1 (правда) запобігає перешкодам через Bluetooth / бездротовий зв'язок.
  • bt_coex_active=0 (помилково) дозволяє збільшувати перешкоди через Bluetooth / бездротовий зв'язок.

Функція роботи полягає в тому, що при включенні трансивер Wlan уникне передачі одночасно з трансивером Bluetooth.

У деяких впроваджених програмах він вважає, що Bluetooth передає весь час, тим самим "приглушуючи" WLAN повністю, тому його вимкнення дозволить WLAN знову працювати.


802.11 Bluetooth співіснування

Пристрій 802.11 та Bluetooth можуть заважати один одному, коли пристрій 802.11 працює в діапазоні 2,4 ГГц. Усі пристрої Bluetooth працюють у діапазоні 2,4 ГГц. У цьому розділі зафіксовані технічні деталі щодо причин перешкод та рішень, реалізованих у драйверах, стека 802.11 та можливих майбутніх удосконалень.

...

Перешкоди

Кожен канал 802.11 тоді дорівнює 20 каналам Bluetooth. Якщо зв’язок увімкнено на пристрої Bluetooth, ви отримаєте перешкоди, коли пристрій Bluetooth переходить на будь-який з 20 каналів Bluetooth, еквівалентний вашому 802.11 каналу. Навіть якщо стрибки пристрою Bluetooth з максимально дозволеною швидкістю 1600 стрибків частоти в секунду доступні лише 79 каналів, тому при такій швидкості кожен канал буде використовуватися приблизно 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


Подальше читання


Я розгублений, коли ви говорите, що значення 0 підвищить перешкоди, тому що саме те, що пропонує бездротова вікі на kernel.org пропонує зробити для вирішення проблеми перешкод: wireless.wiki.kernel.org/en/users/Drivers/ … ; я щось пропускаю?
дефволь

1
@rodowi Прочитайте абзац, починаючи з "У деяких баггі реалізаціях"
DavidPostill
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.