Skocz do zawartości

Snow Leopard CMOS (BIOS) reset Fix.


Rekomendowane odpowiedzi

Stellarola podaje w tym wątku:

http://www.insanelymac.com/forum/index.php?showtopic=174396

Jak usunąć uciążliwy problem z resetowaniem BIOS'u na płytach z BIOS'em Awarda.

 

Modyfikacja ogranicza się do odpowiedniego spreparowania DSDT, poniżej przykład właściwej sekcji RTC:

 

Device (RTC) 
               { 
                   Name (_HID, EisaId ("PNP0B00")) 
                   Name (_CRS, ResourceTemplate () 
                   { 
                       IO (Decode16,
                           0x0070,             // Range Minimum
                           0x0070,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           ) 
                   }) 
               }

 

Ponoć sekcją odpowiadającą za naprawienie tego błędu jest:

 

0x02,               // Length

Odnośnik do komentarza
Udostępnij na innych stronach

to dobra wiadomość 8-) , potem spróbuje to naprawić

 

jeden z użytkowników insanelymac pisze że edycję DSDT.aml można użyć także narzędziem iasl.app

 

Ostatnio czytałem o wyjściu nowej wersji IASL - kompilatora Intela do tworzenia np. patchy dsdt

http://translate.google.com/translate?prev=hp&hl=en&js=y&u=http%3A%2F%2Fwww.osx86.es%2F%3Fp%3D558&sl=es&tl=pl&history_state0=

Odnośnik do komentarza
Udostępnij na innych stronach

edycję DSDT.aml można użyć także narzędziem iasl.app

 

Nie tyle edycję a kompilację/decompilację pod OS X. Zresztą bardzo fajne i wygodne narzędzie.

 

Ostatnio czytałem o wyjściu nowej wersji IASL - kompilatora Intela do tworzenia np. patchy dsdt

 

IASL wychodzi co parę miesięcy nowy... to po prostu jest kompilator języka ASL.

Odnośnik do komentarza
Udostępnij na innych stronach

Zmiana pomogła :-DProszę o przyklejenie tego wątku do działu Faq i Poradniki OSx86

 

Nie wiedziałem początkowo jak zrobic tego patcha. Ale poradziłem sobie w taki sposób :

 

Narzędzie DSDT Patcher GUI generuje DSDT i ono tworzy pliki źródłowe, które potem kompiluje. wiecej o DSDT jest tutaj :

http://hamac.pl/topics4/dsdt-co-to-jest-vt521.htm

Pliki źródłowe znajdują się (po stworzeniu już patcha dsdt.aml) w katalogu Sessions / "katalog z datą stworzenia" / Debug plik dsdt_fixed.txt

 

plik dsdt_fixed.txt edytujemy i szukamy sekcji RTC lub RTC0

 

