Skocz do zawartości

Natywny zapis do NVRAM - modyfikacje BIOS


314TeR
 Udostępnij

Rekomendowane odpowiedzi

No właśnie - ktoś sprawdzał czy i jak działa natywny zapis do NVRAM? Chciałbym zweryfikować czy brak zapisu do nvram w cloverze na wielu wersjach biosów Z97/Z170 to problem faktycznie jakiegoś błędu w BIOS czy jednak wciąż błąd w Cloverze. 

 

Ktoś weryfikował i wie jak można sprawdzić zapis do nvram z poziomu jakiegokolwiek linuxa. 

Odnośnik do komentarza
Udostępnij na innych stronach

Ogólnie trzeba zrobić następujący test:

 

Zapisać jakąś zmienną do pamięci NVRAM - zrobić restart i potem sprawdzić czy się zapisała i przetrwała restart. 

 

Ten test trzeba zrobić na biosie który wspiera zapis do nvram pod macOS i z biosem w którym zapis nie działa w macOS. Trzeba w ten sposób zweryfikować ostatecznie czy problem z brakiem zapisu do nvram jest po stronie sterownika w cloverze czy błędu w BIOSie. 

Odnośnik do komentarza
Udostępnij na innych stronach

No to nie pomogę sorry, nie mam takiej płyty.

 

Ale na LiveCD było by to łatwe do ogarnięcia; wystarczy doinstalować pakiet Nvramtool (sudo apt-get install nvramtool).

 

Albo jak ktoś nie ma internetu na Live to na pendrive można ściągnąć paczkę DEB i zainstalować.

http://old-releases.ubuntu.com/ubuntu/pool/universe/n/nvramtool/

 

EDIT:

Jednak to nie będzie takie proste. Nvramtool wydaje sie współpracować tylko z Coreboot.

Szukam innego sposobu ale nic prostego narazie nie widzę...

Odnośnik do komentarza
Udostępnij na innych stronach

314TeR pisałeś, że w Asus Z97-C NVRAM przestał działać od wersji 2403, zgadza się ? Porównując 2402 i 2406, można zobaczyć, że oba używają Combined smm/dxe nvramsmi. Próbowałeś je podmienić i sprawdzić czy działa ?

 

///

 

Z wersji 2403 na 2404 zaszła zmiana w tym module, szczególnie w jednej subfunkcji.

Odnośnik do komentarza
Udostępnij na innych stronach

@reyder - mam sprzętowy programator, moja mobo obecna MAXIMUS VII IMPACT też cierpi na ten błąd - jak masz ochotę pobawić się ze mną i podmienić moduły w pliku BIOS to zapraszam. Mogę zmieniać BIOSy jak chcę bez najmniejszego ryzyka że cokolwiek uwalę, więc fajnie by było sprawdzić tę teorię. 

 

Mam też drugą płytę - Sabertooth Z97 która w ogóle nie ma żadnego dostępnego BIOSu z działającym zapisem do NVRAM, mogę też na niej przetestować modyfikacje. 

 

MAXIMUS VII IMPACT - jedyny bios z działającym zapisem do NVRAM to wersja 0217.
Następna wersja 0412 ma już ten zapis uwalony.
Odnośnik do komentarza
Udostępnij na innych stronach

Zróbie najlepiej najpierw dump z mobo, potem zmodyfikujcie, na koniec wgrajcie. Jak wyciągniesz bios z capa i wgrasz go bezpośrednio do kości to stracisz informację z DMI - serial number, MAC adres.

Swego czasu robiliśmy podobne akcje z 314TeR ale nic to nie dało, warto jednak sprawdzić.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie mam dostępu do Z97-C, poza tym nie zaryzykuję wpakowania Z97-C, bo nie ma ta płyta USB Flash Back, więc jak się uwali, to tylko backup sprzętowym programatorem ją podniesie. 

 

@reyder - jak mi wymodzisz bios do mojej płyty to mogę sprawdzić, spróbuj przeszczepić moduły z wersji 0217 do 0412. Na swojej mogę spokojnie ryzykować. Jak metoda zaskoczy to można spróbować z innymi płytami. 

Odnośnik do komentarza
Udostępnij na innych stronach

 

Ha no i pięknie - dwie wiadomości, obie dobre - pacjent wstał, bios wgrałem przez USB Flash Back - zapis do NVRAM w zmodowanej wersji 0412 - DZIAŁA!

 

Test bardzo na szybko - chciałem sprawdzić jedynie czy sam zapis do NVRAM działa, nie wiem jak sam komp z tą wersją śmiga i czy inne kwiatki nie wyjdą, ale po 2 uruchomieniach na razie wszystko OK. 

 

Natomiast najważniejsza informacja - TEN MOD DZIAŁA!

 

@reyder - to ja Cię poproszę o nastepny wsad - tym razem trochę trudniejszy - ta płyta NIE ma żadnego BIOSu z zapisem do nvram, ale może uda Ci się tą samą metodą - przeszczepiając starsze moduły zmodować BIOS. 

https://www.asus.com/pl/Motherboards/SABERTOOTH_Z97_MARK_2USB_31/

Ostatni BIOS: http://dlcdnet.asus.com/pub/ASUS/mb/LGA1150/SABERTOOTH_Z97_MARK_2_USB31/SABERTOOTH-Z97-MARK-2-USB31-ASUS-2702.zip

Odnośnik do komentarza
Udostępnij na innych stronach

https://mega.nz/#!dwgiTTab!kf3PCGcz-cDIiGIQ0aUvT8F20iEdUDedtWIfUFU_9ck

 

