Forum OSx86 - instalacja Mac OS X na PC Strona Główna


 
   
 
Poprzedni temat «» Następny temat
Autor Wiadomość
[Część 6] Fixy dla notebooków/netbooków oraz PC
oswaldini 
Gigabyte stinks !


Pomógł: 226 razy
Wiek: 25
Dołączył: 01 Gru 2009
Posty: 4240
Skąd: Kraków / Brzeszcze
Wysłany: 2010-08-29, 15:48   [Część 6] Fixy dla notebooków/netbooków oraz PC

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
Kod:
    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:
Kod:
If (LEqual (Arg0, 0x05)) {}
         Else
         {

Na samym koncu dodajemy jeszcze "}", który kończy naszą sekcje.

Sekcja zmodyfikowana
Kod:
    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:
Kod:
    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))":
Kod:
            Store (0x99, SMIP)
            Store (One, \_SB.PCI0.PX40.AG3E)

Zostawiamy tylko:
Kod:
            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:
Kod:
    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:
Kod:
Device (PWRB)
        {
            Name (_HID, EisaId ("PNP0C0C"))
            Name (_UID, 0xAA)
            Name (_STA, 0x0B)
        }


Modyfikacja:

_HID zmieniamy na _CID

Sekcja zmodyfikowana:
Kod:
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:

Cytat:
:arrow: NR TYTUŁ (PC: TAK/NIE, NOTE/NET: TAK/NIE)
***ew opis***

Sekcja oryginalna:
Kod:
***


Modyfikacja:

***opis*** / w [code] co dodajemy/usuwamy/zamieniamy

Sekcja zmodyfikowana:
[code]***[/code]
_________________
 10.6.8 | 10.7.2 | P55-GD65 | i7-870 | 2x2GB 1600MHz | XFX 5870 | HDD HD502HJ 500GB & Barracuda 1TB | DVD Sony AD-7261S | AirPort Extreme AR5BXB72 | Dell 2709WFP | TL-WR1043ND DD-WRT  iPhone 3G
Piszę poprawnie po polsku! | Instalacja Snow'a na płytach Asus z serii P5Q | Modyfikacja Snow'a do instalacji na MBR i wypalenia na DVD 4,7GB | Modyfikacja DSDT

DLA OSÓB, KTÓRE NIE POTRAFIĄ CZYTAĆ POWIĘKSZAM TREŚĆ - NIE POMAGAM NA PW, NIE LICZCIE NA ODPOWIEDŹ, NIE MAZAĆ MI SIĘ DO RĘKAWA, ŻE NIE ODPISUJE - MACIE PROBLEM, PISAĆ NA FORUM
 
 
janek202 
No RISC no fun.


Pomógł: 173 razy
Wiek: 21
Dołączył: 26 Lis 2009
Posty: 2721
Skąd: Gliwice
Wysłany: 2010-11-07, 13:43   

: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:
Kod:
                   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:
Kod:
                 /*     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:
Kod:
            If (IGDS)
            {
                \_SB.PCI0.GFX0.GLID (LIDS)
               Notify (\_SB.LID0, 0x80)
            }


Po:
Kod:
            If (IGDS)
            {
                \_SB.PCI0.GFX0.GLID (LIDS)
             //   Notify (\_SB.LID0, 0x80)
            }

W analogiczny sposób modyfikujemy wszystkie odwołania.
_________________
Mac OS X Snow Leopard 10.6.8 (Retail x86_64)|Samsung R510|Magic Mouse
Core 2 Duo T6400 2GHz|4GB DDR2 800MHz|PM45 + ICH9M|GeForce 9200M GS 512MB|ALC262|HM500JJ|Yukon 88E8055|BCM94321MC

Piszę poprawnie po polsku!
Nie pomagam prywatnie przez PW. | Kext Wizard | Chameleon Wizard | HDA Wizard
 
 
Bungo

Pomógł: 3 razy
Dołączył: 24 Cze 2009
Posty: 55
Wysłany: 2010-12-15, 14:30   

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

                    Device (LID0)
                    {
                        Name (_HID, EisaId ("PNP0C0D"))
                        Method (_LID, 0, NotSerialized)
                        {
                            Return (LIDS)
                        }
                    }


Modyfikacja:
Dodajemy ponad Return (LIDS) kod:
Kod:

                            XOr (LIDS, One, Local0)
                            If (Local0)
                            {
                                Notify (SLPB, 0x80)
                            }


Sekcja zmodyfikowana:
Kod:

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

                Device (H_EC)
                {
                    Name (_HID, EisaId ("PNP0C09"))
                    Name (_UID, One)

                                 ...

                    Name (_GPE, 0x17)

                                 ...

                }


Modyfikacja:
Dodajemy pod Name (_GPE, 0x17) kod:
Kod:

                    Name (_PRW, Package (0x02)
                    {
                        0x18,
                        0x04
                    })


który należy skopiować z Device (PWRB) w swojej DSDT
Kod:

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

                    Name (_PRW, Package (0x02)
                    {
                        0x1E,
                        0x04
                    })


Testowałem z powodzeniem wartość 0x03 zamiast 0x04.

Sekcja zmodyfikowana:
Kod:

               Device (H_EC)
                {
                    Name (_HID, EisaId ("PNP0C09"))
                    Name (_UID, One)

                                 ...

                    Name (_GPE, 0x17)
                    Name (_PRW, Package (0x02)
                    {
                        0x18,
                        0x04
                    })

                                 ...

                }
_________________
Snow Leopard 10.6.8
Samsung R780-JS03
(Core i5 520M, 2x4GB DDR3, GeForce GT330M 1GB, Realtek ALC269, WiFi BCM4322 (Dell DW1510), BT BCM2046 (Dell),
LAN Marvel Yukon 88E8059)
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać załączników na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  
 
   

Powered by phpBB modified by Przemo © 2003 phpBB Group - recenzje anime
Template created by Qbs. Template theme based on Unofficial modifications.

Forum użytkowników Mac OS X na PC. Co to jest Hackintosh. Instalacja Mac OS X na PC z płyty Retail. Instalacja i opisy dystrybucji iDeneb, iPC, Kalyway, Leo4ALL, iAtkos.