Skocz do zawartości

ALC262 na 10.6.X bez VoodooHDA?


janek202
 Udostępnij

Rekomendowane odpowiedzi

Czy jest możliwe uruchomienie ALC262 w Snow Leopardzie inną metodą niż VoodooHDA (by Slice)?

Aktualnie mam trochę zastrzeżeń do jakości dzwięku pod VoodooHDA (by Slice), tzn. czasem słychać cichutko w głośnikach, jak przewijam myszką. Na windowsie tego nie ma.

 

Codec: Realtek ALC262
Address: 0
Vendor Id: 0x10ec0262
Subsystem Id: 0x144dc042
Revision Id: 0x100202

 

00:1b.0 Audio device [0403]: Intel Corporation 82801I (ICH9 Family) HD Audio Controller [8086] (rev 03) 
Subsystem: Samsung Electronics Co Ltd Device [144d] 
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- 	Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 22
Region 0: Memory at f6200000 (64-bit, non-prefetchable) [size=16K] 
(...) 
Kernel driver in use: HDA Intel
Kernel modules: snd-hda-intel

 

Czy modyfikacja DSDT ma w ogóle sens jeśli nie ma LegacyHDA dla ALC262 (Wszędzie tylko 888, 889 i podobne)?

 

 

Fragment dsdt, oryginalny:

            Device (HDEF) 
           { 
               Name (_ADR, 0x001B0000) 
               OperationRegion (HDAR, PCI_Config, 0x4C, 0x10) 
               Field (HDAR, WordAcc, NoLock, Preserve) 
               { 
                   DCKA,   1, 
                           Offset (0x01), 
                   DCKM,   1, 
                       ,   6, 
                   DCKS,   1, 
                           Offset (0x08), 
                       ,   15, 
                   PMES,   1
               }

 

Przerobiony na podstawie poradnika Oswaldiniego, testowany i jest dobrze zrobiony:

            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) 
                           { 
                               0x0C, 0x00, 0x00, 0x00
                           },

                           "PinConfigurations",
                           Buffer (Zero) {} 
                       }, Local0) 
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) 
                   Return (Local0) 
               } 
               OperationRegion (HDAR, PCI_Config, 0x4C, 0x10) 
               Field (HDAR, WordAcc, NoLock, Preserve) 
               { 
                   DCKA,   1, 
                           Offset (0x01), 
                   DCKM,   1, 
                       ,   6, 
                   DCKS,   1, 
                           Offset (0x08), 
                       ,   15, 
                   PMES,   1
               }

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 146
  • Dodano
  • Ostatniej odpowiedzi

Top użytkownicy w tym temacie

Top użytkownicy w tym temacie

Opublikowane grafiki

Jest możliwe, ba jest to jeden z dwóch kodeków Realtek'a montowany w maczkach (ALC262 i ALC885).

Czy modyfikacja DSDT ma w ogóle sens jeśli nie ma LegacyHDA dla ALC262 (Wszędzie tylko 888, 889 i podobne)?

Pamiętaj, że wpis w DSDT stanowi jedynie zastępstwo HDAEnabler'a - do poprawnej pracy układu dźwiękowego potrzebujesz injector'a: HDAEnabler lub wpis do DSDT oraz zmodyfikowany AppleHDA lub LegacyAppleHDA napisany pod konkretny układ.

 

Aby w pełni cieszyć się dźwiękiem za pomocą oryginalnego AppleHDA należy samemu sobie zmodyfikować/napisać kext do dźwięku. Robi się to na podstawie dumpów kodek'a z linux'a.

 

Załącz dump Twojego codek'a z linux'a i zobaczymy co da się wymyślić. Przydał by się też dump z maczka który miał na pokładzie ALC262...

Odnośnik do komentarza
Udostępnij na innych stronach

Edit: Skoro ALC262 był w maczkach, to czemu trzeba modyfikować AppleHDA?

Ten sam "chip" może być na różny sposób skonfigurowany i podłączony... To już zależy od inwencji samego producenta. Np możesz mieć ALC885 w notebooku z którego zostało użyte tylko Speaker, Line-Out i Mic (Mac Book) a w desktopie masz np pełne 7.1 + 2 mic i line in, nie wspominając o cyfrowych złączach.

 

To co się przerabia w AppleHDA to informacje jak każde ze złącz ma się zachowywać upodabniając je do macowych - czyli pin20 np jako Speaker a nie Line-out, a w innym miejscu ustalamy kolejność połączeń na podstawie fizycznych połączeń układu, czyli źródło sygnału -> mikser/wzmacniacz -> wyjście. Do tego celu potrzebny jest codec dump, aby na jego podstawie specjalnymi programami utworzyć schemat połączeń układu, i przy jego pomocy tworzymy własny Legacy/AppleHDA. Tak np zrobiłem obecny ALC1200/888 a wcześniej ALC882.

