oswaldini Opublikowano 29 Sierpnia 2010 Zgłoś Udostępnij Opublikowano 29 Sierpnia 2010 Fixy dla notebooków/netbooków oraz PC v1.0 - Pierwsza publikacja 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) 1. Shutdown fix dla Asusa (PC: TAK, NOTE/NET: ?) Dzięki tej modyfikacji nie potrzebujemy EvOReboot/OpenHaltRestart oraz działa usypianie z przycisku Power (trzeba to jeszcze ustawic w Preferencjach systemowych). Modyfikacja przetestowana przeze mnie na P5Q Pro i działa ! Sekcja oryginalna Method (_PTS, 1, NotSerialized) { Store (Arg0, DBG8) PTS (Arg0) Store (Zero, Index (WAKP, Zero)) Store (Zero, Index (WAKP, One)) If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02))) { Sleep (0x0BB8) } Store (ASSB, WSSB) Store (AOTB, WOTB) Store (AAXB, WAXB) Store (Arg0, ASSB) Store (OSFL (), AOTB) Store (Zero, AAXB) } Modyfikacja: Jeżeli nasza skecja nie wyglada tak: Store (Arg0, 0x05) musimy dodać warunek. Po pierwszym "{" w sekcji a przed "Store (Arg0, DBG8)" dodajemy: If (LEqual (Arg0, 0x05)) {} Else { Na samym koncu dodajemy jeszcze "}", który kończy naszą sekcje. Sekcja zmodyfikowana Method (_PTS, 1, NotSerialized) { If (LEqual (Arg0, 0x05)) {} Else { Store (Arg0, DBG8) PTS (Arg0) Store (Zero, Index (WAKP, Zero)) Store (Zero, Index (WAKP, One)) If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02))) { Sleep (0x0BB8) } Store (ASSB, WSSB) Store (AOTB, WOTB) Store (AAXB, WAXB) Store (Arg0, ASSB) Store (OSFL (), AOTB) Store (Zero, AAXB) } } Jeżeli powyższa modyfikacja nie zadziała należy dodać jeszcze modyfikacje nr 3, ktora znajduje się poniżej. 2. Shutdown fix dla Gigabyte (PC: TAK, NOTE/NET: ?) Dzięki tej modyfikacji nie potrzebujemy EvOReboot/OpenHaltRestart oraz działa usypianie z przycisku Power (trzeba to jeszcze ustawic w Preferencjach systemowych). Sekcja oryginalna: Method (_PTS, 1, NotSerialized) { Or (Arg0, 0xF0, Local0) Store (Local0, DBG1) OSTP () If (LEqual (Arg0, 0x05)) { Store (0x99, SMIP) Store (One, \_SB.PCI0.PX40.AG3E) Store (Zero, SLPE) Sleep (0x10) } Else { Store (Zero, \_SB.PCI0.PX40.AG3E) } } Modyfikacja: Usuwamy z sekcji "If (LEqual (Arg0, 0x05))": Store (0x99, SMIP) Store (One, \_SB.PCI0.PX40.AG3E) Zostawiamy tylko: Store (Zero, SLPE) Sleep (0x10) Jeżeli nasza sekcja się różni, usuwamy wszystko z pomiędzy środkowych { } i kopiujemy zawartość przykładu. Sekcja zmodyfikowana: Method (_PTS, 1, NotSerialized) { Or (Arg0, 0xF0, Local0) Store (Local0, DBG1) OSTP () If (LEqual (Arg0, 0x05)) { Store (Zero, SLPE) Sleep (0x10) } Else { Store (Zero, \_SB.PCI0.PX40.AG3E) } } Jeżeli powyższa modyfikacja nie zadziała należy dodać jeszcze modyfikacje nr 3, ktora znajduje się poniżej. 3. Power button fix (PC: TAK, NOTE/NET: TAK) Sekcja oryginalna: Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Name (_UID, 0xAA) Name (_STA, 0x0B) } Modyfikacja: _HID zmieniamy na _CID Sekcja zmodyfikowana: Device (PWRB) { Name (_CID, EisaId ("PNP0C0C")) Name (_UID, 0xAA) Name (_STA, 0x0B) } Jeżeli ktoś ma coś sprawdzonego i PRZETESTOWANEGO bardzo prosze o dopisywanie z kolejnym numerem wg wzoru: NR TYTUŁ (PC: TAK/NIE, NOTE/NET: TAK/NIE)***ew opis*** Sekcja oryginalna: *** Modyfikacja: ***opis*** / w co dodajemy/usuwamy/zamieniamy Sekcja zmodyfikowana: [code]*** Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
janek202 Opublikowano 7 Listopada 2010 Zgłoś Udostępnij Opublikowano 7 Listopada 2010 4. LID Fix (PC: NIE, NOTE/NET: TAK) Ta modyfikacja powoduje wyłączenie usypiania systemu po zamknięciu klapy matrycy. Szczególnie przydatna gdy sleep nie do końca działa poprawnie (przykładowo u mnie podświetlanie ustawia się na 100% i nie da się tego zmienić). Wyszukujemy w IORegistryExplorer ciągu LID. U mnie jest to urządzenie LID0. Sekcja oryginalna: Device (LID0) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { Return (LIDS) } } Modyfikacja: Można w prawdzie usunąć całą sekcję, ale ja polecam ją skomentować. Dzięki temu nie będzie brana pod uwagę podczas kompilacji, ale będziemy mogli łatwo ją przywrócić, na przykład, gdy uda się naprawić problemy ze sleepem. Sekcja zmodyfikowana: /* Device (LID0) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { Return (LIDS) } } */ Ważne jest by skomentować wszystkie odwołania do tej sekcji. Wyszukujemy LID0 i komentujemy wszystkie odwołania odnoszące się do modyfikowanej sekcji: Przykładowe odwołanie: Przed: If (IGDS) { \_SB.PCI0.GFX0.GLID (LIDS) Notify (\_SB.LID0, 0x80) } Po: If (IGDS) { \_SB.PCI0.GFX0.GLID (LIDS) // Notify (\_SB.LID0, 0x80) } W analogiczny sposób modyfikujemy wszystkie odwołania. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bungo Opublikowano 15 Grudnia 2010 Zgłoś Udostępnij Opublikowano 15 Grudnia 2010 5. LID SLEEP Fix (PC: NIE, NOTE/NET: TAK) Jest to jeden z wielu fixów i w przeciwieństwie do poprzedniego powoduje uśpienie systemu po zamknięciu klapy matrycy. Niestety nie pamiętam czyjego jest autorstwa. Wyszukujemy w DSDT ciągu "PNP0C0D". Na ogół jest to urządzenie LID0. Sekcja oryginalna: Device (LID0) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { Return (LIDS) } } Modyfikacja: Dodajemy ponad Return (LIDS) kod: XOr (LIDS, One, Local0) If (Local0) { Notify (SLPB, 0x80) } Sekcja zmodyfikowana: Device (LID0) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { XOr (LIDS, One, Local0) If (Local0) // sprawdzenie czy klapa zamknięta { Notify (SLPB, 0x80) } Return (LIDS) } } [ Dodano: 2010-12-15, 15:10 ] 6. WAKE Fix (PC: ?, NOTE/NET: TAK) Naprawia wybudzenie systemu jeśli po uśpieniu musieliśmy 2- lub więcej razy nacisnąć przycisk zasilania aby wybudzić komputer. Wyszukujemy w DSDT ciągu "PNP0C09". Jest to Embedded Controller i u mnie nazywa się Device (H_EC). Fragment oryginalnej sekcji: Device (H_EC) { Name (_HID, EisaId ("PNP0C09")) Name (_UID, One) ... Name (_GPE, 0x17) ... } Modyfikacja: Dodajemy pod Name (_GPE, 0x17) kod: Name (_PRW, Package (0x02) { 0x18, 0x04 }) który należy skopiować z Device (PWRB) w swojej DSDT Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Name (_PRW, Package (0x02) { 0x18, 0x04 }) } Sekcja Device (H_EC) jest długa, więc wybrałem dla ułatwienia miejsce jak w oryginalnym MBP5,1. Powyższe wartości to przykład działający w Samsungu R510AS02. W Samsungu R780JS03 wygląda to tak: Name (_PRW, Package (0x02) { 0x1E, 0x04 }) Testowałem z powodzeniem wartość 0x03 zamiast 0x04. Sekcja zmodyfikowana: Device (H_EC) { Name (_HID, EisaId ("PNP0C09")) Name (_UID, One) ... Name (_GPE, 0x17) Name (_PRW, Package (0x02) { 0x18, 0x04 }) ... } Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.