Skip to content

Instantly share code, notes, and snippets.

@iamahuman
Created February 2, 2017 16:36
Show Gist options
  • Save iamahuman/d40136128cd5e57b7f311ee9070221b9 to your computer and use it in GitHub Desktop.
Save iamahuman/d40136128cd5e57b7f311ee9070221b9 to your computer and use it in GitHub Desktop.
LG 그램 ACPI/WMI 인터페이스 명세 요약
\CDP0: Get available devices as mask
bit0@retval: phy (\WLE0 || \WLE1)
bit1@retval: hci (\BTPR)
<WMAB 0x3c>
\CDP1:
<WMAB 0x3d>
\OWNE: Devices to do Airplane mode toggle, if AIRP == 0 or OSYS <= 0x7d0c and INTK == 1 (otherwise do the rfkill manually in the OS, via \WPC0 or whatever)
bit0@retval: phy
bit1@retval: hci
<WMAB 0x34>
\OSDP: this seems to make custom button events follow the standard ones via notify_id=0x82, don't know what it is for (probably for consistency?)
<WMAB 0x08>
\FRED: fake key record?
<WMAB 0x82 - reads FRED on 1, writes to FRED *and* does some addition keystroke faking afterwards>
<WMAB 0x93 - fake a power button press>
\_SB.PCI0.LPCB.H_EC.MAP1.APCT - 0 for standard power button event, 1 for custom wmi (which kinda sux). also affects WMAB 0x93
all GOV bits are 1=en, 0=dis
\_SB.SGOV 0x02020008 <touchpad>
\_SB.PCI0.LPCB.H_EC.MAP1.TPCT <arg0 = r1/w2, bit1@arg1 = en0/dis1>
<WMAB 0x30>
\_SB.SGOV 0x02020000 + WCPN <video> /* WCPN = 9 on my machine */
\_SB.PCI0.LPCB.H_EC.MAP1.WMBB <unused, 1 or 2, buf>, 0x1
# buf layout:
# <dd reqid> <dw val> <dw ??> <dd rescode>
#
# in case of webcam, reqid=0x117
# val = 1: webcam query
# @0x10 <dd zx32 GGOV((0x02020000 + WPCN))> <dd 0> <dd 0> <dd 0>
# val = 2: webcam set
# @0x10 <dd (en ? 0 : 1)>
\_SB.SGOV 0x0202000a <phy>
read=\BTRD, write=\BTON
\_SB.SGOV 0x0202000b <hci>
read=\WLRF, write=\WLON
<phy, hci>
\WPC0 <arg0 = r1/w2, bit0@arg1 = phy, bit1@arg1 = hci>
_Q36 <EC Query for airplane key, Fn-F5, Does Notify (HBTN, 0x80) when preprocesses done>
<WMAB 0x31>
\_SB.PCI0.LPCB.H_EC.RDMD <read mode>
<WMAB 0xBF, arg1 = r1/w2, bit0@arg2 = en1/dis0>
Notifications:
HBTN 0x80: Airplane off
Events:
E4FB94F9-7F2B-4173-AD1A-CD1D95086248 (notify_id=0x80)
CAUS == EVWL:
val = (current_state << 16) | EVWL
EVWL (notify_id=0x80)
WMIs:
\_SB.PCI0.LPCB.H_EC.MAP1.WMAB 0x30 arg0 arg1
WMI, C3A72B38-D3EF-42D3-8CBB-D5A57049F66D
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment