Jump to content
oswaldini

[Część 8] Sprawdzenie działania Power Managmentu (SpeedStep)

Recommended Posts

Sprawdzenie działania Power Managmentu (SpeedStep)

v1.0 - Pierwsza publikacja

v1.1 - Drobne poprawki

 

SPIS TEMATÓW O MODYFIKACJI DSDT:

 

[Cześć 1] Wydobycie DSDT z naszego sprzętu

[Cześć 2] Podstawowe modyfikacje DSDT

[Cześć 3] Sekcja audio w DSDT

[Cześć 4] Modyfikacja sekcji USB

[Cześć 5] Dopisywanie grafiki do DSDT

[Cześć 6] Fixy dla notebooków/netbooków oraz PC

[Cześć 7] Kosmeytka DSDT + Uciszanie kompilatora

[Cześć 8] Sprawdzenie działania Power Managmentu (SpeedStep)

 

 

Musimy zaopatrzyć się w program IORegistryExplorer. Za jego pomocą wyszukujemy gałąź ACPI_SMC_PlatformPlugin i porównaj jej zawartość z tą ze screena. Krótkie wyjaśnienie co się znajduje na poniższym screen'ie:

 

:arrow: 1 - Widoczne są tam dwie wartości:

CPUPLimit - wskazuje czy działa zarządzanie energią, jeśli nie ma tej pozycji, lub ma wartość inną niż 0x0 oznacza że zarządzanie energią nie działa.

CSTInfo (od 10.6.8 zmiana nazwy na AICPMVers) - Czy działają stany CST - wymagane jest działanie LPC aby te stany były aktywne. Jeżeli sekcji nie ma w ogóle należy ją dodać. Modyfikacje sekcji SBRG/LPCB można znaleźć w "[Cześć 2] Podstawowe modyfikacje DSDT"

 

:arrow: 2 - PerformanceStateArray - Pokazuje w ile trybów pracy częstotliwości/napięć może być ustawiony procesor. Muszą być co najmniej dwa stany - 0 i 1. Notebook'i najczęściej mają ich więcej... 4-6

 

download.htm?id=439

 

Odpalanie "Vanillowego Power Managment'u" tą metodą opiera się na bazie poprawnie działających tabel SSDT posiadających poprawne stany PST i CST. Jeżeli stany te nie są wczytywane lub są błędne to do odpalenia SpeedStep'u będziemy musieli dopisać własną sekcję PR w DSDT w oparciu o posiadany procesor. Ale to zagadnienie na osobny temat.

 

Absolutnie wymagane poprawki w DSDT aby opalił SpeedStep ze stanami PST to: HPET, RTC, oraz poprawna identyfikacja komputera w smbios.plist. Wymagane także są włączone opcje w biosie dotyczące SpeedStepu, są to np: C1E Support, CPU TM Function, Intel SpeedStep Tech, Intel C-State Tech. Opcja CPU Ratio Setting musi być ustawiona na AUTO aby SpeedStep działał, a wcześniej wymienione opcje były widoczne !

 

Aby dodatkowo obniżyć temperaturę procesora należy uruchomić stany C-State - a to wymaga załadowanego LPC. Dlatego stosuje się często poprawkę dla LPCB/SBRG wstrzykującą deviceID LPC z maczka. Poprawne załadowanie LPC i poprawna identyfikacja w smbios.plist skutkuje pojawieniem się stanu CSTLimit w ioreg'u.

 

Jeśli nasze opcje w IORegu wyglądają jak na screenie, oznacza to że zarządzanie energią w pełni działa, a przez to temperatury procesora są identyczne z osiąganymi w windows, co przekłada się na mniej wydzielanego ciepła, mniejsze zużycie energii, czyli mniejszy hałas. Właściciele notebooków szczególnie powinni zwrócić uwagę na poprawne uruchomienie SpeedSteep'u ponieważ wydłuża to czas pracy na akumulatorze, często nawet dwukrotnie.

 

Źródła informacji:

http://hamac.pl/topics27/fixy-dsdt-dla-asus-p5w-dh-deluxe-vt857.htm#10700

 

Powyższy poradnik powstał dzięki wiedzy i pomocy 314TeR'a.

 

Dodano 314TeR: UWAGA powyższy poradnik potrzebuje aktualizacji - jest aktualny dla mniej więcej max 10.6.8 i procesorów pre Core i 2-giej generacji. Nowsze systemy i CPU mają inaczej wyświetlane info w IORegu i wymagają innego podejścia.

Share this post


Link to post
Share on other sites
Na nowym konfigu juz tego wpisu nie mam (ta sama grafa), mam za to wpis AGPMController - decysuje on o PM na grafice, jezeli go posiadasz to OK.

Co masz na myśli pisząc "nowy konfig"?

W oryginalnym MBP6,1 jest zarówno GPUPLimit jak i AGPMController, więc sądziłem że jest potrzebny ten wpis. Mój Samsung ma identyczną grafikę (prawie) jak MBP6,1

MBPro61.tif

