Bug 112531

Summary: hotkey does not work - ASUS ROG G752, G752VT
Product: Platform Specific/Hardware Reporter: Nino Miletich (nino.miletich)
Component: i386Assignee: platform_i386
Status: NEEDINFO ---    
Severity: low CC: alex.podlesnyy, aljosa, drake, jms.cercas, kai.heng.feng, mmokrejs, mryodatak, nino.miletich, nnmware, pedromgrj, peter
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.4.1-2-ARCH Subsystem:
Regression: No Bisected commit-id:
Bug Depends on: 150811    
Bug Blocks:    
Attachments: Includes boot entry for systemd-boot, output of dmesg, DSDT dat and dsl, EDID, lshw output in text and HTML, lsmod output, lspci -vvv output, and uname -a output
Output of `cat /proc/interrupts` before I tried any of the FN keys.
Output of `cat /proc/interrupts` after I tried some of the non-working FN keys.
Output of `cat /proc/interrupts` after I tried some of the working FN keys (volume ones).
ECDT table for
Linux kernel .config for Asus G752VS
DMESG output of Asus G752VS
Asus G752VS acpidump
grep . /sys/firmware/acpi/interrupts/*
/proc/interrupts
Asus G752VS dmidecode
ls -latr /sys/class/leds/
Asus ROG G752VT /proc/bus/input/devices (linux kernel 4.4.38, bios 216)
New /proc/bus/input/devices with Asus ROG patch
cat /sys/kernel/debug/hid/ID_of_ASUS_ROG_g752vt_keyboard/rdesc

Description Nino Miletich 2016-02-16 17:44:19 UTC
Created attachment 203751 [details]
Includes boot entry for systemd-boot, output of dmesg, DSDT dat and dsl, EDID, lshw output in text and HTML, lsmod output, lspci -vvv output, and uname -a output

I am not entirely sure the OS can fix these problems, since it *might* be a BIOS issue, but I am posting it here in hopes that it can be fixed by Linux, since, same ACPI events work in Windows. Namely, the ACPI events for the following combinations don't work:

 - FN + F1: `XF86XK_Sleep`
 - FN + F2: `XF86XK_WLAN`
 - FN + F3: `XF86XK_KbdBrightnessDown`
 - FN + F4: `XF86XK_KbdBrightnessUp`
 - FN + F5: `XF86XK_MonBrightnessDown`
 - FN + F6: `XF86XK_MonBrightnessUp`
 - FN + F7: `XF86XK_Display` (Toggle laptop display on/off)
 - FN + F9: `XF86XK_TouchpadToggle`

I'm not sure if I picked the right ACPi event for FN + F7, but on Windows it definitely toggles the laptop's display on and off.

Also the G752 model has a set of "Macro" keys (http://i.imgur.com/LZDTr2B.jpg) that also don't seem to work. Looking at `XF86XK_keysym`.h`, I think they would correspond to these:

 - Camera: `XF86XK_Launch0`
 -     M1: `XF86XK_Launch1` 
 -     M2: `XF86XK_Launch2` 
 -     M3: `XF86XK_Launch3` 
 -     M4: `XF86XK_Launch4` 
 -     M5: `XF86XK_Launch5`

I put `XF86XK_Launch0` rather than `XF86XK_WebCam`, because this does not launch the webcam on Windows 10, but turns on screen recording instead.

For testing/debugging, I launched `acpid` and attempted to listen for events with `acpi_listen`, but there was no visible output for any of the key combinations mentioned above.
Comment 1 Nino Miletich 2016-02-16 17:46:24 UTC
Also, not sure if it's relevant or connected evem but some combinations (the ones for sound volume) were visible in both `acpi_listen` and `xev` output.
Comment 2 Nino Miletich 2016-02-16 18:04:50 UTC
Another thing, there's also the... Numpad key (or where reasonable vendors put the numpad key, at least), which launches an application on Windows (forgot which one it is, but it's an ASUS thing, I believe). So, I guess that would correspond to `XF86XK_Launch6` event, maybe?
Comment 3 Zhang Rui 2016-02-29 03:53:59 UTC
please attach the output of "cat /proc/interrupts" and "grep /sys/firmware/acpi/interrupts/*" both before and after pressing the hotkeys.

BTW, please make sure those kernel options are enabled in your kernel,
CONFIG_ASUS_LAPTOP, CONFIG_ASUS_WMI, CONFIG_ASUS_NB_WMI.
Comment 4 Nino Miletich 2016-02-29 09:13:52 UTC
I don't have the laptop with me right now, but just to make sure: What should I grep for in /sys/firmware/acpi/interrupts/* Or should I just run `grep /sys/firmware/acpi/interrupts/*` (I feel like that won't produce any output, though).
Comment 5 Nino Miletich 2016-03-07 21:59:56 UTC
Created attachment 208061 [details]
Output of `cat /proc/interrupts` before I tried any of the FN keys.
Comment 6 Nino Miletich 2016-03-07 22:01:35 UTC
Created attachment 208071 [details]
Output of `cat /proc/interrupts` after I tried some of the non-working FN keys.
Comment 7 Nino Miletich 2016-03-07 22:02:23 UTC
Created attachment 208081 [details]
Output of `cat /proc/interrupts` after I tried some of the working FN keys (volume ones).
Comment 8 Nino Miletich 2016-03-07 22:04:38 UTC
Additionally, here is the output of `zgrep CONFIG_ASUS /proc/config.gz`:

  CONFIG_ASUS_LAPTOP=m
  CONFIG_ASUS_WMI=m
  CONFIG_ASUS_NB_WMI=m

So, I assume this means that all of the kernel options you asked about are indeed present.

I am still not sure what to do with `grep /sys/firmware/acpi/interrupts/*` :)
Comment 9 Zhang Rui 2016-03-15 08:12:10 UTC
(In reply to Nino Miletich from comment #0)
> Created attachment 203751 [details]
> Includes boot entry for systemd-boot, output of dmesg, DSDT dat and dsl,
> EDID, lshw output in text and HTML, lsmod output, lspci -vvv output, and
> uname -a output
> 
> I am not entirely sure the OS can fix these problems, since it *might* be a
> BIOS issue, but I am posting it here in hopes that it can be fixed by Linux,
> since, same ACPI events work in Windows. Namely, the ACPI events for the
> following combinations don't work:
> 
>  - FN + F1: `XF86XK_Sleep`
>  - FN + F2: `XF86XK_WLAN`
>  - FN + F3: `XF86XK_KbdBrightnessDown`
>  - FN + F4: `XF86XK_KbdBrightnessUp`
>  - FN + F5: `XF86XK_MonBrightnessDown`
>  - FN + F6: `XF86XK_MonBrightnessUp`
>  - FN + F7: `XF86XK_Display` (Toggle laptop display on/off)
>  - FN + F9: `XF86XK_TouchpadToggle`
> 
> I'm not sure if I picked the right ACPi event for FN + F7, but on Windows it
> definitely toggles the laptop's display on and off.
> 
> Also the G752 model has a set of "Macro" keys
> (http://i.imgur.com/LZDTr2B.jpg) that also don't seem to work. Looking at
> `XF86XK_keysym`.h`, I think they would correspond to these:
> 
>  - Camera: `XF86XK_Launch0`
>  -     M1: `XF86XK_Launch1` 
>  -     M2: `XF86XK_Launch2` 
>  -     M3: `XF86XK_Launch3` 
>  -     M4: `XF86XK_Launch4` 
>  -     M5: `XF86XK_Launch5`
> 
why are you sure that those events are ACPI events?

> I put `XF86XK_Launch0` rather than `XF86XK_WebCam`, because this does not
> launch the webcam on Windows 10, but turns on screen recording instead.
> 
> For testing/debugging, I launched `acpid` and attempted to listen for events
> with `acpi_listen`, but there was no visible output for any of the key
> combinations mentioned above.

Yeah, /proc/interrupts shows that there is no ACPI events fired after pressing all of the hotkeys, which suggests that these hotkey events are not handled by ACPI IMO.
Comment 10 Nino Miletich 2016-03-15 11:11:50 UTC
(In reply to Zhang Rui from comment #9)
> (In reply to Nino Miletich from comment #0)
> > Created attachment 203751 [details]
> > Includes boot entry for systemd-boot, output of dmesg, DSDT dat and dsl,
> > EDID, lshw output in text and HTML, lsmod output, lspci -vvv output, and
> > uname -a output
> > 
> > I am not entirely sure the OS can fix these problems, since it *might* be a
> > BIOS issue, but I am posting it here in hopes that it can be fixed by
> Linux,
> > since, same ACPI events work in Windows. Namely, the ACPI events for the
> > following combinations don't work:
> > 
> >  - FN + F1: `XF86XK_Sleep`
> >  - FN + F2: `XF86XK_WLAN`
> >  - FN + F3: `XF86XK_KbdBrightnessDown`
> >  - FN + F4: `XF86XK_KbdBrightnessUp`
> >  - FN + F5: `XF86XK_MonBrightnessDown`
> >  - FN + F6: `XF86XK_MonBrightnessUp`
> >  - FN + F7: `XF86XK_Display` (Toggle laptop display on/off)
> >  - FN + F9: `XF86XK_TouchpadToggle`
> > 
> > I'm not sure if I picked the right ACPi event for FN + F7, but on Windows
> it
> > definitely toggles the laptop's display on and off.
> > 
> > Also the G752 model has a set of "Macro" keys
> > (http://i.imgur.com/LZDTr2B.jpg) that also don't seem to work. Looking at
> > `XF86XK_keysym`.h`, I think they would correspond to these:
> > 
> >  - Camera: `XF86XK_Launch0`
> >  -     M1: `XF86XK_Launch1` 
> >  -     M2: `XF86XK_Launch2` 
> >  -     M3: `XF86XK_Launch3` 
> >  -     M4: `XF86XK_Launch4` 
> >  -     M5: `XF86XK_Launch5`
> > 
> why are you sure that those events are ACPI events?
> 
> > I put `XF86XK_Launch0` rather than `XF86XK_WebCam`, because this does not
> > launch the webcam on Windows 10, but turns on screen recording instead.
> > 
> > For testing/debugging, I launched `acpid` and attempted to listen for
> events
> > with `acpi_listen`, but there was no visible output for any of the key
> > combinations mentioned above.
> 
> Yeah, /proc/interrupts shows that there is no ACPI events fired after
> pressing all of the hotkeys, which suggests that these hotkey events are not
> handled by ACPI IMO.


I am not 100% sure they're ACPI events, but I managed to pinpoint it to an ASUS driver called `ATKACPI` whose sole purpose is to provide the hotkey functionality (without it, they do not function on Windows either). I realise this whole thing might be more of a vendor issue than a Linux issue, though.
Comment 11 Zhang Rui 2016-05-10 07:01:29 UTC
(In reply to Nino Miletich from comment #8)
> Additionally, here is the output of `zgrep CONFIG_ASUS /proc/config.gz`:
> 
>   CONFIG_ASUS_LAPTOP=m
>   CONFIG_ASUS_WMI=m
>   CONFIG_ASUS_NB_WMI=m
> 
> So, I assume this means that all of the kernel options you asked about are
> indeed present.

are you true they are loaded when you do the test?
BTW, can you please also build CONFIG_ACPI_WMI?

> 
> I am still not sure what to do with `grep /sys/firmware/acpi/interrupts/*` :)

No, you don't need to provide this information any more. BTW, I actually meant "grep . /sys/firmware/acpi/interrupts/*".
Comment 12 nnmware 2016-05-10 07:16:34 UTC
I have same problems with Asus ROG G752VT.
OS- Slackware-current, vanilla kernel 4.4.9
And sure, all modules are loaded.
CONFIG_ASUS_LAPTOP=m
CONFIG_ASUS_WMI=m
CONFIG_ASUS_NB_WMI=m
CONFIG_ACPI_WMI=m
Comment 13 nnmware 2016-05-21 02:06:50 UTC
Don't know - it's useful info or no.
With all kernels prior to 4.5- trace when kernel load.

[    6.387962] WARNING: CPU: 0 PID: 711 at arch/x86/mm/ioremap.c:198 __ioremap_caller+0x2de/0x360()
[    6.387964] Info: mapping multiple BARs. Your kernel is fine.
[    6.387977] Modules linked in: pcc_cpufreq(-) intel_lpss_acpi ac(+) intel_lpss acpi_cpufreq(-) tpm_crb(+) int3402_thermal int340x_thermal_zone tpm_tis int3
400_thermal acpi_thermal_rel tpm fjes processor acpi_pad button loop psmouse elan_i2c i2c_designware_pci i2c_designware_core i2c_core asus_atk0110 asus_nb_wmi
 asus_wmi wmi hwmon sparse_keymap rfkill input_polldev video fan hid_generic usbhid hid
[    6.387978] CPU: 0 PID: 711 Comm: udevd Not tainted 4.4.11 #2
[    6.387979] Hardware name: ASUSTeK COMPUTER INC. G752VT/G752VT, BIOS G752VT.214 01/19/2016
[    6.387980]  0000000000000000 ffff8808a13a79f0 ffffffff8160d658 ffff8808a13a7a38
[    6.387982]  ffffffff82116c99 ffff8808a13a7a28 ffffffff8108d712 0000000000001000
[    6.387983]  ffffc900009bc040 00000000fed40040 0000000000000040 ffff88089f1378c0
[    6.387983] Call Trace:
[    6.387986]  [<ffffffff8160d658>] dump_stack+0x4d/0x65
[    6.387988]  [<ffffffff8108d712>] warn_slowpath_common+0x82/0xc0
[    6.387990]  [<ffffffff8108d79c>] warn_slowpath_fmt+0x4c/0x50
[    6.387991]  [<ffffffff81093d2a>] ? iomem_map_sanity_check+0xba/0xd0
[    6.387993]  [<ffffffff8104b61e>] __ioremap_caller+0x2de/0x360
[    6.387995]  [<ffffffff8104b6b7>] ioremap_nocache+0x17/0x20
[    6.387996]  [<ffffffff81626242>] devm_ioremap_nocache+0x42/0x80
[    6.387998]  [<ffffffffc0258229>] crb_acpi_add+0xf9/0x2b0 [tpm_crb]
[    6.388000]  [<ffffffff8168d7f2>] acpi_device_probe+0x4f/0xf5
[    6.388016]  [<ffffffff81723907>] driver_probe_device+0x1f7/0x310
[    6.388017]  [<ffffffff81723aa4>] __driver_attach+0x84/0x90
[    6.388019]  [<ffffffff81723a20>] ? driver_probe_device+0x310/0x310
[    6.388020]  [<ffffffff817219b4>] bus_for_each_dev+0x64/0xa0
[    6.388021]  [<ffffffff817231ce>] driver_attach+0x1e/0x20
[    6.388022]  [<ffffffff81722e01>] bus_add_driver+0x1b1/0x220
[    6.388023]  [<ffffffffc025a000>] ? 0xffffffffc025a000
[    6.388024]  [<ffffffff81724330>] driver_register+0x60/0xe0
[    6.388025]  [<ffffffff8168d6c1>] acpi_bus_register_driver+0x3b/0x43
[    6.388027]  [<ffffffffc025a010>] crb_acpi_driver_init+0x10/0x12 [tpm_crb]
[    6.388029]  [<ffffffff810003c9>] do_one_initcall+0x99/0x1e0
[    6.388031]  [<ffffffff8119d0cd>] ? free_vmap_area_noflush+0x3d/0x80
[    6.388032]  [<ffffffff811ab58b>] ? kmem_cache_alloc_trace+0x18b/0x1f0
[    6.388034]  [<ffffffff81162a9e>] do_init_module+0x5f/0x1c3
[    6.388035]  [<ffffffff81107c25>] load_module+0x1c95/0x2270
[    6.388037]  [<ffffffff81104a50>] ? __symbol_put+0x50/0x50
[    6.388038]  [<ffffffff811c6ba1>] ? kernel_read+0x41/0x60
[    6.388040]  [<ffffffff811083bf>] SYSC_finit_module+0x8f/0xa0
[    6.388041]  [<ffffffff811083ee>] SyS_finit_module+0xe/0x10
[    6.388043]  [<ffffffff81c6ed5b>] entry_SYSCALL_64_fastpath+0x16/0x6a
[    6.388045] ---[ end trace d9b929de781d193f ]---
[    6.389070] genirq: Flags mismatch irq 14. 00000080 (INT345D:00) vs. 00000000 (pata_legacy.0)
Comment 14 Nino Miletich 2016-05-21 08:40:12 UTC
(In reply to Zhang Rui from comment #11)
> (In reply to Nino Miletich from comment #8)
> > Additionally, here is the output of `zgrep CONFIG_ASUS /proc/config.gz`:
> > 
> >   CONFIG_ASUS_LAPTOP=m
> >   CONFIG_ASUS_WMI=m
> >   CONFIG_ASUS_NB_WMI=m
> > 
> > So, I assume this means that all of the kernel options you asked about are
> > indeed present.
> 
> are you true they are loaded when you do the test?
> BTW, can you please also build CONFIG_ACPI_WMI?
> 

CONFIG_ACPI_WMI is already built as a module apparently:

$ zgrep CONFIG_ACPI_WMI /proc/config.gz
CONFIG_ACPI_WMI=m
Comment 15 Peter Wu 2016-07-31 14:59:00 UTC
Bug 115021 looks very similar to this one, also an Asus laptop (X550ZE), also disfunctional hotkeys (there are no EC _Qxx events at all). The /sys/firmware/acpi/interrupts/* files all show zeroes. There is a full dmesg as well as acpidumps in there.

Just noticed that lid close does also not trigger any ACPI events, similarly /sys/firmware/acpi/interrupts/* stays zero.

Let me know if there is anything that can be tried, or if you need SSH access.
Comment 16 Peter Wu 2016-08-27 11:22:10 UTC
Bug 115021 turns out to have a different cause. Nino, can you attach the output of the acpidump command? I am interested in the contents of the ECDT table, but you have only included the DSDT.

Please boot with:
acpi.trace_state=enable dyndbg="file ec.c +p"

Your kernel must have CONFIG_DYNAMIC_DEBUG=y for dyndbg="...", but this is the case for Arch Linux kernels. But the former requires CONFIG_ACPI_DEBUG=y which is not enabled in the Arch kernel. Can you build the kernel with said options enabled?
Comment 17 Lv Zheng 2016-08-30 23:22:02 UTC
Hi,

Please give this patch a try:
attachment 231401 [details] 

Thanks
Comment 18 Lv Zheng 2016-09-07 02:00:20 UTC
Hi, Peter & Nino

I'll leave this bug as platform specific issue.
If any help you want from ACPI developers, please feel free to re-assign it to ACPI category.

Thanks
Lv
Comment 19 Jorge Cercas 2016-09-07 09:01:49 UTC
Hi,

I confirm the same behaviour on Linux Mint 18.

Output from inxi -Fxz:

CPU:       Quad core Intel Core i7-6700HQ (-HT-MCP-) cache: 6144 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 20735
           clock speeds: max: 3500 MHz 1: 2394 MHz 2: 2181 MHz 3: 1656 MHz 4: 1600 MHz 5: 3279 MHz 6: 2315 MHz
           7: 3003 MHz 8: 2244 MHz
Graphics:  Card: NVIDIA GM204M [GeForce GTX 980M] bus-ID: 01:00.0
           Display Server: X.Org 1.18.3 drivers: nvidia (unloaded: fbdev,vesa,nouveau)
           Resolution: 1920x1080@75.00hz
           GLX Renderer: GeForce GTX 980M/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 370.23 Direct Rendering: Yes
Audio:     Card-1 NVIDIA GM204 High Definition Audio Controller driver: snd_hda_intel bus-ID: 01:00.1
           Card-2 Intel Sunrise Point-H HD Audio driver: snd_hda_intel bus-ID: 00:1f.3
           Sound: Advanced Linux Sound Architecture v: k4.4.0-21-generic
Network:   Card-1: Intel Wireless 8260 driver: iwlwifi bus-ID: 03:00.0
           IF: wlp3s0 state: down mac: <filter>
           Card-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
           driver: r8169 v: 2.3LK-NAPI port: c000 bus-ID: 04:00.0
           IF: enp4s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Drives:    HDD Total Size: 1000.2GB (6.5% used) ID-1: /dev/nvme1n1 model: N/A size: 256.1GB
           ID-2: /dev/nvme0n1 model: N/A size: 256.1GB ID-3: /dev/sda model: HGST_HTS721010A9 size: 1000.2GB
Partition: ID-1: / size: 60G used: 7.5G (14%) fs: ext4 dev: /dev/nvme0n1p2
           ID-2: /home size: 60G used: 5.2G (9%) fs: ext4 dev: /dev/sda3
           ID-3: /tmp size: 30G used: 48M (1%) fs: ext4 dev: /dev/sda2
           ID-4: swap-1 size: 32.77GB used: 0.00GB (0%) fs: swap dev: /dev/sda1
RAID:      No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors:   System Temperatures: cpu: 59.0C mobo: N/A gpu: 0.0:54C
           Fan Speeds (in rpm): cpu: 1900
Info:      Processes: 242 Uptime: 56 min Memory: 726.3/32113.9MB Init: systemd runlevel: 5 Gcc sys: 5.4.0
           Client: Shell (bash 4.3.421) inxi: 2.2.35
Comment 20 aljosa 2016-12-25 17:31:01 UTC
Hello, I have exactly the same problem: only volume control is ok, all other hotkeys not working.
ASUS G752VS-GC063D-CST256 (croatian keyboard),
17.3" FHD LED 1920x1080, Intel Core i7-6700HQ (3.50Ghz), 16GB DDR4, 256GB M.2 SSD+1TB HDD 7200rpm, DVDRW-DL, Nvidia GTX1070 8GB GDDR5, Wifi 802.11ac+Bluetooth 4.1 (Dual band) 2*2, Gb LAN, HDMI, mDP, Intel WiDi, USB3.0 x4, USB3.1-Type C(Gen2) with Thunderbolt, HD webcam, Illuminated KB.
Comment 21 mryodatak 2017-01-11 09:06:59 UTC
Hi people , exactly the same problem , only volume control works with a US keyboard , G752VL-DH71 on Fedora 25 with 4.9 Kernel
Comment 22 Alexander 2017-01-30 03:22:40 UTC
Hi. I've the same problem with my asus rog gl502vs.
Comment 23 Martin Mokrejs 2017-02-27 01:06:41 UTC
(In reply to Nino Miletich from comment #8)
> Additionally, here is the output of `zgrep CONFIG_ASUS /proc/config.gz`:
> 
>   CONFIG_ASUS_LAPTOP=m
>   CONFIG_ASUS_WMI=m
>   CONFIG_ASUS_NB_WMI=m
> 
> So, I assume this means that all of the kernel options you asked about are
> indeed present.

How about CONFIG_KEYBOARD_ATKBD at least?

$ grep ASUS .config
# CONFIG_USB_PEGASUS is not set
# CONFIG_HID_ASUS is not set
CONFIG_ASUS_LAPTOP=y
CONFIG_ASUS_WMI=y
CONFIG_ASUS_NB_WMI=y
CONFIG_ASUS_WIRELESS=y
$
$ grep ATK .config
CONFIG_KEYBOARD_ATKBD=y
CONFIG_SENSORS_ATK0110=y
$
Comment 24 Martin Mokrejs 2017-02-27 09:43:57 UTC
BTW, the CONFIG_ACPI_WMI seems also very relevant.

$ grep WMI .config | grep -v '^#'
CONFIG_ASUS_WMI=y
CONFIG_ASUS_NB_WMI=y
CONFIG_ACPI_WMI=y
CONFIG_MXM_WMI=y
$
Comment 25 Pedro 2017-03-22 10:51:35 UTC
I've got the same problem with the hotkeys, only differences are my trackpad is not working, and I haven't got keyboard backlight too, a feature I know it has, because in windows it works. 

Sorry for the inconvenience, though I don't know how to make any of these to work.
Should I report a different bug?

Thank you.
Comment 26 aljosa 2017-03-22 10:57:45 UTC
Asus G752VS situation:

(NON-WORKING KEYBOARD KEYS)
Fn+F1
Puts the Notebook PC into Sleep mode
Fn+F2
Turns Airplane mode on or off
Fn+F3
Decreases brightness for the backlit keyboard
Fn+F4
Increases brightness for the backlit keyboard
Fn+F5
Decreases display brightness
Fn+F6
Increases display brightness
Fn+F7
Turns the display panel on or off
Fn+F8
Toggles the display mode
Fn+F9
Enables or disables the touchpad

(WORKING KEYBOARD KEYS)
Fn+F10
Turns the speaker on or off
Fn+F11
Turns the speaker volume down
Fn+F12
Turns the speaker volume up

I've tried all 3 different combinations:
"quiet splash acpi_osi=! acpi_osi=\"Windows 2015\""
"quiet splash acpi_osi=! acpi_osi=\"Windows 2012\""
"quiet splash acpi_osi=! acpi_osi=\"Windows 2009\""
but nothing changes.

I added this to kernel parameter
"quiet splash acpi.trace_state=enable dyndbg=\"file ec.c +p\""
but still nothing changes.
Here's the acpi_listen result with the same kernel parameter:
acpi_listen
button/volumeup VOLUP 00000080 00000000 K
button/volumedown VOLDN 00000080 00000000 K
button/mute MUTE 00000080 00000000 K
(there is no visible output for any of the non-functional hotkeys).
Comment 27 Pedro 2017-03-22 11:17:29 UTC
Created attachment 255421 [details]
ECDT table for

(In reply to Peter Wu from comment #16)
> Bug 115021 turns out to have a different cause. Nino, can you attach the
> output of the acpidump command? I am interested in the contents of the ECDT
> table, but you have only included the DSDT.
> 
> Please boot with:
> acpi.trace_state=enable dyndbg="file ec.c +p"
> 
> Your kernel must have CONFIG_DYNAMIC_DEBUG=y for dyndbg="...", but this is
> the case for Arch Linux kernels. But the former requires CONFIG_ACPI_DEBUG=y
> which is not enabled in the Arch kernel. Can you build the kernel with said
> options enabled?

I'm attaching ECDT table, besides having more problems unresolved, such as Trackpad not detected, keyboard backlight not functional.
Comment 28 Martin Mokrejs 2017-03-22 22:49:41 UTC
Pedro, I think you should attach to your own, *new* bug report, all possibly relevant files for the 4.10.5 kernel . See my bug #194719 for such listing. Hijacking bug report of other is not helpful. Be sure to include the BIOS-related files. Then add link to your bug number from here.
Comment 29 aljosa 2017-03-23 13:30:05 UTC
Thank you very much Martin for your advice, I will attach now the following files relevant to non-working Fn keys on my Asus G752Vs laptop:

Linux kernel .config for Asus G752VS
DMESG output of Asus G752VS
Asus G752VS acpidump
grep . /sys/firmware/acpi/interrupts/*
/proc/interrupts
Asus G752VS dmidecode
ls -latr /sys/class/leds/
Comment 30 aljosa 2017-03-23 13:30:52 UTC
Created attachment 255473 [details]
Linux kernel .config for Asus G752VS
Comment 31 aljosa 2017-03-23 13:31:19 UTC
Created attachment 255475 [details]
DMESG output of Asus G752VS
Comment 32 aljosa 2017-03-23 13:31:54 UTC
Created attachment 255477 [details]
Asus G752VS acpidump
Comment 33 aljosa 2017-03-23 13:32:30 UTC
Created attachment 255479 [details]
grep . /sys/firmware/acpi/interrupts/*
Comment 34 aljosa 2017-03-23 13:33:02 UTC
Created attachment 255481 [details]
/proc/interrupts
Comment 35 aljosa 2017-03-23 13:33:27 UTC
Created attachment 255483 [details]
Asus G752VS dmidecode
Comment 36 aljosa 2017-03-23 13:33:51 UTC
Created attachment 255485 [details]
ls -latr /sys/class/leds/
Comment 37 aljosa 2017-03-30 13:21:14 UTC
I have been informed that there are people (Chris Chiu and Daniel Drake) working on ASUS ROG models, and their patches are already slated to be released with kernel 4.12:

https://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git/log/?h=for-4.12/asus

Unfortunately I'm not able to apply those patches by myself. It would be great if some of you Linux people affected by "ASUS G752VS - Touchpad and Fn keys" problem can test mentioned patches and enter in contact with Chris and Daniel.
Comment 38 Daniel Drake 2017-03-30 13:39:10 UTC
Yes, the hot keys should be fixed on these models with the mentioned patches. I think this bug can be closed.

If anyone wants to post the contents of /proc/bus/input/devices I will double check that we have the right device IDs included.
Comment 39 nnmware 2017-03-30 20:14:22 UTC
Created attachment 255647 [details]
Asus ROG G752VT /proc/bus/input/devices (linux kernel 4.4.38, bios 216)
Comment 40 Daniel Drake 2017-03-30 20:19:22 UTC
I: Bus=0003 Vendor=0b05 Product=1819 Version=0110
N: Name="ASUS Tech Inc. ASUS HID Device "
P: Phys=usb-0000:00:14.0-8/input1
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.1/0003:0B05:1819.0002/input/input16

The patches submitted do not support this device ID 1819.

You could try modifying the code to add it and see if it works.
See commit "HID: asus: support Republic of Gamers special keys". You need to add the ID to the ignore list in hid-core and then add it to the supported device list in hid-asus.
Comment 41 nnmware 2017-03-31 01:05:42 UTC
Maybe I make something wrong, but nothing happiness.

I.e.
- Apply your patch to 4.11-rc4

- Append to hid-asus in required place
+	{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
+		USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD3) },

- Append to hid-core
+ { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD3) },

- Append to hid-ids
+#define USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD3 0x1819

/proc/bus/input/devices changed- now show- "Asus keyboard"
Hotkeys don't work, only +- volume and display(as earlier)
Comment 42 nnmware 2017-03-31 01:06:28 UTC
Created attachment 255651 [details]
New /proc/bus/input/devices  with Asus ROG patch
Comment 43 Daniel Drake 2017-03-31 13:58:21 UTC
Sounds like we will need a different type of fix for your keyboard then.
The way we fixed it for the other models was to use the hid debugfs interface to see what events are generated when those keys are pressed.
Comment 44 nnmware 2017-03-31 14:05:09 UTC
I'm not very advanced, but if you say how I can use hid defugfs for see and write you required events of keyboard....
One year ago I buy ROG 752VT, and can't normally work. Many users of ASUS too have similar problems.
Comment 45 nnmware 2017-03-31 17:53:30 UTC
Created attachment 255667 [details]
cat /sys/kernel/debug/hid/ID_of_ASUS_ROG_g752vt_keyboard/rdesc
Comment 46 Daniel Drake 2017-03-31 18:01:14 UTC
Run "cat /sys/kernel/debug/hid/ID_of_ASUS_ROG_g752vt_keyboard/events"
Now for every key press you should get some output.

Press and release one of the unsupported hotkeys and note which lines of output correspond to that, and paste them here.
Comment 47 nnmware 2017-03-31 18:19:48 UTC
Nothing.

Only show 'p' for Fn+F8(display)
^[[25~ for Fn+F10(mute)
^[[26~ for Fn+F11(volume down)

Strange then no output for Fn+F12(volume up), 'cause this work in X and really Volume UP

Maybe i need compile in kernel additional driver? Need .config and lsmod?
Comment 48 Pedro 2017-04-01 22:23:26 UTC
Hello Daniel Drake, 
Is it possible to apply a PATCH to kernel 4.10 that will be used in Ubuntu 17.04 or to kernel 4.8 used by Ubuntu LTS so I could have keyboard in ASUS G752VS?

Probably, the question was nonsense. At least is presumptuous, I admit. Although those versions will have working nvidia drivers sooner or they have already, something I'm very interested in using. 

Note: I haven't built kernel 4.12, ergo don't know if anything works by now. My apologies.
Comment 49 aljosa 2017-04-08 08:09:48 UTC
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1653456
Daniel Drake wrote:
"My colleague Carlo Caione is in the process of finalizing a driver for the keyboard backlight found on these laptops for inclusion in a future Linux release, https://patchwork.kernel.org/patch/9666771/ - testing welcome!"