realmente desabilitar o power save no linux wifi

2

Eu tenho um laptop com Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 34) (usando iwlwifi kernel module). Embora power_save (um parâmetro do módulo) esteja desabilitado, posso ver quadros de controle 802.11 contendo pacotes de gerenciamento de energia notificando o ponto de acesso em que ele vai dormir. O ponto de acesso para de enviar pacotes para o laptop até que ele veja outro pacote do laptop.

Como faço para realmente impedir que o laptop envie pacotes de economia de energia para o ponto de acesso? (Ou, alternativamente, como faço para impedir que o ponto de acesso os honre?)

Tenho certeza de que power_save está desativado, pois quando eu o habilitei, os pacotes de economia de energia são enviados com muito mais frequência (quase a cada segundo).

O ponto de acesso está executando hostapd com um driver ath9k . Tanto o ponto de acesso quanto o laptop estão executando o debian wheezy com o kernel 686-pae 3.2. Eu tentei colocar o driver 3.10 iwlwifi no laptop, mas não há mudança.

EDIT: Eu tentei em outro laptop com outro iwlwifi chipset Intel Corporation Centrino Ultimate-N 6300 (rev 35) e isso não tem exatamente esse problema. Cada pacote de economia de energia é seguido por um pacote nulo de QoS sem economia de energia, portanto, o ponto de acesso presumivelmente para de enviar pacotes por uma fração de segundo.

EDIT: Eu tentei outra placa mini PCIe wifi no primeiro laptop, mas parece estar bloqueada para que outra placa mini PCIe não possa ser detectada pelo SO.

    
por Jayen 21.10.2013 / 22:04

1 resposta

0

Eu dei uma olhada no código fonte do iwlwifi. No cabeçalho iwl-modparams.h existe esse código:

* struct iwl_mod_params
*
* Holds the module parameters
*
* @sw_crypto: using hardware encryption, default = 0
* @disable_11n: disable 11n capabilities, default = 0,
*      use IWL_DISABLE_HT_* constants
* @amsdu_size_8K: enable 8K amsdu size, default = 0
* @restart_fw: restart firmware, default = 1
* @wd_disable: enable stuck queue check, default = 0
* @bt_coex_active: enable bt coex, default = true
* @led_mode: system default, default = 0
* @power_save: disable power save, default = false
* @power_level: power level, default = 1
* @debug_level: levels are IWL_DL_*
* @ant_coupling: antenna coupling in dB, default = 0
*/

Isso sugere que a maneira correta de desativar a economia de energia é

insmod iwlwifi power_save=true

que é exatamente o oposto da saída de modinfo. Eu tentaria.

    
por 22.10.2013 / 07:06