Bug 98931

Summary: Asus UX305FA asus-nb-wmi brightness control and wireless keys not working
Product: Drivers Reporter: Tasev Nikola (tasev.stefanoska)
Component: Platform_x86Assignee: drivers_platform_x86 (drivers_platform_x86)
Status: RESOLVED CODE_FIX    
Severity: normal CC: aaron.lu, adikurthy, alex_y_xu, andrei.daniel.stefan, arnaud.malfoy, bugs+kernel, christof.schulze, corentin.chary, crippyua, dick, doa379, dvhart, email, ijanos, ivangundampc, jakob_koempe, james, jelmer, jprvita, juliolokooo, marcos.souza.org, mikhailm1, mmokrejs, nicolas, rimf, sileht, spameater21, svetlin.mladenov, tadeas.bilka
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.1-rc4 Tree: Mainline
Regression: No
Attachments: acpidump
dsdt.dsl
ssdt6.dsl
dmidecode
signature.asc
patch for intel_opregion.c
attachment-19359-0.html
patch1
patch2
patch3
attachment-20395-0.html

Description Tasev Nikola 2015-05-25 17:57:00 UTC
Created attachment 177801 [details]
acpidump

Hi,

I have a new Asus UX305FA notebook.

Everything works fine exept :

1. The fn+f2 key for the wireless bluetooth on off
  (solved for now with a simple rfkill unblock all command)

2. The fn+f5 and fn+f6 brightness control keys

I checked with acpi_listen and xev, no event is generated pressing those keys.
Adding acpi_osi="!Windows 2012" in grub doesn't change anything.

Luckily, i discover with xev that the fn+f3 and fn+f4 generate events for
the brightness control so i mapped those in the KDE global shorcuts for now.
The f3 and f4 keys have no symbol on the keyboard and should be
unused with the fn+ combination. 
The symbols for brightness control are on the f5 and f6 keys.


Attached are acpidump, dmidecode, dsdt.dsl and the ssdt6 tables.

I disassembled the dsdt with: iasl -e *.dat -d dsdt.dat 
And the ssdt6 with: iasl -e *.dat -d ssdt6.dat

I discover that the brightness control method are in the ssdt6 table
and not in the dsdt. The PNPOC14 (WMI) is in the dsdt.
I also noticed this in the ssdt6 table at line 961 :

       Name (AEXL, Package (0x04)
        {
            "svchost.exe", 
            "dllhost.exe", 
            "smss.exe", 
            "WinSAT.exe"
        })
        
