web-dev-qa-db-fra.com

Connexion WiFi troubles résolus; Pourquoi mon "correction" fonctionne-t-il?

J'ai un ordinateur portable Samsung, avec Ubuntu 15.04 installé, amélioré jusqu'à 13,10, mais ce n'est pas le problème.

Je me suis connecté à d'innombrables réseaux WiFi au fil du temps sans problème ... c'est-à-dire que, jusqu'à il y a quelques jours. Je travaille temporairement à la place d'un client et je n'ai pas du tout capable de se connecter à des réseaux WiFi. Tous les réseaux ont été vus, je ne pouvais tout simplement pas établir de connexion ...

Comme personne d'autre que moi n'avait eu de problème, je savais que le problème était à ma fin.

Ma carte est ceci:

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

Il utilise le pilote IWLWIFI. Et voici ce que modinfo rapporte comme options:

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)

Par un purs hunch, j'ai modifié le fichier modprobe.d approprié pour ajouter:

options iwlwifi bt_coex_active=0

et tout à coup, je n'ai eu aucun problème à se connecter ...

Pourquoi cela fonctionne-t-il? Que fait cette option?

15
fge

Connexion WiFi Des problèmes résolus, pourquoi mon "correction" fonctionne-t-il?

Lorsque bt_coex_active est activé, il empêche les interférences Bluetooth/sans fil. Lorsqu'il est désactivé, il permettra d'accroître les interférences Bluetooth/sans fil.

  • bt_coex_active=1 (vrai) empêche les interférences Bluetooth/sans fil.
  • bt_coex_active=0 (FALSE) Permet une augmentation des interférences Bluetooth/sans fil.

La manière dont la fonctionnalité fonctionne est que, lorsqu'elle est allumée, l'émetteur-récepteur WLAN évitera de transmettre en même temps que le transcieton Bluetooth.

Dans certaines implémentations de buggy, il pense que le Bluetooth transmet tout le temps de "mettre en sourdine" le WLAN complètement, donc la désactivation permettra à WLAN de fonctionner à nouveau.


802.11 Coexistence Bluetooth

Un périphérique 802.11 et Bluetooth peuvent interférer les uns avec les autres lorsque le périphérique 802.11 fonctionne sur la bande de 2,4 GHz. Tous les périphériques Bluetooth fonctionnent à la bande de 2,4 GHz. Cette section documente les détails techniques concernant les causes d'interférences et de solutions mises en œuvre dans les conducteurs, la pile 802.11 et les éventuelles améliorations futures.

...

Ingérence

Chaque canal 802.11 est alors égal à 20 canaux Bluetooth. Lorsque la communication est activée sur un périphérique Bluetooth, vous obtiendrez des interférences lorsque le périphérique Bluetooth saute sur l'un des 20 canaux Bluetooth équivalents à votre canal 802.11. Même si un périphérique Bluetooth saupouche au taux de fréquence maximal autorisé de 1600 houblon de fréquence par seconde, il n'y a que 79 canaux disponibles, donc à ce taux, chaque canal sera utilisé environ 20 fois en une seconde.

Source 802.11 coexistence Bluetooth


Extrait de code source:

/*
 * 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)
 */

Source: iwl-core.c


En plus de lecture

15
DavidPostill