Jump to content

(Solucionado) Parchear/Inyectar sonido Realtek ALC269 en DSDT y AppleHDA

* - - - - 1 votes

  • Please log in to reply
9 replies to this topic

#1
franmglp

franmglp

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 132 posts
  • Gender:Male
  • Location:Argentina

Buenas, estoy tratando de que funcione el audio en mi hackintosh, es una notebook ASUS K42F con una Realtek ALC269.

Traté de parchear el kext AppleHDA y mi DSDT como indica el usuario Micky1979 en este post pero no me funciona.

Obtuve el "Codec Dump" desde Ubuntu, los "Verbs" y los archivos svg que grafican el circuito de la placa de audio.

Estos datos los usé para parchear el AppleHDA.kext y mi DSDT con el post que cito anteriormente como guía.

Los Verbs son estos:
 


01171CF0 01171D11 01171E11 01171F41 01271CF0 01271D11 01271E11 01271F41 01471C10 01471D01 01471E13 01471F99 01571CF0 01571D11 01571E11 01571F41 01671CF0 01671D11 01671E11 01671F41 01871CF0 01871D11 01871E11 01871F41 01971C20 01971D09 01971EA3 01971F99 01A71C1F 01A71D1C 01A71E21 01A71F04 01B71CF0 01B71D11 01B71E11 01B71F41 01D71C2D 01D71D81 01D71E05 01D71F40 01E71CF0 01E71D11 01E71E11 01E71F41

El Codec Dump de Ubuntu es este: Attached File  codec_dump.txt   8.29KB   4 downloads

Spoiler


El Codec Dump en decimal: Attached File  codec_dump_dec.txt   7.66KB   6 downloads

Spoiler


El Codec Dump en decimal representado graficamente: i.imgur.com/mo8pZvi.jpg

Attached File  codec_dump_dec-txt-svg.jpg   51.32KB   30 downloads

 



#2
franmglp

franmglp

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 132 posts
  • Gender:Male
  • Location:Argentina

Juanerson, te dejo el archivo zip con mis .ioreg, .spx y DSDT.aml que me pediste en el otro post.

 

A ver si podés chequear que le pasa a mi audio que no me funciona con ningún AppleHDA.

Attached Files



#3
juanerson

juanerson

    InsanelyMac Legend

  • Local Moderators
  • 1,486 posts
  • Gender:Male
  • Location:Tru, Venezuela

Ya vi el problema, estoy trabajando en arreglarte tu dsdt, te hace falta lo más importante: El famoso fix de las IRQs, ese parece ser el único problema que tienes... y otras cosas menores que tambien estoy ajustando para mejorar la compatibilidad con OS X. En pocas palabras estoy haciendo parte de tu tarea... por cierto.

 

Sobre el fix de las IRQs: http://www.projectos...p?showtopic=564

 

Editado:

En resumen, el fix de las IRQs re-ordena los recursos que utilizan los dispositivos. El dispositivo HPET necesita dos (2) IRQs que son importantes fijarlas, la IRQ 0 y la IRQ 8, que de fábrica pertenecen a TIMR y RTC respectivamente. En total HPET utiliza cuatro (4) IRQs, las otras dos son las primeras que estén libres, casi siempre son la IRQ B y la IRQ 14 o 15. Dependiendo cuales tomaran los puertos USB, SATA, etc... teclado y touchpad son exclusivas (no-compartidas). De esa manera HPET NO toma las IRQs más altas de manera aleatoria, lo cual puede traer conflictos con los dispositivos antes mencionados como SATA, WiFi, ethernet, USB, o en tu caso el dispositivo HDEF con la IRQ 16.

 

HDEF necesita dos (2) IRQs para levantar: la IRQ 16 (exclusiva) y la IRQ 2 (compartida). PERO la IRQ 16 es fija u obligatoria SOLO para ser usada por HDEF. Ese era el problema. Al menos espero estar en lo cierto. 

 

Puedes comparar los IOREg antes y después con la nueva dsdt. Las IRQs se ven como "IOInterruptSpecifiers". Actualmente HDEF tiene asignada una sola IRQ porque HPET le esta robando la IRQ 16. Con la nueva dsdt HDEF la tomará automáticamente porque ya HPET la dejó libre.

 

