Jump to content
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
  • 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.

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.

×
×
  • Create New...