Contribute
Register

[Guide] Patching LAPTOP DSDT/SSDTs

From "Fix _WAK Arg0 v2":
#Maintained by: RehabMan for: Laptop Patches
#system_WAK2.txt


#
# In 10.8.5 and perhaps later versions of OS X, DSDT method _WAK
# called after resuming from S3 suspend (Sleep, or suspend to RAM),
# is called with garbage in Arg0, where it should be a value
# representing the sleep state being left (1-5).
#
# This causes problems for code in DSDT _WAK method which expects
# and checks against Arg0==3 for wake from sleep to turn on various
# devices or restore internal state to a working state.
#
# This patch adds code at the very beginning of the method to
# force an an out-of-range Arg0 to 3.

Can this cause problems with sleep described in post above?
 
From "Fix _WAK Arg0 v2":


Can this cause problems with sleep described in post above?

No. It can't cause any problems. It simply forces an out of range Arg0 to assume 3.

The bug was fixed at some point and (last I checked) no longer affects 10.11 (think it was fixed somewhere in 10.10).

With the bug not present in OS X, the patch has no effect.
 
Should I apply any USB patches from the first message of this thread (i.e. "USB _PRW(0x6D) and Rename XHC to XHC1") if then I will follow this guide?
 
Should I apply any USB patches from the first message of this thread (i.e. "USB _PRW(0x6D) and Rename XHC to XHC1") if then I will follow this guide?

The _PRW patches are a solution for "instant wake". The USB guide has more to do with activating the right set of ports for Intel USB. Separate solutions for different problems.
 
The USB guide has more to do with activating the right set of ports for Intel USB.
How do I know if the right set is activated? Can this problem cause touchpad disconnection described above?
I do remember that the last time I got my touchpad disconnected I have had ejected my camera from USB few seconds before disconnection.
On my notebook, I have only one external USB 3.0 port and one USB 2.0. I also have some internal devices connected via USB - maybe webcam and something else.
Here is my lsusb:
sh-3.2# lsusb
Bus 029 Device 001: ID 8087:8000 Intel Corporation Hub
Bus 020 Device 010: ID 048d:8350 Integrated Technology Express, Inc. ITE Device(8350)
Bus 020 Device 008: ID 0489:e07a Foxconn / Hon Hai BCM20702A0 Serial: 1008B1E222A4
Bus 020 Device 009: ID 04f2:b40f Chicony Electronics Co., Ltd. Lenovo EasyCamera Serial: 0x0001
Bus 020 Device 007: ID 04f3:0303 Elan Microelectronics Corportation Touchscreen
Bus 020 Device 002: ID 046d:c52b Logitech Inc. USB Receiver
Bus 000 Device 001: ID 1d6b:IPCI Linux Foundation USB 2.0 Bus
Bus 000 Device 001: ID 1d6b:ILPT Linux Foundation USB 3.0 Bus

I tried USB guide and here are the results. I don't know if it is really good for stability but we will see.

lsusb after patch:
Bus 029 Device 001: ID 8087:8000 Intel Corporation Hub
Bus 029 Device 006: ID 048d:8350 Integrated Technology Express, Inc. ITE Device(8350)
Bus 029 Device 005: ID 0489:e07a Foxconn / Hon Hai BCM20702A0 Serial: 1008B1E222A4
Bus 029 Device 004: ID 04f2:b40f Chicony Electronics Co., Ltd. Lenovo EasyCamera Serial: 0x0001
Bus 029 Device 007: ID 04f3:0303 Elan Microelectronics Corportation Touchscreen
Bus 029 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. USB2.0-CRW Serial: 20100201396000000
Bus 029 Device 002: ID 046d:c52b Logitech Inc. USB Receiver
Bus 000 Device 001: ID 1d6b:IPCI Linux Foundation USB 2.0 Bus
Bus 000 Device 001: ID 1d6b:ILPT Linux Foundation USB 3.0 Bus

Wow! Realtek Cardreader is now recognized. Is there a way to get it working?
 

Attachments

  • After USB patches.png
    After USB patches.png
    80.9 KB · Views: 108
  • Before USB patches.png
    Before USB patches.png
    84.9 KB · Views: 139
How do I know if the right set is activated?

With all ports activated, you test each port to determine which ones actually need to be active.

Can this problem cause touchpad disconnection described above?

Unlikely. You really didn't provide any details though... eg. not even what kind of trackpad you have, nor which drivers are installed.

I do remember that the last time I got my touchpad disconnected I have had ejected my camera from USB few seconds before disconnection.

Some trackpads are affected by spontaneous reset due to static discharge. Synaptics is one, and my driver doesn't implement anything about it. If sleep is working, you can get it back with a sleep/wake cycle (the driver resets on wake).
 
Unlikely. You really didn't provide any details though... eg. not even what kind of trackpad you have, nor which drivers are installed.
For trackpad, I suppose I have only your version of VoodooPS2Controller.kext installed.
Is there a way to alias touchpad driver reload on a button?

Please, see my updated post above, now I got my cardreader in the lsusb list.
 
For trackpad, I suppose I have only your version of VoodooPS2Controller.kext installed.
Is there a way to alias touchpad driver reload on a button?

It is not implemented. Test with sleep first.

Note github issue: https://github.com/RehabMan/OS-X-Voodoo-PS2-Controller/issues/10

Please, see my updated post above, now I got my cardreader in the lsusb list.

For USB, see guide: http://www.tonymacx86.com/el-capitan-laptop-support/173616-guide-10-11-usb-changes-solutions.html
 
I have used techniques from this guide and Realtek cardreader appeared in the USb devices list, but it is still not working. I have tried modifying AppleStorageDrivers.kext->AppleUSBCardReader.kext->Contents/Info.plist, but no luck.

From GitHub issue:
A trackpad restart by using the trackpad on/off key solves this problem for a short time
I have tried "restarting" trackpad by F6 and PrtSc button (which in normal case work) but trackpad wasn't working at all.
 
I have used techniques from this guide and Realtek cardreader appeared in the USb devices list, but it is still not working. I have tried modifying AppleStorageDrivers.kext->AppleUSBCardReader.kext->Contents/Info.plist, but no luck.

Most card readers are not supported. It is a separate issue from USB ports enabling...

From GitHub issue:

I have tried "restarting" trackpad by F6 and PrtSc button (which in normal case work) but trackpad wasn't working at all.

The only way to reset is to do a sleep/wake cycle.

You should first verify that it is the same issue. You provide no output from system.log showing that is the case.
 
Back
Top