Jump to content

A vueltas con el DSDT y cual utilizar


WeBeRiO
 Share

17 posts in this topic

Recommended Posts

Muy buenas a todos, estoy intentando conseguir un DSDT decente para usar en una placa Asus P6X58D-E y ando perdido, a ver si podeis recomendarme porque no me aclaro, vaya cacao tengo:

 

Partimos de la base que se extrae con Aida64, este es el archivo resultante.

 

Ahora es donde vienen las dudas, es decir, a la hora de editarla y corregirla.

 

Si uso la especifica desde OSX86.net para mi placa, salen 64 optimizaciones.

(No tengo ni idea de que Bios usaron o para cual es recomendable utilizar)

 

Si uso el 'corregidor' para mi placa desde Olarila.com, aparecen 68 optimizaciones.

Este es el proceso y resultado en video: http://youtu.be/OBEn_HbmNWU

 

Si la edito a mano desde DSDT Editor, salen 76 optimizaciones.

Este es el proceso y resultado en video: http://youtu.be/fKGW5pq8Jj4

 

Me estoy volviendo paranoico ?

 

Se agradece y mucho alguna ayuda.

 

Disculpad que use Windows pero en Mac es exactamente igual con DSDT Editor.

 

Un saludo.-

Link to comment
Share on other sites

  • 2 weeks later...

Hola:

 

1) Olvida la de OSX86. Como bien dices es una dsdt de la placa P6X58D-E de alguien pero a saber con que bios y con que hardware. Sirve para comparar con nuestro dsdt y tenerlo como guia pero no es saludable usarlo directamente.

 

2) En ambos videos veo como resultado final 76 optimizaciones por lo tanto no entiendo tu duda.

 

3) Existe un programa llamado difmerge http://www.sourcegear.com/diffmerge/downloads.php  que uso en Mac (pasando antes mis archivos dsdt.dsl a dsdt.txt) que me permite comparar varios archivos y ver las diferencias entre varios archivos.

Nunca lo usé en windows.

 

Un saludo

 

P.D.: Los archivos que linkeas a Dropbox no están operativos:

 

Error (404)

We can't find the page you're looking for. Check out our Help Center andforums for help, or head back to home.

Link to comment
Share on other sites

Te recomiendo que uses el DSDT de tu propio equipo extraído con AIDA64 y corregido con los patch específicos de Olarila para tu placa, las optimizaciones no son importantes ya que como te dice el mensaje están ya hechas automáticamente,  solo corrige ese error y listo, los warnings también podrías obviarlos aunque seria mejor corregirlos también pero en principio puedes pasar con ellos sin mas problemas.

 

Por otra parte esa diferencia entre optimizaciones como bien dice Uzmi casi seguro son debidas a que tienes diferentes versiones de Bios en uno y otro DSDT, diferentes componentes pinchados en el, memorias, gráfica, procesador, disco, etc. o sencillamente a una verison anterior o posterior de IASL, no le des importancia ya que lo único importante es usar el tuyo propio.

  • Like 1
Link to comment
Share on other sites

uzmi

1) Comparandolo veo que tiene el metodo DTGP y el SBUS, lo he añadido a mi DSDT pero me falta entender mas cosas y no hacer un copia-pega sobre la marcha.

Hay tambíen un apartado que difiere llamado SATA, yo tengo además de ese otro denominado SATA1.

2) Creo que deberias verlos bien, los he revisado y en ambos hay resultados diferentes con las optimizaciones.

3) Lo probare a ver que tal, aunque esa tarea de comparar la he estado haciendo a pelo, con dos ventanas del DSDT Editor, un verdadero quebradero de cabeza.

PD: Enlaces corregidos.



surfacaster

El archivo DSDT con el que parto es mi propio DSDT extraido con Aida64, siempre uso ese mismo como referencia inicial y lo que no entiendo es como aparecen distintas optimizaciones. Con el archivo especifico para la placa de olarila 68, a mano 76, con las diferentes arreglos que despues listo voy por 80 ...

El ordenador SIEMPRE tiene puesto lo mismo: Procesador, memória, gráfica, etc y NO he cambiado nada.

 

 

 

Tras muchas horas de ver, mirar, leer, y volver a rever, remirar y releer he llegado a la conclusión de que las optimizaciones son arreglos que tiene la DSDT y han sido mejorados para que sea mas estandar, no se si me he explicado bien. Conforme se van añadiendo cosas o arreglando ese numero baja o sube.

 

Cuando comienzas con la edición de la tabla y tras dejarla a CERO de Errores, Warnings, Remarks y X optimizaciones llega la parte entretenida, empezar con los arreglos estandar. En mi caso:

Los USB son renombrados a UHC

 

Los USBE se renombran a EHC

 

El Device (SBRG) llamando en ASUS y en Gigabyte se denomina (PX40 ) se renombre a (LPCB) y todas sus sub-ramas.

 

Del Device (IPIC)
/* Eliminando estas dos lineas se corrigen problemas con el sonido*/
//                        IRQNoFlags ()
//                            {2}

 

Además soy meticuloso y me gusta el orden, por eso en el panel de la IZQuierda figura todo ordenado, he movido varios devices para que esten alfabeticamente y del 0 al 9

  • Like 1
Link to comment
Share on other sites

Tranquilo. Estás bien claro con el tema de las optimizaciones (0x00 a Zero | 0x01 a One | \_PR a _PR), es así. Y más o menos es lo mismo con las Remarks (_T_0 a T_0 | _T_1 a T_1), pero éstas últimas NO se aplican automáticamente como las optimizaciones.

 

Ten cuidado que PX40 (dispositivo LPC o LPCB para C-States y reposo) NO lo vayas a renombrar si aparece en alguna de las tablas SSDT con ese mismo nombre, o te subirá la temperatura del CPU. Es decir que quedará inutilizado.

 

Para 10.8.5 y 10.9 debes inyectar "compatible" y "name" en aquellos dispositivos que NO sean nativos, es decir en los cuales necesitas inyectar su "device-id", por ejemplo algunos SATA, USB, ARPT y LPCB, entre otros.

 

DTGP es el método OBLIGATORIO para todas las inyecciones, de lo contrario dará errores al compilar, como se puede ver al final de todas las inyecciones (_DSM), te darás cuenta que todas hacen referencia al método DTGP. También está presente en las DSDT genuinas en cualquier lugar afuera del gran Scope (/). Por eso, normalmente se usa al principio (después de la primera llave de apertura) o antes de la última llave de cierre de la DSDT.

 

Siempre es recomendable usar el archivo .DSL para ediciones, comentarios y referencias, y utilizar el archivo compilado .AML únicamente como resultado final.

 

En fin, muchas de éstas cosas se dieron a conocer en el Hackintosh a mediados del 2009 con la llegada de Leopard 10.5.8. Ahí empezó el quebradero de cabeza.

  • Like 3
Link to comment
Share on other sites

...

Cuando comienzas con la edición de la tabla y tras dejarla a CERO de Errores, Warnings, Remarks y X optimizaciones llega la parte entretenida, empezar con los arreglos estandar. En mi caso:

 

Los USB son renombrados a UHC

 

Los USBE se renombran a EHC

 

El Device (SBRG) llamando en ASUS y en Gigabyte se denomina (PX40 ) se renombre a (LPCB) y todas sus sub-ramas.

 

Del Device (IPIC)

/* Eliminando estas dos lineas se corrigen problemas con el sonido*/

//                        IRQNoFlags ()

//                            {2}

 

Además soy meticuloso y me gusta el orden, por eso en el panel de la IZQuierda figura todo ordenado, he movido varios devices para que esten alfabeticamente y del 0 al 9

Hola:

Ahora sigue hacer estas modificaciones/correcciones teniendo MUY presente lo que comenta Juanerson

 

Scope (_PR)  Remover lineas Alias

 

Device (PIC)  Remover IRQ

 

Device (TMR)  Remover IRQ

 

Device (RTC0)  Remover IRQ

 

Device (SPKR) Remover todo el device (altavoz caja)

 

Device (FDC) Remover todo el device (disquetera)

 

Device (HPET) Corregir y agregar IRQ 

 

Device (^^RMEM) Remover todo el device (Nunca supe porque se borra pero el DSDT funciona bien sin el)

 

Device (EHC1) Parchear 

 

Device (EHC2) Parchear 

 

Device LPC Agregar

 

Device (SBUS) Agregar

 

Device (PWRB) Modificar Name (_HID, 1,  NotSerialized)     por    Name (_CID, 1,  NotSerialized)    Parche para el botón de apagado (dormir-despertar) (Solo para que funcione el botón)

 

Method (_PTS,1, NotSerialized) Parche el apagado (Cuando no se apaga del todo)

 

Method (DTGP, 5, NotSerialized) Agregar Este método debe ser incluido en el DSDT para que trabajen los hacks audio, vídeo, red, etc.

 

 

Un saludo

  • Like 3
Link to comment
Share on other sites

Muchas gracias, poco a poco voy avanzando descubriendo modificaciones y arreglos que sinceramente desconocía.

 

Os dejo mi DSDT.dsl para que veáis todos los avances conseguidos. Aunque aun faltan cosas ya se ven bastantes modificaciones.

 

Voy a buscar sobre el USB3 en placas con UHC7. No tengo claro si tengo que aplicarlo al mío.

 

Un saludo a todos.

Link to comment
Share on other sites

Una duda, si cambio los One por 0x01 suben las Optimizaciones.

 

Al igual que los Zero por 0x00

 

No importa perder optimizaciones ?

 

Además veo que eliminan toda esta parte del código, no se necesita ?
 

/*        
        If (CondRefOf (_OSI, Local1))
        {
            If (_OSI ("Windows 2000"))
            {
                Store (0x12, Local0)
            }
            If (_OSI ("Windows 2001"))
            {
                Store (0x13, Local0)
            }
            If (_OSI ("Windows 2001 SP1"))
            {
                Store (0x13, Local0)
            }
            If (_OSI ("Windows 2001 SP2"))
            {
                Store (0x13, Local0)
            }
            If (_OSI ("Windows 2001.1"))
            {
                Store (0x14, Local0)
            }
            If (_OSI ("Windows 2001.1 SP1"))
            {
                Store (0x14, Local0)
            }
            If (_OSI ("Windows 2006"))
            {
                Store (0x15, Local0)
            }
        }
        Else
        {
            If (MCTH (_OS, "Microsoft Windows NT"))
            {
                Store (0x12, Local0)
            }
            Else
            {
                If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
                {
                    Store (0x11, Local0)
                }
                If (MCTH (_OS, "Linux"))
                {
                    Store (One, Local0)
                }
            }
        }
*/

Gracias.-

Link to comment
Share on other sites

1) No te enrolles, que con esa clase de cambios NO pierdes nada en ningún caso. Al final, eso de perder optimizaciones NO importa.

 

Es lo esperado pues. Da lo mismo Zero o 0x00 (o One en lugar de 0x01), porque las optimizaciones son aplicadas automáticamente por el compilador IASL.

 

0x00 = No optimizado   |   0x01 = No optimizado

Zero = Optimizado        |   One = Optimizado

 

2) Yo nunca he eliminado nada de la sección _OSI... no veo la necesidad de hacerlo. Y ten en cuenta que NO todos los arreglos son realmente útiles.

  • Like 1
Link to comment
Share on other sites

Siguiendo con mi propia DSDT y ha raíz de otro post sobre los iconos amarillos en mi controladora ICH10R, os dejo capturas que dicen mucho.

No utilizo ningún injector para tal fin, ademas he dejado dentro de E/E lo imprescindible.

 

He renombrado NPE2 por XHCI como vi en las ramas del IORegistry.

 

mini_131019015142299674.png

 

Aun me queda por ajustar algunas otras cosas, me dice que la controladora de discos es ICH8R siendo realmente ICH10R y la otra pone 88SE9123 siendo realmente una 9128.

 

mini_131019015143723736.png

 

Tambien creo que tengo demasiados dispositivos en el audio, a ver si encuentro como hacer limpieza de los repetidos:

 

mini_13101901511477226.png

 

Un saludo.-

 

Link to comment
Share on other sites

  • 2 weeks later...

Es lo recomendable, utilizar "/S/L/E" porque es la ruta principal (por defecto) de extensiones, las cuales son comprimidas en la caché precargada en el kernel (kernelcache). Y para eso fue creada dicha carpeta, para que se alojen tanto los drivers propios como de terceros. Entonces la excepción, por ejemplo, sería colocar kexts propios en "/Extra/Extensions" únicamente para realizar una instalación más limpia del sistema, sin tocar /S/L/E... y fijar el parámetro "UseKernelCache=No" para que se omita la caché principal del instalador. De resto, con el sistema ya funcionando lo mejor es aprovechar dicha caché durante el arranque para mejorar la compatibilidad general de dispositivos, y al mismo tiempo acelerar dicho arranque. Saludos.

  • Like 1
Link to comment
Share on other sites

Existe la posibilidad que no sea reconocido o es incompatible (device-id no nativo).

 

No es tu caso, pero puede ser que simplemente el dispositivo X es inútil para la versión del sistema que se utiliza, en relación al hardware, por lo tanto en un equipo Sandy o Ivy Bridge con perfil iMac12,2 corriendo Mac OS X Mountain Lion o Mavericks, dispositivos como por ejemplo el floppy, los parlantes internos, los puertos IDE, puertos paralelos, entre otros… quedan obsoletos o son inútiles.

 

Pudiera ser que en Leopard o Snow Leopard si levante el dispositivo. Pudiera ser que con el perfil MacPro3,1 también levante. En resumidas, estoy convencido que la versión del sistema y el perfil SMBios utilizado influyen en la detección de dispositivos, es decir en la cantidad de dispositivos reconocidos por el sistema.

 

Ahora bien, según mi experiencia, en el caso de los USB lo que pudiera afectar en la detección de éstos sería un conflicto entre IRQs, pero esto remotamente sucede en las PC de escritorio, aunque depende de la cantidad de periféricos u otros dispositivos (por ejemplo tarjetas PCI o de expansión) conectados internamente en dicha PC por el tema de la energía que éstos demanden, y la calidad de la fuente de poder que se tenga.

 

Siendo lo más probable que tales conflictos ocurran frecuentemente en portátiles, ya que son más limitadas de recursos, lo comento porque me ha pasado un par de veces. Para lo cual a veces un simple reinicio del sistema resuelve el problema.

 

En fin, referente al tema DSDT, haz buscado por ejemplo diferencias en el código (revisando todas las declaraciones de UHC6) si hay códigos adicionales en UHC5 o UHC4? Tal vez falte algo que evita que levante UHC6. Saludos.

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...