I dont now if that mather for my problems (i'am an average user).        


If you need more info, just ask me.
Comment 1 Tasev Nikola 2015-05-25 17:58:28 UTC
Created attachment 177811 [details]
dsdt.dsl
Comment 2 Tasev Nikola 2015-05-25 17:59:01 UTC
Created attachment 177821 [details]
ssdt6.dsl
Comment 3 Tasev Nikola 2015-05-25 17:59:46 UTC
Created attachment 177831 [details]
dmidecode
Comment 4 Aaron Lu 2015-06-02 07:51:44 UTC
Please use evtest to find out which input device output the brightness event. Hopefully it is the keyboard, then we should be able to remap those keys I think.
Comment 5 Tasev Nikola 2015-06-02 09:40:04 UTC
(In reply to Aaron Lu from comment #4)
> Please use evtest to find out which input device output the brightness
> event. Hopefully it is the keyboard, then we should be able to remap those
> keys I think.

I just tried evtest.

sudo evtest gives :

Available devices:
/dev/input/event0:      Lid Switch
/dev/input/event1:      Sleep Button
/dev/input/event2:      Power Button
/dev/input/event3:      AT Translated Set 2 keyboard
/dev/input/event4:      Video Bus
/dev/input/event5:      ETPS/2 Elantech Touchpad
/dev/input/event6:      HDA Digital PCBeep
/dev/input/event7:      HDA Intel PCH Mic
/dev/input/event8:      HDA Intel PCH Headphone
/dev/input/event9:      HDA Intel HDMI HDMI/DP,pcm=3
/dev/input/event10:     HDA Intel HDMI HDMI/DP,pcm=7
/dev/input/event11:     HDA Intel HDMI HDMI/DP,pcm=8
/dev/input/event12:     USB2.0 UVC HD Webcam
/dev/input/event13:     Asus WMI hotkeys

I tried event3 keyboard and event13 WMI 

The brightness, rfkill and wlan keys are in the event13 WMI 

Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0
Input device name: "Asus WMI hotkeys"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 140 (KEY_CALC)
    Event code 148 (KEY_PROG1)
    Event code 150 (KEY_WWW)
    Event code 163 (KEY_NEXTSONG)
    Event code 164 (KEY_PLAYPAUSE)
    Event code 165 (KEY_PREVIOUSSONG)
    Event code 166 (KEY_STOPCD)
    Event code 169 (KEY_PHONE)
    Event code 185 (KEY_F15)
    Event code 191 (KEY_F21)
    Event code 212 (KEY_CAMERA)
    Event code 215 (KEY_EMAIL)
    Event code 224 (KEY_BRIGHTNESSDOWN)
    Event code 225 (KEY_BRIGHTNESSUP)
    Event code 226 (KEY_MEDIA)
    Event code 227 (KEY_SWITCHVIDEOMODE)
    Event code 229 (KEY_KBDILLUMDOWN)
    Event code 230 (KEY_KBDILLUMUP)
    Event code 237 (KEY_BLUETOOTH)
    Event code 238 (KEY_WLAN)
    Event code 240 (KEY_UNKNOWN)
    Event code 245 (KEY_DISPLAY_OFF)
    Event code 247 (KEY_RFKILL)
    Event code 431 (KEY_DISPLAYTOGGLE)
    Event code 531 (KEY_TOUCHPAD_ON)

But pressing fn+f2 fn+f5 fn+f6 does nothing, no events are 
reported by evtest.

Pressing fn+f3 fn+f4 (wrongly reported brightness keys) gives :

Testing ... (interrupt to exit)
Event: time 1433237881.875708, type 4 (EV_MSC), code 4 (MSC_SCAN), value c4
Event: time 1433237881.875708, type 1 (EV_KEY), code 230 (KEY_KBDILLUMUP), value 1
Event: time 1433237881.875708, -------------- SYN_REPORT ------------
Event: time 1433237881.875732, type 1 (EV_KEY), code 230 (KEY_KBDILLUMUP), value 0
Event: time 1433237881.875732, -------------- SYN_REPORT ------------
Event: time 1433237883.086938, type 4 (EV_MSC), code 4 (MSC_SCAN), value c5
Event: time 1433237883.086938, type 1 (EV_KEY), code 229 (KEY_KBDILLUMDOWN), value 1
Event: time 1433237883.086938, -------------- SYN_REPORT ------------
Event: time 1433237883.086961, type 1 (EV_KEY), code 229 (KEY_KBDILLUMDOWN), value 0
Event: time 1433237883.086961, -------------- SYN_REPORT ------------
Comment 6 Tasev Nikola 2015-06-02 10:08:49 UTC
Hi,

If i understand the asus-nb-wmi code the acpi method
used for the fn+f2 rfkill wlan key is WAPF 
"WAPF defines the behavior of the Fn+Fx wlan key".

Looking into the dsdt for WAPF :

        Method (_Q0B, 0, NotSerialized)  // _Qxx: EC Query
        {
           If (LGreaterEqual (MSOS (), OSW8))
            {
                Notify (ASHS, 0x88)
            }
            Else
            {
                If (And (^^^^ATKD.WAPF, 0x04))
                {
                    If (ATKP)
                    {
                        ^^^^ATKD.IANE (0x88)
                    }
                }

So probably Windows 8 use a new ASHS method for the wlan key.

In the dsdt ASHS :

    Scope (_SB)
    {
        Device (ASHS)
        {
            Name (_HID, "ATK4002")  // _HID: Hardware ID
            Method (HSWC, 1, Serialized)
Comment 7 Aaron Lu 2015-06-03 02:07:30 UTC
Add the driver maintainer: Corentin Chary.
Comment 8 Aaron Lu 2015-06-03 02:08:04 UTC
Move to platform_x86.
Comment 9 doa379 2015-08-30 22:58:05 UTC
Any progress with this?

Kernel 4.2.0 is released but no patches have been applied.
Comment 10 Corentin Chary 2015-08-31 10:00:46 UTC
As I do not own or have access to newer Asus laptops I'm unlikely to send a patch for this. These days brightness control and wlan keys tend to be handled directly in hardware or via ACPI/WMI and not propagated to userspace.

In this case, the wifi key seems to end up sending a notification to ASHS, probably ASus Hardware Switch (ATK4002 seems to be linked to Asus Radio Control Driver). This may help: https://github.com/endlessm/linux/commit/06341ab17e0b0ee9aa9d02108f5995e99045eb4d
Comment 11 doa379 2015-08-31 11:01:26 UTC
(In reply to Corentin Chary from comment #10)
> As I do not own or have access to newer Asus laptops I'm unlikely to send a
> patch for this. These days brightness control and wlan keys tend to be
> handled directly in hardware or via ACPI/WMI and not propagated to userspace.
> 
> In this case, the wifi key seems to end up sending a notification to ASHS,
> probably ASus Hardware Switch (ATK4002 seems to be linked to Asus Radio
> Control Driver). This may help:
> https://github.com/endlessm/linux/commit/
> 06341ab17e0b0ee9aa9d02108f5995e99045eb4d

Thanks Corentin. Yes this appears to be the correct module for the Airplane switch. The device is ASHS and its ACPI _HID is ATK4002.

What about the brightness control switches fn F5 and fn F6?
Comment 12 Tasev Nikola 2015-08-31 11:55:53 UTC
Just compiled the driver, it works on my UX305FA.
Comment 13 Tasev Nikola 2015-08-31 12:27:32 UTC
For the brightness control switches fn F5 and fn F6, in the
ssdt6.dsl acpi table is a device DPLY with _HID INT3406 :

    Scope (\_SB.PCI0)
    {
        Device (DPLY)
        {
            Name (_HID, EisaId ("INT3406"))  // _HID: Hardware ID
            Name (_UID, "DPLY")  // _UID: Unique ID
            Name (BDLI, 0x20)
            Name (BDHI, 0x52)

There are also the _BCL _BCM _BQC and _DCS method inside this device.
Comment 14 Aaron Lu 2015-09-01 01:51:51 UTC
(In reply to Tasev Nikola from comment #13)
> For the brightness control switches fn F5 and fn F6, in the
> ssdt6.dsl acpi table is a device DPLY with _HID INT3406 :
> 
>     Scope (\_SB.PCI0)
>     {
>         Device (DPLY)
>         {
>             Name (_HID, EisaId ("INT3406"))  // _HID: Hardware ID
>             Name (_UID, "DPLY")  // _UID: Unique ID
>             Name (BDLI, 0x20)
>             Name (BDHI, 0x52)
> 
> There are also the _BCL _BCM _BQC and _DCS method inside this device.

This device(HID 3406) is not meant for backlight control, it's for thermal purpose(though it achieves the thermal purpose by doing backlight level change).

And the backlight problem here is about no event, not the control interface I suppose?
Comment 15 Tasev Nikola 2015-09-01 08:29:06 UTC
(In reply to Aaron Lu from comment #14)
> (In reply to Tasev Nikola from comment #13)
> > For the brightness control switches fn F5 and fn F6, in the
> > ssdt6.dsl acpi table is a device DPLY with _HID INT3406 :
> > 
> >     Scope (\_SB.PCI0)
> >     {
> >         Device (DPLY)
> >         {
> >             Name (_HID, EisaId ("INT3406"))  // _HID: Hardware ID
> >             Name (_UID, "DPLY")  // _UID: Unique ID
> >             Name (BDLI, 0x20)
> >             Name (BDHI, 0x52)
> > 
> > There are also the _BCL _BCM _BQC and _DCS method inside this device.
> 
> This device(HID 3406) is not meant for backlight control, it's for thermal
> purpose(though it achieves the thermal purpose by doing backlight level
> change).
> 
> And the backlight problem here is about no event, not the control interface
> I suppose?

Yes, no event are generated pressing fn F5 and fn F6 key's.
Comment 16 Corentin Chary 2015-09-06 08:36:46 UTC
On which keys are Brightness up/down and wifi up/down ?
Comment 17 doa379 2015-09-06 08:40:46 UTC
Wifi Up/down fn F2
Brightness down is fn F5
Brightness up is fn F6
Comment 18 Corentin Chary 2015-09-06 08:45:11 UTC
Ok, that doesn't seem to help us guess which method is called when you press these buttons.

Could you use https://wiki.ubuntu.com/Kernel/Reference/ACPITricksAndTips#How_to_Debug to trace what is happening in the ACPI subsystem when you press these buttons ? This might help us guess where the notification gets lost.
Comment 19 doa379 2015-09-06 09:43:32 UTC
I'm not getting any clear responses when I press the fn F5/F6 keys.
There is a response when the fn key is pressed on its own.
Comment 20 doa379 2015-09-06 09:47:25 UTC
The fn F5 key combination was repeatedly pressed and released over a duration of 10 seconds. This is /var/log/messages:


Sep  6 10:44:13 ux305 kernel: [ 2694.839727]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [LNot], 1 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.839731]    exdump-0650 ex_dump_operand       : ffff8800bc583080 Integer 0000000000000000
Sep  6 10:44:13 ux305 kernel: [ 2694.839734]    exdump-0918 ex_dump_operands      : **** End operand dump for [LNot]
Sep  6 10:44:13 ux305 kernel: [ 2694.839751]  exresnte-0100 ex_resolve_node_to_val: Entry=ffff8802158bcb58 SourceDesc=ffff8802158edc98 [IndexField]
Sep  6 10:44:13 ux305 kernel: [ 2694.839754]  exresnte-0208 ex_resolve_node_to_val: FieldRead Node=ffff8802158bcb58 SourceDesc=ffff8802158edc98 Type=13
Sep  6 10:44:13 ux305 kernel: [ 2694.839765]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583080
Sep  6 10:44:13 ux305 kernel: [ 2694.839771]   exresop-0162 ex_resolve_operands   : Opcode 70 [Store] RequiredOperandTypes=000002CF
Sep  6 10:44:13 ux305 kernel: [ 2694.839774]   exresop-0249 ex_resolve_operands   : Operand is a Reference, Class [Local] 00
Sep  6 10:44:13 ux305 kernel: [ 2694.839778]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583080
Sep  6 10:44:13 ux305 kernel: [ 2694.839781]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [Store], 2 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.839784]    exdump-0650 ex_dump_operand       : ffff8800bc583080 Integer 000000000000000A
Sep  6 10:44:13 ux305 kernel: [ 2694.839788]    exdump-0650 ex_dump_operand       : ffff8800bc583230 Reference: [Local] 0
Sep  6 10:44:13 ux305 kernel: [ 2694.839792]    exdump-0918 ex_dump_operands      : **** End operand dump for [Store]
Sep  6 10:44:13 ux305 kernel: [ 2694.839810]  exresnte-0100 ex_resolve_node_to_val: Entry=ffff880215907e78 SourceDesc=ffff88021590e230 [RegionField]
Sep  6 10:44:13 ux305 kernel: [ 2694.839813]  exresnte-0208 ex_resolve_node_to_val: FieldRead Node=ffff880215907e78 SourceDesc=ffff88021590e230 Type=11
Sep  6 10:44:13 ux305 kernel: [ 2694.839822]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.839827]   exresop-0162 ex_resolve_operands   : Opcode 93 [LEqual] RequiredOperandTypes=0000014A
Sep  6 10:44:13 ux305 kernel: [ 2694.839830]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b158
Sep  6 10:44:13 ux305 kernel: [ 2694.839833]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.839836]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [LEqual], 2 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.839840]    exdump-0650 ex_dump_operand       : ffff8800bc583230 Integer 00000000161E8086
Sep  6 10:44:13 ux305 kernel: [ 2694.839843]    exdump-0650 ex_dump_operand       : ffff88021190b158 Integer 00000000FFFFFFFF
Sep  6 10:44:13 ux305 kernel: [ 2694.839847]    exdump-0918 ex_dump_operands      : **** End operand dump for [LEqual]
Sep  6 10:44:13 ux305 kernel: [ 2694.839856]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b1e8
Sep  6 10:44:13 ux305 kernel: [ 2694.839898]  exresnte-0100 ex_resolve_node_to_val: Entry=ffff880215906220 SourceDesc=ffff880215911ce0 [RegionField]
Sep  6 10:44:13 ux305 kernel: [ 2694.839902]  exresnte-0208 ex_resolve_node_to_val: FieldRead Node=ffff880215906220 SourceDesc=ffff880215911ce0 Type=11
Sep  6 10:44:13 ux305 kernel: [ 2694.839907]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583080
Sep  6 10:44:13 ux305 kernel: [ 2694.839913]   exresop-0162 ex_resolve_operands   : Opcode 93 [LEqual] RequiredOperandTypes=0000014A
Sep  6 10:44:13 ux305 kernel: [ 2694.839916]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.839919]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583080
Sep  6 10:44:13 ux305 kernel: [ 2694.839922]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [LEqual], 2 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.839925]    exdump-0650 ex_dump_operand       : ffff8800bc583080 Integer 0000000000000002
Sep  6 10:44:13 ux305 kernel: [ 2694.839929]    exdump-0650 ex_dump_operand       : ffff8800bc583230 Integer 0000000000000000
Sep  6 10:44:13 ux305 kernel: [ 2694.839933]    exdump-0918 ex_dump_operands      : **** End operand dump for [LEqual]
Sep  6 10:44:13 ux305 kernel: [ 2694.839968]  exresnte-0100 ex_resolve_node_to_val: Entry=ffff8802159061d0 SourceDesc=ffff880215911c50 [RegionField]
Sep  6 10:44:13 ux305 kernel: [ 2694.839972]  exresnte-0208 ex_resolve_node_to_val: FieldRead Node=ffff8802159061d0 SourceDesc=ffff880215911c50 Type=11
Sep  6 10:44:13 ux305 kernel: [ 2694.839977]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583080
Sep  6 10:44:13 ux305 kernel: [ 2694.839982]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583080
Sep  6 10:44:13 ux305 kernel: [ 2694.839993]   exresop-0162 ex_resolve_operands   : Opcode 7B [And] RequiredOperandTypes=000018CF
Sep  6 10:44:13 ux305 kernel: [ 2694.839996]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.839999]   exresop-0249 ex_resolve_operands   : Operand is a Reference, Class [Argument] 01
Sep  6 10:44:13 ux305 kernel: [ 2694.840003]  exresolv-0175 ex_resolve_object_to_v: [Arg/Local 0] ValueObj is ffff8800bc583080
Sep  6 10:44:13 ux305 kernel: [ 2694.840007]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583080
Sep  6 10:44:13 ux305 kernel: [ 2694.840010]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [And], 3 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.840013]    exdump-0650 ex_dump_operand       : ffff8800bc583080 Integer 0000000000000400
Sep  6 10:44:13 ux305 kernel: [ 2694.840017]    exdump-0650 ex_dump_operand       : ffff8800bc583230 Integer 0000000000000F0F
Sep  6 10:44:13 ux305 kernel: [ 2694.840020]    exdump-0650 ex_dump_operand       : ffff88021190b158 Integer 0000000000000000
Sep  6 10:44:13 ux305 kernel: [ 2694.840024]    exdump-0918 ex_dump_operands      : **** End operand dump for [And]
Sep  6 10:44:13 ux305 kernel: [ 2694.840031]   exresop-0162 ex_resolve_operands   : Opcode 70 [Store] RequiredOperandTypes=000002CF
Sep  6 10:44:13 ux305 kernel: [ 2694.840035]   exresop-0249 ex_resolve_operands   : Operand is a Reference, Class [Local] 00
Sep  6 10:44:13 ux305 kernel: [ 2694.840038]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840041]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [Store], 2 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.840044]    exdump-0650 ex_dump_operand       : ffff88021190b038 Integer 0000000000000400
Sep  6 10:44:13 ux305 kernel: [ 2694.840048]    exdump-0650 ex_dump_operand       : ffff88021190b158 Reference: [Local] 0
Sep  6 10:44:13 ux305 kernel: [ 2694.840052]    exdump-0918 ex_dump_operands      : **** End operand dump for [Store]
Sep  6 10:44:13 ux305 kernel: [ 2694.840061]   exresop-0162 ex_resolve_operands   : Opcode 93 [LEqual] RequiredOperandTypes=0000014A
Sep  6 10:44:13 ux305 kernel: [ 2694.840064]   exresop-0249 ex_resolve_operands   : Operand is a Reference, Class [Local] 00
Sep  6 10:44:13 ux305 kernel: [ 2694.840067]  exresolv-0175 ex_resolve_object_to_v: [Arg/Local 0] ValueObj is ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840071]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840074]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff880214518080
Sep  6 10:44:13 ux305 kernel: [ 2694.840076]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [LEqual], 2 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.840080]    exdump-0650 ex_dump_operand       : ffff880214518080 Integer 0000000000000000
Sep  6 10:44:13 ux305 kernel: [ 2694.840083]    exdump-0650 ex_dump_operand       : ffff8800bc583230 Integer 0000000000000400
Sep  6 10:44:13 ux305 kernel: [ 2694.840087]    exdump-0918 ex_dump_operands      : **** End operand dump for [LEqual]
Sep  6 10:44:13 ux305 kernel: [ 2694.840096]  exresnte-0100 ex_resolve_node_to_val: Entry=ffff88021590b8d8 SourceDesc=ffff8802159121e8 [RegionField]
Sep  6 10:44:13 ux305 kernel: [ 2694.840100]  exresnte-0208 ex_resolve_node_to_val: FieldRead Node=ffff88021590b8d8 SourceDesc=ffff8802159121e8 Type=11
Sep  6 10:44:13 ux305 kernel: [ 2694.840105]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840110]   exresop-0162 ex_resolve_operands   : Opcode 93 [LEqual] RequiredOperandTypes=0000014A
Sep  6 10:44:13 ux305 kernel: [ 2694.840114]   exresop-0249 ex_resolve_operands   : Operand is a Reference, Class [Local] 00
Sep  6 10:44:13 ux305 kernel: [ 2694.840117]  exresolv-0175 ex_resolve_object_to_v: [Arg/Local 0] ValueObj is ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840120]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840123]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840126]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [LEqual], 2 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.840129]    exdump-0650 ex_dump_operand       : ffff88021190b038 Integer 0000000000000100
Sep  6 10:44:13 ux305 kernel: [ 2694.840133]    exdump-0650 ex_dump_operand       : ffff8800bc583230 Integer 0000000000000400
Sep  6 10:44:13 ux305 kernel: [ 2694.840137]    exdump-0918 ex_dump_operands      : **** End operand dump for [LEqual]
Sep  6 10:44:13 ux305 kernel: [ 2694.840145]  exresnte-0100 ex_resolve_node_to_val: Entry=ffff88021590b8b0 SourceDesc=ffff8802159121a0 [RegionField]
Sep  6 10:44:13 ux305 kernel: [ 2694.840148]  exresnte-0208 ex_resolve_node_to_val: FieldRead Node=ffff88021590b8b0 SourceDesc=ffff8802159121a0 Type=11
Sep  6 10:44:13 ux305 kernel: [ 2694.840153]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840158]   exresop-0162 ex_resolve_operands   : Opcode 93 [LEqual] RequiredOperandTypes=0000014A
Sep  6 10:44:13 ux305 kernel: [ 2694.840161]   exresop-0249 ex_resolve_operands   : Operand is a Reference, Class [Local] 00
Sep  6 10:44:13 ux305 kernel: [ 2694.840165]  exresolv-0175 ex_resolve_object_to_v: [Arg/Local 0] ValueObj is ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840168]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840171]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840174]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [LEqual], 2 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.840177]    exdump-0650 ex_dump_operand       : ffff88021190b038 Integer 0000000000000002
Sep  6 10:44:13 ux305 kernel: [ 2694.840181]    exdump-0650 ex_dump_operand       : ffff8800bc583230 Integer 0000000000000400
Sep  6 10:44:13 ux305 kernel: [ 2694.840184]    exdump-0918 ex_dump_operands      : **** End operand dump for [LEqual]
Sep  6 10:44:13 ux305 kernel: [ 2694.840192]  exresnte-0100 ex_resolve_node_to_val: Entry=ffff88021590b888 SourceDesc=ffff880215912158 [RegionField]
Sep  6 10:44:13 ux305 kernel: [ 2694.840196]  exresnte-0208 ex_resolve_node_to_val: FieldRead Node=ffff88021590b888 SourceDesc=ffff880215912158 Type=11
Sep  6 10:44:13 ux305 kernel: [ 2694.840201]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840206]   exresop-0162 ex_resolve_operands   : Opcode 93 [LEqual] RequiredOperandTypes=0000014A
Sep  6 10:44:13 ux305 kernel: [ 2694.840209]   exresop-0249 ex_resolve_operands   : Operand is a Reference, Class [Local] 00
Sep  6 10:44:13 ux305 kernel: [ 2694.840212]  exresolv-0175 ex_resolve_object_to_v: [Arg/Local 0] ValueObj is ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840216]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840219]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840222]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [LEqual], 2 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.840225]    exdump-0650 ex_dump_operand       : ffff88021190b038 Integer 0000000000000300
Sep  6 10:44:13 ux305 kernel: [ 2694.840228]    exdump-0650 ex_dump_operand       : ffff8800bc583230 Integer 0000000000000400
Sep  6 10:44:13 ux305 kernel: [ 2694.840232]    exdump-0918 ex_dump_operands      : **** End operand dump for [LEqual]
Sep  6 10:44:13 ux305 kernel: [ 2694.840240]  exresnte-0100 ex_resolve_node_to_val: Entry=ffff88021590b860 SourceDesc=ffff880215912110 [RegionField]
Sep  6 10:44:13 ux305 kernel: [ 2694.840243]  exresnte-0208 ex_resolve_node_to_val: FieldRead Node=ffff88021590b860 SourceDesc=ffff880215912110 Type=11
Sep  6 10:44:13 ux305 kernel: [ 2694.840248]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840253]   exresop-0162 ex_resolve_operands   : Opcode 93 [LEqual] RequiredOperandTypes=0000014A
Sep  6 10:44:13 ux305 kernel: [ 2694.840257]   exresop-0249 ex_resolve_operands   : Operand is a Reference, Class [Local] 00
Sep  6 10:44:13 ux305 kernel: [ 2694.840260]  exresolv-0175 ex_resolve_object_to_v: [Arg/Local 0] ValueObj is ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840263]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840266]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840269]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [LEqual], 2 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.840272]    exdump-0650 ex_dump_operand       : ffff88021190b038 Integer 0000000000000301
Sep  6 10:44:13 ux305 kernel: [ 2694.840276]    exdump-0650 ex_dump_operand       : ffff8800bc583230 Integer 0000000000000400
Sep  6 10:44:13 ux305 kernel: [ 2694.840279]    exdump-0918 ex_dump_operands      : **** End operand dump for [LEqual]
Sep  6 10:44:13 ux305 kernel: [ 2694.840287]  exresnte-0100 ex_resolve_node_to_val: Entry=ffff88021590b838 SourceDesc=ffff8802159120c8 [RegionField]
Sep  6 10:44:13 ux305 kernel: [ 2694.840291]  exresnte-0208 ex_resolve_node_to_val: FieldRead Node=ffff88021590b838 SourceDesc=ffff8802159120c8 Type=11
Sep  6 10:44:13 ux305 kernel: [ 2694.840296]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840301]   exresop-0162 ex_resolve_operands   : Opcode 93 [LEqual] RequiredOperandTypes=0000014A
Sep  6 10:44:13 ux305 kernel: [ 2694.840304]   exresop-0249 ex_resolve_operands   : Operand is a Reference, Class [Local] 00
Sep  6 10:44:13 ux305 kernel: [ 2694.840307]  exresolv-0175 ex_resolve_object_to_v: [Arg/Local 0] ValueObj is ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840310]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840313]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840316]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [LEqual], 2 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.840319]    exdump-0650 ex_dump_operand       : ffff88021190b038 Integer 0000000000000302
Sep  6 10:44:13 ux305 kernel: [ 2694.840323]    exdump-0650 ex_dump_operand       : ffff8800bc583230 Integer 0000000000000400
Sep  6 10:44:13 ux305 kernel: [ 2694.840327]    exdump-0918 ex_dump_operands      : **** End operand dump for [LEqual]
Sep  6 10:44:13 ux305 kernel: [ 2694.840335]  exresnte-0100 ex_resolve_node_to_val: Entry=ffff88021590b810 SourceDesc=ffff880215912080 [RegionField]
Sep  6 10:44:13 ux305 kernel: [ 2694.840338]  exresnte-0208 ex_resolve_node_to_val: FieldRead Node=ffff88021590b810 SourceDesc=ffff880215912080 Type=11
Sep  6 10:44:13 ux305 kernel: [ 2694.840343]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840348]   exresop-0162 ex_resolve_operands   : Opcode 93 [LEqual] RequiredOperandTypes=0000014A
Sep  6 10:44:13 ux305 kernel: [ 2694.840351]   exresop-0249 ex_resolve_operands   : Operand is a Reference, Class [Local] 00
Sep  6 10:44:13 ux305 kernel: [ 2694.840354]  exresolv-0175 ex_resolve_object_to_v: [Arg/Local 0] ValueObj is ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840358]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840361]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840363]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [LEqual], 2 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.840367]    exdump-0650 ex_dump_operand       : ffff88021190b038 Integer 0000000000000303
Sep  6 10:44:13 ux305 kernel: [ 2694.840370]    exdump-0650 ex_dump_operand       : ffff8800bc583230 Integer 0000000000000400
Sep  6 10:44:13 ux305 kernel: [ 2694.840374]    exdump-0918 ex_dump_operands      : **** End operand dump for [LEqual]
Sep  6 10:44:13 ux305 kernel: [ 2694.840382]  exresnte-0100 ex_resolve_node_to_val: Entry=ffff88021590b7e8 SourceDesc=ffff880215912038 [RegionField]
Sep  6 10:44:13 ux305 kernel: [ 2694.840385]  exresnte-0208 ex_resolve_node_to_val: FieldRead Node=ffff88021590b7e8 SourceDesc=ffff880215912038 Type=11
Sep  6 10:44:13 ux305 kernel: [ 2694.840390]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840395]   exresop-0162 ex_resolve_operands   : Opcode 93 [LEqual] RequiredOperandTypes=0000014A
Sep  6 10:44:13 ux305 kernel: [ 2694.840399]   exresop-0249 ex_resolve_operands   : Operand is a Reference, Class [Local] 00
Sep  6 10:44:13 ux305 kernel: [ 2694.840402]  exresolv-0175 ex_resolve_object_to_v: [Arg/Local 0] ValueObj is ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840405]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840408]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840411]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [LEqual], 2 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.840414]    exdump-0650 ex_dump_operand       : ffff88021190b038 Integer 0000000000000304
Sep  6 10:44:13 ux305 kernel: [ 2694.840418]    exdump-0650 ex_dump_operand       : ffff8800bc583230 Integer 0000000000000400
Sep  6 10:44:13 ux305 kernel: [ 2694.840421]    exdump-0918 ex_dump_operands      : **** End operand dump for [LEqual]
Sep  6 10:44:13 ux305 kernel: [ 2694.840429]  exresnte-0100 ex_resolve_node_to_val: Entry=ffff88021590b7c0 SourceDesc=ffff880215913fb0 [RegionField]
Sep  6 10:44:13 ux305 kernel: [ 2694.840433]  exresnte-0208 ex_resolve_node_to_val: FieldRead Node=ffff88021590b7c0 SourceDesc=ffff880215913fb0 Type=11
Sep  6 10:44:13 ux305 kernel: [ 2694.840438]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840443]   exresop-0162 ex_resolve_operands   : Opcode 93 [LEqual] RequiredOperandTypes=0000014A
Sep  6 10:44:13 ux305 kernel: [ 2694.840446]   exresop-0249 ex_resolve_operands   : Operand is a Reference, Class [Local] 00
Sep  6 10:44:13 ux305 kernel: [ 2694.840449]  exresolv-0175 ex_resolve_object_to_v: [Arg/Local 0] ValueObj is ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840453]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840456]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b038
Sep  6 10:44:13 ux305 kernel: [ 2694.840458]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [LEqual], 2 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.840462]    exdump-0650 ex_dump_operand       : ffff88021190b038 Integer 0000000000000305
Sep  6 10:44:13 ux305 kernel: [ 2694.840465]    exdump-0650 ex_dump_operand       : ffff8800bc583230 Integer 0000000000000400
Sep  6 10:44:13 ux305 kernel: [ 2694.840469]    exdump-0918 ex_dump_operands      : **** End operand dump for [LEqual]
Sep  6 10:44:13 ux305 kernel: [ 2694.840475]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b158
Sep  6 10:44:13 ux305 kernel: [ 2694.840485]   exresop-0162 ex_resolve_operands   : Opcode 93 [LEqual] RequiredOperandTypes=0000014A
Sep  6 10:44:13 ux305 kernel: [ 2694.840489]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583080
Sep  6 10:44:13 ux305 kernel: [ 2694.840492]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b158
Sep  6 10:44:13 ux305 kernel: [ 2694.840495]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [LEqual], 2 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.840498]    exdump-0650 ex_dump_operand       : ffff88021190b158 Integer 000000000000001D
Sep  6 10:44:13 ux305 kernel: [ 2694.840502]    exdump-0650 ex_dump_operand       : ffff8800bc583080 Integer 000000000000001F
Sep  6 10:44:13 ux305 kernel: [ 2694.840505]    exdump-0918 ex_dump_operands      : **** End operand dump for [LEqual]
Sep  6 10:44:13 ux305 kernel: [ 2694.840510]   exresop-0162 ex_resolve_operands   : Opcode 92 [LNot] RequiredOperandTypes=00000006
Sep  6 10:44:13 ux305 kernel: [ 2694.840514]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583230
Sep  6 10:44:13 ux305 kernel: [ 2694.840516]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [LNot], 1 operands
Sep  6 10:44:13 ux305 kernel: [ 2694.840520]    exdump-0650 ex_dump_operand       : ffff8800bc583230 Integer 0000000000000000
Sep  6 10:44:13 ux305 kernel: [ 2694.840523]    exdump-0918 ex_dump_operands      : **** End operand dump for [LNot]
Sep  6 10:44:13 ux305 kernel: [ 2694.840530]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff88021190b1e8
Sep  6 10:44:13 ux305 kernel: [ 2694.840536]    exdump-0650 ex_dump_operand       : ffff88021190b1e8 Integer 0000000000000000
Sep  6 10:44:13 ux305 kernel: [ 2695.064410]  exresnte-0100 ex_resolve_node_to_val: Entry=ffff8802158c7568 SourceDesc=ffff8802158edf68 [Integer]
Sep  6 10:44:13 ux305 kernel: [ 2695.064421]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8802158edf68
Sep  6 10:44:13 ux305 kernel: [ 2695.064432]   exresop-0162 ex_resolve_operands   : Opcode 93 [LEqual] RequiredOperandTypes=0000014A
Sep  6 10:44:13 ux305 kernel: [ 2695.064437]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583038
Sep  6 10:44:13 ux305 kernel: [ 2695.064440]  exresolv-0118 ex_resolve_to_value   : Resolved object ffff8800bc583350
Sep  6 10:44:13 ux305 kernel: [ 2695.064443]    exdump-0903 ex_dump_operands      : **** Start operand dump for opcode [LEqual], 2 operands
Sep  6 10:44:13 ux305 kernel: [ 2695.064447]    exdump-0650 ex_dump_operand       : ffff8800bc583350 Integer 0000000000000000
Sep  6 10:44:13 ux305 kernel: [ 2695.064452]    exdump-0650 ex_dump_operand       : ffff8800bc583038 Integer 0000000000000001
Sep  6 10:44:13 ux305 kernel: [ 2695.064456]    exdump-0918 ex_dump_operands      : **** End operand dump for [LEqual]
Sep  6 10:44:13 ux305 kernel: [ 2695.064468]    exdump-0650 ex_dump_operand       : ffff8800bc583230 Integer 0000000000000000
Comment 21 doa379 2015-09-06 10:06:37 UTC
I'm not seeing any repeated log patterns being generated with repeated key presses of any of the function keys (including those which do work such as volume control.)
Comment 22 Tasev Nikola 2015-11-09 14:28:13 UTC
Hi,