Odnośnik do komentarza
Udostępnij na innych stronach

Mógłbyś napisać jakie to programy i jak mniej-więcej się to robi?

Na początek zapoznaj się z:

http://www.projectosx.com/forum/index.php?showtopic=465

Jest w tym tutorialu jakieś 40-50% potrzebnej wiedzy do wykonania działającej modyfikacji AppleHDA... na początek wystarczy aby zorientować się o co w tym chodzi...

 

Jeśli na poważnie myślisz o modyfikacji AppleHDA, to będzie potrzebny dostęp do sprzętu z tym ALC262 oraz dwa systemy lub najlepiej dwa komputery... jeden na którym testujesz, drugi na którym wprowadzasz poprawki.

Odnośnik do komentarza
Udostępnij na innych stronach

Chcę trochę poprawić jakość dźwięku z mojego laptopa z ALC262.

Pisząc "dwa systemy" masz na myśli dwa systemy OS X? Bo najwyżej zainstaluję na dysku USB.

Oprócz SL na laptopie mam Win7 x64 i Ubuntu 9.04 i 10.04 x64 na płytach.

A nie da rady robić tego na jednym, tzn, wprowadzać poprawki i testować?

Odnośnik do komentarza
Udostępnij na innych stronach

Dwa OS X, a piszę dla tego, że czasami przy testowaniu kolejnych wersji zdarza się kernel panic... ewentualnie zamiast dwóch OS X'ów musisz mieć sprawny i działający BootCD, żeby w razie KP podnieść system i usunąć wadliwy kext. Ewentualnie (bo nie pamiętam czy zadziała) uruchomić system z -s i w terminalu usunąć wadliwy kext i przebudować w wierszu poleceń mkexta z /Extra/KexStore

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 miesiące temu...

Zacząłem powoli brać się za to na "poważnie".

Mam na dysku USB testowy system Snow Leopard Server 10.6.4. zainstalowany z płytki retail 10.6.3.

 

W załączniku wrzucam wszystkie dumpy zrobione według podlinkowanego tutoriala. (Chapter I).

 

Mam dwa pytania zanim będę bawić się w to dalej:

 

1) Czy wersja serwerowa nie będzie problemem? Przypuszczam, że nie, ale wolę się upewnić i nie zmarnować czasu.

2) Czy na początek mogę wykorzystać HDAEnabler? Czy jednak lepiej byłoby zmodyfikować DSDT? Który sposób jest lepszy podczas edycji kextów?

alc262dumps.zip

Odnośnik do komentarza
Udostępnij na innych stronach

1) Czy wersja serwerowa nie będzie problemem? Przypuszczam, że nie, ale wolę się upewnić i nie zmarnować czasu.

Wg mnie nie powinno mieć to żadnego znaczenia.

2) Czy na początek mogę wykorzystać HDAEnabler? Czy jednak lepiej byłoby zmodyfikować DSDT? Który sposób jest lepszy podczas edycji kextów?

Można, acz HDAEnabler potrafi sprawić psikusa... wg mnie chyba lepiej jest wrzucić poprawkę do DSDT, to niewiele pracy a pewność działania metody niezastąpiona.

 

Jak będziesz miał ochotę powalczyć, to chętnie pomogę, trochę namęczyłem się nad ALC882/888/1200 więc szkoda żebyś wyważał drzwi...

 

Oprócz samych dumpów z Twojego przydał by się dump z oryginalnego maczka z takim samym układem w celach edukacyjnych... o ile z ALC885 mam, to z ALC262 nie mogłem nigdzie znaleźć... może Ty będziesz miał więcej szczęścia.

Odnośnik do komentarza
Udostępnij na innych stronach

No i pojawił się już pierwszy problem. W AppleHDAController nie ma w ogóle kategorii HDAConfigDefault. Podejrzewam, że potrzebuję wersji AppleHDA z poprzedniej wersji systemu. 10.6.2 może?

Jeśli trzeba z 10.6.0, to wyciągnę sobie prawdopodobnie pacyfistem z instalki retaila, jeśli jednak trzeba innej wersji, to nie mam pojęcia skąd ją wziąć.

 

Uzupełniłem DSDT, o sekcję HDEF, tak jak pisałem wyżej. System dalej działa. Dźwięku dalej brak (tego się akurat spodziewałem).

Odnośnik do komentarza
Udostępnij na innych stronach

