Thinkpad T550 touchscreen does not work

Bug #1433444 reported by Shevek
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Expired
Low
Unassigned

Bug Description

T: Bus=02 Lev=01 Prnt=01 Port=04 Cnt=02 Dev#= 7 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=056a ProdID=5010 Rev=00.14
S: Manufacturer=Wacom Co.,Ltd.
S: Product=MultiTouch Sensor
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=16mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=(none)

Bus 002 Device 007: ID 056a:5010 Wacom Co., Ltd
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 64
  idVendor 0x056a Wacom Co., Ltd
  idProduct 0x5010
  bcdDevice 0.14
  iManufacturer 1
  iProduct 2
  iSerial 0
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 34
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xe0
      Self Powered
      Remote Wakeup
    MaxPower 16mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 1
      bInterfaceClass 3 Human Interface Device
      bInterfaceSubClass 0 No Subclass
      bInterfaceProtocol 0 None
      iInterface 3
        HID Device Descriptor:
          bLength 9
          bDescriptorType 33
          bcdHID 1.11
          bCountryCode 0 Not supported
          bNumDescriptors 1
          bDescriptorType 34 Report
          wDescriptorLength 537
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 3
          Transfer Type Interrupt
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 2

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: linux-image-3.16.0-31-generic 3.16.0-31.43~14.04.1
ProcVersionSignature: Ubuntu 3.16.0-31.43~14.04.1-generic 3.16.7-ckt5
Uname: Linux 3.16.0-31-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.7
Architecture: amd64
CurrentDesktop: XFCE
Date: Tue Mar 17 23:18:03 2015
InstallationDate: Installed on 2015-03-05 (13 days ago)
InstallationMedia: Xubuntu 14.04.2 LTS "Trusty Tahr" - Release amd64 (20150218.1)
SourcePackage: linux-lts-utopic
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Shevek (r-launchpad-anarres-org) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in linux-lts-utopic (Ubuntu):
status: New → Confirmed
Revision history for this message
Tyler Ham (tyler.ham) wrote :

Notes:
This touch screen reports itself as a Wacom USB device. This should be handled by the wacom_wac.c driver in the kernel. The 0x5010 Product ID is still not explicitly listed in wacom_wac.c as of the latest Linux kernel v4.0-rc4. However, it appears that a catch-all entry, USB_DEVICE_WACOM(HID_ANY_ID), was added to wacom_wac.c beginning in Linux kernel v3.18. This catch-all entry allows for basic touch support.

Solution Needed:
In order to get full support (e.g., multitouch), the wacom_wac.c needs to be updated with a description of the ThinkPad T550's Wacom device with Product ID 0x5010.

Semi-functional workaround:
Use a 3.18 or newer kernel.

I used a v4.0-rc4 mainline kernel (https://wiki.ubuntu.com/Kernel/MainlineBuilds; http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-rc4-vivid/) to workaround the issue on my Thinkpad T550, but I believe a kernel as early as 3.18 would work. My T550's screen accepts basic touches at least. Each touch is treated the same way it would be if it was a mouse cursor left-clicking at that spot (or left-button dragging if I do a drag).

Workaround Note for Thinkpad T550 users:
When I first booted the v4.0-rc4 kernel, my Wi-Fi stopped working. The newer kernel was looking for a newer iwlwifi-7065D-*.ucode firmware binary than what was installed in /lib/firmware in 14.04. To resolve this, I downloaded https://wireless.wiki.kernel.org/_media/en/users/drivers/iwlwifi-7265-ucode-23.15.10.0.tgz, unpacked it, and copied the iwlwifi*.ucode files into /lib/firmware.

Revision history for this message
Shevek (r-launchpad-anarres-org) wrote :

Note that on 3.16.0:

/sys/bus/usb/drivers/wacom$ echo 056A 5010 | sudo tee new_id

causes:

Mar 12 01:01:15 raven kernel: [ 6986.082970] usbcore: registered new
interface driver wacom
Mar 12 01:01:49 raven kernel: [ 7020.275183] wacom: probe of 2-5:1.0 failed
with error -22

So this needs at minimum 3.18 to work at all.

Revision history for this message
Tyler Ham (tyler.ham) wrote :

I got a response back from the linuxwacom-discuss mailing list saying that the USB_DEVICE_WACOM(HID_ANY_ID) catch-all rule should be sufficient for an integrated device like this one. So the real solution is to just install a more recent kernel. The rest will depend on the X driver settings.

Solution:
Use a 3.18 or newer kernel.

Here's what I've found so far:

By default, the "wacom" driver is applied by 50-wacom.conf in xorg.conf.d. In this mode, you get normal single touches/drags and two-finger gestures (like scrolling and right click).

There are a couple of alternatives I've found, and both have about the same result: three- and four-finger Unity gestures work (https://wiki.ubuntu.com/Multitouch), but two-finger gestures no longer work everywhere. Some applications seem to support two-finger scrolling while others don't. I can live with that, so I prefer to implement an alternative to enable the three- and four-finger gestures.

Alternative 1: delete 50-wacom.conf or comment out the "Wacom class" so that X use the "evdev" driver instead of the "wacom" driver.

Alternative 2: Add 'Option "Gesture" "off"' in the "Wacom class" section of 50-wacom.conf to disable in-driver two-finger gestures so that they will be passed up to X instead. (see http://linuxwacom.sourceforge.net/wiki/index.php/Multitouch#Disable_xf86-input-wacom_In-driver_2FGT_Gestures).

I haven't thoroughly tested these two alternatives to know if there are any other differences, but for now I'm using Alternative 2.

Bug 1227214 seems to be covering the remaining matter of three- and four-finger gestures not working when running with the "wacom" driver without also disabling in-driver two-finger touches (and losing a lot of two-finger gesture functionality across the board in the process).

Revision history for this message
Shevek (r-launchpad-anarres-org) wrote :

Confirmed somewhat working but not yet pleasant to use on Vivid.

Revision history for this message
penalvch (penalvch) wrote :

Shevek, thank you for reporting this and helping make Ubuntu better. Could you please execute the following command, as it will automatically gather debugging information, in a terminal:
apport-collect 1417450

affects: linux-lts-utopic (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
importance: Undecided → Low
status: Confirmed → Incomplete
Revision history for this message
Shevek (r-launchpad-anarres-org) wrote :

You are not the reporter or subscriber of this problem report, or the report is a duplicate or already closed.

Please create a new report using "apport-bug".

Revision history for this message
Shevek (r-launchpad-anarres-org) wrote :

@penalvch: That wsa the error message that apport-collect gave me

Revision history for this message
penalvch (penalvch) wrote :

Shevek, could you please try it again and advise to the results?

Usually, that error message would only happen if one had two Launchpad accounts, one where it was originally reported with, and another when one attempted to apport-collect with.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
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.