LesGaR Posted August 26, 2012 Share Posted August 26, 2012 Hola, recien acabo de realizar una instalación satisfactoria de Mountain Lion en mi portátil Asus K52JU con el siguente Hardware: Tipo de CPU: Intel Core i3-370M, 2400 MHz (18 x 133) Placa base: Asus K52JU Series Notebook Chipset : Intel Ibex Peak-M HM55, Intel Ironlake-M DIMM1: Samsung 4 GB DDR3-1333 DDR3 SDRAM (8-8-8-22 @ 609 MHz) DIMM3: Elpida 2 GB DDR3-1333 DDR3 SDRAM (8-8-8-22 @ 609 MHz) BIOS : K52JU.206 Video : AMD Radeon HD 6370M (512 MB) (Robson) Monitor : Samsung LTN156A [15.6" LCD] Audio: ATI Radeon HDMI @ ATI Cedar/Park - High Definition Audio Audio: Conexant Cx20585 @ Intel Ibex Peak PCH - HDAudio Controller [b-3] IDE: Intel® 5 Series 4 Port SATA AHCI Controller Lecto tarjeta: JMB38X MS/SD/MMC/xD Host Controller Unidad ópt: Slimtype DVD A DS8A5SH Teclado: Keyboard Device Filter Mouse: ELAN PS/2 Port Smart-Pad Ethernet: JMicron PCI Express Gigabit Ethernet Adapter Wifi: Qualcomm Atheros AR9285 Wireless Network Adapter USB2 : Intel Ibex Peak PCH - USB 2.0 EHCI Controller 1 [b-3] USB2: Intel Ibex Peak PCH - USB 2.0 EHCI Controller 2 [b-3] Webcam: USB2.0 UVC VGA WebCam BaterÍa : ¿? Kexts: ACPISensors.kext (no aparece cargado) AppleACPIPlatform.kext v1.3.6 VoodooBattery.kext v1.3.3 (obsoleto, no funciona AppleACPIBatManager ) AppleACPIPS2Nub.kext v1.0.0d1 (obsoleto, no me funciona ningún otro) VoodooPS2Controller.kext v1.1.0 (obsoleto, no me funciona ningún otro) AppleHDA.kext v2.1.3f7 (copiado de Lion no hay nativo ML que funcione) AsusHotkeys.kext v1.0.15 (funciona, pero intentare inyectarlo en DSDT) ATI5000Controller.kext v8.0.0 (nativo ML pero editando device-id de mi grafica) AMDRadeonAcceator.kext v1.0.0 (nativo ML editado device-id soporte QE/CI) FakeSMC.kext v4.2.0 (creo que es el último de la rama estable) JMB38X.kext v1.5.0 (funciona lector SD, pero modificando device-id) jmc250.kext v1 (NO FUNCIONA Ethernet, pero permite acceder . Appstore y facetime + flag EthernetBuildIn Asi que si podeis ayudarme a conseguir: - activar los gestos en el touchpad - activar el speedstep - monitorizar temperaturas - activar suspensión - editar dsdt para cargar el AppleACPIBateryManager.kext (que gracias a Juarenson se que es el que hay que utilizar, según el foro hay que hacer modificaciones SERIAS en el dsdt. ) - Quitar el error pci configuration begin (aunque consigue arrancar, en el modo verbose se traba) - editar kexts de la grafica para que reconozca de forma nativa la pantalla y las salidas HDMI i VGA (en breve subiré la bios dumpeada) .... Os lo agradeceria Mucho. Añado mi dsdt original (que ni siquiera compila) y el que uso actualmente (con inyección de Atheros y HDA i fixes para que arranque) DSDT.zip Link to comment Share on other sites More sharing options...
juanerson Posted August 27, 2012 Share Posted August 27, 2012 Hola. Te he corregido la dsdt original para que compile sin errores, sólo quedaron 2 warnings que son insignificantes, no son errores y se pueden obviar. Ahora puedes trabajar en ella como base limpia: dsdtAsusK52JUOriginal_sinerrores.dsl.zip Por cierto, el código referente a la batería (device BAT0) se ve correcto y compatible con la especificación ACPI 4.0a de Lion y ML. Entonces te recomiendo que le apliques lo arreglos (fixes) básicos a esa nueva dsdt corregida, y pruebes a ver qué resultados obtienes con "AppleACPIBatteryManager" o la de tu preferencia. Arreglos usuales: http://olarila.com/f....php?f=19&t=634 Me llama la atención que uses una versión antigua de "AppleACPIPlatform.kext" (v1.3.6), ni siquiera es de Lion 10.7, esa versión es de Snow Leopard 10.6.7 si no me equivoco, y deberías usar la versión vanilla v1.6 de ML 10.8... Por qué usas esa versión antigua? En fin, con el código original que tienes en la batería debería funcionar con la "AppleACPIPlatform.kext" (v1.6). Esa extensión es el corazón ACPI para la administración de energía del sistema, todo lo referente a energía depende de esa extensión crítica. Para el audio nativo conexant CX20585 utilizo "AppleHDA" (v2.3.0f2) de ML 10.8 parcheado: AppleHDA.kext.zip + inyección DSDT dentro del dispositivo HDEF. Los resultados son buenos pero no excelentes, es lo que hay: Method (_DSM, 4, NotSerialized) { Store (Package (0x08) { "codec-id", Buffer (0x04) { 0x69, 0x50, 0xF1, 0x14 }, "hda-gfx", Buffer (0x0A) { "onboard-1" }, "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 }, "PinConfigurations", Buffer (Zero) {} }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Saludos. Link to comment Share on other sites More sharing options...
LesGaR Posted August 27, 2012 Author Share Posted August 27, 2012 Ya he actualizado el AppleHDA.kext v2.3.0f2 (el que me mandaste en el post anterior ) y el AppleACPIPlatform.kext v1.6 (Nativo ML) funcionan bien, aunque he perdido el medidor de bateria (supongo que será por el dsdt). Mañana probare con el dsdt que me has mandado. Eres un Crack !!! Muchas Gracias. PD: el step speed ya funciona de forma nativa y el ordenador ya se suspende, aunque no se despierta (como yo mañana si no me acuesto AHORA). Link to comment Share on other sites More sharing options...
LesGaR Posted August 27, 2012 Author Share Posted August 27, 2012 He aplicado los fixes basicos al dsdt que me pasaste (DTGP, IRQ RTC y EHCI). Con la inyección por defecto de DsdtEditor>Patches>Notebook Core i Nehalem>HDEF _DSM.txt Ya funciona, pero prefiero la mía pq sale la info en Acerca de este Mac (supongo que es meramente cosmético) ¿que opinais? Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0E) { "AAPL,slot-name", Buffer (0x09) { "Built in" }, "device-id", Buffer (0x04) { 0x69, 0x50, 0xF1, 0x14 }, "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 }, "model", Buffer (0x1A) { "HD Audio Conexant Cx20585" }, "name", Buffer (0x11) { "Conexant Cx20585" }, "device_type", Buffer (0x11) { "Audio Controller" }, "PinConfigurations", Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Y la inyección de la wifi (para usar el IO80211Family.kext vanilla): Name (_SUN, One) // _SUN: Slot User Number Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0C) { "AAPL,slot-name", Buffer (0x08) { "AirPort" }, "device-id", Unicode ("*"), "device_type", Buffer (0x08) { "AirPort" }, "model", Buffer (0x34) { "Atheros 9285 8802.11 b/g/n Wireless Network Adapter" }, "subsystem-id", Buffer (0x04) { 0x8F, 0x00, 0x00, 0x00 }, "subsystem-vendor-id", Buffer (0x04) { 0x6B, 0x10, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } HASTA AQUí TODO CORRECTO El medidor no funciona y en la consola me salen los sigiuentes errores: AppleACPIBatteryManager:getBatteryBIF(0xE00002BC) failed AppleACPIBatteryManager:getBatteryBST(0xE00002BC) failed Alguna idea? PD: no se como se ponen los spoilers (para que sea mas fácil leer este post) Añado el dsdt (que tu me pasaste con los fixes antes mencionados) y la extensión AppleACPIBatteryManager.kext v1 (según el foro compatible con 10.7.3 y supongo que siguientes) para dar mas información. Cualquier ayuda es bien recibida Gracias dsdtLimpioJuarensonEdicion01.zip AppleACPIBatteryManager.kext.zip Link to comment Share on other sites More sharing options...
juanerson Posted August 27, 2012 Share Posted August 27, 2012 Ya vi los "errores" en los métodos (Method _BIF) y (_BST) que son los encargados de suministrar información sobre la batería al sistema. Efectivamente tienes registros de 16-bit incompatibles con la especificación ACPI 4.0a que sólo admite registros de 8-bit (e inferiores). Así que hay trabajo por hacer para dividir cada registro de 16-bit o superior (por ejemplo busca MNAM y verás que es de 64-bit), por lo tanto hay que convertirlo en ocho (8) registros de 8-bit cada uno, e implementarlo en cada instancia dónde aparezca. Complicado está ese arreglo. En eso consiste el fix de bcc9... pedazo de hallazgo que hizo el gran maestro. Voy a tratar de corregírtelo al estilo tradicional, con calma para probar, aunque no garantizo nada. Otra manera de corregirlo es a través de un método auxiliar creado por Zprood, que él ha llamado por ejemplo: "Method (B1B2, 2, NotSerialized)" A partir del cual se agregan entradas que hacen las respectivas llamadas que convierten los registros de 16-bit (o superiores) en registros de 8-bit, compatibles con ACPI 4.0a. Aquí se explica el procedimiento, es muy sencillo de esa manera: http://www.insanelym...howtopic=272459 Bien, además hice una lista de los registros de 16-bit que hay que convertir en pares de 8-bit. Creo que hallé todos. Relacionados con el método _BIF (Información de la batería): - B0MD - B1MD - B0DC - B1DC - B0FC - B1FC - B0DV - B1DV Relacionados con el método _BST (Estado de la batería): - B0ST - B1ST - B0CC - B1CC - B0RC - B1RC - B0VL - B1VL Por cierto, excelente trabajo con la dsdt, la editaste tu mismo, con los comentarios y todo eso? Te felicito. Saludos. P.D. Recomendación: por experiencia te digo que es mejor tener los comentarios o referencias en el .dsl entre /* ... */, por ejemplo: Device (BAT0) // dispositivo bateria blablabla Cambiarlo por /* dispositivo bateria blablabla */ Así será compatible con cualquier versión del compilador / desamblador IASL. Link to comment Share on other sites More sharing options...
LesGaR Posted August 30, 2012 Author Share Posted August 30, 2012 Hola, he estado mirando lo de modificar el dsdt para que cumpla con la especificación ACPI 4.0a y la verdad es que lo veo MUY DIFICIL para mi. Así que voy a aparcar de momento este fix para cuando tenga mas tiempo libre (finales de septiembre) así además intentare aplicarle otros parches mas (fix para cargar IOPCI.kext nativo, que chameleon detecte RootPci=1, injección de la gráfica y su correspondientes framebufers, ...) de pensarlo ya me agobio. Gracias por tu tiempo y esfuerzo en ayudarme y ya te contaré mis resultados. PD: Con el AppleHDA.kext que me pasaste no tengo la entrada de linea ni el microfono funcionando, no se si a ti te pasara lo mismo. He conseguido que funcione la entrada de linea, con lo que ya puedo hablar por facetime (con un micro externo conectado a LineIn) pero se me resiste la activación del micro (buit-in). Te adjunto el kext modificado por si quieres probarlo Si alguien tiene alguna sugerencia de como activar el micro, por favor comentarlo. Gracias AppleHDA.kextLineIN.zip Link to comment Share on other sites More sharing options...
juanerson Posted September 1, 2012 Share Posted September 1, 2012 (edited) Te adjunto el AppleHDA vanilla parcheado (el binario y lo demás) de la beta 10.8.2 (12C35) para mi variante de Conexant Cx20585. Puedes hacerle tus ajustes propios si lo deseas a los tres (3) archivos esenciales en sus respectivas ubicaciones: 1) AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist 2) AppleHDA.kext/Contents/Resources/layout12.xml.zlib -- y -- Platforms.xml.zlib Nota: Funciona junto con la misma inyección DSDT del post #2 Fuente: http://www.insanelym...howtopic=274218 Saludos. AppleHDA.kext_10_8_2_RESUBIDO.zip Edited September 1, 2012 by juanerson Resubido el archivo - levemente corregido el Info.plist Link to comment Share on other sites More sharing options...
LesGaR Posted September 1, 2012 Author Share Posted September 1, 2012 Me podrias pasar tu audio dump de linux? He comparado mi dump de audio con el de post al que me has dirigido y aparte de que difiere el codec (por eso necesito el tuyo) tampoco cuadran los nodos. En el mio en micro se implementa asi: 0x14>0x17>0x1A (20>23>26) En el dump si funciona audio es 0x14>0x23 y el nodo 0x17 apunta a 0x1b En windows todavia difiere mas... Mi codec: Codec: Conexant CX20585 Address: 0 AFG Function Id: 0x1 (unsol 1) Vendor Id: 0x14f15069 Subsystem Id: 0x104313f3 Revision Id: 0x100302 card0-codec#0.txt.zip Link to comment Share on other sites More sharing options...
juanerson Posted September 2, 2012 Share Posted September 2, 2012 Hola. Te adjunto mi dump de linux extraído con ubuntu 10.10 live desde un pendrive. Te comento que en OS X aún no obtengo entrada de micrófono funcional, de ningún tipo (interno o externo). Sólo funcionan las salidas de los altavoces internos y auriculares. Espero que sirva de ayuda. Saludos. linux_dump.zip Link to comment Share on other sites More sharing options...
juanerson Posted September 3, 2012 Share Posted September 3, 2012 Hola de nuevo, por favor prueba este primer intento de corregir el medidor de la batería desde la DSDT: 1) NO había hecho la comparación, y apenas hoy me vengo a dar cuenta que tu código es muy parecido al mío, sobre todo el de la batería "Device (BAT0)" y sus respectivos métodos _BIF y _BST, siendo hasta obvio y lógico porque Pegatron es una dependencia menor de Asus, al menos creo que todavía lo es. Porque estaban a punto de divorciarse, pero eso no es tan importante en todo caso jejeje. 2) Para información, en el archivo .dsl están los comentarios, buscando la palabra 8-bit verás que sólo hice el arreglo a únicamente dos registros B1DV y B1MD (ambos relacionados con _BIF), y creo que será suficiente con ese par de ajustes. Aunque de todas formas tengo varias cosas en mente para probar con otros registros y cambios en una segunda prueba. 3) Te quedarás sorprendido (como yo) que mi dsdt funcione con tantos registros de 16-bit en el código original. Pero aunque no es necesario en mi caso, igual los iré adaptando a 8-bit poco a poco para mejorar la armonía con la especificación ACPI 4.0a. Prácticamente son los mismos tuyos, un poco incomprensible para la teoría que manejo. En fin, te adjunto mi dsdt para que los compares y compruebes por ti mismo. Saludos. prueba1_BATERIA.zip Mi_dsdt.aml.zip Link to comment Share on other sites More sharing options...
LesGaR Posted September 4, 2012 Author Share Posted September 4, 2012 No Funciona, aunque con tu dsdt (se que no se debe hacer) si que me ha llegado a funcionar marcando la cantidad de bateria restante, aunque los valores de carga máxima modelo, ... no salían correctamente. He ojeado tu dsdt y he visto que ademas de modificar el B1MD y el B1DV, tambien modificas el B1SN a 8 bits "a pelo". Cosa que también he probado y nada ... de momento. Link to comment Share on other sites More sharing options...
juanerson Posted September 4, 2012 Share Posted September 4, 2012 No compañero, B1SN y absolutamente todos los demás registros que veas de 8-bit vienen así de fábrica en mi dsdt. Todavía no he cambiado nada en ese apartado. Es decir, esos registros no se cambian "a pelo" como tu dices, sino de la manera que adapté B1MD y B1DV en tu dsdt. Esa es la forma correcta según bcc9. Y los de 16-bit llevarlos a pares de 8-bit ya ves que es muy sencillo de hacer en tu misma dsdt, sólo hace falta invertir un poco de tiempo. En un rato te subo otra dsdt para una segunda prueba, creo que tienes código de más en la sección de la batería que no lee o reconoce el driver, ni el sistema. En mi dsdt hay menos código si te fijas bien, en los dos métodos importantes. Saludos. Editado: Listo, ahora con menos código, y casi exacto al mío. Debería funcionar, aunque se puede mejorar un poco más. Buena Suerte. prueba2_BATERIA.zip Re-editado: Por cierto, ya tengo todos los registros de 16-bit implementados en pares de 8-bit en el código de la batería, los 16 registros del post #5, y... Pues que rinde sus frutos, ya que el impacto se ve reflejado en una mayor duración de la batería, sobrepasando las 4 horas (como en windows 7) cuando antes marcaba un máximo de 3:30 - 3:35 horas. Es lo esperado, lo mismo me sucedió con la HP cuando apliqué el ajuste en su momento, bendito fix de bcc9, tiene doble beneficio. Esto se ve realmente muy prometedor, aunque el reto mayor será el de 64-bit, tendré que consultarle a él y pedirle ayuda... pero ya estoy muy contento con los resultados preliminares. Link to comment Share on other sites More sharing options...
LesGaR Posted September 4, 2012 Author Share Posted September 4, 2012 Ya tengo funcionando el medidor de batería siguiendo las indicaciones del foro que me pasaste. El próximo paso que voy a dar va a ser cambiarle la ram de 2gb (la elpida) por una de 4gb (identica a la samsung ), para tener 8gb de RAM total en "dual channel". Supongo que este cambio me forzará a regenerar el dsdt original, adaptarle los fixes que me pasaste (no se cuales son exactamente, pero no me preocupa, le haré un diff entre el que te mandé limpio y el que me devolviste ) e intentare implementarle los métodos DTGP en SSDT-5 en como has hecho con el tuyo (he seguido el link de tu firma al foro NosoloHD). Supongo que este cambio también me obligará a dumpear las tablas ssdt, añadirlas a EXTRA y añadirle DROPSSDT=Yes al org.chameleon.Boot.plist Una vez hecho el cambio volveré a meterle mano al dsdt para conseguir que durante el arranque no se me quede bloqueado en "PCI configuration begin", hacer que chameleon detecte que uso PCIRoot=1 y lo más importante: Inyectar por dsdt en la gráfica el ATY,device-id correcto (el kext nativo ML necesita la 0x68e0 y la mia es 0x68e4) Inyectar el framebufer correcto (de momento tengo que usar el forceEdid para que funcione el LCD) y no funcionan los puertos vga y hdmi. Cuando dices en el otro foro que las tablas SSDT1, SSDT2 y SSDT3 son comunes a todos los procesadores incluyes a los Nehalem (Como el mio) o solo a la familia sandybrydge? Te lo comento porque estaba pensando en dumpear desde linux las tablas SSDT y SSDT4 y usar las SSDT1, SSDT2 y SSDT3 tuyas. Y por supuesto crear la SSDT5 con la inyección de mis dispositivos. PS: me parece que tu forma de implementar la inyección de dispositivos en el dsdt es súper elegante y práctica. Felicidades por ello. Te adjunto mi dsdt mientras hago el cambio de la RAM dsdtCorregJarenson+Bateria.zip 1 Link to comment Share on other sites More sharing options...
LesGaR Posted October 1, 2012 Author Share Posted October 1, 2012 Hola, parece que por fin he conseguido que funcione correctamente el applehda para nuestro codec de audio (funcionan tanto el MicIn como el LineIn). Te lo adjunto por si quieres probarlo (según el linux dump que me pasaste, deberia funcionarte). Tambien te adjunto un voodooHda que funciona al 100% (sin sonidos raros, con autodetección de jacks y con todas las entradas y salidas funcionando correctamente, incluidos el MicIn, LineIn y HDMI,que a mi no me funciona por problemas con los framebufers de mi Ati). Se que no te gusta usar este driver, pero a mi me vino bien para averiguar los nodos a parchear en el Applehda. No he conseguido documentación suficiente para poder editar a fondo el layoutid (uso el mismo que usaste tu en esta versión de applehda), el platform.xml (al que solo le he modificado los nodos del MicIn y el LineIn) ni de como parchear el binario applehda para elimimar los warnings sound asertion PD: he conseguido que funcione el medidior de batería correctamente modificando mi dsdt adaptando un parche que hay en este foro para el Asus M60J que hizo el usuario Jingu (aunque hay una parte del código que tuve que meter "a pelo") y usando el AppleACPIBatteryManager.kext de rehabman (que es en esencia el mismo, pero corrige el bug que aparece al arrancar el equipo sin la batería puesta, te decía No hay baterias puestas, Fuente de alimentación:Batería, un sin sentido a todas luces). Como voy hasta arriba de trabajo no voy a date la lata con la edición de mi dsdt, pues no me gustaría que ocupes tu tiempo ayudándome y que yo por falta de tiempo no pueda probarlo (sería una falta de respeto hacia ti). Aunque poquito a poquito voy progresando, ya he podido inyectar los devices (Wifi, GIGA, HDEF) a través de una tabla ssdt, dejando el dsdt.aml lo mas "limpio" posible. Ahora intentaré inyectar la gráfica (de momento ha sido un fracaso absoluto) pero lo necesito pq sino mi equipo no puede despertar de sleep (despierta pero la pantalla no se enciende) ni usar un bootloader diferente del chimera (pues es el único que inyecta correctamente mi Ati, con la opción GraphicsEnabler=Yes, framebufer=baboom y sobreescribiendo el edid de mi LDVS) . Audio10.8.2.zip 2 Link to comment Share on other sites More sharing options...
Twisterman Posted June 17, 2013 Share Posted June 17, 2013 Hola Lesgar, ya te mande un mensaje hace tiempo, pero tuve que abandonar el proyecto por otros temas, espero no te causara molestias y si eres tan amable me gustaria retomarlo, y veo que tu lo tienes ya casi al 100%. Despues de leer mucho he conseguido instalar el sistema en mi disco duro, pero estoy aun bastante verde en esto, despues de instalarlo no me funciona teclado, track ni nada de nada y la verdad no se muy bien que debo hacer ahora. veo que deberia usar multo beast (de hecho lo he hecho) y he usado un dsdt tuyo, el ultimo que pones en el post que dice algo de + batería, lo puse en escritorio y use [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] y le dije dsdt user, creo que funciona así. sigue sin funcionarme nada, ademas no soy capaz de entrar directamente desde el disco duro, o me salta pci configuration begin o si me lo salto con "pci=off" anda una linea mas y me pone 10240x768 y ahi se queda. si arranco desde el usb que cree y le doy graphicsenabler=no consigo entrar pero sigo sin tener nada instalado. Que estoy haciendo mal? puedes ayudarme con algo?? muchisimas gracias! Link to comment Share on other sites More sharing options...
Recommended Posts