sabato 25 giugno 2011

Wireless lenta in modalità batteria

E' un po' di tempo che mi danno su questa cosa ma non avevo avuto un minuto per verificare come potesse essere risolta. Il problema è il seguente: quando tengo l'alimentatore collegato al mio notebook con installata Sabayon Linux, la connessione wireless va che è una meraviglia; quando stacco l'alimentatore e il notebook entra in modalità power-save la connessione diventa inspiegabilmente lenta.
Finalmente, documentandomi un pochino, mi sono reso conto della causa. La colpa è di pm-utils, un pacchetto che è installato di default su Sabayon e che fornisce il framework per la gestione energetica della macchina (tra l'altro viene utilizzato in sostituzione del vecchio hibernate-script). La configurazione responsabile del fastidioso comportamento della scheda di rete è in /usr/lib/pm-utils/power.d/wireless: in pratica, nel momento in cui si passa in modalità power-save, pm-utils attiva il Power Management della scheda wireless. 

Per rendersene conto basta staccare l'alimentatore e dare un


iwconfig | grep "Power Management

Se ottenete un


Power Managementmode:All packets received

allora effettivamente il Power Management è attivo e provoca il rallentamento della connessione.

Ovviamente, modificando un pochino lo script di cui sopra si può impedire che questo avvenga ma francamente preferisco annullarne l'effetto solo quando voglio facendo in modo che quando non ho bisogno di un'altissima velocità tutto rimanga com'è. Per farlo si può semplicemente digitare il comando:


iwconfig power off