Jump to content
Sign in to follow this  
janek202

LegacyHDA ALC262 dla 10.6.8, Lion, Mountain Lion + Silencer

Recommended Posts

Instrukcja odpalenia ALC262. Przystosowane głównie do laptopów Samsunga. Nie wiem czy będzie działać na innym sprzęcie, trzeba by sprawdzić.

Działają wszystkie wyjścia/wejścia zmiany głośności i automatyczne przełączanie między nimi.

 

Layout jest równy 262 - taki sam ustawić w DSDT lub HDAEnablerze.

 

Przykładowa sekcja HDEF w laptopach Samsunga:

 Device (HDEF) 
           { 
               Name (_ADR, 0x001B0000) 
               Method (_DSM, 4, NotSerialized) 
               { 
                   Store (Package (0x08) 
                       { 
                           "subsystem-id", 
                           Buffer (0x04) 
                           { 
                               0x42, 0xC0, 0x00, 0x00
                           }, 

                           "subsystem-vendor-id", 
                           Buffer (0x04) 
                           { 
                               0x4D, 0x14, 0x00, 0x00
                           }, 

                           "layout-id", 
                           Buffer (0x04) 
                           { 
                               0x06, 0x01, 0x00, 0x00
                           }, 

                           "PinConfigurations", 
                           Buffer (Zero) {} 
                       }, Local0) 
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) 
                   Return (Local0) 
               } 
           }

 

Uwaga!

W Mountain Lion trzeba ustawić layout na 12.

Więc w DSDT sekcja layout-id powinna wyglądać następująco:

                            "layout-id", 
                           Buffer (0x04) 
                           { 
                               0x0C, 0x00, 0x00, 0x00
                           }, 

 

Należy skopiować layout262.xml i Platforms.xml lub layout262.xml.zlib i Platforms.xml.zlib do /System/Library/Extensions/AppleHDA.kext/Contents/Resources/

 

Snow Leopard i Lion

sudo cp layout262.xml /System/Library/Extensions/AppleHDA.kext/Contents/Resources/
sudo cp Platforms.xml /System/Library/Extensions/AppleHDA.kext/Contents/Resources/

 

Mountain Lion

sudo cp layout12.xml.zlib /System/Library/Extensions/AppleHDA.kext/Contents/Resources/
sudo cp Platforms.xml.zlib /System/Library/Extensions/AppleHDA.kext/Contents/Resources/

 

Ponieważ ALC262 było w Macach żaden binpatch nie jest potrzebny!

 

Potem trzeba zainstalować kexta ALC262.kext do /Extra lub /System/Library/Extensions. Na przykład Kext Wizardem.

 

A na końcu polecam przebudować cache i uprawnienia. Na przykład Kext Wizardem.

Nie zapomnij wywalić VoodooHDA!

 

Po aktualizacji systemu wystarczy ponowne skopiowanie Platforms oraz layout.

 

Uwaga: Jeśli po około 30sekundach od ostatniego odtworzenia dźwięku pojawiają się szumy w głośnikach, to można sobie z tym poradzić odpalając program Silencer. (Nie pokaże się w docku, można go zamknąć przez monitora aktywności.) Jeśli pomogło, to polecam dodać go do auto uruchamiania.

Nie jest to może najelegantsza metoda, no ale działa i nie zwiększa ryzyka KP.

 

Edit 6.06.2012:

Nowa wersja programu Silencer. Stara mogła powodować dłuższe przechodzenie komputera w stan uśpienia.

Silencer.zip

LegacyHDA_ALC262.zip

alc262_ml.zip

Share this post


Link to post
Share on other sites

Problemem jest zarządzanie energią kodeka. Po około 30 sekundach od ostatniego odtworzenia dźwięku kodek jest wyłączany. U mnie wtedy pojawiają się zakłócenia w głośnikach (prawdopodobnie wzmacniacz nie otrzymuje żadnego sygnału i wzmacnia co popadnie, zakłócenia z innych układów).

 

Więc napisałem bardzo prosty program, który co 25 sekund symuluje odtwarzanie dźwięku, co wystarcza, by kodek się nie wyłączał.

 

Będę szukał bardziej eleganckiego rozwiązania, ale na razie to wystarczy. Przynajmniej nie wpływa na ryzyko KP.

Share this post