janek202, Nie pamiętam czy on jest potrzebny w snow... obejrzyj sobie jak wygląda mój najnowszy ALC1200-v.17.kext z tego postu:

http://hamac.pl/topics25/p7p55-ws-super ... .htm#25297

One jest kompletny pod każdym względem... nie wywala żadnych błędów assertion itp itd i wszystko działa.

 

Na nim popatrz sobie jakie sekcje będą potrzebne...

 

Oczywiście u Ciebie będą zupełnie inne pinconfigi i patchmapy...

Odnośnik do komentarza
Udostępnij na innych stronach

Z tego co zrozumiałem, to Twój ALC1200-x17, to tak zwany dummy kext, czyli zawierający samo Info.plist. Jest to chyba najlepsze rozwiązanie, bo nie wymaga chyba edycji systemowych kextów, tylko, że nie mam żadnych informacji, jak to zrobić.

 

Ten tutorial jest niekompletny i kończy się na :"To be continued..." obejmując tylko część edycji AppleHDA, więc sam takiego czegoś nie jestem chyba w stanie zrobić.

 

Edit: Twój kext zawiera te wpisy, których brakuje w AppleHDA z 10.6.4. Nie będzie to ze sobą kolidować? Czy mogę wykorzystać Twój kext i zmodyfikować go zgodnie z tym tutorialem (tzn. edytować wpisy w plistach zamiast w kextach od AppleHDA, to w tym kexcie)?

Odnośnik do komentarza
Udostępnij na innych stronach

Z tego co zrozumiałem, to Twój ALC1200-x17, to tak zwany dummy kext, czyli zawierający samo Info.plist.

Dokładnie. Takie rozwiązanie pozwala na aktualizację AppleHDA bez obawy że po upgradzie nie będzie dźwięku.

 

Ten tutorial jest niekompletny i kończy się na :"To be continued..." obejmując tylko część edycji AppleHDA, więc sam takiego czegoś nie jestem chyba w stanie zrobić.

Brakuje w nim trochę nawet więcej... jest parę kruczków, ale mam je w miarę wszystkie ogarnięte... niestety w głowie i moich notatkach, ale są. ;-)

 

Edit: Twój kext zawiera te wpisy, których brakuje w AppleHDA z 10.6.4. Nie będzie to ze sobą kolidować? Czy mogę wykorzystać Twój kext i zmodyfikować go zgodnie z tym tutorialem (tzn. edytować wpisy w plistach zamiast w kextach od AppleHDA, to w tym kexcie)?

Jak najbardziej, nawet wręcz powinieneś...

 

Najpierw zacznij od zrobienia grafu połączeń z dumpu codec'a oraz wygenerowaniu (wyciągnięciu z windy) pinconfig'ów. Na podstawie tych dwóch rzeczy robi się mapę połączeń - czyli część brakującego poradnika THe KiNG'a.

Odnośnik do komentarza
Udostępnij na innych stronach

Najpierw zacznij od zrobienia grafu połączeń z dumpu codec'a oraz wygenerowaniu (wyciągnięciu z windy) pinconfig'ów. Na podstawie tych dwóch rzeczy robi się mapę połączeń - czyli część brakującego poradnika THe KiNG'a.

 

Całą pierwszą część poradnika już zrobiłem. Parę postów wyżej wrzuciłem to w paczce alc262dumps. Zawiera ona między innymi PinConfig z Win7 i graf połączeń.

Odnośnik do komentarza
Udostępnij na innych stronach

Całą pierwszą część poradnika już zrobiłem. Parę postów wyżej wrzuciłem to w paczce alc262dumps. Zawiera ona między innymi PinConfig z Win7 i graf połączeń.

To super :oops: przyznaję się że nie zaglądałem...

 

To w takim razie przydał by się i to bardzo dump codec'a audio ALC262 z oryginalnego maczka... poszukaj w necie może będziesz miał więcej szczęścia niż ja.

Odnośnik do komentarza
Udostępnij na innych stronach

Aktualnie nie mogę nawet znaleźć w którym maczku był ten ALC262 montowany. Teoretycznie mógłbym się spytać na przykład na myapple, ale sam wiesz jaki oni mają stosunek do hackintoshy (no i zrobienie codec-dumpu byłoby pewnie dla większości z nic zbyt skomplikowane). ;-) Ale znalazłem coś takiego:

 

http://www.insanelymac.com/forum/index.php?showtopic=83633&pid=610117&mode=threaded&start=

Jest to pewnie dla Tigera albo Leoparda, ale może dałoby się wykorzystać jakieś informacje.

 

