- Joined
- Apr 21, 2012
- Messages
- 126
- Motherboard
- Lenevo Y510p IdeaPad
- CPU
- i7-4700MQ, HM86 (Haswell)
- Graphics
- Nvidia GT755M, Intel HD4600, 1920x1080
- Mobile Phone
.....I noticed that after I booted into Win8.1 that my USB2 devices were attached to AppleUSBEHCI not XHCI. This is probably the way this laptop should work. After reading the 8-series chipset data sheet, I discovered the registers that enable USB2/EHCI passthrough from XHCI. In this DSDT, these registers are manipulated to enable this configuration when XSEL is called. XSEL is called if the DSDT believes Windows 2012 (or greater) is running. So... I changed the patched DSDT to simulate "Windows 2012" for "Darwin" (instead of "Windows 2006")....
If this info is from Intel 8-series data sheet, then all of the above [including patch (2006->2012)] should be generic (meaning for all 8-series) right?
Changed the way _PRW is handled for EHC/XHC/HDEF devices:
Instead of just removing them, I now return Package() { 0x6d, 0 }. The original return was Package() { 0x6d, 3 }. Reading the ACPI spec, this is how one disables "Wake on USB"/etc. If our BIOS had an option to disable wake on USB, this would be the effect. Although removing _PRW worked, it had the side effect of warnings about plugged in devices left across a sleep/wake cycle. This seems to fix that...
I don't quite understand this one. Does this mean no usb accessories can wake from sleep?
PS. This is what i have in EHC1/EHC2/XHC
Code:
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x0D, 0x03))
}
Should i change "method" to "name" as per your patch? and also rename "XHC" to "XHC1"?