Jump to content
Sign in to follow this  
Followers 0
camillionario

Nueva Inyeccion de propiedad de alimentacion USB en Sierra

4 posts in this topic

Recommended Posts

Las propiedades de inyeccion de alimentacion USB han cambiado en Sierra:
post-887245-0-09865100-1500488802_thumb.png

 

post-887245-0-08986400-1500489664_thumb.png

 

post-887245-0-37075400-1500489610_thumb.png

 

post-887245-0-76989000-1500489698_thumb.png

 

Por lo tanto tenemos que hacer algunos cambios para tener las propiedades electricas de nuevo:

buscamos el dispositivo EC en DSDT, en la mayoria de PCs se suele llamar H_EC o ECO y lo renombramos a EC

 En Acpi/DSDT/Fixes/Patches

Comment             Change H_EC to EC

Find                       485f4543

Replace                 45435f5f

 

Comment              Change ECO to EC

Find                       4543305f

Replace                 45435f5f

 

Con esto se inyectan las propiedades que corresponden a su SMBIOS.  En mi caso aparecia el dispositivo ACPI en mi DSDT pero desactivado (Return= Zero), por lo que he tenido que hacerlo mediante SSDT-EC.

 

 Device (H_EC)
        {
            Name (_HID, EisaId ("PNP0C09"))  // _HID: Hardware ID
            Name (_UID, One)  // _UID: Unique ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Store (0x03, ^^^GFX0.CLID)
                Return (Zero)
            }

 

Falso Dispositivo SSDT_EC:

 

/ Inject Fake EC device
DefinitionBlock("", "SSDT", 2, "hack", "EC", 0)
{
    Device(_SB.EC)
    {
        Name(_HID, "EC000000")
    }
}
//EOF

 

 

Para finalizar tenemos que crear SSDT_USBX para inyectar el dispositivo USBX con las propiedades electricas que correspondan a su SMBIOS en IOUSBHostFamily.kext:

 

post-887245-0-45359800-1500491546_thumb.png

 

// USB power properties via USBX device
DefinitionBlock("", "SSDT", 2, "hack", "USBX", 0)
{
    Device(_SB.USBX)
    {
        Name(_ADR, 0)
        Method (_DSM, 4)
        {
            If (!Arg2) { Return (Buffer() { 0x03 } ) }
            Return (Package()
            {
                // these values from iMac17,1
                "kUSBSleepPortCurrentLimit", 2100,  cambiar estos valores a su correspondiente SMBIOS
                "kUSBSleepPowerSupply", 5100,
                "kUSBWakePortCurrentLimit", 2100,
                "kUSBWakePowerSupply", 5100,
            })
        }
    }
}
//EOF

 

 

Los problemas que tenia con la carga de mis dispositivos se han solucionado con estos cambios.  Todos los creditos para Rehabman, muchas gracias por su ayuda.
 

Share this post


Link to post
Share on other sites
Advertisement

Una pregunta, a mi me aparece como falso dispositivo. Con lo cual tengo que hacer con ssdt-ec.

 Mi duda es que en dsdt y algunos ssdt aparece el h_Ec +  este (En mi caso aparecia el dispositivo ACPI en mi DSDT pero desactivado (Return= Zero)). Que tengo que renombrar cada uno de ellos, o aplicando el ssdt-ec me sirve? Esta parte no me ha quedado claro, ya que en config.plist cambia el dsdt pero los ssdt estaticos no.

Share this post


Link to post
Share on other sites

Tendras que dejar tal cual el dispositivo en DSDT y utilizar SSDT para crear el dispositivo  EC e inyectarlo, de igual manera para USBX (crear SSDT) y agregarle las propiedades electricas segun el perfil SMBIOS que utilices.

En cuanto a renombrar aplica solamente si el Dispositivo es Return= 1.

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  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

×