OP's setup is not optimised and partly contradictory. For instance:
SSDT-UIAC patched table and USBPorts kext -> should only have one or the other
SSDT-EC-USBX_Laptop and SSDT-USBX patches tables -> each with different power settings for USB ports
SSDT-AC patched table -> really required?
There are probably more patched tables than really necessary and a clean-up needed.
SSDT-EC-USBX_Laptop table:
Scope (\_SB)
{
Device (USBX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Return (Package (0x04)
{
"kUSBSleepPortCurrentLimit",
0x0BB8,
"kUSBWakePortCurrentLimit",
0x0BB8
})
}
[...]
}
SSDT-USBX table:
Scope (\_SB)
{
Device (USBX)
{
Name (_ADR, Zero) // _ADR: Address
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Return (Package (0x08)
{
"kUSBSleepPowerSupply",
0x13EC,
"kUSBSleepPortCurrentLimit",
0x0834,
"kUSBWakePowerSupply",
0x13EC,
"kUSBWakePortCurrentLimit",
0x0834
})
}
}
}
Disabling sleep functionality in BIOS is a pretty poor workaround to a broken but most useful feature on a laptop...