Share this post


Link to post
Share on other sites

Te pozycje są tylko wtedy, gdy korzysta się z oryginalnego zarządzania energią przy użyciu AppleCPUPowerMangement.

 

VoodooPower działa trochę gorzej niż vanilliowe zarządzanie. Przynajmniej ja miałem wyższe temperatury na tych kextach.

Share this post


Link to post
Share on other sites

Po pierwsze gorzej, a po drugie zdarza mu się czasem panikować przy uruchamianiu systemu, podłączaniu / odłączaniu zasilacza...

Aczkolwiek jak się nie da odpalić natywnego PM, to jest to dużo lepsze niż nic ;)

Share this post


Link to post
Share on other sites

obecnie odpalenie PM to kaszka z mleczkiem, nie mając nawet żadnych opcji w biosie wystarczy tylko pchnąć LPC i dodac wpisy GenerateCState i GeneratePState - przetestowałem na LGA775, 1156 oraz 1366. Działa idealnie nawet przy wyłączonych wszystkich opcjach do PM.

 

Dla przykładu P5Q PRO ma jakiś bug i po zastosowaniu procka 4-ro jajowego znika jedna opcja w biosie przez co nie da sie osiągnąć PM. Kiedyś trzeba by dopisać całą sekcje procesora do DSDT, dzisiaj jak już pisałem wystarczą odpowiednie wpisy i odpalenie LPC o ile samo nie odpala !

Share this post


Link to post
Share on other sites
obecnie odpalenie PM to kaszka z mleczkiem, nie mając nawet żadnych opcji w biosie wystarczy tylko pchnąć LPC i dodac wpisy GenerateCState i GeneratePState - przetestowałem na LGA775, 1156 oraz 1366. Działa idealnie nawet przy wyłączonych wszystkich opcjach do PM.

 

Dla przykładu P5Q PRO ma jakiś bug i po zastosowaniu procka 4-ro jajowego znika jedna opcja w biosie przez co nie da sie osiągnąć PM. Kiedyś trzeba by dopisać całą sekcje procesora do DSDT, dzisiaj jak już pisałem wystarczą odpowiednie wpisy i odpalenie LPC o ile samo nie odpala !

 

Witam,

 

miałbym do Ciebie prośbę abyś trochę jaśniej opisał:

- pchnąć LPC, (jak ot sprawdzić czy działa)

- dodać wpisy GenerateCState i GeneratePState

 

Czy przy tej metodzie nie jest wymagane paczowanie DSDT? Jakie opcje w com.apple.Boot (DropSSDST... itp) Jakie wpisy w smbios.plist (SMbiosversion, SMproductname, itp... ) i czy zależne od typu procka (mój i5-560M).

 

Jeśli możesz to napisz jakieś krok po kroku jak to odpalić.

 

Staram się od paru dni odpalić vanilla AppleIntelCPUPowerManagement na 10.6.6 i zawsze kernel panic :(

 

Mój sprzęt: Asus U30JC, i5-560M, 4GB RAM

 

 

Z góry dziękuję i pozdrawiam,

fingerr.

Share this post


Link to post
Share on other sites

Pchnąć LPC = zrobić stosowną poprawkę w DSDT, która podmienia DeviceID LPC.

 

dodać wpisy CST PST = dodać je (GeneratePStates=Yes i GenerateCStates=Yes) do apple.com.Boot.plist, a resztę załatwia Chameleon. Bez tego, w przypadku kopmuterów gdzie nie ładowały się poprawnie owe stany procesora, trzeba było dopisywać wszystko ręcznie jako nową sekcję procesora (dość uciążliwe i czasochłonne).

 

Uruchomienie natywnego PM zawsze wiąże się z poprawianiem DSDT. Tylko tych poprawek może być mniej lub więcej, zależnie od sprzętu, biosu...

 

SMBIOS należy dobrać wg. konfiguracj jaką posiadasz. Przede wszystkim chodzi o identyfikację typu maszyny - przykłądy działających:

MacPro3,1
MacBookPro5,1
iMac11,1

SMbiosversion wynika z identyfikacji sprzętu, a reszta to już kosmetyka.

 

Jeśli masz pytania związane konkretnie ze swoim sprzętem, to pytaj w odzielnym wątku. W takim wypadku podaj konfigurację wg poradnika (link np. w mojej stopce).

Share this post


Link to post
Share on other sites
Pchnąć LPC = zrobić stosowną poprawkę w DSDT, która podmienia DeviceID LPC.

 

dodać wpisy CST PST = dodać je (GeneratePStates=Yes i GenerateCStates=Yes) do apple.com.Boot.plist, a resztę załatwia Chameleon. Bez tego, w przypadku kopmuterów gdzie nie ładowały się poprawnie owe stany procesora, trzeba było dopisywać wszystko ręcznie jako nową sekcję procesora (dość uciążliwe i czasochłonne).

 

Uruchomienie natywnego PM zawsze wiąże się z poprawianiem DSDT. Tylko tych poprawek może być mniej lub więcej, zależnie od sprzętu, biosu...

 

SMBIOS należy dobrać wg. konfiguracj jaką posiadasz. Przede wszystkim chodzi o identyfikację typu maszyny - przykłądy działających:

MacPro3,1
MacBookPro5,1
iMac11,1

SMbiosversion wynika z identyfikacji sprzętu, a reszta to już kosmetyka.

 

Jeśli masz pytania związane konkretnie ze swoim sprzętem, to pytaj w odzielnym wątku. W takim wypadku podaj konfigurację wg poradnika (link np. w mojej stopce).

 

Wielkie dzięki za info. Niestety nie mogę skompilować niezmodyfikowanego dsdt.dsl (ponad 200 błędów kompilacji...)

Założyłem nowy temat http://hamac.pl/topics36/speedstep-na-a ... vt3875.htm może ktoś już walczył z tym notkiem.

 

p.s.

Może za jakiś czas ktoś wymyśli jak podmienić/pchnąć LPC z poziomu com.apple.Boot :)

 

