USB, notebook e autonomia: nuovi dettagli e un fix

USB, notebook e autonomia: nuovi dettagli e un fix

di Paolo Corsini pubblicata il 14 Febbraio 2006, alle 18:28 nel canale Portatili

“E' stato implementato un fix che risolve in parte i problemi di ridotta autonomia riscontrati con i sistemi notebook con periferca USB collegata”


Nelle scorse settimane abbiamo segnalato, con questa notizia, i risultati di alcuni test effettuati su piattaforme notebook Intel Core Duo, eseguiti utilizzando una periferica USB 2.0 collegata al sistema. La presenza di questa periferica ha generato un consumo anomalo delle batterie, dovuto ad un bug nel driver Microsoft che gestisce la funzione ACPI (Advanced Configuration and Power Interface).

Il sito web Anandtech ha pubblicato, a questo indirizzo, ulteriori analisi che spiegano con ulteriore dettaglio quello che accada nell'utilizzo di un notebook basato su processore Intel Pentium M, non solo del tipo Core Duo quindi, quando viene utilizzata alimentazione a batteria in abbinamento ad una periferica USB. Questi test non solo confermano i risultati iniziali, cioè che l'utilizzo di una periferica USB collegata al sistema porta ad un calo dell'autonomia complessiva, ma fanno emergerepiù chiaramente le cause di questo comportamento anomalo.

Come già segnalato, alla base troviamo un malfunzionamento del driver ACPI (Advanced Configuration and Power Interface) contenuto nel sistema operativo Windows XP. Microsoft è a conoscenza di questo problema, avendo rilasciato delle note nel proprio Knowledge Base article KB899179 del 12 Luglio 2005.

Questa la spiegazione fornita da Microsoft a questo bug:

"Windows XP SP2 installs a USB 2.0 driver that initializes any connected USB device. However, the USB 2.0 driver leaves the asynchronous scheduler component continuously running. This problem causes continuous instances of memory access that prevent the computer from entering the deeper Advanced Configuration and Power Interface (ACPI) processor idle sleep states. These processor idle sleep states are also known as C states. For example, these include the C3 and C4 states. These sleep states are designed, in part, to save battery power. If an otherwise idle portable computer cannot enter or maintain the processor idle sleep states, the computer uses its battery power more quickly than you expect."

In pratica, nel momento in cui al sistema è collegata una periferica USB 2.0, è impedito al processore di utilizzare le modalità di consumo più conservative, meglio note come C states. I livelli C3 e C4 states, e nelle cpu Core Duo di Intel quelle Deep C4, sono quelli ai quali corrisponde il più ridotto consumo. Il problema sembra non limitato alle sole cpu Intel Pentium M, sia a singolo che dual core: mancano test concreti ma essendo una limitazione driver Microsoft potrebbe impattare anche i notebook basatisu processori AMD Athlon 64 e Turion 64.

L'articolo di Anandtech evidenzia una possibile soluzione a questo problema, che implica una modifica al registro di sistema seguendo la procedura di seguito riportata:

  • Click Start, click Run, type regedit, and then click OK.
  • Locate, and then click the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\USB
         Note: If the USB subkey does not exist, create it. To do this, follow these steps:
         a. Select the Services key. On the Edit menu, point to New, and then click Key.
         b. Type USB in the New Key #1 box to name the new key "USB."
  • Right-click USB, point to New, and then click DWORD Value.
  • In the New Value #1 box that appears, type EnIdleEndpointSupport, and then press ENTER.
  • Right-click EnIdleEndpointSupport, and then click Modify.
  • In the Value data box, type 1, leave the Hexadecimal option selected, and then click OK.
  • Quit Registry Editor.

Questo fix funziona nella maggior parte degli scenari di utilizzo, permettendo di sfruttare tutta l'autonomia a disposizione del notebook. Purtroppo smette di operare nel momento in cui il PC viene portato in standby o ibernato, in quanto la chiave di registro viene persa ripristinando il bug; in questo caso si rende necessario riavviare il PC per ripristinare correttamente il fix.

L'articolo di Anandtech, comprendente anche una dettagliata analisi degli incrementi di autonomia ottenibili abilitando il fix, è disponibile a questo indirizzo.


 

Commenti (20)

Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - Info
Per contattare l'autore del pezzo, così da avere una risposta rapida, si prega di utilizzare l'email personale (vedere in alto sotto il titolo). Non è detto che una domanda diretta inserita nei commenti venga verificata in tempi rapidi. In alternativa contattare la redazione a questo indirizzo email.
Commento # 11 di: Dreadnought pubblicato il 15 Febbraio 2006, 00:27

Originariamente inviato da: piffe
Scusate ma basta inserire in un file di testo le informazioni di registro, con tanto di chiave cui le istruzioni puntano e salvare il tutto con estensione .REG.
Facendo doppio click sul file le informazioni verranno ripristinate senza doverle reinserire a mano. Rimane che vada riavviato il PC.

Ciauz!

...o più che altro basta che microsoft implementi meglio i D-States dei vari device...
Commento # 12 di: YYD pubblicato il 15 Febbraio 2006, 08:57

Sul mio Pavillion con Turion 64 ML 40 l'inconveniente non c'è.
La soluzione defintiva e ufficiale di Microsoft è una patch + un aggiornamento del bios. Quando una patch da sola non basta ma bisogna anche aggiornare il bios non si tratta solo di bug software ma anche hardware, credo nascosto a due mani sperando che non scoppi il bubbone. " Capisci a me."
Commento # 13 di: MaelstromRA pubblicato il 15 Febbraio 2006, 09:19

ecco perchè ieri con l'hd usb il mio Centrino stava sempre a 1600...ma me lo faceva anche sotto linux! °_°
Commento # 14 di: riccardosl45 pubblicato il 15 Febbraio 2006, 14:49

Microsoft è a conoscenza di questo problema, avendo rilasciato delle note nel proprio Knowledge Base article KB899179 del 12 Luglio 2005.


Ma quanto ci mettono a risolvere questo bug?

Uno paga la licenza per aspettare sei mesi una patch?
Commento # 15 di: titanix pubblicato il 15 Febbraio 2006, 15:34

Su Tom's Hardware sono andati più avanti...
http://www.tgdaily.com/2006/02/14/m...ower_drain_bug/
Commento # 16 di: marcoland pubblicato il 16 Febbraio 2006, 00:25

Volevo segnalare al Corsini che facendo una ricerca (essendo curioso di natura...) nel registro di XPSP2, tale entrata (EnIdleEndpointSupport) è già presente in alcune sottochiavi di questa chiave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}
relativa appunto al Controller USB.
Penso proprio che si debbano abilitare, almeno ove presenti, anche qui, visto che sono impostate come predefinite al valore DWORD:0x00000000(0)
Oppure aspettare la patch (non ho capito se è già in circolo)
Ciao.
Commento # 17 di: riccardosl45 pubblicato il 16 Febbraio 2006, 10:23

Originariamente inviato da: marcoland
Oppure aspettare la patch (non ho capito se è già in circolo)
Ciao.


Intel spokesperson Connie Brown could not confirm the availability of this fix, although she mentioned that Intel has been evaluating possible solutions "for some time."
Commento # 18 di: mjordan pubblicato il 16 Febbraio 2006, 10:24

Originariamente inviato da: boston2058
Ma veramente nell'articolo dice addirittura che potrebbe impattare su athlon e turion, e pure su i centrino precedentii...mi sembra strano...
adesso sta a vedere che è un problema che hanno tutti i portatili, fin dalla preistoria a momenti...mah


Il problema non è tanto dei portatili quanto dal comportamento del driver, a quanto pare.
Commento # 19 di: mjordan pubblicato il 16 Febbraio 2006, 10:25

Originariamente inviato da: gpc
Beh ed editare manualmente il registro ad ogni avvio sarebbe una soluzione? Allora si fa prima a dire che, per risolvere il bug, basta infilare la presa nella spina...


Nessuno mai infatti ha detto che è una soluzione. E' un semplice workaround in attesa di una soluzione.
Commento # 20 di: mjordan pubblicato il 16 Febbraio 2006, 10:25

Originariamente inviato da: MaelstromRA
ecco perchè ieri con l'hd usb il mio Centrino stava sempre a 1600...ma me lo faceva anche sotto linux! °_°


Quale dovrebbe essere il problema?
Totale commenti: 20
« Pagina Precedente | Pag 2 di 2 | Pagina Successiva »

Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".
Titolo:
Il tuo commento:
La discussione è consultabile anche qui, sul forum.
 
 
 
 

SOCIAL BOX

Consiglia Hardware Upgrade su Google