It would be nice if the Asus Radio Control Driver (device ASHS _HID, "ATK4002") 
could be included in the next 4.4 kernel. The Airplane switch will working out 
of the box for end users without recompiling the driver each time.
If so , i own also a Asus UX31A laptop, but in the dsdt the device ASHS is 
_HID, "ATK4001" instead of _HID, "ATK4002" in the Asus UX305FA. 

I just add at line 105 in the Asus Radio Control Driver

static const struct acpi_device_id device_ids[] = {
	{"ATK4002", 0},
	{"ATK4001", 0},	
	{"", 0},
};

Now the Airplane switch (fn+f2) work in both Asus UX305FA an UX31A laptops.
Comment 23 doa379 2015-11-09 19:14:19 UTC
Th radio control is the least of the issues. I am curious how people are adjusting the brightness?

Fn+C works as a redundant acpi control key. What I've done is routed the display brightness functions to this one key instead.
Comment 24 christof.schulze 2015-11-09 22:19:38 UTC
Created attachment 192621 [details]
signature.asc

On Monday 09 November 2015 19:14:19 you wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=98931

> --- Comment #23 from doa379@gmail.com ---
> Th radio control is the least of the issues. I am curious how people are
> adjusting the brightness?

> Fn+C works as a redundant acpi control key. What I've done is routed the
> display brightness functions to this one key instead.
I use Fn+F3 / Fn+F2 in combination with xbindkeys and a script writing
values to /sys/class/backlight/intel_backlight/brightness