Por favor súbeme otro .ioreg y .spx para ver los resultados con la nueva dsdt. Tambien te inyecte nuevamente el audio, y otras cosas. En la base puedes apreciar los cambios.

 

Suerte.

Attached Files



#4
franmglp

franmglp

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 132 posts
  • Gender:Male
  • Location:Argentina

Muchísimas gracias juanerson!!! Ahora sí funciona el audio, la verdad que sos un maestro.

 

Nunca me llevé bien con las DSDT, nunca las entendí, pero ahora viendo lo que hiciste me parecen una maravilla.

 

Te dejo los nuevos .ioreg y .spx de la nueva DSDT.

 

Gracias!

Attached Files



#5
franmglp

franmglp

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 132 posts
  • Gender:Male
  • Location:Argentina

Por lo que veo, para ir aprendiendo, las IRQs en el dispositivo HPET antes y después de tu fix:

 

14 > 02 (Antes tomaba la IRQ 14 aleatoriamente pero se movió la 02 desde el dispositivo IPIC hacia el dispositivo HPET al poner la 00 en la DSDT)

15 > 08 (Antes tomaba la IRQ 15 aleatoriamente pero se movió la 08 desde el dispositivo RTC hacia el dispositivo HPET en la DSDT)

0b > 0b

16 > 14 (Supongo que antes tomaba aleatoriamente las IRQs 14, 15 y 16 pero ahora al tener una sola IRQ para asignar aleatoriamente es la primera, la 14)

 

Entonces, antes del fix el dispositivo HPET estaba "robando" la IRQ 16 que es necesaria para el dispositivo HDEF.

 

Mas o menos entendí bien?

 

Y otra cosa que ví es que antes de tu fix estaba tachado "IOHIDPointingDevice" después de ApplePS2Mouse en PS2K y PS2M pero no sé porqué se arregló.



#6
juanerson

juanerson

    InsanelyMac Legend

  • Local Moderators
  • 1,486 posts
  • Gender:Male
  • Location:Tru, Venezuela

Enhorabuena, hermano. Si, entendiste bien. La IRQ 2 es la primera luego de la IRQ 1 que pertenece exclusivamente al teclado (PS2K), esa es inamovible o te quedarías sin teclado. Lo mismo aplica con la IRQ 12, si la mueves desde PS2M te quedas sin touchpad. Ahora bien, la IRQ 0 es simbólica, es decir NO existe sino que se fija de esa manera para que HPET tome la primera disponible, y considerando que IPIC no necesita IRQ en OS X, entonces HPET toma la IRQ 2. Desde finales del 2009, tiempos de Leopard 10.5.8 y SL 10.6, ha habido mucho debate sobre el tema, porque la DSDT era desconocida para tod@s nosotr@s, sin embargo el fix de las IRQs a partir de SL en mi opinión es OBLIGATORIO en OS X, y se puede considerar la principal razón para estudiar el tema DSDT. Saludos.



#7
franmglp

franmglp

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 132 posts
  • Gender:Male
  • Location:Argentina

Juanerson, qué entradas y salidas funcionan en tu hackintosh?

 

En mi portátil funcionan los parlantes integrados y detecta el micrófono interno pero no recibe señal. Y me faltaría que detecte los auriculares y la entrada de línea. Estos últimos funcionan mediante un mismo jack, es posible en hackintosh que en un mismo jack se pueda conectar auriculares o entrada de línea?

 

Detecta esto:

 

>Dispositivos: Entrada integrada, Salida integrada.

>Sonido Intel de alta definición: Micrófono interno, Altavoz, Auriculares, Entrada de línea.

 

EDITO: modifiqué el AppleHDA.kext que subiste para que funcione bien en mi ASUS.

 

  • En layout-12.xml:

 

Borré "LineIn" de Inputs.

 

  • En Platforms.xml:

 

Borré la segunda entrada con nodo 24 (1) que seguramente era la de "LineIn".

 

Cambié estos nodos:

Mic: de 8>35>18 a 8>35>25, con esto logré que funcione el micrófono interno.

