Jump to content
jaco1771

Asus K73SV - doskonalenie instalacji

Recommended Posts

Witam. Zainstalowałem macOS Sierra 10.12.6 na moim laptopie Asus K73SV. Instalacja z wykorzystaniem uniBootX. Proszę o pomoc w rozwiązaniu problemów, które wymienię poniżej. Aktualnie najistotniejsze dla mnie problemy to dźwięk i moc procka. Po nich zajmę się resztą. Laptop pracuje na zintegrowanej HD3000 (512mb). nVidia została wyłączona patchami. Załączam mój folder z config.plist i kextami pod K73SV.

 

Asus K73SV

- Intel i5 2410m Sandy Bridge

- 8 GB RAM

- Intel HD3000 + nVidia GeForce GT 540m 1GB. Karta nVidii w technologii optimus bez możliwości wyłączenia jej w BIOS

- Intel HM65 Chipset

- HDA ALC269

- Dysk 1: SSD 128GB z windows 7; Dysk 2: HDD 500GB z macOS Sierra 10.12.6

 

Aktualnie zmagam się z:

- Brak audio. Próbowałem włączyć dźwięk, wg instrukcji AppleALC.kext + Lilu.kext + Inject Layout ID (wypróbowane wiele ID). Dodatkowo próbowałem zaznaczać/odznaczać FixHDA w config.plist. Nic nie skutkuje

- Procesor wg producenta ma 2.3 GHz (2.9 GHz turbo boost); 2 rdzenie, 4 wątki. Na hackintoshu 2 rdzenie, 2 wątki i 2.3 GHz bez turbo

 

Inne problemy:

- Brak internetu po kablu (WIFI działa)

- Czytnik kart nie działa

- Bluetooth nie działa

K73SV.zip

Share this post


Link to post
Share on other sites

witam

 

posiadam laptop o bardzo bliskiej specyfikacji k53 sv  

- odnośnie audio , u mnie wymogiem jest aktywacja fixhda oraz fix hpet , oraz w opcji devices /inject audio 3- kexty masz właściwe dot audio

a pozostałe nie wszystkie właśćiwe lub do wyrzucenia jak np tymczasowy nullcpupowermanagement

- odnośnie wi-fi , najlepiej sprawdza się patch w dsdt - jak będziesz miał dsdt to mogę podesłać - mam tą samą karte wi-fi

-odnośnie czytnika kart , - prawdopodobnie nie będzie działał 

Zastanawiam się nad mnóstwem patchy i fixów które raczej są niepotrzebne ponieważ ten laptop nie jest aż 

tak bardzo wymagający .

Istotną sprawą jest wygenerowanie ssdt.aml dot procesora ale najważniejsze dsdt.aml które trzeba skonfigurować tzn , wyświetlanie , wi-fi , wyłączenie nvidii itp .

wszystko jest  opisane  na forum , nie mniej jednak każdy komputer to swego rodzaju indywiduum 

 

dla przykładu dodaje mój config

config.plist.zip

Share this post


Link to post
Share on other sites

Dzięki za odpowiedz, która sporo wnosi. Jutro po pracy zabiorę się za DSDT.aml i podeślę moje SSDT.aml. Mógłbyś podrzucić linki do konkretów z forum bo przewaliłem trochę i nie znalazłem, np. jak wyłączyć nVidię i jak zrobić wifi.

Share this post


Link to post
Share on other sites

Dzięki za odpowiedz, która sporo wnosi. Jutro po pracy zabiorę się za DSDT.aml i podeślę moje SSDT.aml. Mógłbyś podrzucić linki do konkretów z forum bo przewaliłem trochę i nie znalazłem, np. jak wyłączyć nVidię i jak zrobić wifi.

wi-fi I wyłączenie nvidii można uzyskać przez dodanie odpowiednich patch do dsdt .

Na forum znajdziesz jak wygenerować  ssdt i wrzucamy bez konfiguracji

do  clovera czy unibootx katalogu acpi /patched ,

natomiast dsdt  po konfiguracji również do tegoż katalogu

 

http://hamac.pl/topic/1411-część-1-wydobycie-dsdt-z-naszego-sprzętu/

temat dsdt aktualny w końcowych postach

 

 

https://github.com/Piker-Alpha/ssdtPRGen.sh

generowanie SSDT- info.zip

Share this post


Link to post
Share on other sites

Parę uwag:

Ten CPU NIE wymaga generowanie tabel SSDT dla PM, bo macOS w ogóle dla tego CPU NIE korzysta z XCPM a starego PM zawartego w AppleIntelCPUPM. Aby odpalić PM prawdopodobnie trzeba dobrze poprawić DSDT, ASUSy lubiły mieć tak skonstruowane DSDT, z HPET różnie się zachowuj w zależności jaki system zostanie wykryty. macOS nie ma ma zdefiniowanego w DSDT, bo jak i dlatego dla macOS należy dodać do metody OSI pozycję "Darwin" i najlepiej wskazać (poeksperymentować), którego Windows emulować. Trzeba popatrzeć w kod i jak ktoś ma choć podstawową smykałkę logicznego myślenia to będzie wiedział z którego Windows podstawić wpisy do Darwina.

 

Jak tabele od PM w BIOS (różne SSDT) nie są do końca prawidłowe, to warto użyć "dropu" i wygenerować je z poziomu Clovera - on sobie świetnie radzi z tym.

 

Tu macie też fajne configi bazowe do laptopów, można wziąć np zestaw z UniBootX dla najbliższego sprzętu, np Z68 dla Sandybridge i podstawić config z poniższego linku:

http://hamac.pl/topic/10243-konfiguracja-grafiki-intel-hd-clover-na-laptopie/

Share this post


Link to post
Share on other sites

Załączam czyste DSTD i SSDT.

witam 

 

 każdy komputer tak jak pisałem to indywiduum mimo podobnej specyfikacji i trzeba szukać odpowiednich łat .

- dsdt dość znacznie różni się od mojego i nie mam możliwości zainicjowac w/wym dot  nvidii  w dsdt .

trzeba szukać na forach być może innych możliwości i wzorować się rozwiązaniami posiadaczy tego konkretnie typu laptopa

natomiast ssdt trzeba wygenerować tak jak opisałem w załączniku za pomocą terminala , lub zdać się na automat jak napisał wcześniej admin

 

załączam kext do uruchomienia lan ponieważ omyłkowo myślałem o nie działającym wi-fi co zdarza się najczęściej

realtek.zip

Share this post


Link to post
Share on other sites
natomiast ssdt trzeba wygenerować tak jak opisałem w załączniku za pomocą terminala

 

To jest zupełnie zbędny etap - macOS dla tej rodziny CPU NIE korzysta z tej tabeli. Możesz i milion sobie ich wygenerować, ale i tak nic nie będzie ich używać. Aby mieć pełne PM trzeba poprawić DSDT i tylko jak fabryczne tabele są skopane, dopiero włączyć generowanie tabel SSDT z poziomu clovera.

Share this post


Link to post
Share on other sites

To jest zupełnie zbędny etap - macOS dla tej rodziny CPU NIE korzysta z tej tabeli. Możesz i milion sobie ich wygenerować, ale i tak nic nie będzie ich używać. Aby mieć pełne PM trzeba poprawić DSDT i tylko jak fabryczne tabele są skopane, dopiero włączyć generowanie tabel SSDT z poziomu clovera.

Szukam po internetach i znajduję strzępy informacji odwołujące do innych działów różnego rodzaju forów, gdzie i tak nie znajduję konkretnych przykładów. Gdzieś ktoś wspomina o funkcji "Darwin", ale odsyła w inne miejsce, gdzie tak naprawdę znajduje się jedynie plik z patchem, który w moim przypadku coś psuje lub nie działa. Byłbym wdzięczny za wszelkie porady, pokroju: "...jak krowie na rowie" lub odesłanie do konkretnych GUIDów, instrukcji itp. Chciałbym doprowadzić mój hac do stanu, gdy będzie głównym systemem do użytku na codzień. 

Share this post


Link to post
Share on other sites

Nie odeśle Ci do konkretnych poradników „jak krowie na rowie” bo zwyczajnie nie znam. Kiedyś dawno temu analizowałem podobne dsdt z tych asusow tam trzeba było poprawić właśnie nie HPET a metodę OSI aby poprawne moduły funkcji HPET były zwracane. Jak nie ogarniesz HPET to PM nie ruszy.

Share this post


Link to post
Share on other sites

Moje sekcje _OSI:

>>>>>>>>>>>>>>>>>>>>1<<<<<<<<<<<<<<<<<<<<

 {
            Store (0x07D0, OSYS)
            If (CondRefOf (\_OSI, Local0))
            {
                If (\_OSI ("Linux"))
                {
                    Store (0x03E8, OSYS)
                }


                If (\_OSI ("Windows 2001"))
                {
                    Store (0x07D1, OSYS)
                }


                If (\_OSI ("Windows 2001 SP1"))
                {
                    Store (0x07D1, OSYS)
                }


                If (\_OSI ("Windows 2001 SP2"))
                {
                    Store (0x07D2, OSYS)
                }


                If (\_OSI ("Windows 2001.1"))
                {
                    Store (0x07D3, OSYS)
                }


                If (\_OSI ("Windows 2006"))
                {
                    Store (0x07D6, OSYS)
                }


                If (\_OSI ("Windows 2009"))
                {
                    Store (0x07D9, OSYS)
                }
            }
        }
>>>>>>>>>>>>>>>>>>>>2<<<<<<<<<<<<<<<<<<<<
         
 {

                If (\_OSI ("Windows 2001"))
                {
                    Store (OSXP, OSFG)
                }


                If (\_OSI ("Windows 2001 SP1"))
                {
                    Store (OSXP, OSFG)
                }


                If (\_OSI ("Windows 2001 SP2"))
                {
                    Store (OSXP, OSFG)
                }


                If (\_OSI ("Windows 2006"))
                {
                    Store (OSVT, OSFG)
                }


                If (\_OSI ("Linux"))
                {
                    Store (OSEG, OSFG)
                }


                If (\_OSI ("Windows 2009"))
                {
                    Store (OSW7, OSFG)
                }


                Return (OSFG)
            }
Sekcje HPET:
>>>>>>>>>>>>>>>>>>>>HPET<<<<<<<<<<<<<<<<<<<<
              
Device (HPET)

                {
                    Name (_HID, EisaId ("PNP0103"))
                    Name (_UID, 0x00)
                    Name (BUF0, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            )
                    })
                    Method (_STA, 0, NotSerialized)
                    {
                        If (LGreaterEqual (OSYS, 0x07D1))
                        {
                            If (HPAE)
                            {
                                Return (0x0F)
                            }
                        }
                        Else
                        {
                            If (HPAE)
                            {
                                Return (0x0B)
                            }
                        }


                        Return (0x00)
                    }


                    Method (_CRS, 0, Serialized)
                    {
                        If (HPAE)
                        {
                            CreateDWordField (BUF0, 0x04, HPT0)
                            If (LEqual (HPAS, 0x01))
                            {
                                Store (0xFED01000, HPT0)
                            }


                            If (LEqual (HPAS, 0x02))
                            {
                                Store (0xFED02000, HPT0)
                            }


                            If (LEqual (HPAS, 0x03))
                            {
                                Store (0xFED03000, HPT0)
                            }
                        }


                        Return (BUF0)
                    }
                }
 
Szczerze, nie znam się za bardzo na temacie. Jeśli ktoś potrafi to rozgryźć i zasugerować jakie modyfikacje pod PM mam tu popełnić byłoby super.

Share this post


Link to post
Share on other sites

Tak jak przypuszczałem, w zależności co zwraca (podstawiane jest) w OSYS inaczej zachowuje się HPET.

Dodaj do OSI:

                If (\_OSI ("Darwin"))
                {
                    Store (0x07D9, OSYS)
                }

Np zaraz pod wisami do Windows 2009 i powinno rozwiązać temat.

HPET powinien się prawidłowo ładować i nie trzeba będzie patchy w cloverze do niego. Wiele sprzętu może po prostu zacząć też działać.

Share this post


Link to post
Share on other sites

Wprowadziłem zmiany. Co się udało: system pozbawiony NullCPUPM.kext startuje bez kernel panic. PM nadal nie działa. Nadal wyświetlane są 2 rdzenie/2 wątki zamiast 2/4 i brak turbo boost. Procek pracuje na max 2,3GHz (powinien dobić do 2,9GHz z tubo). Myślę, że teraz to już kwestia ustawienia config.plist. Czy powinienem pozaznaczać jakieś szczegółowe punkty, typu dropOEM=true, C-states, P-states? Próbowałem różnych kombinacji i dostawałem jedynie kernel panic. Czy może powinienem dociągnąć SSDT i je zmodyfokować w jakiś sposób? Dodam, że dodatnie wydropionych SSDT.aml z clovera (po dodaniu "Darwin") do folderu patched powoduje kernel panic, jak w przypadku, gdy brak jest NullCPUPM.kexta.