This does not use the keys with the correct print on them but it is a
suitable workaround. Having radio-control would be really nice.

Christof
Comment 25 Tasev Nikola 2015-11-10 17:29:09 UTC
You can use the keyboard global shortcuts settings to change the default key combination of the backlight control. That's what I did in KDE (Fn+F3 / Fn+F2), maybe something similar is possible on GNOME or other desktop... 

Alternatively, you can use in a terminal as root:

sudo -s 
echo 200 > /sys/class/backlight/intel_backlight/brightness

with any value between 0 and 937
Comment 26 Tasev Nikola 2015-11-10 17:30:56 UTC
Sorry, the right combination keys are Fn+F3 and Fn+F4
Comment 27 Darren Hart 2015-11-11 06:26:09 UTC
(In reply to Tasev Nikola from comment #22)
> Hi,
> 
> It would be nice if the Asus Radio Control Driver (device ASHS _HID,
> "ATK4002") 
> could be included in the next 4.4 kernel. The Airplane switch will working
> out 
> of the box for end users without recompiling the driver each time.
> If so , i own also a Asus UX31A laptop, but in the dsdt the device ASHS is 
> _HID, "ATK4001" instead of _HID, "ATK4002" in the Asus UX305FA. 
> 
> I just add at line 105 in the Asus Radio Control Driver
> 
> static const struct acpi_device_id device_ids[] = {
>       {"ATK4002", 0},
>       {"ATK4001", 0}, 
>       {"", 0},
> };
> 
> Now the Airplane switch (fn+f2) work in both Asus UX305FA an UX31A laptops.

Tasev, would you care to send a patch?
Comment 28 Tasev Nikola 2015-11-11 10:13:07 UTC
(In reply to Darren Hart from comment #27)
> (In reply to Tasev Nikola from comment #22)
> > Hi,
> > 
> > It would be nice if the Asus Radio Control Driver (device ASHS _HID,
> > "ATK4002") 
> > could be included in the next 4.4 kernel. The Airplane switch will working
> > out 
> > of the box for end users without recompiling the driver each time.
> > If so , i own also a Asus UX31A laptop, but in the dsdt the device ASHS is 
> > _HID, "ATK4001" instead of _HID, "ATK4002" in the Asus UX305FA. 
> > 
> > I just add at line 105 in the Asus Radio Control Driver
> > 
> > static const struct acpi_device_id device_ids[] = {
> >     {"ATK4002", 0},
> >     {"ATK4001", 0}, 
> >     {"", 0},
> > };
> > 
> > Now the Airplane switch (fn+f2) work in both Asus UX305FA an UX31A laptops.
> 
> Tasev, would you care to send a patch?

Hi,
I'm not a developer, i'm just a simple user. I've no idea how to make a patch.
Comment 29 Tasev Nikola 2015-11-15 14:40:13 UTC
(In reply to Darren Hart from comment #27)
> (In reply to Tasev Nikola from comment #22)
> > Hi,
> > 
> > It would be nice if the Asus Radio Control Driver (device ASHS _HID,
> > "ATK4002") 
> > could be included in the next 4.4 kernel. The Airplane switch will working
> > out 
> > of the box for end users without recompiling the driver each time.
> > If so , i own also a Asus UX31A laptop, but in the dsdt the device ASHS is 
> > _HID, "ATK4001" instead of _HID, "ATK4002" in the Asus UX305FA. 
> > 
> > I just add at line 105 in the Asus Radio Control Driver
> > 
> > static const struct acpi_device_id device_ids[] = {
> >     {"ATK4002", 0},
> >     {"ATK4001", 0}, 
> >     {"", 0},
> > };
> > 
> > Now the Airplane switch (fn+f2) work in both Asus UX305FA an UX31A laptops.
> 
> Tasev, would you care to send a patch?

The autor of the asus wireless driver is  João Paulo Rechi Vita <jprvita@endlessm.com> (see comment 10)
Comment 30 Tasev Nikola 2015-11-18 08:51:37 UTC
Hi

I found this:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1348890

comment 37 to 39

So is this bug related to xf86-video-intel driver ?
Comment 31 Tadeas Bilka 2015-11-19 17:06:49 UTC
Also affects Asus UX305LA, however the wireless button works. Only brightness keys do not work.
None of suggested solutions around worked.
Comment 32 Tasev Nikola 2015-11-20 19:41:08 UTC
Hi,

I finally found a working patch from Aaron Lu:
https://lkml.org/lkml/2014/2/11/1032

I just slightly modified it because de code in  
drivers/gpu/drm/i915/intel_opregion.c changed 

The modified patch is attached. 

Now the brightness keys (Fn+F5 Fn+F6) are working!

So if this patch and the asus radio control driver could be included in the next kernel it would be great.
Comment 33 Tasev Nikola 2015-11-20 19:42:03 UTC
Created attachment 195071 [details]
patch for intel_opregion.c
Comment 34 Tasev Nikola 2015-11-22 12:40:44 UTC
I was happy to fast.

After reading the bug report for Aaron Lu patch, if i 
understand well, this patch will never be accepted upstream.
That bug report is nearly 2 year's old and is still waiting
for a proper fix from the Intel DRM team.
2 year's seem's a bit long, i realy hope it will be fixed
soon.


For the Asus radio control driver even Asus have a separate
driver for Windows :

http://support.asus.com.cn/download.aspx?SLanguage=en&p=3&s=747&m=UX305FA&os=&hashedid=etGq0h7Ss3KxVMdw

You can find it under the wireless menu and is described as :

ASUS Wireless Radio Control (A driver to make you switch Airplane mode(Wireless) On/Off)

It's only 161 kB.
So it does nothing more than switching on/off the radio just like
the driver written by João Paulo Rechi Vita for Linux.
Comment 35 Aaron Lu 2015-11-23 02:33:12 UTC
FYI, the most recent talk of this problem is here:
http://www.spinics.net/lists/intel-gfx/msg79628.html
Comment 36 JamesC 2015-12-06 16:25:36 UTC
I have a ASUS Zenbook UX305FA

====
sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date
UX305FA.210
05/19/2015

uname-a
Linux machineName 4.2.0-19-generic #23-Ubuntu SMP Wed Nov 11 11:39:30 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 15.10
Release:	15.10
Codename:	wily
====


Confirm the wifi key fn-f2 doesn't work and the up/down brightness fn-f5 and fn-f6 don't work.

Really, it is only the latter that I'm concerned with. 

Can someone write a simple user explanation of how to get the brightness keys working or similar easy method of adjusting brightness through some other manner?

-James
Comment 37 Tasev Nikola 2015-12-09 20:23:08 UTC
(In reply to JamesC from comment #36)
> I have a ASUS Zenbook UX305FA
> 
> ====
> sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date
> UX305FA.210
> 05/19/2015
> 
> uname-a
> Linux machineName 4.2.0-19-generic #23-Ubuntu SMP Wed Nov 11 11:39:30 UTC
> 2015 x86_64 x86_64 x86_64 GNU/Linux
> 
> lsb_release -a
> No LSB modules are available.
> Distributor ID:       Ubuntu
> Description:  Ubuntu 15.10
> Release:      15.10
> Codename:     wily
> ====
> 
> 
> Confirm the wifi key fn-f2 doesn't work and the up/down brightness fn-f5 and
> fn-f6 don't work.
> 
> Really, it is only the latter that I'm concerned with. 
> 
> Can someone write a simple user explanation of how to get the brightness
> keys working or similar easy method of adjusting brightness through some
> other manner?
> 
> -James

Hi

See comment 25 - 26 above in this bug report.

tasev
Comment 38 João Paulo Rechi Vita 2015-12-09 21:55:56 UTC
Hello all,

I'm the one who wrote the patch linked here. It was part of my plans to send it upstream, but I got caught up with other tasks and couldn't find the time yet. But now things are calmer and I can get back to this.

There are two things that I would like to address first, tho:

1. Should this be a separate module (as the Windows driver), or should we somehow try to merge this code with the other asus platform drivers (asus-wmi, asus-nb-wmi)? Corentin, what is your opinion on this?

2. There are two laptops that I have here (and one more that I can get someone to test on) that have the ATK4002 HID for their airplane mode hotkey: E202SA, X555UB and N552VW. The last two also have a LED to indicate whether airplane mode is active or not, and it is inverted (led is on when airplane mode is not active, and vice-versa). I need to also handle the LED in the module so it behaves nicely.

Regards and sorry for not bringing this up earlier.
Comment 39 João Paulo Rechi Vita 2015-12-15 19:39:19 UTC
I have sent the Asus Wireless Radio Control driver, now with LED control, to the x86 platform drivers mailing list to get some feedback. Hopefully we'll be able to have this merged upstream without much further wait.
Comment 40 Tasev Nikola 2015-12-16 12:22:20 UTC
(In reply to João Paulo Rechi Vita from comment #39)
> I have sent the Asus Wireless Radio Control driver, now with LED control, to
> the x86 platform drivers mailing list to get some feedback. Hopefully we'll
> be able to have this merged upstream without much further wait.

Hi 

Can you also add ATK4001 ID to your driver because is needed
for my Asus UX31A ?

See comment 22 in this bug report.

On my both Asus UX31A and Asus UX305FA the led work like it should,
on when radio is on and off when radio is off.

Thank you
Comment 41 João Paulo Rechi Vita 2015-12-16 13:45:38 UTC
I have done so in series I have sent for upstream feedback. You can find the messages here: http://www.spinics.net/lists/platform-driver-x86/msg07888.html

You can find that same version in my personal branch https://github.com/jprvita/linux/commits/asus-wrc, but do not rely on that having the most up-to-date version. This will most likely still need some work to address comments from upstream.

Please let me know if that works fine for you. You may need to disable asus-wmi in order to have the LED working correctly for now (otherwise it may be inverted). This is a known problem and it is something I still need to address.
Comment 42 Tasev Nikola 2015-12-17 19:12:55 UTC
(In reply to João Paulo Rechi Vita from comment #41)
> I have done so in series I have sent for upstream feedback. You can find the
> messages here: http://www.spinics.net/lists/platform-driver-x86/msg07888.html
> 
> You can find that same version in my personal branch
> https://github.com/jprvita/linux/commits/asus-wrc, but do not rely on that
> having the most up-to-date version. This will most likely still need some
> work to address comments from upstream.
> 
> Please let me know if that works fine for you. You may need to disable
> asus-wmi in order to have the LED working correctly for now (otherwise it
> may be inverted). This is a known problem and it is something I still need
> to address.

Hi

I just tested your driver on both UX31A and UX305FA and it works just
fine including the led's without disabling asus-wmi. 

Thank you for your work!
Comment 43 João Paulo Rechi Vita 2015-12-17 20:12:22 UTC
That's good news. Hopefully we'll be to sort out the LED ID conflict that I see happening on the unit I have (X555UB) and have this code integrated upstream.
Comment 44 Rishad Bharucha 2016-01-06 19:02:20 UTC
Hi João, 

I have a UX305FA and would like to thank you for your work in getting these issues fixed! I was wondering what the status of upstream code integration for these fixes is? I've read through the messages thread you've linked to, but there doesn't seem to be any update there.

Thanks again!
Comment 45 João Paulo Rechi Vita 2016-01-06 19:52:09 UTC
At the moment part of the series has been queued in platform-driver-x86 testing branch and the remaining (LED control) is still under review. Check the platform-driver-x86 and linux-wireless mailing lists archives for the latest news.
Comment 46 Tasev Nikola 2016-01-25 17:07:16 UTC
Hi dev's,

Thank you for including the Asus Wireless Radio Control driver
in the kernel. Just compiled the new 4.5-rc1, it work's out of the box
for the first time!

Thanks João! 

Let's hope that the backlight key's problem will be fixed soon by
the intel drm team.
Comment 47 Nicolas R 2016-03-10 21:09:27 UTC
Hello

I'm using UX305UA, and same problem on archlinux with Kernel 4.4.5 (archlinux).

I've tried on Kernel 4.5.0-rc7, but stil does not work.

Pressing FN+F5 (light down), or FN+F6 (light up), or FN+F7 (light off) does not work, and show nothing on dmesg.
Pressing FN+Q (automatic light sensor), shows "asus_wmi: Unknown key 7a pressed" on dmesg.

If I can help somehow please tell me.

Regards,
Comment 48 Tasev Nikola 2016-03-11 17:12:10 UTC
(In reply to Nicolas R from comment #47)
> Hello
> 
> I'm using UX305UA, and same problem on archlinux with Kernel 4.4.5
> (archlinux).
> 
> I've tried on Kernel 4.5.0-rc7, but stil does not work.
> 
> Pressing FN+F5 (light down), or FN+F6 (light up), or FN+F7 (light off) does
> not work, and show nothing on dmesg.
> Pressing FN+Q (automatic light sensor), shows "asus_wmi: Unknown key 7a
> pressed" on dmesg.
> 
> If I can help somehow please tell me.
> 
> Regards,

Following these 2 links, i successfully made the ambiant light sensor work:

https://github.com/danieleds/als
https://github.com/danieleds/Asus-Zenbook-Ambient-Light-Sensor-Controller

See the readme to compil the als kernel module and the Ambient-Light-Sensor-Controller.

For the fn+a keys to work, you have to modify the asus-nb-wmi kernel driver.
At line 350 add one line with:
{ KE_KEY, 0x7A, { KEY_PROG2 } },

Then rebuild the kernel. Now in your keyboard shorcuts create a new one with the 
combination key's fn+a and choose an action pointing to the switch.sh script in
the example folder of the Asus-Zenbook-Ambient-Light-Sensor-Controller-master.

I tested this in both UX31A UX305FA. But after short time i disabled
the ambiant light sensor because i found it anoying. But it work's.
Comment 49 Nicolas R 2016-03-11 17:35:06 UTC
Nice I will try it. Thanks for all of this.

And about the fn-f{5,6,7} ? I think the most usefull is them, and particulary the fn+f7 which switch off the screen.
Comment 50 Tasev Nikola 2016-03-11 19:48:18 UTC
(In reply to Nicolas R from comment #49)
> Nice I will try it. Thanks for all of this.
> 
> And about the fn-f{5,6,7} ? I think the most usefull is them, and
> particulary the fn+f7 which switch off the screen.

The fn-f5 fn-f6 brightness keys problem is waiting for a proper fix
from the Intel DRM graphic team. The bug was reported more than 2 years
ago. If you want to make those keys work right now, see the patch from 
comment 32. I still use it, it work.

I have no problem with fn+f7, switch off the screen keys on my UX305FA.
See if you have an event with xev for them, or some output in dmesg.
Comment 51 Nicolas R 2016-03-11 21:20:47 UTC
Ok i will try.
Is there a way to make a sort of module to use a standard kernel to avoid to compil my own kernel to have this patch (sorry noob question)?
Comment 52 Nicolas R 2016-03-12 14:51:13 UTC
Other question (sorry), how can we contact the intel drm team to ask them if they will correct this?

thanks
Comment 53 Tasev Nikola 2016-03-12 16:32:37 UTC
(In reply to Nicolas R from comment #52)
> Other question (sorry), how can we contact the intel drm team to ask them if
> they will correct this?
> 
> thanks

There is probably a way to compile only a module with dkms,
but I don't no how myself.
For the intel drm team, see the link in comment 35
Comment 54 Nicolas R 2016-03-12 19:52:56 UTC
Ok.. 
I did have tried the als driver but the script doesn't work (known bug).
I've find another solution, on gnome I've created shortcut on keyboard for F5 and F6 (fn doesn't work), pointing to the command "xdotool key XF86MonBrightnessUp" or "xdotool key XF86MonBrightnessDown"... It works.

Too bad it's not fixed directly in the kernel :(
Comment 55 Jan De Luyck 2016-03-17 18:43:54 UTC
(In reply to Tasev Nikola from comment #33)
> Created attachment 195071 [details]
> patch for intel_opregion.c

I've tested this patch on an UX350, and while the keys do submit something that XFCE can react on, no brightness changes happen. Might have to do with something, so will investigate.

Has there been any movement wrt this bug? I can't seem to find much on the mailing lists :/
Comment 56 Aaron Lu 2016-03-18 07:58:28 UTC
(In reply to Jan De Luyck from comment #55)
> (In reply to Tasev Nikola from comment #33)
> > Created attachment 195071 [details]
> > patch for intel_opregion.c
> 
> I've tested this patch on an UX350, and while the keys do submit something
> that XFCE can react on, no brightness changes happen. Might have to do with
> something, so will investigate.

Probably XFCE doesn't react to those events.
Comment 57 Jan De Luyck 2016-03-18 13:17:00 UTC
(In reply to Aaron Lu from comment #56)
> (In reply to Jan De Luyck from comment #55)
> > (In reply to Tasev Nikola from comment #33)
> > > Created attachment 195071 [details]
> > > patch for intel_opregion.c
> > 
> > I've tested this patch on an UX350, and while the keys do submit something
> > that XFCE can react on, no brightness changes happen. Might have to do with
> > something, so will investigate.
> 
> Probably XFCE doesn't react to those events.

Failure on my part. Sorry for the noise, the patch makes stuff work on this particular UX305.
Comment 58 John K 2016-09-30 15:43:20 UTC
Hey quick Question. Is the Backlight Bug fixed in a new kernel?
Comment 59 Nicolas R 2016-09-30 16:11:49 UTC
I'm using Archlinux on 4.7.5 and it's not working.
Not sure it will be one day.

@Team :anyway to help you?
Comment 60 John K 2016-09-30 16:37:34 UTC
(In reply to Nicolas R from comment #59)
> I'm using Archlinux on 4.7.5 and it's not working.
> Not sure it will be one day.
> 
> @Team :anyway to help you?

So i have to modify the kernel in order to get the backlight keys fixed. 
That's bad, cause i am very new to Linux.
Comment 61 Tasev Nikola 2016-10-01 11:07:38 UTC
(In reply to Jakob Koempe from comment #60)
> (In reply to Nicolas R from comment #59)
> > I'm using Archlinux on 4.7.5 and it's not working.
> > Not sure it will be one day.
> > 
> > @Team :anyway to help you?
> 
> So i have to modify the kernel in order to get the backlight keys fixed. 
> That's bad, cause i am very new to Linux.

Jani Nikula (from the intel drm team) is now working to fix this problem,
but the patches I have tested for now are still not working for me.

https://patchwork.freedesktop.org/patch/107280/
Comment 62 Tasev Nikola 2016-10-01 11:32:17 UTC
The link to the latest patches:

http://www.spinics.net/lists/intel-gfx/msg105415.html
Comment 63 John K 2016-10-04 21:17:54 UTC
(In reply to João Paulo Rechi Vita from comment #41)
> I have done so in series I have sent for upstream feedback. You can find the
> messages here: http://www.spinics.net/lists/platform-driver-x86/msg07888.html
> 
> You can find that same version in my personal branch
> https://github.com/jprvita/linux/commits/asus-wrc, but do not rely on that
> having the most up-to-date version. This will most likely still need some
> work to address comments from upstream.
> 
> Please let me know if that works fine for you. You may need to disable
> asus-wmi in order to have the LED working correctly for now (otherwise it
> may be inverted). This is a known problem and it is something I still need
> to address.

Hello again, how can i disable asus-wmi.
Comment 64 Nicolas R 2016-11-16 17:43:47 UTC
Hi all,
Any news?

Thanks
Comment 65 Marcos Souza 2016-11-17 03:40:36 UTC
(In reply to Nicolas R from comment #64)
> Hi all,
> Any news?
> 
> Thanks

Yes, a new patchset[1] was sent today, and it fixed my problem also, so I hope it can be merged soon.

[1] http://www.spinics.net/lists/intel-gfx/msg111832.html
Comment 66 John K 2016-11-17 12:54:59 UTC
(In reply to Marcos Souza from comment #65)
> (In reply to Nicolas R from comment #64)
> > Hi all,
> > Any news?
> > 
> > Thanks
> 
> Yes, a new patchset[1] was sent today, and it fixed my problem also, so I
> hope it can be merged soon.
> 
> [1] http://www.spinics.net/lists/intel-gfx/msg111832.html

Silly question, how do i apply this patch?
Comment 67 Marcos Souza 2016-11-17 14:55:26 UTC
(In reply to John K from comment #66)
> (In reply to Marcos Souza from comment #65)
> > (In reply to Nicolas R from comment #64)
> > > Hi all,
> > > Any news?
> > > 
> > > Thanks
> > 
> > Yes, a new patchset[1] was sent today, and it fixed my problem also, so I
> > hope it can be merged soon.
> > 
> > [1] http://www.spinics.net/lists/intel-gfx/msg111832.html
> 
> Silly question, how do i apply this patch?

Hi John,

just download the mbox file: https://patchwork.freedesktop.org/series/15403/

And then execute

git am <name of the mbox file>

And then recompile your kernel.
Comment 68 John K 2016-11-17 18:50:15 UTC
(In reply to Marcos Souza from comment #67)
> (In reply to John K from comment #66)
> > (In reply to Marcos Souza from comment #65)
> > > (In reply to Nicolas R from comment #64)
> > > > Hi all,
> > > > Any news?
> > > > 
> > > > Thanks
> > > 
> > > Yes, a new patchset[1] was sent today, and it fixed my problem also, so I
> > > hope it can be merged soon.
> > > 
> > > [1] http://www.spinics.net/lists/intel-gfx/msg111832.html
> > 
> > Silly question, how do i apply this patch?
> 
> Hi John,
> 
> just download the mbox file: https://patchwork.freedesktop.org/series/15403/
> 
> And then execute
> 
> git am <name of the mbox file>
> 
> And then recompile your kernel.



I hate mbox files >.< so annoying to patch them, cause i don't have a git repo of my kernel...
Comment 69 Nicolas R 2016-11-17 19:23:48 UTC
Created attachment 244901 [details]
attachment-19359-0.html

Can we wait the patch to be in mainstream? Is it validated or still not? When it will be validated I assume it will directly be in our distribution's packages?
--
Nicolas Repentin
<nicolas@shivaserv.fr>
Comment 70 Marcos Souza 2016-11-17 19:49:34 UTC
(In reply to John K from comment #68)
> (In reply to Marcos Souza from comment #67)
> > (In reply to John K from comment #66)
> > > (In reply to Marcos Souza from comment #65)
> > > > (In reply to Nicolas R from comment #64)
> > > > > Hi all,
> > > > > Any news?
> > > > > 
> > > > > Thanks
> > > > 
> > > > Yes, a new patchset[1] was sent today, and it fixed my problem also, so
> I
> > > > hope it can be merged soon.
> > > > 
> > > > [1] http://www.spinics.net/lists/intel-gfx/msg111832.html
> > > 
> > > Silly question, how do i apply this patch?
> > 
> > Hi John,
> > 
> > just download the mbox file:
> https://patchwork.freedesktop.org/series/15403/
> > 
> > And then execute
> > 
> > git am <name of the mbox file>
> > 
> > And then recompile your kernel.
> 
> 
> 
> I hate mbox files >.< so annoying to patch them, cause i don't have a git
> repo of my kernel...

I'll add the patches here. They applied on top of 4.9-rc5, and they worked. Try to apply the first two patches and check if this works. If not, try the other one. One user reported the first two ones solved the problem.
Comment 71 Marcos Souza 2016-11-17 19:50:52 UTC
Created attachment 244911 [details]
patch1
Comment 72 Marcos Souza 2016-11-17 19:51:08 UTC
Created attachment 244921 [details]
patch2
Comment 73 Marcos Souza 2016-11-17 19:51:26 UTC
Created attachment 244931 [details]
patch3
Comment 74 Marcos Souza 2016-11-17 19:54:24 UTC
(In reply to Nicolas R from comment #69)
> Created attachment 244901 [details]
> attachment-19359-0.html
> 
> Can we wait the patch to be in mainstream? Is it validated or still not?
> When it will be validated I assume it will directly be in our distribution's
> packages?
> --
> Nicolas Repentin
> <nicolas@shivaserv.fr>

Hi Nicolas,

yes, you can wait, but it would be much more efficient if you could help testing these patches, so the developer can ensure it works in different laptops, and avoid regressions. They are valid, at least 3 people have tested the patches, and it indeed fixed the problem, but it would be good if you also could test them, as you're affected by the same bug.

About the packages, it depends on the distro you use. To avoid waiting, compiling your own kernel is the fastest way to have it fixed. If you don
Comment 75 Marcos Souza 2016-11-17 19:55:21 UTC
// sorry, submitted by mistaked

Ff you don't to do it, check with your distribuition when will they ship kernel 4.9-4.10.

Thanks.
Comment 76 Nicolas R 2016-11-17 19:56:50 UTC
Created attachment 244941 [details]
attachment-20395-0.html

Ok. I will try the patch. 
Will it be natively on 4.9.4? I'm using arch so the version are very uptodate.
--
Nicolas Repentin
<nicolas@shivaserv.fr>
Comment 77 Marcos Souza 2016-11-17 20:08:48 UTC
(In reply to Nicolas R from comment #76)
> Created attachment 244941 [details]
> attachment-20395-0.html
> 
> Ok. I will try the patch. 
> Will it be natively on 4.9.4? I'm using arch so the version are very
> uptodate.
> --
> Nicolas Repentin
> <nicolas@shivaserv.fr>

I don't know, maybe 4.9 won't be an LTS kernel, or maybe these patches apply on 4.8, so there is big chance these patches will go to stable.

Also, following this statement[1], these patches are already in drm-intel-next-queued, but all that I said before is still valid :)

[1] http://www.mail-archive.com/intel-gfx@lists.freedesktop.org/msg104438.html
Comment 78 Tasev Nikola 2016-11-18 15:34:18 UTC
Hi

Tested on Asus UX305FA an UX330UA on 4.9rc5 kernel.
The patches work.
Comment 79 Marcos Souza 2016-11-18 20:11:27 UTC
(In reply to Tasev Nikola from comment #78)
> Hi
> 
> Tested on Asus UX305FA an UX330UA on 4.9rc5 kernel.
> The patches work.

Great, thanks a lot for testing. I have asked Jani if these changes will be pushed to stable too[1], so let's wait to see them merged to close this bug.

[1] https://bugs.freedesktop.org/show_bug.cgi?id=97368
Comment 80 Ivan 2016-11-19 09:39:39 UTC
(In reply to Marcos Souza from comment #79)
> (In reply to Tasev Nikola from comment #78)
> > Hi
> > 
> > Tested on Asus UX305FA an UX330UA on 4.9rc5 kernel.
> > The patches work.
> 
> Great, thanks a lot for testing. I have asked Jani if these changes will be
> pushed to stable too[1], so let's wait to see them merged to close this bug.
> 
> [1] https://bugs.freedesktop.org/show_bug.cgi?id=97368

I own an ASUS K501LX with Ubuntu 16.04 installed and suffered from the bug that cannot use the brightness key.
I have patched these patches to the new 4.8.8 stable kernel and it works!
Thank you so much for making these pathches.
Comment 81 John K 2016-11-24 01:18:48 UTC
(In reply to Tasev Nikola from comment #78)
> Hi
> 
> Tested on Asus UX305FA an UX330UA on 4.9rc5 kernel.
> The patches work.

Hey, got it working on Asus UX305FA on 4.8.10 kernel. 

Little question, does Fn+f2 works for you? 

Great day and thanks for the patch
Comment 82 Tasev Nikola 2016-11-24 18:25:59 UTC
(In reply to John K from comment #81)
> (In reply to Tasev Nikola from comment #78)
> > Hi
> > 
> > Tested on Asus UX305FA an UX330UA on 4.9rc5 kernel.
> > The patches work.
> 
> Hey, got it working on Asus UX305FA on 4.8.10 kernel. 
> 
> Little question, does Fn+f2 works for you? 
> 
> Great day and thanks for the patch

Hi,

Yes the Fn+f2 works fine.
The kernel module is asus_wireless.
Comment 83 Mehdi Abaakouk 2016-11-30 22:37:21 UTC
I have tested the 4.9rc7 with the 3 last patches and Fn+(F2->F6) work fine now on my asus UX303UA.

The autobrigtness key (fn+q on azerty layout) still doesn't work, but I think it unrelated, it's something I loose when I upgrade from 4.7.X+aaron-workaroun to 4.8.8+aaron-workaround.
Comment 84 Mikhail Modin 2016-12-12 15:54:40 UTC
I'll try to check it on ux305la. Patches applies to Ubuntu kernel 4.8.0.25 without problems. 

Additionally I wrote daemon for ambient light sensor works with build in kernel module acpi-als https://github.com/mikhail-m1/illuminanced
Comment 85 Daniel Andrei 2016-12-12 16:20:03 UTC
Hi,
I'm facing the same problem with fn keys f1-f9 not working. I have an asus rog gl553vw. I use mint 18 and have installed the latest 4.9 kernel from the ubuntu kernel-ppa.
Screen brightness can be adjusted from power settings or by writing the value in /sys/class/backlight/intel_backlight/brightness but I have no way of turning my keyboard backlight on/off. The only thing that sort of works is booting into windows (where it works), turning it on and then rebooting into linux. This is quite tedious. I've read that I should be able to do it no some models by changing the value in the brightness file in /sys/class/leds/asus::kbd_backlight but in my case I don't have that folder under leds. All I have is:
asus-wireless::airplane  input4::capslock  input4::numlock  input4::scrolllock  input7::capslock  input7::compose  input7::kana  input7::numlock  input7::scrolllock  phy0-led

Any hints?
Thanks
Comment 86 Mikhail Modin 2016-12-14 15:54:06 UTC
I've successfully patched and build Ubuntu kernel 4.8.0.30 now Fn+F5 & F6 works, thanks! Hope to see it in mainstream kernel soon.
Comment 87 Marcos Souza 2016-12-28 16:49:40 UTC
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=200453bfced58c0d67c26daeeb845f24f7fee1df

Jani's patch is on the road, we can close this bug once kerne 4.10 is released! Thanks for testing!
Comment 88 Marcos Souza 2017-02-20 00:48:05 UTC
4.10 was release today, so we can close this bug as fixed. Thanks a lot for testing!
Comment 89 Martin Mokrejs 2017-02-27 02:07:12 UTC
(In reply to Daniel Andrei from comment #85)
> Hi,
> I'm facing the same problem with fn keys f1-f9 not working. I have an asus
> rog gl553vw. I use mint 18 and have installed the latest 4.9 kernel from the
> ubuntu kernel-ppa.

Do you have these enabled?

CONFIG_ASUS_LAPTOP=y
CONFIG_ASUS_WMI=y
CONFIG_ASUS_NB_WMI=y
CONFIG_ASUS_WIRELESS=y

CONFIG_KEYBOARD_ATKBD=y
CONFIG_SENSORS_ATK0110=y


> Screen brightness can be adjusted from power settings or by writing the
> value in /sys/class/backlight/intel_backlight/brightness but I have no way
> of turning my keyboard backlight on/off.

You can use values 0-937. Use the '-n' switch for echo command.

asus_g552vw# cat /sys/class/backlight/intel_backlight/brightness
937
asus_g552vw# echo -n 2000 > /sys/class/backlight/intel_backlight/brightness
-su: echo: write error: Invalid argument
asus_g552vw# echo  -n 937 > /sys/class/backlight/intel_backlight/brightness
asus_g552vw#


> I've read that I should be able to do it
> no some models by changing the value in the brightness file in
> /sys/class/leds/asus::kbd_backlight but in my case I don't have that folder
> under leds.

asus_g552vw# cat /sys/class/leds/asus\:\:kbd_backlight/brightness 
0
asus_g552vw# cat /sys/class/leds/asus\:\:kbd_backlight/max_brightness 
3
asus_g552vw# echo -n 3 > /sys/class/leds/asus\:\:kbd_backlight/brightness 
asus_g552vw#

Yay, my keyboard backlight is finally enabled! Sorry, I am on 4.10.0-gentoo kernel and Fn+F3 Fn+F4, Fn+F5 Fn+F6, F10, F11, F12 do not work for me. See bug #194719.
Comment 90 Martin Mokrejs 2017-02-27 09:47:19 UTC
Also check these:

CONFIG_ACPI_WMI=y
CONFIG_MXM_WMI=y
Comment 91 Daniel Andrei 2017-03-01 04:48:19 UTC
(In reply to Martin Mokrejs from comment #90)
> Also check these:
> 
> CONFIG_ACPI_WMI=y
> CONFIG_MXM_WMI=y

Hi Martin,
Thanks for the reply. I built a version of the 4.10 kernel and made sure the options you mentioned are enabled. No luck with the keyboard lights. I still don't have the devices in /sys/class/leds
Are you using any kernel boot options that might have something to do with it? Also what bios version are you using?

Thanks
Comment 92 Nicolas R 2017-03-05 15:55:15 UTC
Hi

I've tried the 4.10 kernel on Arch.
Fn+F5 and F6 is working, but not F7 (kills the screen).
Comment 93 Roman Mikhayloff 2018-04-10 23:05:07 UTC
Hi!

I'm trying to set up the LEDs with the kernel parameter acpi_osi = "Windows 2012".

Notebook Asus UX31A does not have an Airplane Mode button. Tasev Nikola, I think you were mistaken. This laptop has a Radio tower button. To see this, look at the photo of the keyboard https://images.anandtech.com/galleries/2250/ASUS%20UX31A-DB71%20(12)_575px.jpg

These two buttons with different names specifically have different IDs. On my Asus N46JV laptop (with ATK4001 ID and Radio Tower button, as it is called in the documentation from Asus), the asus-wireless module does not work correctly. The LED of the radio tower is always off. The LED with the radio tower icon only started after manually setting its trigger to rfkill0. But the meaning of the LED is inverted, when the RF is unlocked, the LED is off, and vice versa. I tried to fix the module asus-wireless (changed the on and off values), after that the LED has the right meaning.

The rmmod asus-wireless command fails. At the same time, something in the kernel breaks down and later it is impossible to shut down the system correctly.

It would also be good for me if the radio were not unlocked after the initial kernel boot on laptops with ATK4001 ID.

Thanks!
Comment 94 Tasev Nikola 2018-04-11 06:54:37 UTC
(In reply to Roman Mikhayloff from comment #93)
> Hi!
> 
> I'm trying to set up the LEDs with the kernel parameter acpi_osi = "Windows
> 2012".
> 
> Notebook Asus UX31A does not have an Airplane Mode button. Tasev Nikola, I
> think you were mistaken. This laptop has a Radio tower button. To see this,
> look at the photo of the keyboard
> https://images.anandtech.com/galleries/2250/ASUS%20UX31A-DB71%20(12)_575px.
> jpg
> 
> These two buttons with different names specifically have different IDs. On
> my Asus N46JV laptop (with ATK4001 ID and Radio Tower button, as it is
> called in the documentation from Asus), the asus-wireless module does not
> work correctly. The LED of the radio tower is always off. The LED with the
> radio tower icon only started after manually setting its trigger to rfkill0.
> But the meaning of the LED is inverted, when the RF is unlocked, the LED is
> off, and vice versa. I tried to fix the module asus-wireless (changed the on
> and off values), after that the LED has the right meaning.
> 
> The rmmod asus-wireless command fails. At the same time, something in the
> kernel breaks down and later it is impossible to shut down the system
> correctly.
> 
> It would also be good for me if the radio were not unlocked after the
> initial kernel boot on laptops with ATK4001 ID.
> 
> Thanks!

Hi Roman

You right for the UX31A, it is a radio tower button.
For the led, see https://bugzilla.kernel.org/show_bug.cgi?id=195563.
In comment 20 there are links for 2 patches from João Paulo Rechi Vita.
I tested the patches an they fix the led issues on all notebook i have,
including ATK4001 an ATK4002 IDs.