Jump to content
danielosx86

NVRAM na Z390 - jak uruchomić

Recommended Posts

Jeden z userów Tonymac - CODYQX4 - odkrył, że natywne działanie NVRAM na Z390 Designare jest zależne od obecności urządzenia PMCR w DSDT (w oryginalnym DSDT go nie ma):

Device (PMCR)
{
    Name (_HID, EisaId ("APP9876"))  // _HID: Hardware ID
    Name (_STA, 0x0B)  // _STA: Status
    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
    {
        Memory32Fixed (ReadWrite,
            0xFE000000,         // Address Base
            0x00010000,         // Address Length
            )
    })
}

Próby wstrzykiwania go przez SSDT podobno nie działają, ale wklejenie urządzenia bezpośrednio do DSDT już tak.

Nie mam przez weekend dostępu do swojej Z390, ale może ktoś będzie chętny przetestować?

Załączam też niedziałające (podobno) SSDT, może ktoś znajdzie przyczynę dlaczego się nie ładuje.

SSDT-NVRAM.aml.zip

Share this post


Link to post
Share on other sites

Wróciłem dzisiaj na chwilę do domu, więc nie miałem dużo czasu na testy, aleee...

PANOWIE, DZIAŁA!!!! :D 

Wrzuciłem do DSDT kod z załączonego SSDT, usunąłem EmuVariableUEFI, skryptów nigdy nie instalowałem, więc było czysto w systemie. Driver AptioMemoryFix. Zmienna w NVRAM przetrwała zarówno restart jak i shutdown. Dodatkowo rozwiązuje to problem z restartem przy próbie wyłączenia bez EmuVariableUEFI.

Urządzenie PMCR sprawia, że jest wczytywany kext AppleIntelPCHPMC.

@Estrax przetestuj proszę u siebie, załączam moje zmodyfikowane DSDT z Z390 Gaming X.

Jeśli ktoś z Was jeszcze potwierdzi działanie, to możemy mówić o przełomie w Z390!

EDIT: dodanie samego załączonego wyżej NVRAM-SSDT.aml też robi robotę.

ioreg.png.1fc1b44b26d67218496d51335f1f9c68.pngappleintelpchpmc.thumb.png.ce5aa417c646c13aeee69b3c8a794d0b.png

DSDT.aml.zip

Edited by danielosx86

Share this post


Link to post
Share on other sites

Czy ta tabela jest tylko dla Gigabyte? Wyciągnąłem z archiwum DSDT od Mald0na... i rzeczywiście ta poprawka tam jest zawarta. Sama łatka SSDT niestety u mnie ( AsusPrimeZ390-A)  nie działa. Zrobiłem DSDT w Cloverze, ale ma 2 errory i ponad 90 warningsów, a sam nie wiem jak to poprawić, wie na razie czekam co napiszecie dalej.

Share this post


Link to post
Share on other sites
42 minuty temu, danielosx86 napisał:

Taki sam kod jest w DSDT iMac19,1. Sprawdź czy PMCR jest widoczny w IOreg i czy AppleIntelPCHPMC.kext jest załadowany. NVRAM odpala zarówno na AptioMemoryFix jak i OsxAptioDrv3.

W IOreg go nie ma, tak samo AppleIntelPCHPMC.kext - jest widoczny w raporcie systemowym, ale nie załadowany. Uzywałbym tego DSDT od Mald0na, ale ono powoduje ( podobnie jak WEG) przytkanie iGPU.

Edited by Najrad

Share this post


Link to post
Share on other sites
Godzinę temu, Estrax napisał:

Potwierdzam, działa na Z390 Gaming X. Po weekendzie sprawdzę na kilku jeszcze innych mobo.

Pięknie! Czyli mamy rozwiązanie przynajmniej dla kilku Gigabyte Z390, duży krok naprzód!

Użyłeś SSDT czy doklejałeś do DSDT?

Edited by danielosx86

Share this post


Link to post
Share on other sites

Spróbuj teraz usunąć DSDT i wrzucić samo SSDT, możesz też w Cloverze wymusić ładowanie w/w kexta (musisz mieć do tego FSInject.efi). Ja też najpierw wrzucałem zmodowane DSDT (bo wg autorów tabelki PMCR w SSDT nie działa), później samo SSDT i jednak poszło. Może jak kext trafia raz do kextcache, to wystarczy już samo SSDT? Byłoby to dziwne, ale nic mnie już nie zaskoczy. Przez wiele miesięcy brak NVRAM na nowych płytach uznawano za błąd po stronie AMI, a nie brak w tabelkach.

Share this post


Link to post
Share on other sites
19 minut temu, danielosx86 napisał:

Spróbuj teraz usunąć DSDT i wrzucić samo SSDT, możesz też w Cloverze wymusić ładowanie w/w kexta (musisz mieć do tego FSInject.efi). Ja też najpierw wrzucałem zmodowane DSDT (bo wg autorów tabelki PMCR w SSDT nie działa), później samo SSDT i jednak poszło. Może jak kext trafia raz do kextcache, to wystarczy już samo SSDT? Byłoby to dziwne, ale nic mnie już nie zaskoczy. Przez wiele miesięcy brak NVRAM na nowych płytach uznawano za błąd po stronie AMI, a nie brak w tabelkach.

U mnie tak nie działa :(  Musi być DSDT, wtedy jest OK

Share this post


Link to post
Share on other sites

Próbowałem. Nie poszło.

Próbowałeś zapisać coś nowego do NVRAM? 

U mnie z SSDT po dopisaniu zmiennej do NVRAM system nie chce się zamknąć - zatrzymuje się w pewnym momencie i NIC. Po usunięciu SSDT i dodaniu przez DSDT jest ok. System się resetuje - zmienna przetrwała reset :)

Sprawdziłem jeszcze na najnowszych kextach + najnowszy Clover z samym SSDT działa, ale jak tylko dodam zmienną to zawiesza się przy restarcie jak na fotce.

Przy dodaniu wpisu przez DSDT jest wszystko ok. 

 

IMG_0016.JPG

Edited by mosquito

Share this post


Link to post
Share on other sites

Sprawdzę dokładnie u siebie ten przypadek, ale wcześniej nie zauważyłem takiej prawidłowości. Miałem KP przy restarcie/shutdownie tylko wtedy, gdy kombinowałem z różnymi driverami do alokacji pamięci (OCQuirks/FwRuntimeServices/MemoryAllocation). Teraz leci na SSDT+OsxAptioDrv3.

EDIT: Potwierdzam, dodanie zmiennej w przy samym SSDT powoduje zwiechę przy restarcie.

Może @reyder albo @314TeR rzucą eksperckim okiem dlaczego wszystko gra kiedy PMCR jest wrzucone bezpośrednio w DSDT, a w SSDT różnie?

Edited by danielosx86

Share this post


Link to post
Share on other sites

Sprawdziłem jeszcze na na AptioDrv3, wyczyściłem całkiem NVRAM - i jak dotąd wniosek - działa dobrze tylko na wpisania do DSDT. Może znawcy rzucą okiem.

P.S. Proponuję założyć nowy temat i przenieść do niego posty dotyczące NVRAM na Z390.

EDIT: Taka ciekawostka - sprawdziłem jak to wygląda na Z370. Nie ma wcale PMCR ale AppleIntelPCHPMC.kext ładuje się. NVRAM oczywiście działał i działa 😀

Edited by mosquito

Share this post


Link to post
Share on other sites

PMCR wygląda inaczej w dumpach z iMac18,3 i iMac19,1, więc to może być przyczyną:

iMac18,3 / iMacPro1,1

   Device (PMCR)
            {
                Name (_ADR, 0x001F0002)  // _ADR: Address
            }

iMac19,1

Device (PMCR)
            {
                Name (_HID, EisaId ("APP9876"))  // _HID: Hardware ID
                Name (_STA, 0x0B)  // _STA: Status
                Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                {
                    Memory32Fixed (ReadWrite,
                        0xFE000000,         // Address Base
                        0x00010000,         // Address Length
                        )
                })
            }

W info.plist w kexcie są wymienione identyfikatory chipsetów serii 100, 200 (w tym też 370, który mimo nazwy należy do serii 200) oraz nazwa urządzenia "APP9876", która widnieje PMCR w iMac19,1 (Q370), dlatego tylko Z390 potrzebuje patcha.

Pozostaje kwestia przygotowania SSDT, który nie będzie wywalał restartu i shutdown, bo trzymanie w całości zmodyfikowanego DSDT trochę kłóci mi się z konfiguracją vanilla ; ) Chyba, że da się stworzyć dummy kext dodając identyfikator Z390?

Edited by danielosx86

Share this post


Link to post
Share on other sites


Witajcie.

Mam OC z FwRuntimeServices.efi
Z  SSDT-NVRAM nie działa.
SSDT-PM jest lepiej.

Test:
sudo nvram TestVar=JestemWPamieci 
sudo nvram -p | grep 'TestVar'

Po restarcie i całkowitym wyłączeniu
TestVar JestemWPamieci%c2%a0
Czy te krzaczki mają znaczenie?

Gdy daje mu sleep to się wybudza i restartuje:( Kiedyś mi się tak robiło na emulacji nvram na biosie F8, ale po wgraniu najnowszego biosu F9 się uspokoiło.
Czasami się uruchamia i brak sygnału na wyjściu monitora. To może mieć znaczenie?

 

Na emulacji nie mam tych problemów.

Coś zmieniać w ustawieniach OC?

Dzięki.

 

Share this post


Link to post
Share on other sites

C2 A0 to tzw. non-breaking space, więc pewnie przeklejasz skądś zmienną. Jak wpiszesz polecenie do terminala ręcznie, to powinno być ok.

Na niebudzenie się monitora po sleepie zwykle pomaga darkwake=0.

Edited by danielosx86

Share this post


Link to post
Share on other sites
4 godziny temu, danielosx86 napisał:

C2 A0 to tzw. non-breaking space, więc pewnie przeklejasz skądś zmienną. Jak wpiszesz polecenie do terminala ręcznie, to powinno być ok.

Na niebudzenie się monitora po sleepie zwykle pomaga darkwake=0.

Mam darkwake=0. 

 

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.