Share this post


Link to post
Share on other sites

w moim przypadku. - dropOEM=true, C-states, P-states objawia się wyższą temp proc o ok 8 st  , to fakt który testowałem już w różnych konfiguracjach.

- jeśli jesteś chociaż testowo zdecydowany wygenerować ssdt to trzeba to zrobić metodą pickera w terminalu , ssdt wygenerowane przez clovera ma wartość poglądową w przeciwieństwie do dsdt które można zmodyfikować i wrzucić do clovera , w ssdt nie ma potrzeby w przypadku tej specyfikacji i wygenerowane w/wym metodą dokonywania jakichkolwiek zmian , przy czym posiadając ssdt odznacz wszystkie wartości w config

mające związek z procesorem jak również drop tables ,w której natomiast nie mając ssdt powinna być wprowadzona wartość cpu0ist by 

nie mieć kernel panic

------

apropo poprawki związanej z OSYS - posiadałem takową win7 która jest odpowiednikiem mojego laptopa ale żaden sposób narazie nie pozwolił mi

pozbyć się hpet , niemniej jednak określone modyfikacje dsdt są rezultatem działających stanów procesora odpowiedniej temp i działającego sleep

ale niestety po wybudzeniu mam problem z wyświetlaniem i brakiem audio , - drąże temat ale to już tylko szlif który nie przeszkadza tylko nurtuje

Share this post


Link to post
Share on other sites

](*,)

 

Zaczynam walić głową w mur - napisałem już Wam 2 razy w tym wątku, że generowanie tabel SSDT dla tego CPU jest zbędne - powtórzę ostatni raz:

 

Procesory z rodziny Sandy Bridge NIE korzystają z PM zawartego w kernelu (XCPM), a z PM obsługiwanego przez AppleIntelCPUPM. Jak dostajecie KP z AppleIntelCPUPM i musicie stosować NULLCPU - no to wreszcie zacznijcie wyciągać logiczne wnioski i jeśli panikuje AICPM z powodu błędnego HPET w DSDT, to tego DSDT nie naprawicie tabelą SSDT z stanami APSS i ACST wygenerowaną skryptem pike'a, bo zwyczajnie macOS - powtórzę ostatni raz - z niej NIE korzysta! :!:

 

 

W notebookach ASUSa z tego okresu jest BARDZO ważne, wręcz NAJISTOTNIEJSZE prawidłowe poprawienie DSDT. Mają one uzależnione zachowanie DSDT a przez to połowy sprzętu w zależności jaki system rozpozna metoda OSI. Brak rozpoznawania w metodzie OSI powoduje, że połowa, lub więcej sprzętu nie działa prawidłowo.

 

 

Jak odpalić prawidłowo PM dla tego sprzętu:

1. Poprawione DSDT - dodane rozpoznawania Darwin do metod OSI i/lub np OSYS - może być tego więcej, najlepiej cofać się od sekcji HPET i dokładnie analizować.

2. Usunięte wszelkie blokady DSDT - np nullcpu

3. Jak nie działa poprawnie PM na tabelach SSDT zawierające stany PSS i CST z BIOS, to najprościej użyć drop - ale TYLKO tabel SSDT zawierających sekcje PM i poprawienie ich ręcznie (najlepiej) lub włączenie generowanie stanów w cloverze - generowanie PSS i CST działa dobrze w Cloverze i działa dla CPU do Core trzeciej generacji włącznie czyli ivy bridge (Wy macie 2-gą generację).

 

 

Działanie PM sprawdzajcie programem Intel Power Gadget - to jedyny znany mi program który prawidłowo pokazuje stan procesora - podaje pobór prądu, częstotliwość i temperaturę. Paradoksalnie temperatury wcale nie muszą być niższe, niższe mogliście mieć bp np PM był zablokowany i CPU w ogóle się nie wkręcał i wciąż tkwił na podstawowych np 800MHz.

 

 

 

Jak zacząć - linki do bazowych configów dostaliście, lub możecie wziąć config z UniBootX dla Z68 - w nich sekcje dotyczące PM są prawidłowo ustawione i włączone jest generowanie stanów PSS i CST aby PM działał na tych CPU.

 

PS ostatni raz - zapomnijcie o tabelach pike'a dla tego CPU - ssdt a APSS i ACST były potrzebne tylko dla CPU od 4-tej generacji Haswell i wyżej i tylko dla starszych systemów, od jak pamiętam 10.11 (a w 10.12 na pewno) nawet i ich już nie trzeba, bo kernel sam ogarnia temat stanów CPU.

Share this post


Link to post
Share on other sites

Niezbyt mam ostatnio czas na zabawy z moim hackintoshem, jednak aktualizuję, czego dokonałem na dzień dzisiejszy. Działa:

- Touchpad. Osobiście wyłączyłem go z poziomu BIOS ze względu na brak gestów - taka proteza "myszki" jest mi zwyczajnie nie potrzebna.

- USB bez jakichkolwiek kextów, modyfikacji DSDT, czy modów w config.plist.

- WiFi.

- Ethernet.

- Bluetooth.

- Sleep po zamknięciu klapy.

- Dźwięk, jak i minijack działają bezbłędnie (AppleALC).

- PM. Tak, jak 314TeR napisał, najistotniejsze jest dodanie "Darwin" do _OSI. Dodatkowo konieczne jest dodanie fixHPET do config.plist lub ręczna poprawa sekcji HPET w DSDT. SSDT wygenerowane skryptem Pike'a - jest OK. Clover generuje dobre SSDT dotyczące PM. Mimo wszystko korzystam z Pike'owego, gdyż jest to jeden SSDT.aml, a nie 5 różnych z clovera i PM na obu działa identycznie. Wpis w IORegu dotyczący PM jest prawidłowy z prawidłową liczbą stanów procka.

- Monitor podpięty pod HDMI i VGA.

 

A teraz mniej przyjemny temat - nie działa:

- Wskaźnik baterii. Nawet nie próbowałem tego reperować bo zwyczajnie jest mi to nie potrzebne. Laptop ma jakieś >6 lat, bateria też, stąd bateria została wyjęta, a lapek ciągle podpięty pod zasilanie. Taki stan rzeczy mi obecnie odpowiada.

- Sterowanie jasnością w ustawieniach ekranu. Do załatwienia paczem w DSDT.aml. Pacz przeze mnie przetestowany i działa prawidłowo. Jednak nie używam, gdyż bezproblemowo działa sterowanie jasnością spod Fn+F5/F6.

- NAJWAŻNIEJSZE: po licznych próbach z fixami i patchami, shutdown lub sleep skutkuje tym, że wentylatory w Laptopie nadal pracują - komp nie wyłącza się do końca, a po sleepie ekran jest czarny. To ostatni kłopot, jaki chcę rozwiązać. Będę wdzięczny za wszelką pomoc.

 

Załączam najnowszy folder z clovera pod Asusa K73SV.

K73SV_v4.1.zip

Share this post


Link to post
Share on other sites

- PM. Tak, jak 314TeR napisał, najistotniejsze jest dodanie "Darwin" do _OSI. Dodatkowo konieczne jest dodanie fixHPET do config.plist lub ręczna poprawa sekcji HPET w DSDT.

Odpowiednie zmodyfikowanie OSI załatwia sprawę i NIE trzeba dodawać FixHPET, które może paradoksalnie uwalać prawidłowe działanie, ponieważ sekcje TMR, RTC i HPET przestają być spójne, więc albo popraw porządnie DSDT, ale je wywal w cholerę i jedź na protezie FixHPET która nie działa zawsze. 

 

SSDT wygenerowane skryptem Pike'a - jest OK. Clover generuje dobre SSDT dotyczące PM. Mimo wszystko korzystam z Pike'owego, gdyż jest to jeden SSDT.aml, a nie 5 różnych z clovera i PM na obu działa identycznie. Wpis w IORegu dotyczący PM jest prawidłowy z prawidłową liczbą stanów procka.

Równie dobrze możesz wygenerować 5 kilogramów ziemniaków, zapisać je w cloverze i macOS na twojej maszynie będzie z nich tak samo korzystał jak z tabeli pike'a. Proszę, otwórz wreszcie umysł i usłysz co się pisze do Ciebie. Ignorując i nie przyswajając istotnych informacji nigdy nie postawisz poprawnie macOS na PC. 

Share this post


Link to post
Share on other sites
Równie dobrze możesz wygenerować 5 kilogramów ziemniaków, zapisać je w cloverze i macOS na twojej maszynie będzie z nich tak samo korzystał jak z tabeli pike'a. Proszę, otwórz wreszcie umysł i usłysz co się pisze do Ciebie. Ignorując i nie przyswajając istotnych informacji nigdy nie postawisz poprawnie macOS na PC.

 

 

Bez ssdt.aml z clovera lub ssdt.aml Pike'a system nie startuje, a dostaje KP związany z Power Managementem. Myślę, że 5 kilogramów ziemniaków wywołałoby ten sam efekt - KP. Stąd ssdt.aml JEST w jakiś sposób używane przez system. _OSI w DSDT.aml jest poprawione prawidłowo i nie jest tak, jak mówisz, że magicznie połowa lub więcej sprzętu zaczęła działać. Z fixHPET system działa identycznie, jak bez niego, jednak bez niego nie ma dźwięku.

Stosuję się wyłącznie do twoich porad i zapominam o ssdt.aml Pike'a:

1. DSDT.aml zawiera WYŁĄCZNIE poprawki _OSI wraz ze sprawdzonymi wpisami dotyczącymi "OSYS" itp. (brak jakichkolwiek fixów, typu fixHPET).

2. Efekt: KP związany z Power Managementem.

3. Dodaję SSDT.aml, ale tylko te, które dotyczą PM, generowane z poziomu clovera. Generowanie P-states i C-states uruchomione.

4. Efekt: brak dźwięku i problemy ze sleep i shutdown. Procek wkręca się na częstotliwości >2,3 GHz. Nie działa ethernet, bluetooth, WiFi, klawiatura, touchpad... itd. bez odpowiednich kextów

Share this post


Link to post
Share on other sites

Odpal clovera, zrób dumpy F2 i F4, a potem spakuj cały EFI i załącz do postu. Zobaczymy czy poprawki do DSDT są OK. Bez poprawnie działającego HPET nie będzie działać komp poprawnie. To jest kluczowa kwestia.

 

Natomiast co do tabely pike'a - ona oprócz wpisów z stanami APSS i ACSS ma parę innych rzeczy potrzebnych do działania prawidłowo macOS. Te dodatki załatwia generowanie stanów z clovera. To właśnie przez te dodatki jakich nie ma normalnie PC wywala Ci się PM, a nie przez brak tabeli SSDT pike'a. Po prostu na podstawie prawidłowych obserwacji wyciągasz złe wnioski.

Share this post


Link to post
Share on other sites

Jest lepiej i inaczej, żeby nie powiedzieć "gorzej".
 
Pierwsza kwestia - rozejrzałem się na szybko w kodzie i HPET, RTC, TMR wg mnie nie potrzebują poprawek. Masz SandyBridge, a od tej platformy Apple przestało przenosić IRQ z TMR i RTC do HPET, więc te sekcje mniej więcej wyglądają i powinny zachowywać się tak jak na macu.
 
 

                Device (HPET)
                {
                    Name (_HID, EisaId ("PNP0103"))
                    Name (_UID, Zero)
                    Name (BUF0, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            )
                    })
                    Method (_STA, 0, NotSerialized)
                    {
                        If (LGreaterEqual (OSYS, 0x07D1))
                        {
                            If (HPAE)
                            {
                                Return (0x0F)
                            }
                        }
                        Else
                        {
                            If (HPAE)
                            {
                                Return (0x0B)
                            }
                        }
                        Return (Zero)
                    }

Jak widzisz masz w tej sekcji warunek:
 

If (LGreaterEqual (OSYS, 0x07D1))

W zależności jaką masz wartość w OSYS zwracana jest inna wartość, aczkolwiek "konstrukcja" sekcji jednej i drugiej jest kompatybilna macOS. Wartość OSYS już wiesz gdzie i jak ustawić:
 

                If (_OSI ("Darwin"))
                {
                    Store (0x07D9, OSYS)
                }

 