-- EDIT

Jeszcze jedno pytanie: czy wpisy w IOregu CPUPLimit i CSTInfo są widoczne tylko przy załadowanym AppleIntelCPUPM.kext? Chodzi mi o sprawdzenie czy system jest 'PM ready' :) Jak wrzuce AppleIntelCPUPM i dostaje KP to musze odpalac z plytki instalacyjnej zeby usunac tego kext'a a to chwile trwa ...

 

-- EDIT 2

Udało się... Wygląda że moim przypadku wpis GraphicsEnabler ustawiony na Yes w com.apple.Boot powodował całe zamieszanie...

 

Przy okazji, czy "poprawne załadownie" LPC można zweryfikować tylko po widoczności opcji restart on power failure w ustawieniach 'Power Settings'?

Podziękowania za pomoc.

 

Pozdrawiam,

fingerr

Share this post


Link to post
Share on other sites

Do sprawdzania działania Power Managementu można także użyć programu SMC Monitor.

http://www.insanelymac.com/forum/index.php?showtopic=247185

Pokazuje on częstotliwość nie tylko CPU, ale także GPU.

Mogą być potrzebne odpowiednie pluginy do FakeSMC stąd:

http://www.projectosx.com/forum/index.php?showtopic=1643

post-702-13904296011097_thumb.png

Share this post


Link to post
Share on other sites
chciałem dodać CST/PST do chameleona aby pozabyć się NullCPUPowerManagement oraz SleepEnabler.
Najpierw pozbywasz się NullCPUPowerManagement oraz SleepEnabler, a dopiero potem sprawdzasz, czy SpeedStep ruszył. Jeszcze wcześniej zajmujesz się DSDT.

Share this post


Link to post
Share on other sites

Pozbyłem się NullCPUPowerManagement oraz SleepEnabler, w IOReg'u bez zmian. Jakie to fixy do DSDT mogłyby mi pomóc?

 

EDIT: Teraz to już kompletnie zbaraniałem... Działa mi sleep bez SleepEnabler'a tylko nie wstaje przy PowerButton

Skąd mam wiedzieć czy potrzebny mi NullCPUPowerManagement?

Share this post


Link to post
Share on other sites

Mam coś takiego i gdzie mam wstawić poprawkę?

 

Device (LPC) 
           { 
               Name (_ADR, 0x001F0000) 
               OperationRegion (LPC0, PCI_Config, 0x40, 0xC0) 
               Field (LPC0, AnyAcc, NoLock, Preserve) 
               { 
                           Offset (0x20), 
                   PARC,   8, 
                   PBRC,   8, 
                   PCRC,   8, 
                   PDRC,   8, 
                           Offset (0x28), 
                   PERC,   8, 
                   PFRC,   8, 
                   PGRC,   8, 
                   PHRC,   8, 
                           Offset (0x40), 
                   IOD0,   8, 
                   IOD1,   8, 
                   CMA0,   1, 
                   CMB0,   1, 
                   LP0E,   1, 
                   FDDE,   1, 
                           Offset (0x44), 
                   DIO1,   16, 
                   RIO1,   8, 
                           Offset (0x60), 
                       ,   7, 
                   C4O3,   1
               } 

               OperationRegion (PRR0, PCI_Config, 0x60, 0x04) 
               Field (PRR0, AnyAcc, NoLock, Preserve) 
               { 
                   PIRA,   8, 
                   PIRB,   8, 
                   PIRC,   8, 
                   PIRD,   8
               } 

               OperationRegion (PRR1, PCI_Config, 0x68, 0x04) 
               Field (PRR1, AnyAcc, NoLock, Preserve) 
               { 
                   PIRE,   8, 
                   PIRF,   8, 
                   PIRG,   8, 
                   PIRH,   8
               } 

               OperationRegion (PRR2, PCI_Config, 0x80, 0x02) 
               Field (PRR2, AnyAcc, NoLock, Preserve) 
               { 
                   IODL,   8, 
                   IODH,   8
               }

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.