Jump to content
314TeR

Snow Leopard CMOS (BIOS) reset Fix.

Recommended Posts

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

Share this post


Link to post
Share on other sites

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=

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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]

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

obadam wieczorem w domu zamiane tych wartosci raz po raz kombinując naprzemian.

zastanawiam sie tylko skoro RTC wyglada niemal tak samo jak w real mac'ach czemu tak sie dzieje. dam znac co i jak wieczorem...jak dotre do chatki

Share this post


Link to post
Share on other sites

Wygląda tak samo, ale sprzęt na płycie masz inny... może jakieś inne sekcje DSDT są inne, a w/w metoda to tak naprawdę nie naprawienie problemu a usunięcie objawów... nie mniej najważniejsze aby zadziałało :)

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites

Może znajdzie się jakiś skuteczny fix... lub może nie jedyne miejsce jest u Cibie do zmodyfikowania...

 

Ty masz resety cmos'u a ja nie mogę zwalczyć złego losowego działania portów USB i FW. Czasami taki urok HaMAC'ów.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

)

})

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.