Edit: Verbit wypluł mi takie coś:

Verbs from Linux Codec Dump File: codec_dump.txt

Codec: Realtek ALC262   Address: 0   DevID: 283902562 (0x10ec0262) 

  Jack   Color  Description                  Node     PinDefault             Original Verbs
--------------------------------------------------------------------------------------------------------
   1/8   Black  Speaker at Ext Rear         18 0x12   0x411111f0   01271cf0 01271d11 01271e11 01271f41
 ATAPI Unknown  Speaker at Int ATAPI        20 0x14   0x99130110   01471c10 01471d01 01471e13 01471f99
   1/8   Green  HP Out at Ext Rear          21 0x15   0x0121401f   01571c1f 01571d40 01571e21 01571f01
   1/8   Black  Speaker at Ext Rear         22 0x16   0x411111f0   01671cf0 01671d11 01671e11 01671f41
   1/8    Pink  Mic at Ext Rear             24 0x18   0x01a19820   01871c20 01871d98 01871ea1 01871f01
 ATAPI Unknown  Mic at Int ATAPI            25 0x19   0x99a3092f   01971c2f 01971d09 01971ea3 01971f99
   1/8   Black  Speaker at Ext Rear         26 0x1a   0x411111f0   01a71cf0 01a71d11 01a71e11 01a71f41
   1/8   Black  Speaker at Ext Rear         27 0x1b   0x411111f0   01b71cf0 01b71d11 01b71e11 01b71f41
   1/8   Black  Speaker at Ext Rear         28 0x1c   0x411111f0   01c71cf0 01c71d11 01c71e11 01c71f41
   RCA  Purple  Speaker at Ext N/A          29 0x1d   0x4014820d   01d71c0d 01d71d82 01d71e14 01d71f40
   1/8   Black  Speaker at Ext Rear         30 0x1e   0x411111f0   01e71cf0 01e71d11 01e71e11 01e71f41
   1/8   Black  Speaker at Ext Rear         31 0x1f   0x411111f0   01f71cf0 01f71d11 01f71e11 01f71f41
--------------------------------------------------------------------------------------------------------


  Jack   Color  Description                  Node     PinDefault             Modified Verbs
--------------------------------------------------------------------------------------------------------
 ATAPI Unknown  Speaker at Int ATAPI        20 0x14   0x99130110   01471c10 01471d00 01471e13 01471f90
   1/8   Green  HP Out at Ext Rear          21 0x15   0x0121401f   01571c30 01571d40 01571e21 01571f01
   1/8    Pink  Mic at Ext Rear             24 0x18   0x01a19820   01871c20 01871d90 01871ea1 01871f01
 ATAPI Unknown  Mic at Int ATAPI            25 0x19   0x99a3092f   01971c40 01971d00 01971ea3 01971f90
   RCA  Purple  Speaker at Ext N/A          29 0x1d   0x4014820d   01d71c50 01d71d80 01d71e14 01d71f40
--------------------------------------------------------------------------------------------------------

Zauważyłem, że nie ma nic o HDMI, przypuszczam, że kodek alc262 jest podpięty do wyjścia HDMI, przez SPDIF, którego tutaj nie ma. Chyba, że to jest to złącze RCA...

 

Edit: Podczas robienia codec-dumpa w ubuntu, otrzymałem dwa pliki. Jeden jest od ALC262, a drugi nie ma opisu kodeka, ale zawiera wpisy dotyczące HDMI...

Edit2: Drugi plik zawiera informacje dotyczące wyjścia HDMI przez nVidię GeForce... Jak to teraz ugryźć? Nie przejmować się tym teraz?

Odnośnik do komentarza
Udostępnij na innych stronach

Jest to pewnie dla Tigera albo Leoparda, ale może dałoby się wykorzystać jakieś informacje.

Leoparda, ale faktycznie przy pracach mogą się przydać chociażby aby popatrzeć i przeanalizować działające połączenia

Zauważyłem, że nie ma nic o HDMI

To zależy z jakiego układu masz wypuszczony dźwięk spdif, możliwe że z układu nvidii... Czy masz oprócz tego dump'a jeszcze jeden codec?

Odnośnik do komentarza
Udostępnij na innych stronach

Tak, mam dwa:

card0-codec#0.txt - ALC262

card0-codec#2.txt - Chyba o nVidii: zawiera wpisy: Digital Out at Int HDMI itp.

 

Edit: Vendor ID: 0x10de0003 naprowadził mnie na nVidię...

 

Wszystko jak na razie robiłem na podstawie card0-codec#0.txt od ALC262...

 

Edit2: Info z Verbita o codec dumpie nvidii.

