[HP Envy x360 M6-ar004dx] Touchscreen not working

Bug #1609601 reported by Colin Johnstone
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

I'm using an HP Envy x360 M6-ar004dx with an AMD 7th-gen FX APU, and the touchscreen will not work. Dmesg shows i2c_hid reporting multiple "failed to reset device" error messages before finally failing to add it as an HID device with error -61. As far as I can tell, it's being detected as an ELAN touchscreen. I've seen reports that this error can be fixed in newer kernels, as the touchscreen uses GPIO interrupts which are fixed in versions 4.6 and later. Most of the information I can find indicates that 4.7 includes improved AMD support, but the mainline kernel build appears to be missing the AMD GPIO drivers, since I get a "failed to get GPIO interrupt" error. I've compiled my own 4.7 kernel from the mainline GIT, including the patches used in kernel-ppa/mainline and setting the right config flags for AMD GPIO, but that just gets me the same errors I'm seeing in 4.4.0-31-generic. For additional info, I'm attaching my dmesg output in its entirety.

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: linux-image-4.4.0-31-generic 4.4.0-31.50 [modified: boot/vmlinuz-4.4.0-31-generic]
ProcVersionSignature: Ubuntu 4.4.0-31.50-generic 4.4.13
Uname: Linux 4.4.0-31-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: colin 3591 F.... pulseaudio
 /dev/snd/controlC0: colin 3591 F.... pulseaudio
CurrentDesktop: GNOME
Date: Wed Aug 3 21:51:47 2016
HibernationDevice: RESUME=UUID=1875834b-d1ff-4b97-a9b8-44afb056c592
InstallationDate: Installed on 2016-08-03 (0 days ago)
InstallationMedia: Ubuntu-GNOME 16.04.1 LTS "Xenial Xerus" - Release amd64 (20160720)
MachineType: HP HP ENVY x360 m6 Convertible
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcFB: 0 amdgpudrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.4.0-31-generic.efi.signed root=/dev/mapper/ubuntu--gnome--vg-root ro quiet splash
RelatedPackageVersions:
 linux-restricted-modules-4.4.0-31-generic N/A
 linux-backports-modules-4.4.0-31-generic N/A
 linux-firmware 1.157.2
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 06/29/2016
dmi.bios.vendor: Insyde
dmi.bios.version: F.10
dmi.board.asset.tag: Type2 - Board Asset Tag
dmi.board.name: 81AA
dmi.board.vendor: HP
dmi.board.version: 59.42
dmi.chassis.asset.tag: Chassis Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: HP
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnInsyde:bvrF.10:bd06/29/2016:svnHP:pnHPENVYx360m6Convertible:pvrType1ProductConfigId:rvnHP:rn81AA:rvr59.42:cvnHP:ct10:cvrChassisVersion:
dmi.product.name: HP ENVY x360 m6 Convertible
dmi.product.version: Type1ProductConfigId
dmi.sys.vendor: HP

Revision history for this message
Colin Johnstone (johnstone-colin) wrote :
Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Changed in linux (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Joseph Salisbury (jsalisbury) wrote : Re: i2c_hid: probe of i2c-ELAN0732:00 failed with error -61

Did this issue start happening after an update/upgrade? Was there a kernel version where you were not having this particular problem? This will help determine if the problem you are seeing is the result of a regression, and when this regression was introduced. If this is a regression, we can perform a kernel bisect to identify the commit that introduced the problem.

tags: added: kernel-da-key
Revision history for this message
Colin Johnstone (johnstone-colin) wrote :

This laptop is brand new, so I don't know if this is a regression. I tested the touchscreen in Windows before I reformatted, so I know the hardware is working physically.

Revision history for this message
penalvch (penalvch) wrote :

Colin Johnstone, in order to allow additional upstream developers to examine the issue, at your earliest convenience, could you please test the latest upstream kernel available from http://kernel.ubuntu.com/~kernel-ppa/mainline/?C=N;O=D ? Please keep in mind the following:
1) The one to test is at the very top line at the top of the page (not the daily folder).
2) The release names are irrelevant.
3) The folder time stamps aren't indicative of when the kernel actually was released upstream.
4) Install instructions are available at https://wiki.ubuntu.com/Kernel/MainlineBuilds .

If testing on your main install would be inconvenient, one may:
1) Install Ubuntu to a different partition and then test this there.
2) Backup, or clone the primary install.

