Public bug reported:

Hi, I'm trying to get the 'SW_TABLET_MODE' event to work correctly on my HP 
Spectre X360.
I think I got most of the peaces of the puzzle, but I need help putting them 
together.

*hp-wmi is suppose to trigger this event, but has some error on startup, here 
is dmesg: 
```
[    2.711444] input: HP WMI hotkeys as /devices/virtual/input/input14
[    2.714634] ACPI Error: Field [D128] at 1152 exceeds Buffer [NULL] size 160 
(bits) (20160831/dsopcode-236)
[    2.714643] ACPI Error: Method parse/execution failed [\HWMC] (Node 
ffff8da6c60c1730), AE_AML_BUFFER_LIMIT (20160831/psparse-543)
[    2.714654] ACPI Error: Method parse/execution failed [\_SB.WMID.WMAA] (Node 
ffff8da6c60c3690), AE_AML_BUFFER_LIMIT (20160831/psparse-543)
[    2.714715] ACPI Error: Field [D128] at 1152 exceeds Buffer [NULL] size 160 
(bits) (20160831/dsopcode-236)
[    2.714719] ACPI Error: Method parse/execution failed [\HWMC] (Node 
ffff8da6c60c1730), AE_AML_BUFFER_LIMIT (20160831/psparse-543)
[    2.714728] ACPI Error: Method parse/execution failed [\_SB.WMID.WMAA] (Node 
ffff8da6c60c3690), AE_AML_BUFFER_LIMIT (20160831/psparse-543)

```

*I believe that the problem is related to a [known 
problem](https://wiki.archlinux.org/index.php/HP_Spectre_x360_13-4231ng#Issues),
 where the airplane mode key is spammed because everytime I open the computer 
to more than 180* and close it again to normal I get another spam of airplane 
mode keys
*I believe the problem is acpi related.
*If I cat the event of INT33D6 ```
cat /dev/input/by-path/platform-INT33D6:00-event
```
 I get garbage output  `XXXX+X+` when over 180* (tablet state) and when back to 
normal (laptop state)
*I think there is a mixup of INT33D3 and INT33D6, because INT33D3 (or PNP0C60) 
is suppose to be incharge of laptop mode see here:
[https://msdn.microsoft.com/library/windows/hardware/dn457868](https://msdn.microsoft.com/library/windows/hardware/dn457868)
[https://patchwork.kernel.org/patch/9306475/](https://patchwork.kernel.org/patch/9306475/)
I also decompiled  my DSDT, here is the relevant part (I think):
```
Scope (_SB)
    {
        Device (VBPA)
        {
            Name (_HID, "INT33D6" /* Intel Virtual Buttons Device */)  // _HID: 
Hardware ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((OSYS >= 0x07DD))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Name (VBST, Zero)
            Method (VBDL, 0, NotSerialized)
            {
                If ((^^PCI0.LPCB.EC0.ECOK == One))
                {
                    If ((^^PCI0.LPCB.EC0.CVTS == Zero))
                    {
                        VBST = 0x40
                    }
                    Else
                    {
                        VBST = Zero
                    }
                }
            }

            Method (VGBS, 0, NotSerialized)
            {
                If ((^^PCI0.LPCB.EC0.ECOK == One))
                {
                    If ((^^PCI0.LPCB.EC0.CVTS == Zero))
                    {
                        VBST = 0x40
                    }
                    Else
                    {
                        VBST = Zero
                    }
                }

                Return (VBST) /* \_SB_.VBPA.VBST */
            }
        }

        Device (CIND)
        {
            Name (_HID, "INT33D3" /* Intel GPIO Buttons */)  // _HID: Hardware 
ID
            Name (_CID, "PNP0C60" /* Display Sensor Device */)  // _CID: 
Compatible ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((OSYS >= 0x07DD))
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (Zero)
                }
            }
        }
    }
```

*Putting the the computer at tablet state and back at laptop state result in 
the folllowing messages on dmesg:
```
[ 4320.122389] intel-vbtn INT33D6:00: unknown event index 0xcc
[ 4320.171779] atkbd serio0: Unknown key pressed (translated set 2, code 0xd8 
on isa0060/serio0).
[ 4320.171782] atkbd serio0: Use 'setkeycodes e058 <keycode>' to make it known.
[ 4320.179630] atkbd serio0: Unknown key released (translated set 2, code 0xd8 
on isa0060/serio0).
[ 4320.179631] atkbd serio0: Use 'setkeycodes e058 <keycode>' to make it known.
[ 4329.585035] intel-vbtn INT33D6:00: unknown event index 0xcd

```

*I can't read the output of hp-wmi:
```
ls -la /sys/devices/platform/hp-wmi                                             
               9:13PM 
total 0
drwxr-xr-x  3 root root    0 פבר  9 19:20 .
drwxr-xr-x 22 root root    0 פבר  9 19:20 ..
-rw-r--r--  1 root root 4096 פבר  9 21:12 als
-r--r--r--  1 root root 4096 פבר  9 21:12 display
-r--r--r--  1 root root 4096 פבר  9 21:12 dock
lrwxrwxrwx  1 root root    0 פבר  9 19:20 driver -> 
../../../bus/platform/drivers/hp-wmi
-rw-r--r--  1 root root 4096 פבר  9 21:12 driver_override
-r--r--r--  1 root root 4096 פבר  9 21:12 hddtemp
-r--r--r--  1 root root 4096 פבר  9 21:12 modalias
-rw-r--r--  1 root root 4096 פבר  9 21:12 postcode
drwxr-xr-x  2 root root    0 פבר  9 21:11 power
lrwxrwxrwx  1 root root    0 פבר  9 19:26 subsystem -> ../../../bus/platform
-r--r--r--  1 root root 4096 פבר  9 21:12 tablet
-rw-r--r--  1 root root 4096 פבר  9 21:12 uevent

```

```

sudo cat /sys/devices/platform/hp-wmi/tablet                                    
                  9:12PM 
cat: tablet: Invalid argument

```

After trying to read it I get these messages on dmesg:
```
[12025.122317] ACPI Error: Field [D128] at 1152 exceeds Buffer [NULL] size 160 
(bits) (20160831/dsopcode-236)
[12025.122323] ACPI Error: Method parse/execution failed [\HWMC] (Node 
ffff8da6c60c1730), AE_AML_BUFFER_LIMIT (20160831/psparse-543)
[12025.122332] ACPI Error: Method parse/execution failed [\_SB.WMID.WMAA] (Node 
ffff8da6c60c3690), AE_AML_BUFFER_LIMIT (20160831/psparse-543)

```
 
*xev output is identical when pressing airplane mode key and when switching 
from laptop to tablet and vise versa:
```
MappingNotify event, serial 35, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

```


I hope this would help other user too,
Thanks in advance,
Itay

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1663620

Title:
  HP_WMI bad report on tablet mode

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1663620/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to