Device (RTC) 
               { 
                   Name (_HID, EisaId ("PNP0B00")) 
                   Name (ATT0, ResourceTemplate () 
                   { 
                       IO (Decode16,
                           0x0070,             // Range Minimum
                           0x0070,             // Range Maximum
                           0x00,               // Alignment
                           0x04,               // Length
                           ) 
                   }) 
                   Name (ATT1, ResourceTemplate () 
                   { 
                       IO (Decode16,
                           0x0070,             // Range Minimum
                           0x0070,             // Range Maximum
                           0x00,               // Alignment
                           0x04,               // Length
                           ) 
                   }) 

 

szukamy w tej sekcji RTC czegość takiego :

0x04,               // Length 

i wartość szesnastkową 0x04 zamieniamy na 0x02 , czynimy to w dwóch miejscach tej sekcji RTC

 

 

sekcja RTC po modyfikacji u mnie wygląda tak :

Device (RTC) 
               { 
                   Name (_HID, EisaId ("PNP0B00")) 
                   Name (ATT0, ResourceTemplate () 
                   { 
                       IO (Decode16,
                           0x0070,             // Range Minimum
                           0x0070,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           ) 
                   }) 
                   Name (ATT1, ResourceTemplate () 
                   { 
                       IO (Decode16,
                           0x0070,             // Range Minimum
                           0x0070,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           ) 
                   }) 

 

teraz musimy ponownie skompilować plik dsdt_fixed.txt , aby wygenerować dsdt.aml

 

Potrzebny będzie nam kompilator IASL (znajduje się w załączniku), należy archiwum iasl.zip wypakować np. na Pulpit

 

Kopiujemy pliki dsdt_fixed.txt oraz iasl np. na Pulpit , wykonujemy instrukcje w terminalu :

cd Desktop
sudo ./iasl -ta dsdt_fixed.txt

na Pulpicie powinien nam sie wygenerować poprawiony już plik dsdt.aml ,należy go skopiować na partycje główną Snowa / i naprawić uprawnienia

sudo cp dsdt.aml /
sudo chmod 755 /dsdt.aml
sudo chown root:wheel /dsdt.aml

Odnośnik do komentarza
Udostępnij na innych stronach

nie jest konieczne reczne kompilowanie za pomoca iasl

 

Wystarczy uruchomic DSDTPatcher i poczekac az wygeneruje pliki tekstowe.

 

 

Tuz przed wlasciwym wygenerowaniem dsdt.aml program pyta o tryb emulacji

"Which OS to emulate? [0=Darwin,1=WinXP, 2=WinVista]"

 

Cala edycje pliku np. hpet_fixed.txt mozemy zrobic zanim wybierzemy jedna z opcji.

Po zapisaniu zmian dsdtpatcher utworzy dsdt.aml z naniesionymi poprawkami.

Odnośnik do komentarza
Udostępnij na innych stronach

nie dziala na Phoenix Technology Bios w moim Acerze :cry: glebaaa!!

 

Porównywałeś sekcje RTC z MBP2.1 z Twoją oryginalną? Sekcję od HPET masz niemal identyczną jak w MBP, może i sekcję RTC da radę poprawić tak aby działała jak należy.

 

 

nie mam skąd. ma ktos dump'a DSDT kompletnego z MBP2,1 ?

 

ja mam tylko takie :

post-261-13904294636872_thumb.png

Odnośnik do komentarza
Udostępnij na innych stronach

zwarjowałem troche

 

macbookpro3,1

sekcja RTC:

 

Device (RTC)

{

Name (_HID, EisaId ("PNP0B00"))

Name (_CRS, ResourceTemplate ()

{

IO (Decode16,

0x0070, // Range Minimum

0x0070, // Range Maximum

0x01, // Alignment

0x08, // Length

)

})

}

 

 

mój Acer bez optymalizacji "surowy"

 

Device (RTC)

{

Name (_HID, EisaId ("PNP0B00"))

Name (_CRS, ResourceTemplate ()

{

IO (Decode16,

0x0070, // Range Minimum

0x0070, // Range Maximum

0x01, // Alignment

0x08, // Length

)

IRQNoFlags () <--------- tylko to sie różni

{8}

})

}

 

 

 

przed zmiana wartosci 0x08, // Length na 0x02 wiec nie kumam lekko o co common...[/b]

Odnośnik do komentarza
Udostępnij na innych stronach

Aby w ogóle RTC działał, to musisz wywalić:

IRQNoFlags () 
{8} 

 

Dostajesz identyczną sekcję wtedy jak w MBP

 

Spróbuj zmodyfikować część kodu na takie wartości:

0x00,               // Alignment
0x02,               // Length 

Bo to jedyne miejsce gdzie się Twój kod i z pierwszego postu rożni.

Możesz spróbować zmieniać po jednej wartości, raz Alignment a raz Length, i obie naraz... moze nie tylko powinno się zmienić Length, ale też i Alignment

Odnośnik do komentarza
Udostępnij na innych stronach

pokombinowalem na rozne sposoby i nie ma bata na mariole :-/ obgadalem temat z jakims kolesiem z insanelymac z Xlabs Dev Teamu podal mi zebym zamienil caly blok RTC z podwojna sekcja IO na :

 

 

Device (RTC)

{

Name (_HID, EisaId ("PNP0B00"))

Name (_CRS, ResourceTemplate ()

{

IO (Decode16,

0x0070, // Range Minimum

0x0070, // Range Maximum

0x01, // Alignment

0x02, // Length

)

IO (Decode16,

0x0074, // Range Minimum

0x0074, // Range Maximum

0x01, // Alignment

0x04, // Length

)

})

}

 

nie dziala jednak i to ... aron noł.. kombinowalem ze przemiennymi zmianami wartosci Alignment + Length. reset biosu caly czas wystepuje ... chyba taki juz moj los ze Phoenix Technologies sie uparl...

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 tygodnie później...

Proponuje zalorzyc osobny dzial dla modyfikowanych tablic ACPI w formie:

 

Tytul "Model plyty / Problem Fix"

 

i w srodku opisywane wartosci od razu mozna by stworzyc wielka baze tablic z roznych plyt i pracowac nad nimi.

 

Sorry za OFFTOP ale mysle ze pomysl przejdzie :)

 

Usunac po odczytaniu ;p

Odnośnik do komentarza
Udostępnij na innych stronach

Swoja droga zastanawiam sie czemu wartosc 0x02 rozwiazuje rzekomy problem skoro wlasnie przegladam dsdt z imac8,1 i tam sekcja wyglada tak...

 

Device (RTC)

{

Name (_HID, EisaId ("PNP0B00"))

Name (_CRS, ResourceTemplate ()

{

IO (Decode16,

0x0070, // Range Minimum

0x0070, // Range Maximum

0x01, // Alignment

0x08, // Length

)

})

}

 

ewidetnie widnieje 0x08, fabryka w mojej GA P31-DS3L dala wartosc 0x02

 

Device (RTC)

{

Name (_HID, EisaId ("PNP0B00"))

Name (ATT0, ResourceTemplate ()

{

IO (Decode16,

0x0070, // Range Minimum

0x0070, // Range Maximum

0x00, // Alignment

0x02, // Length

)

})

Name (ATT1, ResourceTemplate ()

{

IO (Decode16,

0x0070, // Range Minimum

0x0070, // Range Maximum

0x00, // Alignment

0x02, // Length

)

})

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

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.