IntSpeaker: lo dejé como estaba (3>13>20) ya que los parlantes internos funcionaron desde el primer momento.

Headphone: de 2>12>21 a 2>12>26, para que funcione la salida de auriculares.

 

  • Además modifiqué los verbs de AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist:

 

Mic: Antes el nodo era 18, los verbs empezaban con "0127". Ahora el nodo es 25, los verbs empiezan con "0197".

LineIn: Borré los verbs del nodo 24 que empezaban con "0187".

IntSpeaker: El nodo siempre quedó en 20, los verbs empiezan "0147" y no se borraron ni cambiaron.

Headphone: Antes el nodo era 21, los verbs empezaban con "0157". Ahora el nodo es 26, los verbs empiezan con "01A7".

 

Bueno después de hacer eso me quedaron los dispositivos de Audio así:

 

>Dispositivos: Entrada integrada, Salida integrada.

>Sonido Intel de alta definición: Micrófono interno, Altavoz, Auriculares.

 

Ahora la duda que me queda es sobre la entrada de línea, la borré porque realmente no la uso nunca y no estoy seguro si se puede usar el mismo jack de audio como entrada de línea y salida de auriculares, en windows detecta lo que se está conectando pero no sé cómo es en una hackintosh.

 

Saludos!

 

Attached File  ALC269-HDA.zip   1.16MB   99 downloads



#8
juanerson

juanerson

    InsanelyMac Legend

  • Local Moderators
  • 1,486 posts
  • Gender:Male
  • Location:Tru, Venezuela

Puedes subir los archivos modificados para comparar? he estado haciendo algunos ajustes pero el micrófono no me funciona, lo demás si... en mi caso la salida de auriculares es lo que necesito, también quité la entrada de línea, básicamente cumplen la misma función.



#9
franmglp

franmglp

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 132 posts
  • Gender:Male
  • Location:Argentina

Acabo de subir el AppleHDA.kext modificado al post #7.
 
Estuve estudiando un poco sobre el parcheo del AppleHDA, y ví que los verbs se encargan de indicar el tipo de dispositivo de audio, el color del puerto, el tipo de conexión, etc. En el archivo layoutXX.xml se agregan el codec en decimal y los dispositivos. Y en el archivo Platforms.xml se indican los nodos.
 
Ahora, me interesa saber si hay que seguir una estructura determinada entre los archivos layoutXX.xml y Platforms.xml.
 
Porque por ejemplo en el AppleHDA de mi Realtek ALC269 tengo la siguiente estructura:
 

Spoiler

 
En Platforms.xml el cero es la raíz de todas la entradas de audio y el uno, de las salidas. Y se sigue una estructura que cambia solamente en la posición de Headphone/IntSpeaker que están así dispuestos en layout12.xml e invierten su posición en Platforms.xml. No me queda claro si es una estructura determinada o simplemente los dispositivos están ordenados de esa manera al azar y no importa seguir una estructura para que funcionen correctamente.
 
En cambio en el AppleHDA que estoy usando en mi VIA VT2021 la estructura es así:
 
Spoiler

 
Por lo que en este caso la estructura cambia en Platforms.xml dejando de lado el orden del cero como raíz para las entradas y el uno para las salidas sino que cada dispositivo tiene su raíz.



#10
jcda_23

jcda_23

    InsanelyMac Protégé

  • Members
  • Pip
  • 7 posts
  • Gender:Male
  • Location:venezuela
  • Interests:Toda la rama de computacion y electronica
  • amigo sera que me pueden  ayudar con la edición de mi dsdt para la inyección de audio realtek alc269 en mi laptop np300ez, procesador i5, placa intel hm65, bios phoneix tiano, he leído muchos temas y post respecto a ediciones de dsdt, pero creo que el que mas sabe y en nuestro idioma es juanerson, otro asunto pndiente de mi dsdt es la bateria, pues aplique un kext pero me aparece el simblo de la bateria pero siempre se mantiene e 100% con el cargador desconectado, realice la edicion ue menciona juanerson respecto al HEPT,IRQ, TIMR y RTC, anexo mi archivo original sacado de windows y uno modificado

  

Attached Files







0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy