Jump to content

Ayuda con DSDT y Spedstep


funes
 Share

7 posts in this topic

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.

Link to comment
Share on other sites

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.

Link to comment
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.

Link to comment
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

Link to comment
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.

Link to comment
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".

Link to comment
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

Link to comment
Share on other sites

 Share

×
×
  • Create New...