Jump to content
InsanelyMac Forum
Sign in to follow this  
funes

Ayuda con DSDT y Spedstep

Recommended Posts

Hola.

 

Durante años he tenido una temperatura de 50º o mas en mi procesador pero siempre se lo atribui a que tengo overclock en mi equipo, ase algunos dias empece a jugar con las betas del nuevo sistema, y leyendo sobre el me entro ca curiocidad sobre el sppedstep, tras muchos dias de buscar en cuanto foro encuentro descubro que mi temperatura esta entre 10 y 15º por ensima de donde deberia.

 

En forma normal mi procesador trabaja a 4070mhz. maxima velocidad todo el tiempo.

Cuando en el chamaleon agrego yes a pstate y ctate trabaja a 1530 pero no sube por lo que es muy lento.

Si utilizo voodoopstates.kext y chagepstates todo funciona de maravilla, sube y baja segun la carga de trabajo, pero requiere de mantener el programa abierto todo el tiempo y se que debe aber una mejor forma de solucionar el problema.

 

Durante los ultimos 4 dias he leido infinidad de post en español, ingles y hasta portugues, usamdo el traductor de google claro, y todos llevan al mismo resutado editar el DSDT.

 

Esto ultimo lo he hecho muchas veces pero como nunca me he metido mucho en esto no estoy seguro si lo estoy haciendo bien, eh seguido diferentes guias y creo que el modificar el codigo lo hago bien, tengo un dual core E5800, lo que ninguna guia explica es como insertar el codigo, cuando menos en palabras que un neofito como yo entienda.

 

el codigo que modifique es este:

 

Scope (_PR)

{

Processor (CPU0, 0x00, 0x00000410, 0x06)

{

}

Processor (CPU1, 0x01, 0x00000410, 0x06)

{

}

}

Scope (_PR.CPU0)

{

Method (_PSS, 0, NotSerialized)

{

Return (Package (0x0A)

{

Package (0x06)

{

Zero,

Zero,

0x0A,

0x0A,

0x1023,

Zero

},

Package (0x06)

{

Zero,

Zero,

0x0A,

0x0A,

0x0F22,

One

},

Package (0x06)

{

Zero,

Zero,

0x0A,

0x0A,

0x0E21,

0x02

},

Package (0x06)

{

Zero,

Zero,

0x0A,

0x0A,

0x0D20,

0x03

},

Package (0x06)

{

Zero,

Zero,

0x0A,

0x0A,

0x0C1E,

0x04

},

Package (0x06)

{

Zero,

Zero,

0x0A,

0x0A,

0x0B1D,

0x05

},

Package (0x06)

{

Zero,

Zero,

0x0A,

0x0A,

0x0A1C,

0x06

},

Package (0x06)

{

Zero,

Zero,

0x0A,

0x0A,

0x091A,

0x07

},

Package (0x06)

{

Zero,

Zero,

0x0A,

0x0A,

0x0819,

0x08

},

Package (0x06)

{

Zero,

Zero,

0x0A,

0x0A,

0x0718,

0x09

},

Package (0x06)

{

Zero,

Zero,

0x0A,

0x0A,

0x0616,

0x0A

}

})

}

Method (_PSD, 0, NotSerialized)

{

Return (Package (0x05)

{

0x05,

Zero,

Zero,

0xFC,

0x04

})

}

Method (_CST, 0, NotSerialized)

{

Return (Package (0x02)

{

One,

Package (0x04)

{

ResourceTemplate ()

{

Register (FFixedHW,

0x01, // Bit Width

0x02, // Bit Offset

0x0000000000000000, // Address

0x01, // Access Size

)

},

One,

0x9D,

0x03E8

}

})

}

}

Scope (_PR.CPU1)

{

Method (_PSS, 0, NotSerialized)

{

Return (^^CPU0._PSS ())

}

Method (_PSD, 0, NotSerialized)

{

Return (^^CPU0._PSD ())

}

Method (_CST, 0, NotSerialized)

{

Return (Package (0x04)

{

0x03,

Package (0x04)

{

ResourceTemplate ()

{

Register (FFixedHW,

0x01, // Bit Width

0x02, // Bit Offset

0x0000000000000000, // Address

,)

},

One,

Zero,

0x03E8

},

Package (0x04)

{

ResourceTemplate ()

{

Register (FFixedHW,

0x08, // Bit Width

0x00, // Bit Offset

0x0000000000000414, // Address

,)

},

0x02,

One,

0x01F4

},

Package (0x04)

{

ResourceTemplate ()

{

Register (FFixedHW,

0x08, // Bit Width

0x00, // Bit Offset

0x0000000000000415, // Address

,)

},

0x03,

0x55,

0xFA

}

})

}

}

 

Los cambios que hice son, de los primeros renglones deje solo 2 nucleos y agregue los 11 pasos que me marca pstatechanger, el primero 10, 23, el segundo 0f, 22, etc.

 

El resultado que pegue arriba lo sustitui por el codigo que marco en rojo:

 

Scope (_PR)

{

Processor (CPU0, 0x00, 0x00000410, 0x06)

{

}

Processor (CPU1, 0x01, 0x00000410, 0x06)

{

}

Processor (CPU2, 0x02, 0x00000410, 0x06)

{

}

Processor (CPU3, 0x03, 0x00000410, 0x06)

{

}

}

Name (_S0, Package (0x04)

{

Zero,

Zero,

Zero,

Zero

})

Name (SS1, Package (0x04)

{

One,

Zero,

Zero,

Zero

})

Name (_S3, Package (0x04)

{

0x05,

Zero,

Zero,

Zero

})

Name (_S4, Package (0x04)

{

0x06,

Zero,

Zero,

Zero

})

Name (_S5, Package (0x04)

{

0x07,

Zero,

Zero,

Zero

})

Name (FLAG, Zero)

 

El resto lo deje talcual, solo le aplique el parche Hpet, pero no funciona se queda en la velocidad minima, tambien probe quitando el voodoopstate.kext pero tampoco funciono.

 

Alguna idea, algo estoy haciendo mal, ¿pero que?

 

Saludos y Gracias de antemano.

Share this post


Link to post
Share on other sites
Advertisement

Hola. Por favor hazte una firma sobre tu hardware y detalles de configuración. Necesitamos SIEMPRE tener esa información a la mano.

 

Luego, cuál perfil SMBios.plist estás usando? Por ahí viene tu problema.

 

Por cierto, actualmente a la DSDT NO hay que modificarle nada, eso era antes. Hoy por hoy sólo hay que establecer en "Yes" los dos flags que mencionas y Chameleon se encarga de generar los Estados de carga (P-States) y de reposo (C-States). En caso de ser incompatibles las tablas SSDT (son las que contienen dichos estados) entonces habría que adaptarlas, porque impiden la correcta lectura de los estados del procesador por parte del S.O. Pero esto es un segundo recurso.

 

En tal sentido, te recomiendo que empieces probando con dos-tres perfiles completos y correctos: MacPro3,1 - MacPro4,1 y iMac12,2 por separado y comentes los resultados, con y sin los flags de Chameleon. Esos tres perfiles tienen SpeedStep activado de fábrica (CPUPLimit=0x0 en el oireg). Si utilizas otro perfil distinto, éste pudiera NO estar activado (valor 0x3, 0x4, 0x7, etc), eso es relativo y debe ser cero (0x0) lo cual denota SS ACTIVADO.

Share this post


Link to post
Share on other sites

Hola Juanerson.

 

Primero, mi placas es una ep45-ud3l, mi procesador un DualCore E5800, dos de memoria generica, HDD de 500 y video radeon 4350, tiene un OC a 4,08, con bus de 1400 y la memoria a 1040, el disco esta particionado para proteger mi informacion al igual que para tener varios sistemas en caso de emergencia, creo que seria todo, terminando este post me pongo en lo de mi firma.

 

Los 2 flags no me funcionaron con ninguna configuración, incluso en la buena si los pongo se pierde el speedstep.

 

Probé con todo los perfiles Mac Pro pero me dieron KP, después probé con imac 12.2 pero lo mismo, fui retrocediendo de uno en uno los modelos, hasta que el 11.1 me resulto.

 

Lo bueno es que mountain lion me da el speedstep sin arreglo en el DSDT y sin MSBios, o con cualquiera imac como 8.1, .9.1, etc.

 

Pero muchas gracias, en lion lo que me faltaba era poner SMBios imac 11.1 y quedo solucionado.

 

Te comento, probe el DSDT sin speedstep para ver que onda, sin el arreglo que mencione antes no me funcionó.

 

Saludos.

Share this post


Link to post
Share on other sites

Hola Juanerson, he leído tu comentario:

Esos tres perfiles tienen SpeedStep activado de fábrica (CPUPLimit=0x0 en el oireg). Si utilizas otro perfil distinto, éste pudiera NO estar activado (valor 0x3, 0x4, 0x7, etc), eso es relativo y debe ser cero (0x0) lo cual denota SS ACTIVADO.

 

 

Yo uso el perfil iMac 11.1 smbios para mi i7 860, tengo un problema con

speedstep, en el ioreg tengo 14 Psates ,

CPUPLimit=0x0, pero mirando con app SMCMonitor e app Kit K Stat-i, solo me funciona el primero 918MHz y el ultimo 2244MHz, se me queda como dando acelerones del primero/ultimo, esto sin usar ningun programa, en idle 99%, ya lo he intentado descubrir de todas las formas , pero no encuentro la

solución, podria ser un problema de la bios? esto es lo único que falta hacer, seria volver a la versión F9 de mi bios para ver si soluciona esto. Tienes alguna idea de lo que puede ser???? te lo agradeceria mucho.

 

Un Saludo!!!!!

 

+ info de my hardware:

IOREG+info.zip

Share this post


Link to post
Share on other sites

Sí. Pudiera ser algo de la BIOS. Por favor revisa este tópico, y también te puede interesar este comentario del compañero surfcaster. Hay varias opciones en la BIOS que son contrarias y pudieran bloquear la efectividad del SpeedStep, por ejemplo el OverClock.

 

Off-topic: Una recomendación, quita el IntelThermal.kext (viejo) porque hace conflicto con IntelCPUMonitor.kext, que este último es su reemplazo para reportar las temperaturas, voltajes, frecuencias, etc del procesador. Por otra parte, esa DSDT que usas, que NO es tuya sino de una supuesta base de datos "confiable" esta plagada de errores de compilación, debes corregirlos. Fin del off-topic. Saludos.

Share this post


Link to post
Share on other sites

Juanerson: muy interesante, como todo lo que comentas sobre DSDT y SpeedStep.

 

Mi impresión es que los que usamos chipsets pre-SandyBridge (como yo, P55 a 1156) y Lion tenemos más dificultad en conseguir p-states, no es difícil conseguir un speedstep mínimo que en realidad sólo tiene 2 estados (reposo y turbo) pero pasar de ahí lo veo bastante trabajoso. Al menos yo no lo he conseguido.

 

Coincido en que el OC o cualquier opción turbo o extreme en BIOS está contraindicada en muchos casos y en el uso de MacPro3,1 o MacPro4,1 o iMac12,2 como perfiles más "seguros".

Share this post


Link to post
Share on other sites

Sí. Pudiera ser algo de la BIOS. Por favor revisa este tópico, y también te puede interesar este comentario del compañero surfcaster. Hay varias opciones en la BIOS que son contrarias y pudieran bloquear la efectividad del SpeedStep, por ejemplo el OverClock.

 

Off-topic: Una recomendación, quita el IntelThermal.kext (viejo) porque hace conflicto con IntelCPUMonitor.kext, que este último es su reemplazo para reportar las temperaturas, voltajes, frecuencias, etc del procesador. Por otra parte, esa DSDT que usas, que NO es tuya sino de una supuesta base de datos "confiable" esta plagada de errores de compilación, debes corregirlos. Fin del off-topic. Saludos.

 

Hola Juanerson, gracias por responder, seguindo tus recomendaciones lo he mirado e el IntelThermal.kext (viejo) ya no lo tenia, eso puede ser que quedo nel reg. del bdemesg, sobre mi DSDT si es de la base de datos de ###### e lo editaran ellos ya ace mucho tiempo quando monte mi hack. Ahora com un poco mas de conocimiento del tema, he pesquisado mucho por el foro y he conseguido sacar mi DSDT Vanilla desde Ubuntu e otras informaciones del hardware que creo que puede ayudar nel edit del DSDT, yo lo he intentado editar com el dsdt auto patcher de Maldon, me ha compilado com solo 2 errores, que el autopacher lo soluciono. Ahora los otros fix no lo se como hacer. Me podria Compilar tu mi DSDT com lo minimos edits para que funcione y pueda provar ver si arreglo el speedstep.

Te lo agradeceria Mucho!!!!!!

 

Un Saludo!!!!

 

P55_UD6 ACPI TABLAS

MARÇO 23 ACPI TABLAS Linux .zip

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Posts

    • Hi @fabiosun and thank's for your patience with an old and stubborn man.   I am 100 % sure that my MSR 0xE2 register is unlocked thank's to you.   My system is 100% stable and I haven't had one kp with this configuration in the last two weeks.    I'm now running without TSCAdjustReseat.kext and I can't se any issues in performance with or without that kext. What I however can se is that the amount of total energy consumed during the test-cycle are 10 times higher without the kext (three times Cinebench CPU and two times Luxmark open CL) as you can see in the output from my AppleIntelInfo.kext attached in my earlier post.   I have tested running Cinebench five times in a row with or without TSC kext and have exactly the same performance (see attached files). Temperature is not a problem at all.   Everything seems to be fine so I guess I have to wait and see if upcoming 10.13.5 maybe recognise Intel Xeon w series processor as native.     
    • Tried with HPET enabled and disabled so I don't think it's that. I'd tried with bus ratio before to no effect but wouldn't hurt to try again. The clock runs at the correct speed.
    • could be an HPET / TSC Sync issue. does your system clock slow down or run faster then it should. also check cpu and buss ratios.
    • @MacPeet El capitan. It has t7700 cpu, so HS is not option for now. Have to find t9500 cpu. I bought this laptop for 30euros 3 weeks ago, with everything working, battery like new, it looks like from store, 4gb ram, 1920x1200 17" screen, replaced wifi and put SSD. Also sleep and hibernation working, native brightness, volume touch buttons work. Windows was not option because of broken  touchpad drivers, and linux because of slow graphics. Here everything works like it should.   AD1981 is also on thinkpad T60. I searched everywhere, but no solution. Here is some half working legacy driver, don't know how binary was patched(if it was): https://forum.thinkpads.com/viewtopic.php?t=85344&start=28#p564260
    • the slowness is most likely IM's host provider. we used to use ONE.com but they sucked and it was super slow so we switched and things definitely got better on the slowness front


×