If the latest kernel did not allow you to test to the issue (ex. you couldn't boot into the OS) please make a comment in your report about this, and continue to test the next most recent kernel version until you can test to the issue. Once you've tested the upstream kernel, please comment on which kernel version specifically you tested. If this issue is fixed in the mainline kernel, please add the following tags by clicking on the yellow circle with a black pencil icon, next to the word Tags, located at the bottom of the report description:
kernel-fixed-upstream
kernel-fixed-upstream-X.Y-rcZ

Where X, and Y are the first two numbers of the kernel version, and Z is the release candidate number if it exists.

If the mainline kernel does not fix the issue, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-X.Y-rcZ

Please note, an error to install the kernel does not fit the criteria of kernel-bug-exists-upstream.

Also, you don't need to apport-collect further unless specifically requested to do so.

It is most helpful that after testing of the latest upstream kernel is complete, you mark this report Status Confirmed.

Lastly, to keep this issue relevant to upstream, please continue to test the latest mainline kernel as it becomes available.

Thank you for your help.

tags: added: bios-outdated-f11
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Colin Johnstone (johnstone-colin) wrote :

The touchscreen still fails to work, but the error message changes to "failed to get GPIO interrupt" in the latest builds. I think this is due to a missing option during compilation, since I've been testing custom builds of upstream basically since I filed this bug and the GPIO interrupt error reverts right back to "failed to reset device" if I compile the upstream code + patches with the AMD GPIO drivers explicitly enabled in the config. Also, the latest builds introduce a new error with the orientation sensor: The screen is rotated to the right by default on boot. This has to be related to a missing axes configuration, as reported by the "hp_accel" errors in my dmesg output.

tags: added: kernel-bug-exists-upstream
Revision history for this message
Colin Johnstone (johnstone-colin) wrote :

Testing kernel 4.8.0-040800rc4-generic

penalvch (penalvch)
tags: added: kernel-bug-exists-upstream-4.8-rc4
Revision history for this message
penalvch (penalvch) wrote :

Colin Johnstone, the issue you are reporting is an upstream one. Could you please report this problem following the instructions verbatim at https://wiki.ubuntu.com/Bugs/Upstream/kernel to the appropriate mailing list (TO Dmitry Torokhov CC linux-input)?

Please provide a direct URL to your post to the mailing list when it becomes available so that it may be tracked.

Thank you for your help.

Changed in linux (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
Colin Johnstone (johnstone-colin) wrote :
Revision history for this message
Abhay (abhayd) wrote :

Hi Colin,
 were you able to get the touchscreen working ?
I am also having the exact same laptop model.
with the latest available kernel 4.8.7 i don't see the gpio interrupt errors, but also i don't see anything touchscreen added to xinput as well.
  Since I didnt find any resolution in your upstream bug as well, can you please let me know how you were able to fix it ?
  I am an ex-AMD vlsi engineer, so if needed I can try to connect with AMD software engineers as well.

Revision history for this message
Colin Johnstone (johnstone-colin) wrote : RE: [Bug 1609601] Re: i2c_hid: probe of i2c-ELAN0732:00 failed with error-61
Download full text (4.1 KiB)

I never did get that working, even building direct from upstream. I ended up putting Windows 10 back onto the computer just to make sure it wasn’t a hardware error (and also because the BIOS can only be flashed from within Windows. Thanks, HP.) Touchscreen works in Win10, so it’s definitely software.

From: Abhay
Sent: Friday, November 18, 2016 12:45 PM
To: <email address hidden>
Subject: [Bug 1609601] Re: i2c_hid: probe of i2c-ELAN0732:00 failed with error-61

Hi Colin,
 were you able to get the touchscreen working ?
I am also having the exact same laptop model.
with the latest available kernel 4.8.7 i don't see the gpio interrupt errors, but also i don't see anything touchscreen added to xinput as well.
  Since I didnt find any resolution in your upstream bug as well, can you please let me know how you were able to fix it ?
  I am an ex-AMD vlsi engineer, so if needed I can try to connect with AMD software engineers as well.

--
You received this bug notification because you are subscribed to the bug
report.
https://bugs.launchpad.net/bugs/1609601

Title:
  i2c_hid: probe of i2c-ELAN0732:00 failed with error -61

Status in linux package in Ubuntu:
  Triaged

Bug description:
  I'm using an HP Envy x360 M6-ar004dx with an AMD 7th-gen FX APU, and
  the touchscreen will not work. Dmesg shows i2c_hid reporting multiple
  "failed to reset device" error messages before finally failing to add
  it as an HID device with error -61. As far as I can tell, it's being
  detected as an ELAN touchscreen. I've seen reports that this error can
  be fixed in newer kernels, as the touchscreen uses GPIO interrupts
  which are fixed in versions 4.6 and later. Most of the information I
  can find indicates that 4.7 includes improved AMD support, but the
  mainline kernel build appears to be missing the AMD GPIO drivers,
  since I get a "failed to get GPIO interrupt" error. I've compiled my
  own 4.7 kernel from the mainline GIT, including the patches used in
  kernel-ppa/mainline and setting the right config flags for AMD GPIO,
  but that just gets me the same errors I'm seeing in 4.4.0-31-generic.
  For additional info, I'm attaching my dmesg output in its entirety.

  ProblemType: Bug
  DistroRelease: Ubuntu 16.04
  Package: linux-image-4.4.0-31-generic 4.4.0-31.50 [modified: boot/vmlinuz-4.4.0-31-generic]
  ProcVersionSignature: Ubuntu 4.4.0-31.50-generic 4.4.13
  Uname: Linux 4.4.0-31-generic x86_64
  ApportVersion: 2.20.1-0ubuntu2.1
  Architecture: amd64
  AudioDevicesInUse:
   USER PID ACCESS COMMAND
   /dev/snd/controlC1: colin 3591 F.... pulseaudio
   /dev/snd/controlC0: colin 3591 F.... pulseaudio
  CurrentDesktop: GNOME
  Date: Wed Aug 3 21:51:47 2016
  HibernationDevice: RESUME=UUID=1875834b-d1ff-4b97-a9b8-44afb056c592
  InstallationDate: Installed on 2016-08-03 (0 days ago)
  InstallationMedia: Ubuntu-GNOME 16.04.1 LTS "Xenial Xerus" - Release amd64 (20160720)
  MachineType: HP HP ENVY x360 m6 Convertible
  ProcEnviron:
   TERM=xterm-256color
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  ProcFB: 0 amdgpudrmfb
  ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.4.0-31-generic.efi.signed ro...

Read more...

Revision history for this message
Marc Rene Schädler (suaefar) wrote : Re: i2c_hid: probe of i2c-ELAN0732:00 failed with error -61

I think the new Raven Ridge ENVY x360 are affected as well.
My HP ENVY x360 15-bq102ng shows

/sys/bus/i2c/devices/i2c-ELAN0732:00$ ls
firmware_node modalias name power subsystem uevent

But the touchscreen does not work or show up elsewhere (e.g., xinput --list)
This is still true with the latest kernel (4.15 RC8+ as of writing) from https://github.com/M-Bab/linux-kernel-amdgpu-binaries/

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Marc, please attach `dmesg`, thanks!

Revision history for this message
Marc Rene Schädler (suaefar) wrote :

dmesg output attached

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

I don't see the same message.

Please install Linux kernel in [1], then attach `dmesg` and `udevadm info -e`, thanks.

[1] http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.16-rc1/

Revision history for this message
Marc Rene Schädler (suaefar) wrote :

Oh I see... probably mine is a different problem (attached updated output of dmesg).
I thought the following error could be related to the issue:

amd_gpio AMDI0030:00: Failed to get gpio IRQ: -22

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

It could be. Can you file a separate bug? Because yours is a different model.

Revision history for this message
Marc Rene Schädler (suaefar) wrote :
Revision history for this message
Alejandro Díaz-Caro (janusdc) wrote :

Hi,
I have an HP Spectre x360 and I've got the same boot error:

Jun 09 17:15:56 behemoth kernel: i2c_hid i2c-ELAN0732:00: failed to change power setting.

However, my touchscreen is working without any problem, as well as the HP Active Pen that this laptop brings.

I am on Arch Linux, but if I can be of any help to close this bug, please, let me know.

penalvch (penalvch)
summary: - i2c_hid: probe of i2c-ELAN0732:00 failed with error -61
+ [HP Envy x360 M6-ar004dx] Touchscreen not working
tags: added: bios-outdated-f20 needs-upstream-testing
removed: bios-outdated-f11 kernel-bug-exists-upstream
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.