Verbs from Linux Codec Dump File: nv_cd.txt

Codec: Generic 10de ID 3   Address: 2   DevID: 282984451 (0x10de0003) 

  Jack   Color  Description                  Node     PinDefault             Original Verbs
--------------------------------------------------------------------------------------------------------
Digital Unknown  Digital Out at Int HDMI      5 0x05   0x18560110   20571c10 20571d01 20571e56 20571f18
Digital Unknown  Digital Out at Int HDMI      7 0x07   0x58560121   20771c21 20771d01 20771e56 20771f58
Digital Unknown  Digital Out at Int HDMI      9 0x09   0x58560122   20971c22 20971d01 20971e56 20971f58
Digital Unknown  Digital Out at Int HDMI     11 0x0b   0x58560123   20b71c23 20b71d01 20b71e56 20b71f58
Digital Unknown  Digital Out at Int HDMI     13 0x0d   0x58560124   20d71c24 20d71d01 20d71e56 20d71f58
--------------------------------------------------------------------------------------------------------


  Jack   Color  Description                  Node     PinDefault             Modified Verbs
--------------------------------------------------------------------------------------------------------
Digital Unknown  Digital Out at Int HDMI      5 0x05   0x18560110   20571c10 20571d00 20571e56 20571f10
Digital Unknown  Digital Out at Int HDMI      7 0x07   0x58560121   20771c20 20771d00 20771e56 20771f50
Digital Unknown  Digital Out at Int HDMI      9 0x09   0x58560122   20971c30 20971d00 20971e56 20971f50
Digital Unknown  Digital Out at Int HDMI     11 0x0b   0x58560123   20b71c40 20b71d00 20b71e56 20b71f50
Digital Unknown  Digital Out at Int HDMI     13 0x0d   0x58560124   20d71c50 20d71d00 20d71e56 20d71f50
--------------------------------------------------------------------------------------------------------

 

To jak na razie się tym nie przejmować i spróbować uzyskać działające ALC262?

Do pełnego działania będę chyba potrzebować dwóch dummy kextów? Od ALC262 i drugi od HDMI? Bo chyba się nie da tego upchać w jednym?

Odnośnik do komentarza
Udostępnij na innych stronach

To jak na razie się tym nie przejmować i spróbować uzyskać działające ALC262?

Tak jak najbardziej...

Do pełnego działania będę chyba potrzebować dwóch dummy kextów? Od ALC262 i drugi od HDMI? Bo chyba się nie da tego upchać w jednym?

Najpierw musisz odszukać czy i jak odpala się spdif po hdmi w nvidiach... może być zupełnie inaczej niż z ALC, ale jeśli choć w jednym sprzęcie apple'a działa audio na displayporcie, to i na hacku pewnie da radę odpalić.

Odnośnik do komentarza
Udostępnij na innych stronach

Odpalić się da. VoodooHDA sobie z tym poradziło i mam dźwięk przez HDMI

Ale idę o zakład że nie masz spdif passthru... a to co zadziało to zwykłe 2.0.

Nie wiem czy przez AppleHDA też się uda, ale zobaczymy.

Poszukaj identyfikatora nvidii w info.plist AppleHDA.

Odnośnik do komentarza
Udostępnij na innych stronach

Czytam już 3 raz ale nie do końca rozumiem co mam teraz zrobić.

W IOKitPersonalities/BuiltInHDA/HDAConfigDefault

zmieniłem CodecID na odpowiedni z dumpu przerobionego na dziesiętny

FuncGroup mam 1

LayoutID mam 12

 

Mam problem ConfigData, mianowicie nie rozumiem w jaki sposób mam to uzupełnić informacjami z Verbita.

 

Jeśli dobrze zrozumiałem ten tutorial, to sporo informacji jest opisujących kolejne wyjścia, ale nie jest napisane w jaki sposób to uzupełnić.

Odnośnik do komentarza
Udostępnij na innych stronach

Wynik z verbita musisz jeszcze obrobić, one nie jest idealny. Pinconfigi muszą być zgodne z założeniami Apple'a, a tam np nie ma czegoś takiego jak multichannel czy front panel.

 

Mam problem ConfigData, mianowicie nie rozumiem w jaki sposób mam to uzupełnić informacjami z Verbita.

I dlatego tu by się przydał wgląd w oryginalny dump. Widać tedy jak są ustawiany kolejne sekcje... Na początku trzeba zrozumieć budowę verbitów, po co są te 4-ry człony i do czego służy ustawienie kolejnych bitów.

Odnośnik do komentarza
Udostępnij na innych stronach

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.