Linux 内核:让 ELAN 触摸屏工作,与 USB 调试相关

Linux 内核:让 ELAN 触摸屏工作,与 USB 调试相关

这个问题实际上是已知的(ext:ELAN 触摸屏在最近的 3.12 中回归),但内核 3.13.6 之前没有已知解决方案:

[ 3844.533281] usb 2-7: new full-speed USB device number 91 using xhci_hcd
[ 3846.552668] usb 2-7: unable to read config index 0 descriptor/start: -71
[ 3846.552674] usb 2-7: can't read configurations, error -71
[ 3846.705075] usb 2-7: new full-speed USB device number 92 using xhci_hcd
[ 3848.724196] usb 2-7: unable to read config index 0 descriptor/start: -71
[ 3848.724203] usb 2-7: can't read configurations, error -71
[ 3848.876892] usb 2-7: new full-speed USB device number 93 using xhci_hcd
[ 3848.889370] usb 2-7: New USB device found, idVendor=04f3, idProduct=016f
[ 3848.889373] usb 2-7: New USB device strings: Mfr=4, Product=14, SerialNumber=0
[ 3848.889375] usb 2-7: Product: Touchscreen
[ 3848.889377] usb 2-7: Manufacturer: ELAN
[ 3848.889535] usb 2-7: ep 0x2 - rounding interval to 64 microframes, ep desc says 80 microframes
[ 3850.896928] usb 2-7: USB disconnect, device number 93
[ 3851.180686] usb 2-7: new full-speed USB device number 94 using xhci_hcd

不幸的是,预期的解决方案对我不起作用。我已禁用所有功能调试在内核中,除了这些:

CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_SLUB_DEBUG=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_DEBUG_FS=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y

usbtouchscreen 模块已禁用(如 Arch wiki 上所建议的)。有什么想法吗?


问题解决了

因此在 3.14 和 3.15-rc8 之间的某个时刻它开始工作。

配置:http://www.everfall.com/paste/id.php?pmj1v6mwhaly

答案1

尝试在内核中启用 hid-multitouch 模块:

-> Device Drivers
  -> HID support
    -> HID bus support (HID [=y])
      -> Special HID drivers
        -> HID Multitouch panels

相关内容