Jump to content

(Solucionado) AppleLPC.kext no esta cargando


Java Lava
 Share

13 posts in this topic

Recommended Posts

Hola a todos

 

Tengo un problema con el kext AppleLPC, basicamente el problema es que no esta cargando

 

Yo intente 4 cosas sin suerte y no se que otras cosas podría hacer

 

1 - Parche el DSDT - sin suerte

2 - En el mismo parche cambie la linea device a compatible - sin suerte

3 - Quise agregar el device-id en el info.plist del AppleLPC.kext pero no fue necesario

4 - Como estoy usando Clover desde KextandPatches intente una carga forzada y no tuve suerte

 

¿Alguien tiene mas sugerencias?

 

La configuracion del equipo es la siguiente

 

Procesador: i5-2400

Placa madre: Gigabyte GA-H77M-D3H rev1.0

Version del BIOS: F14 (ultima version)

Arrancador: Clover (ultima version)

SMBIOS: iMac12,2

SO: Yosemite 10.10.2

 

Por si alguien quiere o puede ayudarme les dejo los archivos que pienso pueden necesitar

 

Java Lava.ioreg.zip

Java Lava - DSDT.aml.zip

Java Lava - config.plist.zip

Java Lava - AppleLPC.kext.zip

 

Gracias por adelantado

 

Link to comment
Share on other sites

Edit com tu device id,compatible,IOName,etc... lo que tienes en tu DSDT no funciona.

Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method                {
                    Store (Package (0x0C)
                        {
                            "device-id", 
                            Buffer (0x04)
                            {
                                 0x02, 0x3B, 0x00, 0x00
                            }, 


                            "compatible", 
                            Buffer (0x0D)
                            {
                                "pci8086,3b02"
                            }, 


                            "IOName", 
                            Buffer (0x0D)
                            {
                                "pci8086,3b02"
                            }, 


                            "name", 
                            Buffer (0x0D)
                            {
                                "pci8086,3b02"
                            }, 


                            "subsystem-id", 
                            Buffer (0x04)
                            {
                                 0x01, 0x50, 0x00, 0x00
                            }, 


                            "subsystem-vendor-id", 
                            Buffer (0x04)
                            {
                                 0x58, 0x14, 0x00, 0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }
Edited by Allan
Code tag added
  • Like 1
Link to comment
Share on other sites

Hola microsoftFTW

 

Algo debo estar haciendo mal porque el sistema no reconoce el DSDT con el parche, si bien lo puedo compilar y salvar sin problemas el AppleLPC.kext sigue sin cargarse

 

Lo solucione agregando el device-id en el mismo kext, aparentemente cuando dije que ya estaba agregado no lo estaba

 

Al mirar dentro del kext por una segunda vez vi que el device-id no estaba, así que lo agregue y ahora carga

 

Sin embargo yo no estoy convencido porque prefiero que se cargue atra vez del DSDT de esta manera cuando actualizo el sistema no se me borra el kext modificado

 

Si puedes o tienes ganas te dejo el DSDT que edite para ver si hice algo mal, si no quieres o no puedes esta todo bien

 

Java Lava - DSDT.aml.zip

Java Lava.ioreg.zip

 

Gracias por adelantado

  • Like 1
Link to comment
Share on other sites

Este corto y sencillo código de inyección funciona perfecto desde la 10.8.5 en adelante, comprobado en Mavericks y Yosemite también. Por ejemplo, esta es la inyección para el perfil iMac9,1 que utilizo en mi PC (y por supuesto, como en cualquier otra inyección, requiere incluir en la DSDT el Method DTGP para compilar sin errores):

Method (_DSM, 4, NotSerialized)         {
            Store (Package (0x06)
                {
                    "IOName", 
                    "pci8086,2916", 


                    "device-id", 
                    Buffer (0x04)
                    {
                        0x16, 0x29, 0x00, 0x00 /* id nativo en el Info.plist del AppleLPC.kext para soporte de speedstep y reposo */
                    }, 


                    "name", 
                    Buffer (0x0D)
                    {
                        "pci8086,2916"
                    }
                }, Local0)
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
         }
Edited by Allan
Code tad added
  • Like 2
Link to comment
Share on other sites

Si te fijas en el dump ioreg de una iMac12,2 real que usa el mismo micro (aunque tu mother es Panther Point cuando la iMac es probablemente Cougar Point, pero igual deberían ser compatibles) el id del dispositivo LPC es pci8086,1c44. Ese mismo es también el id del LPC de mi sistema Z68 y siempre ha funcionado sin necesidad de inyectarlo manualmente.

Ya si no funciona con esto entonces es probable que el problema venga del mismo kext o hay algo mal con el power management del sistema.

  • Like 1
Link to comment
Share on other sites

Hola Java Lava:

Casualmente tengo la misma placa que tu.

Cuando Clover hace los fixes, no toca para nada LPCB en el dsdt, es decir funciona sin fix alguno.

Yo personalmente uso un dsdt editado donde tampoco modifico nada en el apartado LPCB y funciona perfectamente.

 

En cuanto a si AppleLPC.kext está cargado o no, no recuerdo como se hacía para verlo.

Si me lo dices me fijo en mi equipo y te comento.

 

Un saludo.

post-201840-0-10435100-1428489595_thumb.jpg

  • Like 1
Link to comment
Share on other sites

 

Este corto y sencillo código de inyección funciona perfecto desde la 10.8.5 en adelante, comprobado en Mavericks y Yosemite también. Por ejemplo, esta es la inyección para el perfil iMac9,1 que utilizo en mi PC (y por supuesto, como en cualquier otra inyección, requiere incluir en la DSDT el Method DTGP para compilar sin errores):

 

         Method (_DSM, 4, NotSerialized)

         {
            Store (Package (0x06)
                {
                    "IOName", 
                    "pci8086,2916", 
 
                    "device-id", 
                    Buffer (0x04)
                    {
                        0x16, 0x29, 0x00, 0x00 /* id nativo en el Info.plist del AppleLPC.kext para soporte de speedstep y reposo */
                    }, 
 
                    "name", 
                    Buffer (0x0D)
                    {
                        "pci8086,2916"
                    }
                }, Local0)
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
         }

 

 

Gracias por mostrar interés Juanerson. Este mismo parche me lo recomendó artur-pt, solo que el me lo dio editado con el device-id pci8086,1c44 que correspondería a mi perfil de sistema la iMac12,2 y el AppleLPC.kext no cargo después de reiniciar la maquina.

 

Se que el DSDT después de agregar el parche lo compila sin errores, me aparecen unos cuantos remarks and 3 warnings, pero no errores, pero supongo que a pesar de ello el DSDT debería de trabajar ¿verdad?, o sea se que el DSDT esta trabajando porque me toma el parche de audio que tiene especial para el codec VIA VT2021

 

El AppleLPC.kext solo me cargo cuando edite el info.plist del kext agregando el dispositivo que tiene mi placa madre pci8086,1e4a

 

Si te fijas en el dump ioreg de una iMac12,2 real que usa el mismo micro (aunque tu mother es Panther Point cuando la iMac es probablemente Cougar Point, pero igual deberían ser compatibles) el id del dispositivo LPC es pci8086,1c44. Ese mismo es también el id del LPC de mi sistema Z68 y siempre ha funcionado sin necesidad de inyectarlo manualmente.

Ya si no funciona con esto entonces es probable que el problema venga del mismo kext o hay algo mal con el power management del sistema.

 

Gracias por responder Maniac10. Pues algo de lo que dices es cierto, que el problema viene del mismo kext. Como dije antes el AppleLPC.kext solo se cargo después de agregarlo manualmente el info.plist del mismo kext

 

 

Hola Java Lava:

Casualmente tengo la misma placa que tu.

Cuando Clover hace los fixes, no toca para nada LPCB en el dsdt, es decir funciona sin fix alguno.

Yo personalmente uso un dsdt editado donde tampoco modifico nada en el apartado LPCB y funciona perfectamente.

 

En cuanto a si AppleLPC.kext está cargado o no, no recuerdo como se hacía para verlo.

Si me lo dices me fijo en mi equipo y te comento.

 

Un saludo.

 

 

Gracias por mostrar interés uzmi

 

Mira, sobre lo que me preguntas, yo se que existe un comando que se usa en el terminal para ver que kexts estan cargados y cuales no, pero como no soy un usuario avanzado no se ese comando, sin embargo yo para ver los kexts que cargan y los que no, uso la Información del Sistema, me voy a Software --> Extensiones, te dejo captura de pantalla

 

post-900931-0-10690300-1428494903_thumb.png

 

Luego doy los like, es que alcance el limite del dia

 

Saludos y gracias todos por su ayuda

  • Like 1
Link to comment
Share on other sites

Hola de nuevo:

¡Curioso! pero que muy curioso.

Yo tampoco tengo cargado el AppleLPC.kext y sin embargo la gestión de energía funciona correctamente, "me reposo" y "me despierto" correctamente.

 

Por las dudas hice los deberes y agregué al dsdt el código adecuado a esta placa y ahora si carga el kext.

Para tu información te dejo el código a agregar:

                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x06)
                        {
                            "IOName", 
                            "pci8086,1e44", 
                            "device-id", 
                            Buffer (0x04)
                            {
                                0x44, 0x1E, 0x00, 0x00
                            }, 

                            "name", 
                            Buffer (0x0D)
                            {
                                "pci8086,1e44"
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

Pruébalo y nos dices que tal.

 

P.D. Lo cargó a la segunda vez de reiniciar.

post-201840-0-29927800-1428497499_thumb.jpg

post-201840-0-82480200-1428497509_thumb.jpg

  • Like 2
Link to comment
Share on other sites

Gracias por responder y mostrar interes uzmi

 

A mi también me funciona bien el sistema de reposo y despertar, incluso desde un deep profundo de varios días incluso una semana la maquina se despierta correctamente pero lo que notaba es que a la hora del trabajo duro trabajaba bastante caliente cuando el AppleLPC.kext no cargaba, ahora que carga esa temperatura de trabajo bajo significativamente

 

Acabo de probar tu código que no es muy diferente al que me recomendaron los otros compañeros y sigue sin cargar el dichoso kext. De mas esta decir que cuando intento que el kext cargue a travez del DSDT uso el kext original

 

Como dije antes, el kext solo se carga cuando agrego el device-id en el info.plist dentro del AppleLPC.kext y no es un gran deal .... pero ... peor es nada

 

Según Maniac10 puede que tenga un problema el mismo kext o alguna problema con el power management del sistema y no se cual sera la solución a eso pero hasta que no le encuentre la vuelta tendré que acordarme de editar el info.plist después de cada actualización de sistema si es que lo requiere

 

Saludos y gracias

  • Like 1
Link to comment
Share on other sites

Excelente Uzmi, así debería cargar sin problemas en tu sistema (ese chipset en general). Porque ya lo comprobaste que carga el AppleLPC.kext (sin tocar o modificar = es la idea). Igualmente lo puedes verificar mirando el valor inyectado en la DSDT (el ID vanilla = es la idea) en el apartado "IONameMatched" desde el IOReg. Ya con esa tarea hecha tu equipo debe trabajar más fresco (con soporte de C-States). Por lo tanto, pudiera ser que algo esta haciendo mal el compañero Java Lava. O será algo relacionado con el perfil que usa Uzmi, el "Mac mini Server (Late 2012)" para que levante el .kext con el ID 1E44? Misterios de la ciencia. Saludos.

 

P.D. Java Lava, por casualidad cambiaste el nombre del dispositivo LPCB en la DSDT? es decir antes se llamaba SBRG o LPC? Porque si este dispositivo tiene un nombre de fábrica distinto a LPCB y tiene vínculos externos (datos External) en las tablas SSDT, es mejor dejarlo con su nombre de fabrica, o tendrías que cambiarlo también en la(s) tabla(s) SSDT que lo mencionen, y cargarlas por separado. Lo mejor es dejarlo con su nombre de fábrica porque de lo contrario seguirá siendo llamado desde la(s) SSDT(s) con el nombre y NO respetará inyección alguna. Pero eso no es problema, ya que igualmente con el nombre que tenga SBRG o LPC, levantará el AppleLPC.kext sin problemas. Espero haberme explicado bien.

Screen Shot 2015-04-08 at 12.40.30.png

Edited by juanerson
Editado dos veces para agregar información, dudas y corrección sobre el tema.
  • Like 2
Link to comment
Share on other sites

Hola Juanerson, gracias por mostrar interés, entendi lo que me dices a grandes rasgos

 

No creo haber cambiado el nombre de los dispositivos en el DSDT pero por las dudas voy a iniciar la maquina en crudo y regenerar de nuevo el DSDT y regreso con el reporte.

 

Tablas SSDT no uso, porque anda mejor el SpeedStep si permito al clover generar los P y C States que usando una tabla aparte, yo sospecho mucho que mi maquina tiene algún problema de BIOS porque desaparecieron 2 multiplicadores pero ese es otro tema aparte pero que esta relacionado a la gestión de energia

 

Saludos y gracias por el interés que están poniendo

Link to comment
Share on other sites

Hola a todos

 

Finalmente el bendito kext se carga y usando el DSDT

 

A Juanerson: Después de hacer un arranque en crudo, no había cambiado el nombre del dispositivo LPCB por accidente en el DSDT

 

A todos: El problema era culpa del kext que yo estaba usando cuando intentaba cargar dicho kext usando el DSDT, yo pensaba que era el original y no lo era, me di cuenta gracias a la ultima captura de uzmi, que a la derecha de "Si decía "Apple" eso significa de donde salió o quien lo creo, comparo con lo mío y a mi aprecia "Desconocido", ¿como puede ser desconocido si es de Apple?, así que tome el AppleLPC.kext del instalador del Yosemite, verifique que fuera la misma version, instale el codigo de uzmi en el DSDT pero usando el ID 1c44 que correspondie a mi sistema la iMac12,2 (aunque supongo que los otros también habrían servido) y se cargo tras reiniciar la hackintosh

 

post-900931-0-38650600-1428530301_thumb.png

 

Maniac10 me lo advirtio en su respuesta que quizás era problema del kext y Juanerson porque me espabilo que no debería confiar en mi mismo en que estaba haciendo las cosas bien, supongo que tantas pruebas poniendo y sacando kexts en alguna momento los confundi entre original y modificado hasta que la lie y la embarre por completo

 

Lección aprendida, cuando uno esta haciendo investigaciones mas en un campo totalmente desconocido (como lo es para mi) lo primero a pensar es que el equivocado es el usuario

 

Gracias a todos y ya puede ponerle el moño a esta bendita hackintosh y darla por finalizada, queda el tema de los P-States pero eso si mas que seguro es un problema de BIOS así que no me preocupo

 

Gracias nuevamente a todos por su colaboración, opiniones y aportes

  • Like 4
Link to comment
Share on other sites

 Share

×
×
  • Create New...