Jump to content

Nos vamos de picnic


pere
 Share

246 posts in this topic

Recommended Posts

Bueno eso lo entiendo nano :wacko:

 

Estoy haciendo un Dump de mi BIOS/VIDEO/y extras...

 

Lo que no entiendo aún es como modificar el DSDT, según el dump que saco desde Windows de mi Hardware...

 

No es que pida una guía, pero si el código, para irle picando...

 

Saludos...

-_-

No es necesario windows en absoluto para esto... Para extraer el dsdt, solo es necesario usar el ioreg o el binario GetDSDT, te creará un archivo dsdt.dat, decompilarlo con iasl de la forma "iasl -d dsdt.dat" con eso obtendrás el .dsl que es donde se hacen los añadidos/modificaciones.... fassl ha creado el patcher que modifica y repara los errores más comunes en los dsdt y admás repara las irq de los HPET y RTC para que no provoquen KP en los próximos updates, eso es lo que básicamente hace el patcher...ahora bien, el ponerse a hacer modificaciones en un dsdt, no es algo sencillo, requiere cierta base de conocimientos sobre lo que es ACPI y de como funciona.... nadie se va a poner a postear código a la ligera, básicamente porque entraña ciertos riesgos, por poner un ejemplo, en algunos dsdt, bienen especificados con detalle desde el nivel mínimo de los ventiladores hasta diferentes perfiles de overclock del sistema, un desalmado podría daros indicaciones que causarían un daño considerable....

 

GeTdsdt_iasl.zip

Link to comment
Share on other sites

Vaya tela... Esto tiene muy buena pinta pero no me entero de nada...

 

Pregunta de perdido:

¿Tiene algún sentido usar iDeneb con dsdt? Porque si es para usar con retail me temo que no lo podré disfrutar :( (soy de los que no les funciona el teclado con el retail)

 

Gracias a todos los que contribuís a que sistemas tan buenos como kalyway, Jas, iDeneb, Iatkos, etc, etc se queden anticuados! :)

 

 

PD: ¿Por cierto esto tiene muy buena pinta no? Y srive para este caso verdad? Es decir yo creo uno de esos para mi Asus F3JC y todos los que tengan ese portátil podrán usarlo cierto?

Link to comment
Share on other sites

Claro que tiene sentido usarlo con distros normales..... incluso si tu cpu no tiene soporte HPET (necesario para cargar appleintelcpupowermanegement.kext), se puede forzar al parcheador dsdt a que lo incluya en el dsdt.aml.

 

Las distros no se quedarán antiguas, no te preocupes, porque simplemente, facilitan la instalacion a sistemas no tan compatibles.

 

El programa de Pcwiz pinta muy bien.... pero el programa supone que tu ya sabes hacer el dsdt, que kexts necesitas, kernel y strings... por lo que no es muy "noob friendly", pero bueno, lo dicho, pinta muy bien.

 

Sobre el dsdt, hay un monton de gente currandoselo ahora mismo para hacer que sea sencillo de utilizar y solucione/injecte muchos dispositivos hardware, por lo que creo que en un futuro no muy cercano, será bastante sencillito de usar, pero claro, no está de más que uno se ponga las pilas y lea sobre el tema aunque no se entere....

 

Hace una semana yo no sabia ni que era el dsdt, y ahora puedo modificar el dsdt y comprender cuando añado/quito algo y lo hago mal y no me compila por ejemplo, y yo no soy ningun lumbreras, solo muuuuuuuuuuuuuuuuuucho leer y prueba/error. :)

 

Animo y a leer!

 

Edit:

he añadido "uuuuuuuuuuuuuuu" en la frase "mucho leer", para hacer incapie.... ;) Si no estais seguros de que haceis, parad, seguid leyendo y vuelta a empezar.

Link to comment
Share on other sites

Hola, me interesa mucho este tema pero, por lo que veo, es totalmente inaccesible para mi. me cuesta mucho seguir el hilo de lo que estáis comentando, y eso que pensaba que empezaba a entender algo del mundo OSX86.