Link to post
Share on other sites

Wygląda na to, że działa. Kodek ciągle jest włączony (CurrentPowerLevel=MaximumPowerLimit). Dopiero jak podłączę słuchawki, to się przełącza na IdlePowerLevel i w głośnikach są ciche bzyki. Ale mi to nie przeszkadza.

 

Dzięki!

Share this post


Link to post
Share on other sites

oswaldini, rewelka...

 

Widzę ciężko będzie się pozbyć DSDT... nawet na płytach takich jak P8Z68 Deluxe :/...

 

EDIT:

Możecie wrzucić przykład kodu HDEF oryginalnego i po modyfikacji... u mnie na ASUS'ie mam spektakularny KP jak dodam ten wpis... co ciekawe opisywane przez was bzyki udało mi się usłyszeć dopiero jak rozkręciłem wzmacniacz prawie na max'a, co ciekawe zaraz po włączeniu są cichsze niż po jakiejś minucie bezczynności. Jakby pogłaśniały się o 50% i tak już zostają, nawet jak odtworzymy dowolny dźwięk... Nie mniej wciąż ich poziom jest na tyle niski, że są słyszalne u mnie dopiero po rozkręceniu wzmacniacza prawie na max'a. Jak zjeżdżam do normalnych wartości (nie dyskotekowych) to szumy są już nie wychwycenia. Może w takim razie nie wszystkie płyty/komputery mają problem z tymi bzykami... co by mogło się zgadzać, bo wcześniej nigdy ich nie wychwyciłem przy robieniu legacy, a trochę tego na trzaskałem...

Share this post


Link to post
Share on other sites

Mój HDEF:

            Device (HDEF) 
           { 
               Name (_ADR, 0x001B0000) 
               Method (_DSM, 4, NotSerialized) 
               { 
                   Store (Package (0x0A) 
                       { 
                           "subsystem-id", 
                           Buffer (0x04) 
                           { 
                               0x75, 0x83, 0x00, 0x00
                           }, 

                           "subsystem-vendor-id", 
                           Buffer (0x04) 
                           { 
                               0x62, 0x14, 0x00, 0x00
                           }, 

                           "layout-id", 
                           Buffer (0x04) 
                           { 
                               0x0C, 0x00, 0x00, 0x00
                           }, 

                           "AFGLowPowerState", 
                           Buffer (0x04) 
                           { 
                               0x01, 0x00, 0x00, 0x00
                           }, 

                           "PinConfigurations", 
                           Buffer (Zero) {} 
                       }, Local0) 
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) 
                   Return (Local0) 
               } 
           }

Żadnych KP na MSI. Usuń długość w Store (Package (0x0A), żeby się skompilowało i dodało prawidłową długość. Może same bzyki zależą też od wzmacniacza? Klient na P8Z68 Deluxe miał bardzo duze problemy i bzyki śniły mu się po nocach już :) Rozwiązałem problem programem Janka, a jak klient będzie miał czas to przetestuje poprawkę HDEF u niego.

Share this post


Link to post
Share on other sites
na P8Z68 Deluxe miał bardzo duze problemy i bzyki śniły mu się po nocach

Dziś sprawdzałem te bzyki na P8Z68 Deluxe i naprawdę nie wiem o co wam z nimi chodzi. Aby były słyszalne to trzeba rozkręcić wzmacniacz na co najmniej 50% mocy, przy czym przecież nie słuchasz "bzyków" tylko muzyki... jak ustawisz na komfortowy poziom głośności to tych bzyków zwyczajnie nie słychać.

 

Sprawdzę dziś jeszcze raz dokładnie DSDT, skoro Ci działa to musiałem się machnąć gdzieś...

Share this post


Link to post
Share on other sites

Właśnie dodałem tą łatkę do swojego DSDT, muszę sprawdzić... laptopowe głośniczki mają dość tych bzyków :)

 

BTW. Proponuję wydzielić rozmowę o bzykach do osobnego tematu.

 

EDIT: Działa. Głośniczki grają lepiej :) Dzięki @oswaldini za ten wpis!

Share this post


Link to post
Share on other sites
przy czym przecież nie słuchasz "bzyków" tylko muzyki...

Ale bzyki są co 30s jak nie ma włączonej muzy, rozwiązaniem byłoby wyłączać wzmacniacz cały czas jak nic nie leci. Ponadto tak jak mówię, może to też zależeć od wzmacniacza.

Share this post


Link to post
Share on other sites
bzyki są co 30s jak nie ma włączonej muzy

Bzyki są cały czas. Po krótkim okresie ciszy powiększają się powiedzmy o 50%, ale żeby je usłyszeć, to trzeba naprawdę mocno rozkręcić wzmacniacz. Jak jest tak mocno rozkręcony i włączysz muzykę, to obudzisz sąsiadów z sąsiednich mieszkań. Jak przyciszysz wzmacniacz do poziomu aby ich nie obudzić to tych bzyków już nie da się usłyszeć.

rozwiązaniem byłoby wyłączać wzmacniacz cały czas jak nic nie leci

Nie ma potrzeby, wystarczy ustawić głośność na 5-10%...

 

Nie mniej zgadzam się z teorią, że może to zależeć od wzmacniacza...

Share this post


Link to post
Share on other sites
Wpis do DSDT dla P8Z68 Deluxe nie pomógł

Dziś sprawdziłem jeszcze raz wszystko, i faktycznie źle obliczyłem w głowie wartość Package... dziwne, bo skompilował się i nie protestował... ale mniejsza z tym.

 

Wpis ten "odrobinę daje", tzn teraz nie pogłaśniają się te bzyki po okresie bezczynności, ale wciąż da się usłyszeć "pyknięcia" przy przejściu z spoczynku do generowania dźwięku. szczególnie jest to słyszalne, jak mamy ciszę i np przed dźwiękiem z komunikatora jest delikatne "stuknięcie" i zaraz potem leci dźwięk.

 

Co ciekawe, porównywałem sobie ALC1200 na mojej P7P55 WS SC i tam gra on zauważalnie lepiej i bzyki są cichsze... ale też są...

 

Moim zdaniem idzie to wzmacniaczem.

Możliwe że zbierają to kable audio od głośników... jak są kiepskiej jakości to nie ma co się dziwić...

Share this post


Link to post
Share on other sites

Janek. Jeszcze jedno pytanie. Po dodaniu wszystkiego działa dobrze, ale ...

Po uśpieniu (lub restarcie) znikają wpisy w "Ten Mac". Wprawdzie nie wpływa to na działanie (przynajmniej nie zauważyłem), ale takie to trochę dziwne :) Masz to u Siebie?

Share this post


Link to post
Share on other sites

Próbuję dostosować ten legacy dla Mountain Lion.

Zmieniłem LayoutID na 12, skompresowałem do zlib, ale nic to nie dało.

Parę błędów SoundAssertion i brak dźwięku.

Co jeszcze się pozmieniało?

 

9/26/12 2:13:14.000 PM kernel[0]: Sound assertion in AppleHDADriver at line 1127
9/26/12 2:13:14.000 PM kernel[0]: Sound assertion in AppleHDADriver at line 1052
9/26/12 2:13:14.000 PM kernel[0]: Sound assertion in AppleHDADriver at line 1127
9/26/12 2:13:14.000 PM kernel[0]: Sound assertion in AppleHDADriver at line 1052

Archiwum.zip

Share this post


Link to post
Share on other sites

Powywalałem MuteGPIO, nie pomogło.

Winne okazało się DSP dla głośników. Po wywaleniu zadziałało.

 

Tu mam pytanie: Do czego te MuteGPIO tak naprawdę jest?

Mikrofon zdaje się działać (lata pasek sygnału).

 

Edit: już wiem po co jest... ;-)

 

Okazało się, że u mnie problemem nie jest MuteGPIO, tylko DSP.

Musiałem wywalić z SoftwareDSP z LineIn, i IntSpeaker

Share this post


Link to post
Share on other sites
Okazało się, że u mnie problemem nie jest MuteGPIO, tylko DSP.

Musiałem wywalić z SoftwareDSP z LineIn, i IntSpeaker

Też możliwe, podejrzyj jak one wyglądają w kextach z 10.8.x i możesz sobie analogiczne zaaplikować. DSP przy mikrofonie powoduje włączenie redukcji odgłosów otoczenia, a przy głośnikach "przycięcie" pasma do częstotliwości zjadliwych dla pierdziawek laptopowych.

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...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.