Diit.cz - Novinky a informace o hardware, software a internetu

Řešení problému s USB 2.0 a vyšší spotřebou procesoru

USB 2.0 Hi-Speed logo
O faktu, že USB 2.0 zařízení vám mohou snížit výdrž baterie notebooku, pokud zároveň používáte Windows XP, jsme už psali a sami si jej vyzkoušeli. Fascinující přitom je, že existuje způsob, jak tento neduh vyřešit, dokonce o tom v Microsoftu věděli dávno před tím, než se to provalilo v souvislosti s notebooky s procesorem Intel Core Duo. Řešení problému však Microsoft tajil pod pokličkou s nápisem „Premier Support“, patrně proto, že není úplně dokonalé, tedy dotažené do konce. My jsme se po delším váhání rozhodli, že vás s tímto řešením, pokud jej již neznáte, také seznámíme a přidáme pár praktických ukázek, že to skutečně funguje a kdy to nefunguje.

Kapitoly článků

1.  Příčina a řešení chyby

V čem to vězí?

Nejprve si povězme, jak vlastně tento problém vzniká. Chyba je kdesi v USB 2.0 ovladači ve Windows XP. Ten nechává při zapojeném USB 2.0 zařízení (které ani nemusí mít nainstalovaný ovladač nebo může být ve správci zařízení zakázáno) trvale běžet komponentu „asynchronous scheduler“ (asynchronní plánovač), díky čemuž je neustále přistupováno do operační paměti, což má za následek, že procesor nikdy nepřejde do úsporného režimu, známého u procesorů Intel jako C3 (těchto stupňů „spícího“ režimu je více a třeba Intel Core Duo má navíc vedle C4 i DC4 - Enhanced Deeper Sleep, ve kterém vysype L2 cache do operační paměti a přestane ji používat, přesněji kontrolovat její integritu dat). Podobné šetřící režimy však naleznete i u jiných procesorů včetně konkurenčních AMD. Nemáme však nyní na mysli technologie, které snižují dynamicky frekvenci procesoru, jako jsou u Intelu EIST a u AMD Cool’n’Quiet, ty celkem v pohodě fungují i se zapojeným USB 2.0 zařízením. Máme nyní na mysli podobné „polospící“ režimy, jako jsou právě C3 u procesorů Intel. Např. u procesorů AMD Athlon XP-M (případně se to dá i u Athlonů XP) se procesor při nezměněné frekvenci také částečně vypíná, není-li vytížen (prakticky jde o totéž, co „spící“ stavy u procesorů Intel).

Potíž je dále i v tom, že problém se neodstraní pouhým zakázáním USB 2.0 zařízení ve správci zařízení. Dokonce procesor nedostane šanci se přepnout do úsporného stavu ani v případě, že vložené zařízení nemá nainstalován ovladač. Velkým problémem je to pak u některých notebooků Asus (W5F a W5A), které mají integrovánu kameru, jež je vnitřně připojena právě přes USB 2.0 rozhraní. Takovou kameru prostě neodpojíte.

Dlužno dodat, že problém se týká výhradně USB 2.0 zařízení, nikoli USB 1.1. Existují údajně i taková USB 2.0 zařízení, kterých se problém netýká. Ta podporují šetřící režim „Selective Suspend“, který dovolí operačnímu systému je vypnout, nejsou-li právě potřeba. Prý je jich však pomikru.

Řešení: Úprava v registru

Oprava od Microsoftu, která je na veřejně nedostupném „Premier Supportu“ už dobře od loňského července, spočívá v jednoduché úpravě registru a kdosi ji 28. ledna jednoduše přepsal do diskusního fóra na serveru slashdot.com. Stačí ve větvi HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USB vytvořit novou „hodnotu DWORD“, nazvat ji EnIdleEndpointSupport, naplnit číslem 1 a restartovat systém. Kdykoli si USB ovladač po startu systému všimne této položky, deaktivuje v případě vloženého právě nevyužívaného USB 2.0 zařízení „asynchronous scheduler“ a procesor tak může v klidu využívat šetřící C3 a podobné stavy. Pro jednoduchost jsme pro vás připravili úpravu registru, kterou stačí zkopírovat do nového textového souboru, tomu pak změnit příponu na .reg a spustit:

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usb]
"EnIdleEndpointSupport"=dword:00000001

Celá věc má jedinou vadu na kráse, která bude nejvíce překážet právě na noteboocích, kde se tolik hledí na spotřebu. Jakmile přepnete počítač (notebook) do režimu spánku (nebo úsporného režimu) a opět probudíte, oprava přestane fungovat a USB 2.0 zařízení opět zapříčiní zvýšenou spotřebu energie. Na tento problém existují v tuto chvíli dva léky. Jeden z nich je opětovný restart systému. Jakmile systém nastartuje od začátku, bude úprava opět účinná. A se druhým vás v průběhu tohoto povídání ještě seznámíme. Jeho kódové jméno je „trik č. 23“.

Kapitoly článků
1.  Příčina a řešení chyby

WIFT "WIFT" WIFT

Bývalý dlouholetý redaktor internetového magazínu CDR-Server / Deep in IT, který se věnoval psaní článků o IT a souvisejících věcech téměř od založení CD-R serveru. Od roku 2014 už psaní článků fakticky pověsil na hřebík.

více článků, blogů a informací o autorovi

Diskuse ke článku Řešení problému s USB 2.0 a vyšší spotřebou procesoru

Pátek, 19 Červen 2009 - 11:44 | Anonym | čaute a Windows XP Pro/Home s SP3 už mají tento...
Středa, 3 Leden 2007 - 15:22 | MaKrO | Tak jsem zkusil Hotfix a to sem nemel delat...
Středa, 29 Listopad 2006 - 18:21 | DDD | Mas recht:) Vypada to, ze ms zapomnel updatovat...
Pondělí, 27 Listopad 2006 - 18:59 | WIFT | No, já to spíš srovnávám s tím, co mám po...
Pondělí, 27 Listopad 2006 - 17:15 | DDD | WIFT: porovnej datum a verze: http://support....
Pondělí, 27 Listopad 2006 - 12:07 | Anonym | Hmm.. ale ne pro moji jazykovou verzi.. :( (XP...
Pondělí, 27 Listopad 2006 - 11:56 | WIFT | >> DDD: Já bych si tipnul, že ten...
Pondělí, 27 Listopad 2006 - 10:22 | Anonym | samozrejmne od ms nejde stahnout :-(
Neděle, 26 Listopad 2006 - 18:32 | Anonym | stahnout se da zde: http://hotfix.xable.net/...
Neděle, 26 Listopad 2006 - 18:22 | Anonym | tento hotfix je jiz nahrazen jinym - http://...

Zobrazit diskusi