Bug 201775 - Synaptics touchpad not recognized by kernel: HP Spectre x360 df0709nz
Summary: Synaptics touchpad not recognized by kernel: HP Spectre x360 df0709nz
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Input Devices (show other bugs)
Hardware: Intel Linux
: P1 normal
Assignee: drivers_input-devices
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-11-23 08:41 UTC by FatTony
Modified: 2019-02-10 15:02 UTC (History)
2 users (show)

See Also:
Kernel Version: 4.19.2-301
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description FatTony 2018-11-23 08:41:32 UTC
* Description:

My Synaptic touchpad is not recognised by the kernel 4.19.2 on a HP Spectre x360 df0709nz.

* Keywords

kernel, drivers, input, touchpad, synaptics

* Kernel Version
4.19.2-301.fc29.x86_64 (Fedora 29)
Note: I tested kernel 4.20 using fedoraproject.org/wiki/Kernel_Vanilla_Repositories with the same outcome.

* Full output

https://pastebin.com/QeJhTwvQ dmesg
https://pastebin.com/BDQPGn9w hwinfo
https://pastebin.com/RcndGyW7 cat /proc/bus/input/devices
https://pastebin.com/51xwat5g libinput list-devices
https://pastebin.com/3pTYhWSC lsusb -v

* Relevant output (I think)

** device not found in:

/proc/bus/input/devices
libinput list-devices

** hwinfo

54: USB 00.0: 0000 Unclassified device
  [Created at usb.122]
  Unique ID: POWV.OXxrJ9G95ZB
  Parent ID: k4bc.2DFUsyrieMD
  SysFS ID: /devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.0
  SysFS BusID: 1-9:1.0
  Hardware Class: unknown
  Model: "Synaptics Unclassified device"
  Hotplug: USB
  Vendor: usb 0x06cb "Synaptics, Inc."
  Device: usb 0x00bb
  Revision: "1.64"
  Serial ID: "fe8ba407f5c7"
  Speed: 12 Mbps
  Module Alias: "usb:v06CBp00BBd0164dcFFdsc10dpFFicFFisc00ip00in00"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #61 (Hub)

  ** dmesg

  [    1.561973] usb 1-9: New USB device found, idVendor=06cb, idProduct=00bb, bcdDevice= 1.64
  [    1.561975] usb 1-9: New USB device strings: Mfr=0, Product=0, SerialNumber=1
  [    1.561976] usb 1-9: SerialNumber: fe8ba407f5c7

** lsusb -v

Bus 001 Device 003: ID 06cb:00bb Synaptics, Inc.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass        16
  bDeviceProtocol       255
  bMaxPacketSize0         8
  idVendor           0x06cb Synaptics, Inc.
  idProduct          0x00bb
  bcdDevice            1.64
  iManufacturer           0
  iProduct                0
  iSerial                 1 fe8ba407f5c7
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0035
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           5
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               4
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)

* Environment

** About the environment:
https://pastebin.com/iduMtse4 lscpu
https://pastebin.com/P5dJx0gD lshw
https://pastebin.com/f9gDrQ81 lspci

** ver_linux:

Linux localhost.localdomain 4.19.2-301.fc29.x86_64 #1 SMP Sat Nov 17 17:58:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

GNU Make            	4.2.1
Binutils            	2.31.1
Util-linux          	2.32.1
Mount               	2.32.1
Module-init-tools   	25
E2fsprogs           	1.44.3
Xfsprogs            	4.17.0
Quota-tools         	4.04
PPP                 	2.4.7
Nfs-utils           	2.3.3
Linux C Library     	2.28
Dynamic linker (ldd)	2.28
Linux C++ Library   	6.0.25
Procps              	3.3.15
Net-tools           	2.10
Kbd                 	2.0.4
Console-tools       	2.0.4
Sh-utils            	8.30
Udev                	239
Wireless-tools      	29
Modules Loaded      	ac97_bus acpi_pad acpi_thermal_rel arc4 bluetooth bnep bridge btbcm btintel btrtl btusb ccm cfg80211 cmac coretemp crc32c_intel crc32_pclmul crct10dif_pclmul devlink drm drm_kms_helper ebtable_filter ebtable_nat ebtables ecdh_generic fat fuse ghash_clmulni_intel hp_wireless hp_wmi i2c_algo_bit i2c_hid i2c_i801 i915 int3400_thermal int3403_thermal int340x_thermal_zone intel_cstate intel_hid intel_ish_ipc intel_ishtp intel_lpss intel_lpss_pci intel_pch_thermal intel_powerclamp intel_rapl intel_rapl_perf intel_soc_dts_iosf intel_uncore intel_wmi_thunderbolt ip6table_filter ip6table_mangle ip6table_nat ip6table_raw ip6_tables ip6table_security ip6t_REJECT ip6t_rpfilter ipmi_devintf ipmi_msghandler ip_set iptable_mangle iptable_nat iptable_raw iptable_security ipt_MASQUERADE irqbypass iTCO_vendor_support iTCO_wdt iwlmvm iwlwifi joydev kvm libcrc32c llc lp mac80211 media mei mei_me memstick mmc_core mxm_wmi nf_conntrack nf_conntrack_broadcast nf_conntrack_netbios_ns nf_defrag_ipv4 nf_defrag_ipv6 nf_nat nf_nat_ipv4 nf_nat_ipv6 nfnetlink nf_reject_ipv6 nvidia nvidia_drm nvidia_modeset nvme nvme_core parport parport_pc pcc_cpufreq pinctrl_cannonlake pinctrl_intel ppdev processor_thermal_device rfcomm rfkill rtsx_pci rtsx_pci_ms rtsx_pci_sdmmc serio_raw snd snd_compress snd_hda_codec snd_hda_codec_generic snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_core snd_hda_ext_core snd_hda_intel snd_hwdep snd_pcm snd_pcm_dmaengine snd_seq snd_seq_device snd_soc_acpi snd_soc_acpi_intel_match snd_soc_core snd_soc_skl snd_soc_skl_ipc snd_soc_sst_dsp snd_soc_sst_ipc snd_timer soundcore sparse_keymap st stp sunrpc thunderbolt tun typec typec_ucsi ucsi_acpi uhid uvcvideo vfat video videobuf2_common videobuf2_memops videobuf2_v4l2 videobuf2_vmalloc videodev wmi wmi_bmof x86_pkg_temp_thermal xt_CHECKSUM xt_conntrack xt_CT
Comment 1 FatTony 2018-11-27 19:31:29 UTC
I added logs for kernel 4.20.0.rc4 to a dropbox folder: https://www.dropbox.com/sh/mgg06hjiiilww8t/AAB4WqauCAmcw4X8OfIQK6K1a?dl=0
Comment 2 FatTony 2018-11-28 14:53:26 UTC
After having a closer look, I realized that the unclassified USB device 06cb:00bb isn't the touchpad but the fingerprint reader, also made by Synaptics.

The touchpad's type is SYNA327F. This is also the ID that is written in the corresponding driver's readme: https://support.hp.com/soar-attachment/903/col88070-ob-219568-1-ob-219568-1_sp92064_releasedoc.html

  P: /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:80/SYNA327F:00
  E: DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:80/SYNA327F:00
  E: ID_VENDOR_FROM_DATABASE=Synaptics Inc
  E: MODALIAS=acpi:SYNA327F:PNP0C50:
  E: SUBSYSTEM=acpi
  E: USEC_INITIALIZED=4108359

Also, I should mention that I can only boot the laptop with `noapic` boot option!

Sorry for the confusion, I'm a noob.
Comment 3 FatTony 2018-11-29 07:38:07 UTC
I have found a workaround: Adding the boot-parameter "i8042.nopnp"!

Logs are in the dropbox folder. (https://www.dropbox.com/sh/mgg06hjiiilww8t/AAB4WqauCAmcw4X8OfIQK6K1a)
Comment 4 Adynathos 2019-01-04 15:12:09 UTC
> I can only boot the laptop with `noapic` boot option!

I also had a problem with booting and ACPI on 15-df0850nz: it needed the option `acpi=noirq` to boot.

Turns out that if I enable "legacy boot support" in BIOS, it boots for me without any ACPI options. 
I don't even boot in legacy mode, just having it enabled helps.

However, make sure to have the nvidia driver installed, or add the boot option `nouveau.modeset=0` following [this thread](https://www.reddit.com/r/spectrex360/comments/abib5y/installing_ubuntu_on_the_x360_gemcut_15_inch/).

With a newer kernel (4.19.13 or 4.20), the touchpad, touchscreen and pen are recognized.

The remaining problem is that if the pen comes close to the screen, it stops accepting touch inputs - moving the pen away does not reactivate them.
Comment 5 FatTony 2019-01-04 16:05:28 UTC
Thanks for the hint! After updating to kernel 4.19.13 and enabling "legacy boot support" in df0709nz BIOS, I don't require 'i8042.nopnp' and 'noapic' anymore AND the touchscreen works!

How lovely!

(I don't have a pen so I can't comment on that point.)

Note You need to log in before you can comment on or make changes to this bug.