Skocz do zawartości

haMac.pl używa cookie. Przeczytaj Privacy Policy aby dowiedzieć się więcej. Aby usunąć tę wiadomość, proszę kliknąć w przycisk po prawej:    Akceptuję użycie cookie

Zdjęcie

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


  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 oswaldini

oswaldini
  • Moderators
  • 10537 postów
  • LocationBrzeszcze / Kraków

Napisano 29 sierpień 2010 - 14:48

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]***


MacBook Pro 2012 MD103 15" | i7-3615QM | 8 GB RAM | HD4000 + GT650M | Samsung 830 256 GB
Hack Gigabyte H81N | i5-4460 | 16 GB RAM | HD4600 | 250 GB macOS + 500 GB + 1 TB | Raijintek Metis | SFX-L 500W | WiFi
HomeSerwer: HP G7 N54L | 2.2GHz (800-2200Mhz) | 4GB RAM | 2x WD RED 2TB | Synology DSM 6.0.2 @ Jun's bootloader | Time Machine + PLEX + CouchPotato + SickRage + masa innych

iPhone 7 32GB Black
FlagaPL.gif Piszę poprawnie po polsku! | CloverEFI | Nie pomagam na PRIV


#2 janek202

janek202
  • Moderators
  • 3008 postów

Napisano 07 listopad 2010 - 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:
                   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.

Sierra|Gryphon Z87|i5-4670K|16GB RAM|GTX 1070
Sierra|MacBookPro12,1
Kext Wizard|Chameleon Wizard|HDA Wizard


#3 Bungo

Bungo
  • Members
  • 56 postów

Napisano 15 grudzień 2010 - 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:

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

...

}

Mavericks 10.9.5
Samsung R780-JS03PL
(Core i5 520M i7 640M, 8GB 
(2x4) DDR3, GeForce GT330M 1GB, Realtek ALC269, WiFi BCM4322 (Dell DW1510), BT BCM2046 (dongle), LAN Marvel Yukon 88E8059 - nie działa)





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych