Jump to content

Nueva Inyeccion de propiedad de alimentacion USB en Sierra


camillionario
 Share

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.
 

  • Like 4
Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

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.

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

Link to comment
Share on other sites

 Share

×
×
  • Create New...