Natomiast to nie jest jedyne miejsce w kodzie DSDT zależne od wartości OSYS, masz jeszcze metodę GNOT:
 

                Method (GNOT, 2, NotSerialized)
                {
                    If (PDRD ())
                    {
                        Return (One)
                    }

                    Store (Arg0, CEVT)
                    Store (0x03, CSTS)
                    If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero)))
                    {
                        If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
                        {
                            Notify (PCI0, Arg1)
                        }
                        Else
                        {
                            Notify (GFX0, Arg1)
                        }
                    }

                    If (CondRefOf (HNOT))
                    {
                        HNOT (Arg0)
                    }
                    Else
                    {
                        Notify (GFX0, 0x80)
                    }

                    Return (Zero)
                }

A w niej:
 

If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))

Łapiesz już? Tu akurat ma wpływ na PCI0 lub GFX0 - GFX pewnie dotyczy grafiki, trzeba by dokładnie dalej analizować.
 

Teraz musisz poszukać gdzie jest używana dalej:

                Method (GHDS, 1, NotSerialized)
                {
                    Store (Arg0, TIDX)
                    Return (GNOT (One, Zero))
                }

                Method (GLID, 1, NotSerialized)
                {
                    Store (Arg0, CLID)
                    Return (GNOT (0x02, Zero))
                }

                Method (GDCK, 1, NotSerialized)
                {
                    Store (Arg0, CDCK)
                    Return (GNOT (0x04, Zero))
                }

Jak zaczniesz iść po okruszkach, zobaczysz że połowa DSDT a co za tym idzie połowa sprzętu będzie zachowywać się inaczej w zależności od tego jaką wartość masz w OSYS.

 

Teraz nie tylko musisz dopisać rozpoznawanie Darwina do _OSI, ale też musisz przeanalizować kod i możesz poeksperymentować z różnymi wartościami w OSYS dla Darwin, może 0x07D9 po prostu nie jest prawidłowe.

 

Dlaczego zwracam uwagę na to? - Od poprawnego działania HPET zależy ogólne działanie macOS i czy np wszystkie porty USB, PM etc będzie działał prawidłowo. Ustabilizuj HPET tak aby zawsze był ładowany w systemie a będzie działać macOS przewidywalnie.

 

Łatka FixHPET z Clovera nie będzie u Ciebie działać prawidłowo. Jak widzisz w zależności od tego co masz w OSYS, HPET inaczej się zachowuje. Namieszasz tylko tą łatką w kodzie DSDT i rozwalasz ustawianie innych podzespołów. Wiem, że to jest posypane pieprzem, ale jeśli chcesz naprawdę skutecznie odpalić macOS, to musisz przysiąść i zwyczajnie przeanalizować kod. On jest prosty, a nazwy często sugerują co i do czego jest.

 

Moim zdaniem:

 

1. Poprawka Darwin do _OSI - przetestuj różne wartości.

2. Żadnych patchy do DSDT z covera.

3. Brak tabeli SSDT pike'a.

4. Włączone dropy tabel SSDT od PM w Cloverze.

5. Włączone generowanie tabel SSDT do PM w Cloverze.

 

Musisz wg mnie spełnić WSZYSTKIE 5 warunków, a nie tylko część aby odnieść sukces.

Share this post


Link to post
Share on other sites

Dzień dobry. Powiedz mi, proszę. mam taki sam laptop asus к73 , chciałbym od Was dowiedzieć się wam udało się pokonać problemy ze sleep i wyłączanie. Z góry dziękuję za odpowiedź.

Share this post


Link to post
Share on other sites

Cześć. Shutdown zadziała po zmodyfikowaniu sekcji _PTS:

https://hamac.pl/topic/1944-notebook-naprawa-shutdown-i-usypiania-po-zamkni%C4%99ciu-klapy/

Osobiście, porzuciłem temat macOSa na moim laptopie. Glitche grafiki (mimo wypróbowania kilku fixów), niestabilna praca, brak sleep, problemy z działaniem po zamknięciu/otwarciu klapy, wątpliwe działanie power managementu... Do satysfakcjonującego mnie działania macOSa wymagana jest zbyt duża ingerencja w DSDT i nie tylko. Niestety, poprawki zasugerowane przez 314TeR są niewystarczające. Przykładowo, bez przeniesienia IRQNoFlags {0} do sekcji HPET nie ma mowy o działaniu audio. Zmiany w DSDT, które usprawniają jedno, często mają negatywny wpływ na coś innego. Po straconych kilkunastu godzinach stwierdziłem, że nie ma sensu dalsza "zabawa".

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.