Problemi di connessione Wifi risolti; perché funziona la mia "correzione"?

Ho un computer porttile Samsung, con Ubuntu 15.04 installato, aggiornato fino al 13.10 ma questo non è il problema.

Ho connesso a innumerevoli reti wifi nel tempo senza problemi … Cioè, fino a pochi giorni fa. Sto lavorando temporaneamente in un posto del cliente e non sono riuscito a connettersi a nessuna networking wifi affatto. Tutte le reti sono state viste, non ho potuto stabilire una connessione …

Come nessun altro ma ho avuto problemi, sapevo che il problema era alla mia fine.

La mia carta è questa:

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

Utilizza il driver iwlwifi. E qui è ciò che modinfo riport come opzioni:

 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) 

Da un pugno puro ho modificato il file modprobe.d appropriato da aggiungere:

 options iwlwifi bt_coex_active=0 

e all'improvviso non ho avuto problemi a colbind più …

Perché questo lavoro? Cosa fa questa opzione?

Problemi di connessione Wi-Fi risolti, perché funziona il mio "fix"?

Quando bt_coex_active è abilitato impedisce l'interferenza bluetooth / wireless. Quando è distriggersto, sarà ansible aumentare l'interferenza bluetooth / wireless.

  • bt_coex_active=1 (true) impedisce l'interferenza bluetooth / wireless.
  • bt_coex_active=0 (false) consente una maggiore interferenza bluetooth / wireless.

Il modo in cui funziona la function è che quando è acceso, il ricetrasmettitore wlan eviterà di trasmettere contemporaneamente al transciever bluetooth.

In alcune implementazioni buggy, pensa che il Bluetooth sta trasmettendo tutto il tempo, quindi "muting" completamente la WLAN, per cui spegnerlo permetterà a WLAN di funzionare nuovamente.


802.11 Coesistenza Bluetooth

Un dispositivo 802.11 e Bluetooth possono interferire tra loro quando il dispositivo 802.11 funziona sulla banda di 2,4 GHz. Tutti i dispositivi Bluetooth funzionano a 2,4 GHz. Questa sezione documenta i dettagli tecnici relativi alle cause di interferenze e soluzioni implementate nei driver, lo stack 802.11 e possibili miglioramenti futuri.

interferenza

Ogni canale 802.11 è quindi pari a 20 canali Bluetooth. Quando la comunicazione è abilitata su un dispositivo Bluetooth, si otterrà interferenze quando il dispositivo Bluetooth si accende a uno dei 20 canali Bluetooth equivalenti al canale 802.11. Anche se un dispositivo Bluetooth si avvia alla frequenza massima consentita di 1600 hops di frequenza al secondo, solo 79 canali sono disponibili in modo tale che each singolo canale sarà utilizzato circa 20 volte in un secondo.

Fonte 802.11 Bluetooth coesistenza


Estratto del codice sorgente:

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

Fonte: iwl-core.c


Ulteriori letture

  • Note di coesistenza Bluetooth