Esperare a que esto avance un poco y se vaya poniendo al alcance de los simples mortales. :)

Mientras tanto animo a los que estáis impulsando con vuestro esfuerzo todo este mundillo.

Saludos

Link to comment
Share on other sites

Gracias por los ánimos danroj pero ya he probado varias veces y solo consigo unos magníficos kernel panic, y lo peor es que no se ha que es debido y por lo tanto no se por donde empezar a modificar las cosas.

Influyen demasiados parámetros a la vez y no se cual, o cuales de ellos hago mal.

de todas maneras lo seguiré intentando y leyendo atentamente vuestros consejos.

Gracias

Link to comment
Share on other sites

lee lo que postea PERE...

 

no se necesita saber mucho de esto.... nada mas es leer y prueba/error :)

:shock: OMG.Esto es una gran mentira... ;) .En principio es MUY recomendable lo que aconseja pere:buscar información y leer si quieres un modded DSDT a tu gusto.Pero eso de que 'no se necesita saber mucho de esto' da mucho que desear.Debes saber que hasta por una de esas 'pruebas y error' que escribes puedes freir el procesador sin darte cuenta -ya que no sabes que estarías probando-.

Lo que si es cierto es que es un avance.Y el ir más allá del mero patcher,requiere del conocimiento necesario y no del llamado de alto nivel sino del bajo nivel (mi Castellano no es muy bueno:si no se llama alto/bajo nivel me disculpan y me corrigen plz).

Por la poca experiencia que tengo con estas tablas puedo escribir que no es sencillo,aunque es muy prometedor lo que se puede hacer con ellas.Así que,a leer un poco si quieres dar un extra y estar al día con esto ya que no es muy adecuado para principiantes en lo absoluto :)

 

PS:mi agradecimiento público a roisoft por la ayuda brindada a aclararme lo de mis tablas.Thanks :)

Link to comment
Share on other sites

para muestra un ejemplo de un dsdt placa ASUS... así que ojo con lo que hacemos.

 

     })
                       Method (ASIF, 0, NotSerialized)
                       {
                           Return (MBIF)
                       }

                       Name (BTCM, 0x48)
                       Name (WDCM, 0x4C)
                       Name (BLCM, 0x54)
                       Name (OC01, Package (0x06)
                       {
                           0x01010000, 
                           "CPU FSB", 
                           0x2710, 
                           0xAFC8, 
                           0x015F, 
                           0x00010003
                       })
                       Name (OC02, Package (0x06)
                       {
                           0x01060001, 
                           "CPU Multiplier", 
                           0x06, 
                           0x1C, 
                           0x17, 
                           0x00010003
                       })
                       Name (OC03, Package (0x06)
                       {
                           0x02010002, 
                           "Memory Freq", 
                           Zero, 
                           Zero, 
                           0x04, 
                           0x00010000
                       })
                       Name (OC04, Package (0x06)
                       {
                           0x07010003, 
                           "PCI Express", 
                           0x2710, 
                           0x332C, 
                           0x20, 
                           0x00010000
                       })
                       Name (OC05, Package (0x06)
                       {
                           0x05050004, 
                           "OC Profile", 
                           Zero, 
                           0x0A, 
                           0x0B, 
                           0x00010003
                       })
                       Name (OC06, Package (0x06)
                       {
                           0x08050005, 
                           "Turbo NOS", 
                           0x67, 
                           0x82, 
                           0x06, 
                           0x00010003
                       })
                       Name (OC07, Package (0x06)
                       {
                           0x08050006, 
                           "TwinTurbo NOS", 
                           Zero, 
                           One, 
                           0x02, 
                           0x00010000
                       })
                       Name (OC08, Package (0x06)
                       {
                           0x04040007, 
                           "FAN-Boost", 
                           0x2EE0, 
                           0x36B0, 
                           0x02, 
                           0x00010000
                       })
                       Name (OC09, Package (0x06)
                       {
                           0x01020008, 
                           "CPU Voltage", 
                           0x2AF8, 
                           0x4268, 
                           0x30, 
                           0x00010003
                       })
                       Name (OC0A, Package (0x06)
                       {
                           0x02020009, 
                           "DRAM Voltage", 
                           0x0708, 
                           0x0834, 
                           0x09, 
                           0x00010007
                       })
                       Name (OC0B, Package (0x06)
                       {
                           0x0702000A, 
                           "PCIE Voltage", 
                           0x05DC, 
                           0x0640, 
                           0x05, 
                           0x00010007
                       })
                       Name (OC0C, Package (0x06)
                       {
                           0x0106000B, 
                           "CPU HT", 
                           Zero, 
                           One, 
                           0x02, 
                           0x00010003
                       })
                       Name (OC0D, Package (0x06)
                       {
                           0x0906000C, 
                           "AI Overclock Tuner", 
                           Zero, 
                           0x04, 
                           0x05, 
                           0x00010003
                       })
                       Name (OC0E, Package (0x06)
                       {
                           0x0806000D, 
                           "NOS Mode", 
                           Zero, 
                           One, 
                           0x02, 
                           0x00010003
                       })
                       Name (OC0F, Package (0x06)
                       {
                           0x0806000E, 
                           "Sensitivity", 
                           Zero, 
                           0x02, 
                           0x03, 
                           0x00010003
                       })
                       Name (QCFN, Package (0x05)
                       {
                           0x04060003, 
                           "CPU Q-Fan Control", 
                           Zero, 
                           One, 
                           0x00030001
                       })
                       Name (QFLO, Package (0x06)
                       {
                           0x04050004, 
                           "CPU Q-Fan Ratio", 
                           0x3C, 
                           0x5A, 
                           0x05, 
                           One
                       })
                       Name (QFTP, Package (0x06)
                       {
                           0x04030005, 
                           "CPU Target Temperature", 
                           0x26, 
                           0x3E, 
                           0x09, 
                           0x00030001
                       })
                       Name (CFE1, Package (0x05)
                       {
                           0x04060006, 
                           "Chassis1 Q-Fan Control", 
                           Zero, 
                           One, 
                           Zero
                       })
                       Name (CFR1, Package (0x06)
                       {
                           0x04050007, 
                           "Chassis1 Q-Fan Ratio", 
                           0x3C, 
                           0x5A, 
                           0x05, 
                           Zero
                       })
                       Name (CFT1, Package (0x06)
                       {
                           0x04030008, 
                           "Chassis1 Target Temperature", 
                           0x26, 
                           0x3E, 
                           0x09, 
                           Zero
                       })
                       Name (EACF, Package (0x06)
                       {
                           0x04050009, 
                           "CPU Smart Fan Profile", 
                           Zero, 
                           0x02, 
                           0x03, 
                           Zero
                       })
                       Name (EAFC, Package (0x06)
                       {
                           0x0405000A, 
                           "Chassis Smart Fan Profile", 
                           Zero, 
                           0x02, 
                           0x03, 
                           Zero

Link to comment
Share on other sites

Cierto, apenas comienzo en esto y no hallo por dónde (comenzar), la temperatura de los 2 Cores anda entre 47º y 49º, no se si esté bien...

Pues que procesador tienes:el Xeon de la firma no es supongo sino un core2duo al menos.Pues,parece una temperatura moderada para lo que toleran estos procesadores.Puedes llegar a una conclusión sabiendo tambien cuantos procesos tienes en ejecución.De todas formas,yo siempre salgo de las dudas con la fuente de la propia Intel

http://processorfinder.intel.com/Default.aspx

A todo dar con render de 3D o de video y demás,ningún Quad Core/Core 2 Duo me ha excedido los 56ºC refrigerado por aire (zero o'clock porque hasta hoy nunca lo he necesitado).

 

De dónde eres, porque el Castellano se te da bien.

OFF-TOPIC:Hmm..eh,Soy de Italia :D

Link to comment
Share on other sites

A Mac Cute: Conocer la temperatura Idle de un Core 2 Duo es siempre inexacta. Trata de ponerlo a trabajar al 100% y ver si la temperatura sube mucho. Ni en Windows es facil saber la temperatura de estos micros porque Intel no da la info necesaria para que los programas puedan leerla del sensor y saber interpretarla correctamente.

 

Ahora yo lo que quiero es que me ayuden a mi tambien. Hice una instalacion reatil 10.5.4 con EFI 9 de netkas y DSDT.aml conseguida con el DSDT PATCHER 1.0.1e. Consegui cargar sin problemas los AppleIntelCPUPowerManagement, AppleRTC y Apple HPET. Actualice a 10.5.5 co el update de apple y todo sigue muy bien (salvo por el sandbox error que no recuerdo bien como solucionarlo, pero ya me voy a acordar) Ningun kernel panic ni nada y los tengo cargados y funcioando.

 

Ahora el audio es un problema para mi.

Con EFI Studio pude hacer andar la red, y el video con string, pero el audio no, no reconoce el dispositivo HDEF para generar un string. Con el 10.5.4 y un AppleHDA parchado podia generar un string y funcionaba perfecto, pero ahora en 10.5.5 no puedo ni con al AppleHDA vanilla ni con uno parchado.

 

Si alguien me da un empujoncito en la direccion adecuada se los agradeceria. Ya estoy muy agradecido hasta ahora por toda la ayuda.

Link to comment
Share on other sites

A Mac Cute: Conocer la temperatura Idle de un Core 2 Duo es siempre inexacta. Trata de ponerlo a trabajar al 100% y ver si la temperatura sube mucho. Ni en Windows es facil saber la temperatura de estos micros porque Intel no da la info necesaria para que los programas puedan leerla del sensor y saber interpretarla correctamente.

 

Ahora yo lo que quiero es que me ayuden a mi tambien. Hice una instalacion reatil 10.5.4 con EFI 9 de netkas y DSDT.aml conseguida con el DSDT PATCHER 1.0.1e. Consegui cargar sin problemas los AppleIntelCPUPowerManagement, AppleRTC y Apple HPET. Actualice a 10.5.5 co el update de apple y todo sigue muy bien (salvo por el sandbox error que no recuerdo bien como solucionarlo, pero ya me voy a acordar) Ningun kernel panic ni nada y los tengo cargados y funcioando.

 

Ahora el audio es un problema para mi.

Con EFI Studio pude hacer andar la red, y el video con string, pero el audio no, no reconoce el dispositivo HDEF para generar un string.

 

Si alguien me da un empujoncito en la direccion adecuada se los agradeceria. Ya estoy muy agradecido hasta ahora por toda la ayuda.

Es cierto.Medir la temperatura de los core de un micro no será 100% exacta.Para que sea algo parecida a la exacta sería necesario una termocupla en la capsula externa del procesador y aún así no sería exacta por la conducción con el material/heatsink y porque el procesador está expuesto al medio ambiente y hay pérdida de calor por convección con el aire.Yo utilizo la referencia de fábrica solo para saber cuan cerca podría estar de los límites.

Para tu audio:¿tienes algún injector tipo HDAenabler o ALCinject en tus extensiones?.Creo que este codec lo ha dejado Derty/roisoft varias veces en el foro.

Link to comment
Share on other sites

El sensor interno de los Core 2 esta diseñado para disparar el throttle cuando la temperatura es muy elevada, no para leer la temperatura en Idle, por eso es muy inexacto cuando el micro no esta trabajando al 100%. Una vez que la temperatura sube el sensor es mas fiable. Pero distintos modelos de micro tienen distintos TJmax y Intel no aclara cual es el valor real de cada generacion de Core 2, sobre todo los de 45nm. Yo tengo un E7200 y el TJmax es 100 para algunos programas y 105 para otros (en windows) asi que no se sabe la temperatura, solo se puede saber el delta al TJmax que siempre trato de que sea mas de 35 en full load.

 

Gracias por lo del audio, por lo que habia leido aca se podia usar el AppleHDA original con un string, pero creo que el DSDT Patcher no me corrigio el DSDT para esa funcion.

Voy a probar usar un HDAEnabler, pero yo estaba contento con usar el DSDT, jeje.

 

Por lo demas el DSDT funciona perfecto, el equipo carga los RTC, HPET y IntelCPUPowerManagement y tabien reinicia y apaga perfectamente, solo tuve que usar unos kext para el teclado PS2.

 

Como lees la temperatura? por ahi es una pregunta tonta, pero no adonde esta la utilidad para leerla.

Link to comment
Share on other sites

Gracias por lo del audio, por lo que habia leido aca se podia usar el AppleHDA original con un string, pero creo que el DSDT Patcher no me corrigio el DSDT para esa funcion.

Voy a probar usar un HDAEnabler, pero yo estaba contento con usar el DSDT, jeje.

Por lo demas el DSDT funciona perfecto, el equipo carga los RTC, HPET y IntelCPUPowerManagement y tabien reinicia y apaga perfectamente, solo tuve que usar unos kext para el teclado PS2.

Es cierto:puedes usar el AppleHDA sin 'injectores' del tipo ALCinject o HDAenabler si lo 'injectas' en el dsdt,pero si el AppleHDA no tiene la información de tu codec,no funcionará.Me explico un poco más general:si tienes un codec que funciona con AppleHDA conjuntamente con ALCinject u HDAenabler,puedes prescindir de estos injectores si añades esta info al dsdt...Capisce? ;)

 

Como lees la temperatura? por ahi es una pregunta tonta, pero no adonde esta la utilidad para leerla.

Lo que expuse fué a manera de ejemplo muy técnico de que nunca se podrá saber la temperatura real de un core ya que hay muchas consideraciones que hacer.Imagínate que dentro del análisis lo primero que habría que hacer es abrir el encapsulado del procesador y exponer los 'core' (algo loco).Aislarlo del entorno con un vacío y tomarlo para simplificar el análisis como un cuerpo negro y despreciar pérdidas de calor (un cuerpo negro es un cuerpo que recibe toda la radiación del medio ambiente sin reflejarla).Aunque lo podría fácilmente desglozar aquí con las ecuaciones diferenciales de transferencia de calor y las leyes de la Termodinámica,las leyes de la razón me dicen que no hay necesidad de eso,ha ha ha.Lo que si puedo recordar es que el calor se transfiere siempre que existan dos cuerpos a temperaturas diferentes.

 

La moraleja:no se cuán bien calibrados estén los sensores en los micro,ni si utilizan una escala lineal o no lineal en su principio de operación,ni si utilizan metales y basan la diferencia en conductividad/resistencia/etc u otra propiedad para sus mediciones.Pero son la referencia que tenemos para eso.Otra idea,es buscar una termómero IR,apuntarlo al micro y leer un estimado.Son sólo eso,estimados...Pero muy parecidos a los reales con un margen de error muy aceptable

 

Discúlpame pere:ya parezco una spammer

-De vuelta al topic- :P

Link to comment
Share on other sites

Discúlpame pere:ya parezco una spammer

-De vuelta al topic- :unsure:

 

No vamos a usar un espectroscopio tampoco para medir la temperatura.

 

Ahora yo queria saber que soft usan para medirla? Yo solo encontre el "Temperature Monitor", pero tras instalar los plugins para X86 aparecen los cores, pero sin temperatura, en 0º (cero grados)

Tambien instale el GenericCPUPowerManagement.kext y la applicacion, ahi si pude medir tanto la temperatura como el speedstep que me hace bajar el multi del micro automaticamente, todo funciona como deberia. Pero me gustaria saber si se puede medir de otra manera para comparar mediciones de distintos soft.

 

Gracias a todos

Link to comment
Share on other sites

Bueno, volviendo al tema DSDT entonces. Perdon por irme por las ramas.

 

A mi tambien tener cargado el AppleIntelCPUPowerManagement.kext me genera tener 5° (alguien sabe como se escribe el circulito que lo tuve que copiar y pegar porque no lo tengo en el teclado?) mas de temperatura, que con esta ola de calor que hay por aca no me conviene nada.

 

Con el DSDT cargado no tengo problemas de apagado/reinicio siempre y cuando no ponga el sistema en reposo, cuando lo hago entra y sale del reposo sin problemas, pero si ahora quiero reiniciar se cierra el sistema normalmente pero nunca llega al reinicio, queda la pantalla en negro. Tambien note que cuando vuelve del reposo la imagen tiene mucho mas brillo que lo acostumbrado, con un rapido cambio de resolucion o refresco vuelve a la normalidad asi que no es gran problema, pero quiza este relacionado. Alguien tiene alguna idea?

 

Roisoft: ¿Como consigo el codigo para inyectar mi audio y grafica en el DSDT? algun hilo donde haya info?

Link to comment
Share on other sites

Roisoft: ¿Como consigo el codigo para inyectar mi audio y grafica en el DSDT? algun hilo donde haya info?

 

para la gráfica tendrán que esperar, para el audio

 

para el audio deberás de buscar 

" Method (_WAK, 1, NotSerialized)"
...............
..................
.................
.............
  Notify (\_SB.PCI0.USB0, Zero)
  Notify (\_SB.PCI0.USB1, Zero)
  Notify (\_SB.PCI0.USB2, Zero)
  Notify (\_SB.PCI0.USB3, Zero)
  Notify (\_SB.PCI0.USB4, Zero)
  Notify (\_SB.PCI0.USB5, Zero) 
}

//añade este codigo

Method (DTGP, 5, NotSerialized)
   {
       If (LEqual (Arg0, Buffer (0x10)
               {
                   /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, 
                   /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
               }))
       {
           If (LEqual (Arg1, One))
           {
               If (LEqual (Arg2, Zero))
               {
                   Store (Buffer (One)
                       {
                           0x03
                       }, Arg4)
                   Return (One)
               }

               If (LEqual (Arg2, One))
               {
                   Return (One)
               }
           }
       }

       Store (Buffer (One)
           {
               0x00
           }, Arg4)
       Return (Zero)
   }


//ahora encuentra la entrada para tu audio 

//puede encontrarse tb por AZAL , HDAC etc... sustituir estas entradas por HDEF en todo el dsdt 

Device (HDEF)
           {
               Name (_ADR, 0x001B0000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (Package (0x02)
                   {
                       0x0D, 
                       0x05
                   })
               }

                Method (_DSM, 4, NotSerialized)	
	{				
		Store (Package (0x08)
				{
					"codec-id",
					Buffer (0x04)
					{
						0x85, 0x08, 0xec, 0x10
					},

					"layout-id",
					Buffer (0x04)
					{

						0x79, 0x03, 0x00, 0x00
					},

					"device-type",
					Buffer (0x011)
					{
						"Realtek ALC885/9A"
					},

					"PinConfigurations",
					Buffer (0x28)
					{
							 /* 0000 */   0x10, 0x40, 0x01, 0x01, 0x64, 0x10, 0x01, 0x01, 
							 /* 0008 */   0x71, 0x60, 0x01, 0x01, 0x82, 0x20, 0x01, 0x01,
							 /* 0010 */   0x30, 0x90, 0xA1, 0x01, 0x20, 0x90, 0xA1, 0x02,
							 /* 0018 */   0x40, 0x30, 0x81, 0x01, 0x50, 0x40, 0x21, 0x02,
							 /* 0020 */   0xF0, 0x71, 0x44, 0x01, 0x90, 0x71, 0x45, 0x11
					}

			    }, Local0)
			DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))	
			Return (Local0)		
	       }
        }

//sustituye el pinconfiguration por tu informacion, extraida con el ioreg (usa ioregistryexplorer)

Link to comment
Share on other sites

para la gráfica tendrán que esperar, para el audio

Muchas gracias, voy a probar. Un duda, mi codec es ADI1988b, no ACL88x. Crees que habra algun problema? 

 

No cro que funcione el mismo codigo que de los Realtek, bueno, creo que ya lo voy a averiguar.

Link to comment
Share on other sites

 Share

×
×
  • Create New...