Wysłany: 2011-01-29, 01:18 [10.6.6] G31M-ES2L - jaki chip audio? (+ problem z nim)
Witajcie!
Napiszę krótko i zwięźle ze względu na porę. Posiadam mobo jak w temacie, wszystko działa jak powinno, robiłęm wg tutka http://pastebin.com/5uuLyjhT którego skromnie jestem autorem
Jedyny problem to dźwięk - przerobiłem może ze 30 sposobów na ALC883 - tylko VoodooHDA działa ale dźwięk zacina się, przeskakuje, znika itp.
Po odpaleniu linuxa okazało się, że audiochip to ALC887 natomiast na 99.9% na płycie widze 888a (wtf?!). Udało mi się uruchomić dźwięk za pomocą AppleHDA rollbackowanego z 10.6.2 + sekcji HDEF z DSDT oraz Legacy888bHDA.kext - niestety efekt dźwiękowy jak w VoodooHDA.
Zmieniłem też Legacy888bHDA.kext na ALC8xxHDA.kext - ponoć dużo lepiej działa i wykrywa wyjścia poprawnie - owszem, zgadza się ale jak przerywało tak przerywa.
Znalazłem solucję na przerywanie ale jest bardzo dirty - DSDT od G41M-ES2L. Niestety w takiej kombinacji sypie się zarządzanie energią.
Moja wiedza jest za mała, aby stwierdzić co takiego ma poprawiony DSDT od G41 czego nie ma od G31.
Załączam oba do porównania i pokornie proszę o pomoc.
p.s. Mam jeszcze problem ze sleep ale to już inna bajka
Zdobądź Ubuntu 10.04 32bit lub 10.10 32bit, ale 10.10 nie jestem pewien bo nie testowałem, zbootuj z niego swój komputer, podłącz i sprawdź czy działa internet, a następnie wykonaj pełny dump tym skryptem:
Ubuntu 10.04 mam pod ręką więc zaraz dumpa podrzucę.
Mam wrażenie że problem dotyczy przerwań albo prędkości szyny ponieważ dźwięk przestaje skakać i urywać gdy ruszam myszką dość energicznie.
Sprawdziłem solucję z dodaniem 2 IRQNoFlasgs w HPET => ATT4 oraz usunięcie IRQNoFlags z PIC - bez efektu.
Edit: ile mu zajmie ten full dump? Już dobre 10 minut mieli ten skrypt i nic konstruktywnego nie wypluwa
Edit2:
Czekałem dobre pół godziny - wisi sobie.
Kolejny trop: dodanie idlehalt=0 jako flagę kernela eliminuje problem z dźwiękiem ale to rozwiązanie nie wchodzi w grę (pluje P-State Stepper Error 22 at step 2 on CPU 0/CPU 2/CPU 3/CPU 1 oraz patrząc na prędkość wiatraka od CPU brakuje zarządzania energią).
Ogólnie chyba cokolwiek co wywołuje przerwania I/O pomaga - obciażenie cpu, ruch na USB czy też wyłączenie zarządzania "nudzeniem się" cpu.
Na dziś koniec - idę pograć w GTA na Macbooku a hackusiem zajmę się rano
Skrypt działa tak szybko, jak szybki masz internet. Mi się nie zdarzyło aby zawisł... spróbuj go użyć jeszcze raz w konsoli jako root. Cała operacja za wyjątkiem pobierania pakietów nie powinna trwać dłużej niż jedną minutę.
PS na 99% masz problem z podstawowymi fix'ami do dsdt.
Skrypt działa tak szybko, jak szybki masz internet. Mi się nie zdarzyło aby zawisł... spróbuj go użyć jeszcze raz w konsoli jako root. Cała operacja za wyjątkiem pobierania pakietów nie powinna trwać dłużej niż jedną minutę.
PS na 99% masz problem z podstawowymi fix'ami do dsdt.
Czyli u mnie coś jest nie tak z nim - widzę w ps -auxfw, że jedyne co odpala to parted -l i szuka czy nie wystąpił error ... i wisi tak sobie.
Odpalałem ofkz z root`a.
Co do fixów - które masz na myśli? RTC, HPET oraz _WAK są u mnie z automatu.
Jakie masz ubuntu? 32 bit czy 64? - skrypt działa poprawnie w 100% tylko z 32 bit. Jak masz inne ubuntu pod ręką to sprawdź. Chciałbym zobaczyć w czyste dumpy.
Jakie masz ubuntu? 32 bit czy 64? - skrypt działa poprawnie w 100% tylko z 32 bit. Jak masz inne ubuntu pod ręką to sprawdź. Chciałbym zobaczyć w czyste dumpy.
i386 czyli jak w pyte strzelił 32bit. Postawię go zaraz na hdd i obadam - może coś jest nie tak na live (pomimo instalacji aptiltude i rekonfiguracji dash).
p.s. W wolnej chwili - mógłbyś mnie naprowadzić na sleep? Bez sleepenablera dla 10.6.6 komputer wyłącza dyski i w zasadzie tyle, ze sleep enablerem usypia ale się nie budzi (tj. robi start od zera). pmVersion=21 nic nie daje.
Edit:
Na zainstalowanym systemie działa aż miło, w livecd się zawiesza
W załączniku dump spakowany tar.gz
Na szybko DSDT przerobione DSDT Autopatcherem - osobiście nie ufam do końca jego poprawkom, ale sprawdź jak będzie się zachowywał system z tym DSDT i napisz czy i jak działa sleep i kodek audio.
Powinien też działać PM, więc pozbądź się disablerów, nullcpu itp i sprawdź czy działa w pełni PM.
PS Twój układ Audio do standardowy ALC887 - ma identyczny układ jak kexty które wcześniej robiłem (ALC120/888/889) więc jak Twój nie będzie działać poprawnie to mogę Ci zrobić pod ten układ.
PSS Docelowo DSDT trzeba by podrasować ręcznie dodając tylko niezbędne poprawki, oraz koniecznie dodać rozpoznawanie Darwina w metodzie OSI i zostawić w spokoju sekcje HPET, RTC itp...
Na szybko DSDT przerobione DSDT Autopatcherem - osobiście nie ufam do końca jego poprawkom, ale sprawdź jak będzie się zachowywał system z tym DSDT i napisz czy i jak działa sleep i kodek audio.
Też go używałem wcześniej Problem w tym, że moja mobo ma kodek inny niż napisano w spec :P
Cytat:
Powinien też działać PM, więc pozbądź się disablerów, nullcpu itp i sprawdź czy działa w pełni PM.
Działa, disablerów ani nullcpu nie miałem bo cały czas jadę na DSDT.
Cytat:
PS Twój układ Audio do standardowy ALC887 - ma identyczny układ jak kexty które wcześniej robiłem (ALC120/888/889) więc jak Twój nie będzie działać poprawnie to mogę Ci zrobić pod ten układ.
ALC8xxHDA.kext wyciągnięty Pacifistem z MultiBeast działa ok ale tylko wtedy gdy biorę DSDT z G41
Jeśli skopiuję tylko sekcję HDEF to dzieją się cuda o których pisałem.
Cytat:
PSS Docelowo DSDT trzeba by podrasować ręcznie dodając tylko niezbędne poprawki, oraz koniecznie dodać rozpoznawanie Darwina w metodzie OSI i zostawić w spokoju sekcje HPET, RTC itp...
Mogłbyś coś więcej napisać? Co do OSI i Darwina to wygoogluje.
Tak czy inaczej po zaaplikowaniu tego DSDT karta dźwiękowa nawet się nie pokazuje jako output.
Sleep działa jak powinien, pm chyba też (VoodooMonitor wykazuje, że taktowanie w idle to ok. 1.5Ghz).
Z kextów mam w /E/E/: ALC8xxHDA, EvOreboot, FakeSMC oraz SleepEnabler, dodatkowo w /S/L/E/ mam AtherosL1cEthernet oraz 10.6.2 AppleHDA.
Edit:
Skopiowałem HDEF do DSDT który wygenerowałeś patcherem i działa jak powinno wszystko
Teraz muszę poszukać (chyba, że ty wiesz?) jak te zmiany wprowadzać ręcznie - nie ufam automatom i chcę wiedzieć na przyszłość czego moja mobo wymaga.
Porównaj sobie to zmodyfikowane DSDT oraz swoje oryginalne i wprowadź wpierw podstawowe poprawki. Więcej masz w dziale o DSDT, nie ma sensu tu tego przepisywać.
Znasz coś do automatycznego porównywania? DSDTSE niestety ma tylko opcję automatyczną.
Teraz staram się dojść co inaczej jest w DSDT od ciebie a tym który sam wygenerowałem tak:
Plik dsdt.aml z pulpitu wciągnąłem do DSDT autopatchera, spatchowalem dla mojej mobo a następnie otworzyłem w DSDTSE i zmieniłem sekcję AZAL na HDEF dla 888b.
Wszystko działa ok z dźwiękiem ale na moim DSDT nie działa sleep (usypia ale nie wstaje tylko się rebootuje).
Edit:
Aby nie wyjść na lenia wziąłem w łapę DSDTSE oraz FileMerge (dostępne w pakiecie z MacOS Developer, folder /Developer/Applications/Utilities/) i prześledziłem co się zmieniło i stworzyłem małą listę zmian:
Kod:
In _PTS section change content of If(LEqual(Arg0,0x05)) to:
Store (One, \_SB.PCI0.PX40.AG3E)
Store (Zero, SLPE)
Sleep (0x10)
Remove Device (GIGE)
Remove "GP9, 1," from OperationRegion (GPIO, SystemIO, 0x0800, 0x06)
Add code after Device (PMIO):
OperationRegion(LPC0, PCI_Config, 0xA4, 0x02)
Field (LPC0, ByteAcc, NoLock, Preserve)
{
AG3E, 1
}
Add code after Device (PCI0.EXPL):
Device (MECEH)
{
Name (_HID, Eisald("APP0006"))
Name (_GPE, 0x17)
Name (_STA, 0x08)
}
Search for first PCI0.USB3 and change to PCI0.UHC3
In method _L0E change USB3 to UHC3
Find Device (LPCB) and rename to Device (PX40)
=> Field (\_SB.PCI0.LPCB.PREV change to Field (\_SB.PCI0.PX40.PREV
=> Field (\_SB.PCI0.LPCB.PIRQ change to Field (\_SB.PCI0.PX40.PIRQ
=> Field (\_SB.PCI0.LPCB.PIR2 change to Field (\_SB.PCI0.PX40.PIR2
=> Field (\_SB.PCI0.LPCB.LPIO change to Field (\_SB.PCI0.PX40.LPIO
Change OperationRegion (GPIO, SystemIO, 0x0800, 0x06) to OperationRegion (GPIO, SystemIO, 0x0800, 0x05) [0x06 to 0x05]
Rename Device (USB3) to Device (UHC4)
Rename Device (PRIM) to Device (PRT0)
Rename Device (SECD) to Device (PRT1)
Wybaczcie, że po ang ale ze względu na zawód nie umiem inaczej pisać programistycznych notek.
I teraz tak ... czy ja źle wyjąłem to DSDT (cat /proc/acpi/dsdt > dsdt.bin) czy też ty na serio tyle zmieniałeś 314TeR?
Do porównywania - darmowy TextWrangler lub płatny BBEdit. Otwierasz w nim oba DSDT i wykonujesz compare... wygodnie, szybko i czytelnie... A poprawki zrobił patcher, nie ja...
Do porównywania - darmowy TextWrangler lub płatny BBEdit. Otwierasz w nim oba DSDT i wykonujesz compare... wygodnie, szybko i czytelnie... A poprawki zrobił patcher, nie ja...
No ale jakim cudem zrobił patcher skoro ja go użyłem i wykonał niby jakieś ... tyle, że musiałem te co napisałem wyżej wpisać ręcznie
Są dwie wersje patcher'a, pod OS X tylko i uniwersalny, ja użyłem uniwersalnego...
PS z Odpowiedzią nie musiałeś czekać do 3:14
Ja użyłem tego przylepionego w dziale DSDT (tego który kiedyś był nazwany DSDT Editor).
Co do odpowiedzi to ja jestem perfekcjonista - musi działać wszystko idealnie i musze wiedzieć skąd co się bierze (więc guide w internecie na zasadzie skopiuj dsdt i podmień mnie nie zadowalają )
Jak możesz podrzuć ten patcher którego użyłeś - porównam rezultat.
Jedyne co się sypie po sleep to flash - nie doładowuje danych w streamach - ale to że flash się sypie to już mnie kompletnie nie dziwi
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Nie możesz ściągać załączników na tym forum
Forum użytkowników Mac OS X na PC. Co to jest Hackintosh. Instalacja Mac OS X na PC z płyty Retail. Instalacja i opisy dystrybucji iDeneb, iPC, Kalyway, Leo4ALL, iAtkos.