Chciałbym coś więcej powiedzieć, ale wrzucenie w dissasembler bez header nic za bardzo nie mówi, a nie mam Idy zainstalowanej. Moduły wyglądają prawie identycznie, oprócz jednej funkcji, która przyjmuje 5 argumentów. Mając 0 doświadczenia z UEFI i brakiem czasy w tym tygodniu nic na razie więcej nie powiem. 

Odnośnik do komentarza
Udostępnij na innych stronach

@reyder - zapis do nvram w zmodowanym przez Ciebie biosie 2702 dla ASUS SABERTOOTH Z97 MARK 2/USB 3.1 działa.  :mrgreen:

 
Mnie wciąż nurtuje czemu zapis do NVRAM działa jak kierunkowskaz. Wczesne wersje BIOSów dla Z87 i Z97 wspierają ten zapis, późniejsze znów mają go ubitego. Następna ciekawostka - nowsze wersje BIOSów dla Z170 i skaylake mają ten zapis aktywny, kiedy to ostatnie wersje sprzed dosłownie miesiąca dwóch znów ten zapis mają ubity. Nie sądzę aby ASUS i inni producenci celowo ubijali zapis, potem odblokowywali aby ponownie ubić. To bez sensu. 
 
reyder - wiem, że znasz się na asemblerze, popatrz w wolnej chwili o co chodzi z tymi modułami, co jest grane że raz ten zapis jest a raz nie ma... może wrzuć jakieś info jak można to "zdisasemblować" lub już zdisasemblowany kawałek kodu. 
 
PS - napisz jakim narzędziem podmieniasz te moduły? - chciałbym przetestować dla siebie parę innych nowszych biosów do mojego Maximusa Impact VII i zobaczyć który działa najlepiej, a nie chcę nadużywać Twojego wolnego czasu. 
Odnośnik do komentarza
Udostępnij na innych stronach

Super sprawa. Reyder opisz co zrobiłeś na forum insanely http://www.insanelymac.com/forum/topic/317802-efi-variable-store-on-aptio-v-haswell-e-and-up/page-1 albo daj nam znać to przekażemy info. Może trafią na jakiś trop.

 

Możesz zmodzić BIOS dla Z170 Pro Gaming. Wersja 2003 jako ostatnia obsługiwała NVRAM, 3016 już nie, 3202 nie testowałem.

 

PS: ja podmianę modułów robiłem w MMTool.

Odnośnik do komentarza
Udostępnij na innych stronach

Przeglądnij temat z insanelymac - Slice pisał, że to nie Clover bo z poziomu bootloadera lecą wpisy do nvram.

 

Nvram reads working everywhere. Writes working in Clover and not in macOS.

I see no significant difference in memory map between working and non-working case with other users:

- same RT_Data

- same NvramSmiBuffer location

- same redirection and virtualization

- same MMIO protection

It seems to be not a real reason.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie generalizował bym, skoro z poziomu clovera jest, a potem nie mia, bym bardziej weryfikował działanie OsxAptioFixDrv-64.efi i OsxAptioFix2Drv-64.efi, bo to w nich zawarta jest obsługa zapisu NVRAM dla macOS.

 

Wciąż NIE wiemy czy Linux potrafi zpisywać na biosach "zablokowanych" czy nie. Jak się okaże, że linux potrafi to ewidentnie błąd jest po stronie OsxAptioFix i spółki

Odnośnik do komentarza
Udostępnij na innych stronach

Zrobiłem u siebie podmianę modułów odpowiedzialnych za zapis do NVRAM i potwierdzam, że opisany sposób powyżej działa.  Na mojej płycie ostatni bios z którym działał natywny zapis to 1304. Wypakowałem z niego programem UEFITool moduł odpowiedzialny za zapis nvram i podmieniłem w najnowszym biosie 2903. Zapis zaczął działać, ale płyta miała co 5-6 raz problem z uruchomieniem(podejrzewam że to problem dogadania się kości pamięci z płytą główną). Wgrałem więc zmodyfikowany bios w wersji 2401, najniższej na jakiej wystartuje mój procesor. Komputer na tej wersji jak na razie działa stabilnie, zapis do nvram również działa poprawnie :mrgreen: .

Odnośnik do komentarza
Udostępnij na innych stronach

Wracam do tematu sprawdzenia zapisu/odczytu nvram z poziomu innego systemu niż macOS - aby zweryfikować czy błąd jest w sterowniku clovera czy BIOSu.

 

Zainstalowałem Ubuntu 16.04 serwer na płycie z97 z BIOSem który ma DZIAŁAJĄCY zapis do nvram pod maOS. Niestety wszelkie próby "dobicia" się do nvram pod linuxem kończą się:

 

root@ubuntu:~# nvramtool -a
nvramtool: coreboot table not found.  coreboot does not appear to
        be installed on this system.  Scanning for the table produced the
        following results:


            0 valid signatures were found with bad header checksums.
            0 valid headers were found with bad table checksums. 

Ma ktoś doświadczenie w tym temacie? A może spod linuxa nie mam szans dostać się do parametrów dostępnych w macOS... google co gorsza milczy albo podaje tematy niezwiązane z problemem. 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...
  • 2 miesiące temu...

@reyder - coś jeszcze kombinowałeś z zapisem do NVRAM? Udało Ci się coś rozkminić z dissasemblacji modułu od NVRAM? 

 

Przykładowa inna płyta - MSI Z170A GAMING M7 - gdzieś do biosów z końców G/H zapis jest, a późniejsze już nie. Wybacz, ale nie pamiętam dokładnie literki. :(

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 tygodnie później...

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.