Skocz do zawartości

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


Rekomendowane odpowiedzi

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)

 

:arrow: 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.

 

:arrow: 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.

 

:arrow: 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:

 

:arrow: NR TYTUŁ (PC: TAK/NIE, NOTE/NET: TAK/NIE)

***ew opis***

 

Sekcja oryginalna:

***

 

Modyfikacja:

 

***opis*** / w

 co dodajemy/usuwamy/zamieniamy
 
Sekcja zmodyfikowana:
[code]***

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 miesiące temu...

:arrow: 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.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

:arrow: 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 ]

:arrow: 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
                   }) 

                                ...

               } 

Odnośnik do komentarza
Udostępnij na innych stronach

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ą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie
 Udostępnij

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystanie z tej witryny, wymaga zakceptowanie naszych warunków Warunki użytkowania.