Dell ST2220T Monitor responds to touch only on warm boot from windows

Bug #791833 reported by luckymurari
84
This bug affects 13 people
Affects Status Importance Assigned to Milestone
OEM Priority Project
High
Canonical Kernel Team
Oneiric
Undecided
Unassigned
linux (Ubuntu)
Undecided
Unassigned
Nominated for Natty by Chris Van Hoof

Bug Description

Dell ST2220T Monitors have been purchased. On first install, the touchscreen worked pretty well. But it started to behave weird after restarts. The behaviour is as follows:

On cold boot touch never works. But once going to Windows 7 and coming back after a warm boot, the touch works perfectly. From now, it works until there are no cold boots. Once cold boot happens into Ubuntu, touch stops working. This behaviour has been consistent. I tried to put usbhid.quirks with <vendorid> : <productid>: 0x40 as mentioned here http://ubuntuforums.org/showthread.php?p=10287057#post10287057 but it did not work.

This is on Ubuntu Natty.

A patch from Red Hat bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=703118 seems to help the issue significantly, but, a few touch features (such as "click") seem to still need some work. The patch doesn't seem to be upstream yet in the mainline kernel.

SRU Request:

Impact:

Customer currently has 150 of these monitors with plans to expand to 1,500 next year and 10,000 in the year after that. Getting these devices to
work with ubuntu will help out a lot with cost reduction for the customer.

Patch:

See bugzilla reference above.

Steps to reproduce:

1) Install 11.04 (In this case the system was dual-booted with Windows 7)
2) Without the patch, the touchscreen only seems to work if the machine is warm-rebooted from Windows. The touch features don't work at all if the system is cold-booted into Ubuntu.
3) With the patch, the touchscreen appears to work with cold boots and warm reboots, but, 'click' features on the touchscreen still need to be applied.

TEST CASE:

Apply the patch to the kernel, then test the touchscreen after warm reboots and cold boots to ensure that the touchscreen is fully functional. Customer has agreed to assist with testing, etc.

Regression Potential:

Unknown at this time. Patch appears to be pretty trivial and isolated so regression potential seems to be pretty low.

Revision history for this message
In , ritz (ritz-redhat-bugs) wrote :

Description of problem:
Dell ST2220T does not work. The device is seen, but no events are registered

Version-Release number of selected component (if applicable):
kernel 2.6.38.5-24.fc15.x86_64 x86_64 GNU/Linux

How reproducible:
always

Steps to Reproduce:
1. Plugin the device

Actual results:
evtest returns no result

Expected results:
touch should be registered

Additional info:

The device is seen as a mouse ???

# cat /tmp/o
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ LG Display LGD-MultiTouch id=10 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Dell Dell USB Keyboard Hub id=6 [slave keyboard (3)]
    ↳ Dell Dell USB Keyboard Hub id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Power Button id=9 [slave keyboard (3)]

from dmesg

[ 14.340313] hub 5-0:1.0: unable to enumerate USB device on port 2
[ 14.413131] usb 1-1.1: new full speed USB device using ehci_hcd and address 6
[ 14.500874] usb 1-1.1: New USB device found, idVendor=1fd2, idProduct=0064
[ 14.501179] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 14.501696] usb 1-1.1: Product: LGD-MultiTouch
[ 14.501977] usb 1-1.1: Manufacturer: LG Display
[ 14.506445] input: LG Display LGD-MultiTouch as /devices/pci0000:00/0000:00:13.5/usb1/1-1/1-1.1/1-1.1:1.0/input/input2
[ 14.508329] generic-usb 0003:1FD2:0064.0001: input,hiddev0,hidraw0: USB HID v1.00 Mouse [LG Display LGD-MultiTouch] on usb-0000:00:13.5-1.1/input0

from evtest
# evtest /dev/input/event2
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x1fd2 product 0x64 version 0x100
Input device name: "LG Display LGD-MultiTouch"
Supported events:
  Event type 0 (Sync)
  Event type 1 (Key)
    Event code 272 (LeftBtn)
    Event code 273 (RightBtn)
    Event code 320 (ToolPen)
    Event code 321 (ToolRubber)
    Event code 330 (Touch)
  Event type 3 (Absolute)
    Event code 0 (X)
      Value 0
      Min 0
      Max 1920
    Event code 1 (Y)
      Value 0
      Min 0
      Max 1080
    Event code 2 (Z)
      Value 0
      Min 0
      Max 1920
    Event code 3 (Rx)
      Value 0
      Min 0
      Max 1080
    Event code 4 (Ry)
      Value 0
      Min 0
      Max 32767
    Event code 5 (Rz)
      Value 0
      Min 0
      Max 32767
    Event code 40 (Misc)
      Value 0
      Min 0
      Max 1
    Event code 41 (?)
      Value 0
      Min 0
      Max 1
    Event code 42 (?)
      Value 0
      Min 0
      Max 1080
  Event type 4 (Misc)
    Event code 4 (ScanCode)
Testing ... (interrupt to exit)
<nothing follows>

Revision history for this message
luckymurari (googlinx) wrote :

Anyone can help please?

Revision history for this message
In , ritz (ritz-redhat-bugs) wrote :

Adding Gopal to list, who has managed to talk to the h/w and is working on this.

Revision history for this message
luckymurari (googlinx) wrote :

Will any one please help?

Revision history for this message
Stephen M. Webb (bregma) wrote :

It sounds like the device needs a firmware upload on boot.

Does the device appear in an 'lsusb' listing (on the command line) after a cold boot?

Revision history for this message
luckymurari (googlinx) wrote :

The device is appearing in the lsusb listing.

#$ lsusb
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 413c:2107 Dell Computer Corp.
Bus 002 Device 002: ID 0461:4d81 Primax Electronics, Ltd
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 005: ID 1fd2:0064
Bus 001 Device 004: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

It is Device number 5. (the one with the blank name)

Revision history for this message
Stephen M. Webb (bregma) wrote :

OK, what does 'xinput list' show (you may need to install the xinput package to get this tool)?

Revision history for this message
luckymurari (googlinx) wrote :

~#$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ USB Optical Mouse id=8 [slave pointer (2)]
⎜ ↳ LG Display LGD-MultiTouch id=10 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Power Button id=7 [slave keyboard (3)]
    ↳ Dell Dell USB Entry Keyboard id=9 [slave keyboard (3)]

Revision history for this message
Mohamed IKBEL Boulabiar (boulabiar) wrote :

What's the manufactuer type of the multitouch device ?
Ntrig? NextWindow ?

can you do a
$ sudo lsinput

Revision history for this message
luckymurari (googlinx) wrote :

No idea about manufacturer type. Will you please tell the same.

And here is the lsinput result

#~$ sudo lsinput
/dev/input/event0
   bustype : BUS_HOST
   vendor : 0x0
   product : 0x1
   version : 0
   name : "Power Button"
   phys : "PNP0C0C/button/input0"
   bits ev : EV_SYN EV_KEY

/dev/input/event1
   bustype : BUS_HOST
   vendor : 0x0
   product : 0x1
   version : 0
   name : "Power Button"
   phys : "LNXPWRBN/button/input0"
   bits ev : EV_SYN EV_KEY

/dev/input/event2
   bustype : BUS_USB
   vendor : 0x461
   product : 0x4d81
   version : 273
   name : "USB Optical Mouse"
   phys : "usb-0000:00:1d.0-1/input0"
   uniq : ""
   bits ev : EV_SYN EV_KEY EV_REL EV_MSC

/dev/input/event3
   bustype : BUS_USB
   vendor : 0x413c
   product : 0x2107
   version : 272
   name : "Dell Dell USB Entry Keyboard"
   phys : "usb-0000:00:1d.0-2/input0"
   uniq : ""
   bits ev : EV_SYN EV_KEY EV_MSC EV_LED EV_REP

/dev/input/event4
   bustype : BUS_USB
   vendor : 0x1fd2
   product : 0x64
   version : 256
   name : "LG Display LGD-MultiTouch"
   phys : "usb-0000:00:1d.7-4.1/input0"
   uniq : ""
   bits ev : EV_SYN EV_KEY EV_ABS EV_MSC

Revision history for this message
Mohamed IKBEL Boulabiar (boulabiar) wrote :

it seems it's a new type of devices
(I can't find it on any of known mt devices)

But if it is reporting event, then it should be already using a module.
(maybe just hid, don't know !)

Can you give again the result of lsmod command ?
Maybe some people from the mutli-touch-dev list can help too.

Revision history for this message
luckymurari (googlinx) wrote :

As far as I know, the device works based on IR and not resistive.

Here is the lsmod output

#~$ lsmod
Module Size Used by
snd_hda_codec_analog 75442 1
binfmt_misc 13213 1
snd_hda_intel 24140 2
snd_hda_codec 90901 2 snd_hda_codec_analog,snd_hda_intel
snd_hwdep 13274 1 snd_hda_codec
snd_pcm 80244 2 snd_hda_intel,snd_hda_codec
snd_seq_midi 13132 0
i915 450944 3
snd_rawmidi 25269 1 snd_seq_midi
joydev 17322 0
snd_seq_midi_event 14475 1 snd_seq_midi
snd_seq 51291 2 snd_seq_midi,snd_seq_midi_event
snd_timer 28659 2 snd_pcm,snd_seq
snd_seq_device 14110 3 snd_seq_midi,snd_rawmidi,snd_seq
usbhid 41704 0
ppdev 12849 0
drm_kms_helper 40745 1 i915
hid 77084 1 usbhid
dcdbas 14054 0
snd 55295 13 snd_hda_codec_analog,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
drm 180037 4 i915,drm_kms_helper
psmouse 73312 0
i2c_algo_bit 13184 1 i915
soundcore 12600 1 snd
parport_pc 32111 1
serio_raw 12990 0
snd_page_alloc 14073 2 snd_hda_intel,snd_pcm
video 18951 1 i915
lp 13349 0
parport 36746 3 ppdev,parport_pc,lp
tg3 131476 0

Would like to listen from multi-touch-dev s too.

Revision history for this message
Stéphane Chatty (chatty) wrote : Re: [Multi-touch-dev] [Bug 791833] Re: Dell ST2220T Monitor responds totouch only on warm boot from windows

Hi,

this is the first time Benjamin and I hear about this device. From the report descriptors we found in a forum, it looks like the device should work properly with the latest version of hid-multitouch (patches submitted by Benjamin last week). To check this, one would just need to list the vid:pid of the device in has_special_driver in hid-core.c, then recompile/reinstall the hid module.

Cheers,

St.

Le 14 juin 2011 à 15:14, <email address hidden> a écrit :

> it seems it's a new type of devices
> (I can't find it on any of known mt devices)
>
> But if it is reporting event, then it should be already using a module.
> (maybe just hid, don't know !)
>
> Can you give again the result of lsmod command ?
> Maybe some people from the mutli-touch-dev list can help too.
>
> --
> You received this bug notification because you are a member of Multi-
> touch Development, which is subscribed to the bug report.
> https://bugs.launchpad.net/bugs/791833
>
> Title:
> Dell ST2220T Monitor responds to touch only on warm boot from windows
>
> Status in “utouch” package in Ubuntu:
> New
>
> Bug description:
> Binary package hint: utouch
>
> I recently bought a Dell ST2220T Monitor. On first install, The touch
> worked pretty well. But it started to behave weird after restarts. The
> behaviour is as follows:
>
> On cold boot touch never works. But once going to Windows 7 and coming
> back after a warm boot, the touch works perfectly. From now, it works
> until there are no cold boots. Once cold boot happens into Ubuntu,
> touch stops working. This behaviour has been consistent. I tried to
> put usbhid.quirks with <vendorid> : <productid>: 0x40 as mentioned
> here http://ubuntuforums.org/showthread.php?p=10287057#post10287057
> but it did not work.
>
> I am using Ubuntu Natty
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/utouch/+bug/791833/+subscriptions
>
> _______________________________________________
> Mailing list: https://launchpad.net/~multi-touch-dev
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~multi-touch-dev
> More help : https://help.launchpad.net/ListHelp

Revision history for this message
luckymurari (googlinx) wrote :

@Stephane Chatty

Can you please tell how to recompile the hid module.

Revision history for this message
Ruben Fernandes (rubenfernandes) wrote :

Same problem for me. How do we recompile the hid module?

Revision history for this message
In , gopal (gopal-redhat-bugs) wrote :

Created attachment 505530
DELL-ST2220T Touch Screen Monitor Driver Patch

this is the patch to Start getting event or touch event from the DELL-ST2220T Touch screen monitor......to the upper layer.

Revision history for this message
luckymurari (googlinx) wrote :

@Stephane Can you please update regarding this?

Revision history for this message
Ritesh Khadgaray (khadgaray) wrote :

> properly with the latest version of hid-multitouch (patches submitted by Benjamin last week).
> To check this, one would just need to list the vid:pid
Where could I find the source for this ?

Gopal Tiwari has posted a patch for this ( h/w init) at - https://bugzilla.redhat.com/show_bug.cgi?id=703118 .

Revision history for this message
Ruben Fernandes (rubenfernandes) wrote :

Apologies if this is a stupid question, but how do I apply the patch? Also in the description it says Fedora not Ubuntu, so I guess this can be applied to Ubuntu too?

Revision history for this message
Ruben Fernandes (rubenfernandes) wrote :

I've tried:

patch -p1 < hid-core.patch

but this results in the following error messages:

patching file drivers/hid/hid-core.c
Hunk #1 FAILED at 1500.
Hunk #2 FAILED at 1837.
Hunk #3 FAILED at 1883.
3 out of 3 hunks FAILED -- saving rejects to file drivers/hid/hid-core.c.rej
patching file drivers/hid/usbhid/hid-core.c
Hunk #1 FAILED at 240.
Hunk #2 FAILED at 654.
Hunk #3 FAILED at 983.
Hunk #4 FAILED at 1156.
4 out of 4 hunks FAILED -- saving rejects to file drivers/hid/usbhid/hid-core.c.rej
patching file drivers/input/touchscreen/usbtouchscreen.c
Hunk #1 FAILED at 59.
Hunk #2 FAILED at 138.
Hunk #3 FAILED at 195.
Hunk #4 FAILED at 238.
Hunk #5 FAILED at 335.
Hunk #6 FAILED at 1139.
6 out of 6 hunks FAILED -- saving rejects to file drivers/input/touchscreen/usbtouchscreen.c.rej

Revision history for this message
Ritesh Khadgaray (khadgaray) wrote :

works fine for me using linux git snapshot .
ubuntu might have patched usb stack, you might have to manually merge the changes in.

Revision history for this message
luckymurari (googlinx) wrote :

I tried applying the patch mentioned by Ritesh.

After applying the patch, realized that the patch doesn't support click yet. Tried to contact Ritesh, but got to know that he is on vacation and that The "click" event on the patch is not applied yet.

Can anyone help in getting the click also to work? Any pointers?

Revision history for this message
Ruben Fernandes (rubenfernandes) wrote :

lucymurari,

Do you have to download the kernel source, apply the patch, rebuild and install just to apply the patch, or is there an easier way to apply the patch to the specific modules?

Revision history for this message
luckymurari (googlinx) wrote :

@Ruben

That is the only way , I found. But even after doing all that, I remind you that click functionality is not yet working!!

Revision history for this message
Kent Baxley (kentb) wrote :

Customer and Dell India have been doing confirmation work and will assist with troubleshooting and testing. Marking bug as such.

Changed in utouch (Ubuntu):
status: New → Confirmed
Changed in oem-priority:
importance: Undecided → High
Changed in oem-priority:
assignee: nobody → Canonical Platform QA Team (canonical-platform-qa)
Kent Baxley (kentb)
affects: utouch (Ubuntu) → linux (Ubuntu)
Revision history for this message
Kent Baxley (kentb) wrote :

Patch from Bugzilla report.

description: updated
Revision history for this message
Ruben Fernandes (rubenfernandes) wrote :

@Kent Baxley

luckmurari has tried to apply this patch, but click functionality is not working

Revision history for this message
Kent Baxley (kentb) wrote :

@ Ruben,

Right. I understand that. I posted it so that it would be easier for others working on this to access the patch.

Changed in oem-priority:
assignee: Canonical Platform QA Team (canonical-platform-qa) → Canonical Kernel Team (canonical-kernel-team)
Chris Van Hoof (vanhoof)
Changed in oem-priority:
status: New → Confirmed
Revision history for this message
In , Josh (josh-redhat-bugs) wrote :

(In reply to comment #2)
> Created attachment 505530 [details]
> DELL-ST2220T Touch Screen Monitor Driver Patch
>
> this is the patch to Start getting event or touch event from the DELL-ST2220T
> Touch screen monitor......to the upper layer.

Did you ever send this patch upstream? I don't see anything related to it in the latest kernels.

Revision history for this message
In , gopal (gopal-redhat-bugs) wrote :

(In reply to comment #3)
> (In reply to comment #2)
> > Created attachment 505530 [details]
> > DELL-ST2220T Touch Screen Monitor Driver Patch
> >
> > this is the patch to Start getting event or touch event from the DELL-ST2220T
> > Touch screen monitor......to the upper layer.
>
> Did you ever send this patch upstream? I don't see anything related to it in
> the latest kernels.

I have Forwarded the patch to upstream but don't have any reply.

Revision history for this message
In , Chris (chris-redhat-bugs) wrote :

I rolled this patch into a kernel build of 2.6.40.3-0

evtest shows:
--------------------
...
/dev/input/event4: LG Display LGD-MultiTouch
Select the device event number [0-4]: 4
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x1fd2 product 0x64 version 0x200
Input device name: "LG Display LGD-MultiTouch"
Supported events:
  Event type 0 (Sync)
  Event type 1 (Key)
    Event code 330 (Touch)
  Event type 3 (Absolute)
    Event code 0 (X)
      Value 0
      Min 0
      Max 16384
    Event code 1 (Y)
      Value 0
      Min 0
      Max 16384
Testing ... (interrupt to exit)
Event: time 1315080222.016585, type 3 (Absolute), code 0 (X), value 9622
Event: time 1315080222.016588, type 3 (Absolute), code 1 (Y), value 6600
Event: time 1315080222.016590, -------------- Report Sync ------------

----------------

I only see type 3 events, no touches or (Key) or left button events. Making this not a very good touch screen unless all you want to do is move the cursor around.

Revision history for this message
In , ritz (ritz-redhat-bugs) wrote :

Hi Chris

  all this patch does is initialize the device, and report back the cursor. All touch on such a device is supposed to be registered as click. I am not sure, if this is the right way to do this, or do we use hoverclick.

Revision history for this message
In , Chris (chris-redhat-bugs) wrote :
Download full text (6.9 KiB)

(In reply to comment #6)
> Hi Chris
>
> all this patch does is initialize the device, and report back the cursor. All
> touch on such a device is supposed to be registered as click. I am not sure, if
> this is the right way to do this, or do we use hoverclick.

Perhaps all touch should be a click but with this patch, there's no click, key or other event.

If I switch to the standard x_86_64 kernel:
-----------
2.6.40.3-0.fc15.x86_64 #1 SMP Tue Aug 16 04:10:59 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
-----------

and run evtest again it still shows up as an LG Display LGD-Multitouch. evtest spits out a lot of stuff, with just one touch. Here it all is
-----------
...
[root@zbox1 ctopher]# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Power Button
/dev/input/event1: Power Button
/dev/input/event2: PIXART USB OPTICAL MOUSE
/dev/input/event3: Alps Electric M2452
/dev/input/event4: LG Display LGD-MultiTouch
Select the device event number [0-4]: 4
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x1fd2 product 0x64 version 0x100
Input device name: "LG Display LGD-MultiTouch"
Supported events:
  Event type 0 (Sync)
  Event type 1 (Key)
    Event code 272 (LeftBtn)
    Event code 273 (RightBtn)
    Event code 320 (ToolPen)
    Event code 321 (ToolRubber)
    Event code 330 (Touch)
  Event type 3 (Absolute)
    Event code 0 (X)
      Value 0
      Min 0
      Max 1920
    Event code 1 (Y)
      Value 0
      Min 0
      Max 1080
    Event code 2 (Z)
      Value 0
      Min 0
      Max 1920
    Event code 3 (Rx)
      Value 0
      Min 0
      Max 1080
    Event code 4 (Ry)
      Value 0
      Min 0
      Max 32767
    Event code 5 (Rz)
      Value 0
      Min 0
      Max 32767
    Event code 40 (Misc)
      Value 0
      Min 0
      Max 1
    Event code 41 (?)
      Value 0
      Min 0
      Max 1
    Event code 42 (?)
      Value 0
      Min 0
      Max 1080
  Event type 4 (Misc)
    Event code 4 (ScanCode)
Testing ... (interrupt to exit)
Event: time 1315082268.710873, type 4 (Misc), code 4 (ScanCode), value d0042
Event: time 1315082268.710876, type 1 (Key), code 330 (Touch), value 1
Event: time 1315082268.710883, type 1 (Key), code 320 (ToolPen), value 1
Event: time 1315082268.710889, type 3 (Absolute), code 40 (Misc), value 2
Event: time 1315082268.710895, type 3 (Absolute), code 0 (X), value 553
Event: time 1315082268.710901, type 3 (Absolute), code 1 (Y), value 333
Event: time 1315082268.710907, type 4 (Misc), code 4 (ScanCode), value d0042
Event: time 1315082268.710910, type 1 (Key), code 330 (Touch), value 0
Event: time 1315082268.710920, type 3 (Absolute), code 41 (?), value 3
Event: time 1315082268.710926, type 3 (Absolute), code 2 (Z), value 65535
Event: time 1315082268.710931, type 3 (Absolute), code 3 (Rx), value 65535
Event: time 1315082268.710938, type 3 (Absolute), code 42 (?), value 2
Event: time 1315082268.710941, -------------- Report Sync ------------
Event: time 1315082268.718873, type 4 (Misc), code 4 (ScanCode)...

Read more...

Revision history for this message
In , chew (chew-redhat-bugs) wrote :

Hi Chris,

By changing the line "dev->touch = (pkt[2] & 0x03) ? 1 : 0" to "dev->touch = (pkt[1] & 0x03) ? 1 : 0" under st2220t_read_data() function in the driver patch, the click functionality will be able to work properly. Note: I have tried it on Fedora 14 with kernel 2.6.38 (64 bit).

Hope it helps.

Revision history for this message
In , gopal (gopal-redhat-bugs) wrote :

Hi,

chris, I am agreed to comment 8. But issue with this monitor is it does not give any click events instead it has only touch for this you can use hoverclick as suggested in comment 6. Rather i have tried registering click event over touch but the issue is when you move mouse it take as click and when you take your finger off from the screen your click off so it disturb everything. So in that case you need to sacrifice with mouse movement.

Revision history for this message
In , Chris (chris-redhat-bugs) wrote :
Download full text (3.1 KiB)

Hi chew,

It works!

For everyone else, here's what I did. I followed along with this wiki article

http://fedoraproject.org/wiki/Building_a_custom_kernel

I skipped "Copy the Source Tree and Generate a Patch" and copied the standard config for x86_64. I ran xconfig, but I didn't change anything. (usbtouchscreen is defined as a loadable module)

I downloaded the patch file from this bug report and put it in the SOURCES directory.

I modified the SPECS/kernel.spec file and defined "buildid" as ".Dell_ST2220T" so that the new kernel would have a unique name. I added the patch to the kernel.specs file as well.

I followed the instructions on building the kernel and firmware, but I could never get the firmware to install. I ended up installing the kernel using:

"su -c "rpm -ivh --force $HOME/rpmbuild/RPMS/<arch>/kernel-<version>.<arch>.rpm"

I got warnings, but it loaded.

Unfortunately, the patch as written does not emit touch events, just position, so I had to make the "chew" change in comment 8. Fortunately, I had gone through the pain of building and installing a custom kernel, so I just had to figure out how to modify just the usbtouchscreen.ko module and load it up.

I changed directories into the linux source "$HOME/rpmbuild//BUILD/kernel-2.6.39.fc15/linux-2.6.39.x86_64" in my case and issued a make command for the module:

"make drivers/input/touchscreen/usbtouchscreen.ko"

Then to install is, I used:
"su insmod ./drivers/input/touchscreen/usbtouchscreen.ko"

plugged in the Dell USB and it worked!

When I run evtest and just touch the screen and take my finger off I get:
---------------------
...
/dev/input/event4: LG Display LGD-MultiTouch
Select the device event number [0-4]: 4
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x1fd2 product 0x64 version 0x200
Input device name: "LG Display LGD-MultiTouch"
Supported events:
  Event type 0 (Sync)
  Event type 1 (Key)
    Event code 330 (Touch)
  Event type 3 (Absolute)
    Event code 0 (X)
      Value 9667
      Min 0
      Max 16384
    Event code 1 (Y)
      Value 8535
      Min 0
      Max 16384
Testing ... (interrupt to exit)
Event: time 1315245129.689025, type 1 (Key), code 330 (Touch), value 1
Event: time 1315245129.689029, type 3 (Absolute), code 0 (X), value 7687
Event: time 1315245129.689031, type 3 (Absolute), code 1 (Y), value 7455
Event: time 1315245129.689034, -------------- Report Sync ------------
Event: time 1315245129.733038, type 1 (Key), code 330 (Touch), value 0
Event: time 1315245129.733052, -------------- Report Sync ------------
^C
---------------------

Using this driver I've been successful at dragging objects around in Nautilus, touching and dragging interface objects in Firefox etc.

Of course be careful.

Thanks to all for the help!

gopal, I'm not sure what you mean by disturb everything. I have not extensively tested this patched patch, but so far I able to get simple mouse-type actions with it. It's not multi-touch as far as I know, but then that's beyond my current specifications. So far this works for me. I'm hoping the module will load the next time I reboot!

Thanks again. I'll keep folks posted if I have further iss...

Read more...

Chris Van Hoof (vanhoof)
Changed in oem-priority:
status: Confirmed → Invalid
tags: added: testcase
Revision history for this message
Benjamin Tissoires (tissoire) wrote :

Hi All,

just for your interest, https://lkml.org/lkml/2011/7/24/135 adds support for this panel in hid-multitouch.
The patch has been accepted by Jiri, so it will be mainstream soon.

Cheers,
Benjamin

Revision history for this message
Benjamin Tissoires (tissoire) wrote :

Sorry for the noise. I gave the wrong address. This one is better: https://lkml.org/lkml/2011/8/16/2

Revision history for this message
Julian Wiedmann (jwiedmann) wrote :

The patch from comment #27 has landed in oneiric-updates (3.0.0-14.23).

Revision history for this message
Tyler Wagler (tyler-wagler) wrote :

Are there any updates on this? My device is not working even up to 3.0.0-15.

Revision history for this message
isi (isiupisi) wrote :

Hi everybody,
Nothing more under 3.2.0-8.

Is there today a way to help ST220T working well under linux ??
If i compile the kernel with the patch, will i have click functionality ??

Thanks for all,
iSi.

Revision history for this message
Stéphane Chatty (chatty) wrote : Re: [Bug 791833] Re: Dell ST2220T Monitor responds to touch only on warmboot from windows

Hi,

Benjamin and I could try to address this if we had access to the device. If someone feels like sending one to us, we'll be glad to help.

Cheers,

St.

Le 12 janv. 2012 à 14:04, <email address hidden> a écrit :

> Hi everybody,
> Nothing more under 3.2.0-8.
>
> Is there today a way to help ST220T working well under linux ??
> If i compile the kernel with the patch, will i have click functionality ??
>
> Thanks for all,
> iSi.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/791833
>
> Title:
> Dell ST2220T Monitor responds to touch only on warm boot from windows
>
> Status in OEM Priority Project:
> Invalid
> Status in OEM Priority Project oneiric series:
> Invalid
> Status in “linux” package in Ubuntu:
> Confirmed
> Status in “linux” source package in Oneiric:
> Confirmed
> Status in “linux” package in Fedora:
> Unknown
>
> Bug description:
> Dell ST2220T Monitors have been purchased. On first install, the
> touchscreen worked pretty well. But it started to behave weird after
> restarts. The behaviour is as follows:
>
> On cold boot touch never works. But once going to Windows 7 and coming
> back after a warm boot, the touch works perfectly. From now, it works
> until there are no cold boots. Once cold boot happens into Ubuntu,
> touch stops working. This behaviour has been consistent. I tried to
> put usbhid.quirks with <vendorid> : <productid>: 0x40 as mentioned
> here http://ubuntuforums.org/showthread.php?p=10287057#post10287057
> but it did not work.
>
> This is on Ubuntu Natty.
>
> A patch from Red Hat bugzilla:
> https://bugzilla.redhat.com/show_bug.cgi?id=703118 seems to help the
> issue significantly, but, a few touch features (such as "click") seem
> to still need some work. The patch doesn't seem to be upstream yet in
> the mainline kernel.
>
>
>
> SRU Request:
>
> Impact:
>
> Customer currently has 150 of these monitors with plans to expand to 1,500 next year and 10,000 in the year after that. Getting these devices to
> work with ubuntu will help out a lot with cost reduction for the customer.
>
> Patch:
>
> See bugzilla reference above.
>
> Steps to reproduce:
>
> 1) Install 11.04 (In this case the system was dual-booted with Windows 7)
> 2) Without the patch, the touchscreen only seems to work if the machine is warm-rebooted from Windows. The touch features don't work at all if the system is cold-booted into Ubuntu.
> 3) With the patch, the touchscreen appears to work with cold boots and warm reboots, but, 'click' features on the touchscreen still need to be applied.
>
> TEST CASE:
>
> Apply the patch to the kernel, then test the touchscreen after warm
> reboots and cold boots to ensure that the touchscreen is fully
> functional. Customer has agreed to assist with testing, etc.
>
> Regression Potential:
>
> Unknown at this time. Patch appears to be pretty trivial and isolated
> so regression potential seems to be pretty low.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/oem-priority/+bug/791833/+subscriptions

Revision history for this message
isi (isiupisi) wrote :

@ Stéphane Chatty : Thanks for quick reply !

I wrote you a private mail to see if i can help.

Revision history for this message
L Jackson (ljackson) wrote :

Hi,
I'm unsure whether this is of any help but when I press a single point anywhere in the screen (and then release your finger) the mouse position jumps to the bottom left of the screen. I assume this is X 0 Y 0?
What commands would I run from the terminal to get a live readout of the co-ordinates that the monitor is sending as X Y co-ordinates?
When pressing with 1 finger and then another the pointer moves from the bottom right 0,0 to where the 2nd finger lands.
The only output I got that seemed different to others I see posted is the xinput list --long
LG Display LGD-MultiTouch id=10 [slave pointer (2)]
 Reporting 6 classes:
  Class originated from: 10
  Buttons supported: 5
  Button labels: Button Unknown Button Unknown Button Unknown Button Wheel Up Button Wheel Down
  Button state:
  Class originated from: 10
  Detail for Valuator 0:
    Label: Abs X
    Range: 0.000000 - 1920.000000
    Resolution: 10000 units/m
    Mode: absolute
    Current value: 960.000000
  Class originated from: 10
  Detail for Valuator 1:
    Label: Abs Y
    Range: 0.000000 - 1080.000000
    Resolution: 10000 units/m
    Mode: absolute
    Current value: 540.000000
  Class originated from: 10
  Multitouch capable (max 18 touches):
    Mode: Direct Touch
  Class originated from: 10
  Detail for Touch Valuator 0:
    Label: Abs MT Position X
    Range: 0.000000 - 1920.000000
    Resolution: 0 units/m
  Class originated from: 10
  Detail for Touch Valuator 1:
    Label: Abs MT Position Y
    Range: 0.000000 - 1080.000000
    Resolution: 0 units/m

Is there anything else I can do to help?
Thanks

Revision history for this message
L Jackson (ljackson) wrote :

Here is a screenshot of xinput test-xi2 10 in the following scenarios:
Press 1 point and release (jpg).
point 1 bottom right then dragging point 2 from right to left across bottom of screen
I know I'm clutching at straws but just trying to shed any light I can on what the device is reporting during use.
Thanks

Revision history for this message
Benjamin Tissoires (tissoire) wrote :

Hi,

I've been reported this behavior last week (the strange touches).
After getting some logs, I definitively spotted the bug. ;-)

Now, I think I found the solution.
I'm posting the patch here to get more tests before sending it upstream.

Cheers,
Benjamin

Revision history for this message
L Jackson (ljackson) wrote :

Hi Benjamin,
thank you very much for the patch. I have dabbled a bit using git in the past and have the core packages installed. Is there a simple technique to apply these changes to hid-multitouch.c?

Many thanks,
Lawrence

Revision history for this message
isi (isiupisi) wrote :

PERFECT !

@Benjamin Tissoires :
Hudges thanks !
Didn't test much about multipoint and right clic, but the device is well recognised, i got clic functionality and can now use onboard !!
( I have now a pretty nice & easy desktop for MAO, sweet !! :p )
Sorry for late reply, just some problems last days.

@L Jackson :
There's surely an easiest and shortest way (building only needed module), but i compiled my kernel after patching the source with :
patch -p1 --dry-run < /[path_of_patch]/0001-HID-multitouch-fix-handling-of-buggy-reports-descrip.patch
at the root of the kernel source, removing the option "--dry-run" if no error is reported to apply it really.
Hope it helps.

Thanks again !!
& take it isi ;-)

Revision history for this message
isi (isiupisi) wrote :

Some precisions after few tests:

- Just two fingers max are recognised by mtview, gesturetest and ginn.

- I managed a right clic with a two-finger-tap adding an entry in /etc/ginn/wishes.xml

Revision history for this message
isi (isiupisi) wrote :
Revision history for this message
isi (isiupisi) wrote :
Revision history for this message
In , Josh (josh-redhat-bugs) wrote :

The basic support should be in all Fedora releases at this point. Upstream added this with commit c50bb1a4005630f47b5da26336f74a485033a515 which is in the 3.2 kernel.

Revision history for this message
Brad Figg (brad-figg) wrote :

Is there anyone that can test some kernels with the upstream patch applied?

Changed in linux (Ubuntu):
status: Confirmed → In Progress
assignee: nobody → Brad Figg (brad-figg)
Brad Figg (brad-figg)
Changed in linux (Ubuntu Oneiric):
status: Confirmed → In Progress
assignee: nobody → Brad Figg (brad-figg)
Revision history for this message
isi (isiupisi) wrote :

Hi Bradd Figg !
I'm not sure to well understand your question.

On 3.2.0-21 -generic or -lowlatency, the screen still need the patch or the git-related part of
http://lii-enac.fr/en/architecture/linux-input/multitouch-ubuntu-howto.html (adapted for 12.04 version, didn't test with others)
to correctly handle the finger's position.

Note:
On Ubuntu 12.04, windows title bars aren't "touch-clickable",
and any touch will result with the loose of any click functionality (touch & mouse).
Seemly like https://bugs.launchpad.net/ubuntu/+source/utouch/+bug/801988

If i can help ...

Revision history for this message
Brad Figg (brad-figg) wrote :

I have applied the relevant patch to Oneiric and Precise kernels for testing. The kernels can be found at: http://people.canonical.com/~bradf/lp791833/ . Please test the appropriate one for your system and report back here your experience.

Revision history for this message
isi (isiupisi) wrote :

@ Brad Figg : Thanks !

Since i've no oneiric partition left, and due to this https://bugs.launchpad.net/ubuntu/+source/utouch/+bug/801988,
i cannot test that much if it works under precise.

BUT since it have the same behavior with your kernel than a with patched one, it SEEMS TO WORK !

If someone else can test under oneiric, it would be nice.
If not, i'll take time to do it.

Revision history for this message
isi (isiupisi) wrote :

(#44 Edit)

"same behavior" means that finger'position and click are OK,
though the #42's Note still verified.

Revision history for this message
L Jackson (ljackson) wrote :

Hi all
I have been waiting for 12.04 release. Did this work get committed to the kernel/hid.multitouch in the new ISO?
Am I now able to run a simple install from the ISO on my USB and get limited touch screen functionality?
Or do I still need to apply patches to source code. In which case I followed http://lii-enac.fr/en/architecture/linux-input/multitouch-ubuntu-howto.html where do I place the compiled files? Can they just be copied into a specific USB directory before install.

Wish I understood patching source code + compiling + building an installation on a usb stick.

Revision history for this message
isi (isiupisi) wrote :

In my case, (precise updated from beta) i had to follow the howto you're talking about,
just replacing each instance of "hid-multitouch-ubuntu-10.10" by "hid-multitouch-ubuntu-12.04".
Hope it helps.

On Precise, i have know window's title bar clic functionality.
Geisview seems not to recognise the gesture events,
and i still have a bug in nautilus (strange clic-behavior / no click) and unity panel (no right-clic on gtk2-systray icons) after any touch.

So there is progress, i'll test more soon..

Peace

Revision history for this message
L Jackson (ljackson) wrote :

Hi isi
Thanks for the explanation.
I have asked on IRC but no luck. When I run linux mint 12 ubuntu from the live CD I get touch support.
Once I install or (as I found out just now) run xinput list from the terminal I lose touch functionality.
Anyway if I follow these instructions http://lii-enac.fr/en/architecture/linux-input/multitouch-ubuntu-howto.html from Linux Mint 12 Ubuntu then can I just replace as you outlined above?
changing 10.10 to 12.04

Thanks again for you time and effort.

Revision history for this message
isi (isiupisi) wrote :

@ljackson:
I'm sorry, i don't use Mint.
I just can say it SHOULD work, since Mint is based on Ubuntu; but be sure that Mint 12 is based on Ubuntu 12.04.
Keep in mind that i still have bugs using touch (under Precise = 12.04, not under Oneiric = 11.10), so for now, i just don't use it.
If you want a tested distrib with working Dell ST220T, use Ubuntu Oneiric 11.10 ;-).

Peace

Revision history for this message
Tyler Wagler (tyler-wagler) wrote :

How close are we to getting the patch in the mainline kernel?

Revision history for this message
isi (isiupisi) wrote :

Hi !
Some news:

Following http://lii-enac.fr/en/architecture/linux-input/multitouch-ubuntu-howto.html for 12.04,
i have touch working, so this touchscreen begins to come usable.

BUT:
i cannot select a file or directory in nautilus (and so on Desktop) with finger or mouse,
and cannot use the rolling menus in Grub Customizer (i'll report here any other bug i see).

@Tyler:
i've written a little script which install what is needed from git, so let me know if you want me to put it online.

Revision history for this message
D. Hugh Redelmeier (hugh-mimosa) wrote :

Touch on ST2220T works with 12.10 but not 12.04. Since 12.04 is LTS, I respectfully request that the fix be backported.

I'm not sure what multitouch support is supposed to look like, so I don't know if it works with the ST2220T under 12.10.

Revision history for this message
Tim Gardner (timg-tpi) wrote :

hugh-mimosa - Have you tried installing linux-generic-lts-quantal in 12.04 ?

Revision history for this message
isi (isiupisi) wrote :

I tried with 12.10 et linux-generic-lts-quantal in 12.04, nothing new..

Revision history for this message
isi (isiupisi) wrote :

Up ;-)

Revision history for this message
Jose Commins (axora) wrote :

Hi, I too have one of these monitors. In 13.04 touching the screen causes a constant high spike of CPU usage.
I get this output from dmesg after it happens:

[48446.210074] usb 3-1: reset high-speed USB device number 2 using xhci_hcd
[48446.229560] xhci_hcd 0000:04:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff88001376b440
[48446.229569] xhci_hcd 0000:04:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff88001376b480
[48446.229583] xhci_hcd 0000:04:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff88001376b4c0
[48446.229585] xhci_hcd 0000:04:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff880146294340
[48446.229588] xhci_hcd 0000:04:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff880146294300

Curiously, lsusb also comes out with:

Bus 002 Device 005: ID 1fd2:0064 <- no more information - this looks like a regression as I recall in 11.04 (or thereabouts) lsusb listed this as 'LG display multitouch'

Revision history for this message
D. Hugh Redelmeier (hugh-mimosa) wrote :

@Jose #56:

lsusb does as you say. There is a bit more with -v. Identical on Fedora 19.

I don't see the dmesg errors that you see.

I said that touch was working with 12.10 to some extent (I didn't test much).

Well, it isn't working on 13.04. The first and maybe second click "work" but after that, clicking doesn't seem to be possible. Not much use!

Fedora 19 seems to be more functional with touch.

(I have to admit that I've left this thing sitting in the corner, waiting for touch to start working reasonably.)

Revision history for this message
Julian Wiedmann (jwiedmann) wrote :

This release has reached end-of-life [0].

[0] https://wiki.ubuntu.com/Releases

Changed in linux (Ubuntu Oneiric):
status: In Progress → Invalid
Revision history for this message
D. Hugh Redelmeier (hugh-mimosa) wrote :

How can I "nominate" this for Precise? Quantal? Raring? I've experienced the symptoms with each (not all the same).

Revision history for this message
L Jackson (ljackson) wrote :

Hi All,
I have also been waiting for months for multi-touch to become a reaiity on this device. If it helps I'd like to nominate the great work done so far to be commited to precise. Can I also add that when running this on my raspberry pi there is a different between the X/Y oreintation when using the normal desktop and after launching XBMC. Is there any way to use the differences in how both apps compute the co-ordinates to zero in on how the other touch features can be accessed?
If not what does it take to hack the firmware on a device?
Is there a way to reverse engineer the windows driver to figure out how we can achive 5-7 point touch?
This device showed so much pormise.
Cheers, lj

Revision history for this message
Christopher M. Peñalver (penalvch) wrote :

luckymurari, this bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? If so, could you please test for this with the latest development release of Ubuntu? ISO images are available from http://cdimage.ubuntu.com/daily-live/current/ .

If it remains an issue, could you please run the following command in the development release from a Terminal (Applications->Accessories->Terminal), as it will automatically gather and attach updated debug information to this report:

apport-collect -p linux <replace-with-bug-number>

Also, could you please test the latest upstream kernel available (not the daily folder) following https://wiki.ubuntu.com/KernelMainlineBuilds ? It will allow additional upstream developers to examine the issue. Once you've tested the upstream kernel, please comment on which kernel version specifically you tested. If this bug is fixed in the mainline kernel, please add the following tags:
kernel-fixed-upstream
kernel-fixed-upstream-VERSION-NUMBER

where VERSION-NUMBER is the version number of the kernel you tested. For example:
kernel-fixed-upstream-v3.13-rc5

This can be done by clicking on the yellow circle with a black pencil icon next to the word Tags located at the bottom of the bug description. As well, please remove the tag:
needs-upstream-testing

If the mainline kernel does not fix this bug, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-VERSION-NUMBER

As well, please remove the tag:
needs-upstream-testing

Once testing of the upstream kernel is complete, please mark this bug's Status as Confirmed. Please let us know your results. Thank you for your understanding.

Changed in linux (Ubuntu):
assignee: Brad Figg (brad-figg) → nobody
importance: Undecided → Medium
status: In Progress → Incomplete
Changed in linux (Fedora):
importance: Unknown → Medium
status: Unknown → Fix Released
Revision history for this message
Christopher M. Peñalver (penalvch) wrote :

OR using EOL release, and no response for years.

no longer affects: linux (Ubuntu Oneiric)
no longer affects: linux (Ubuntu)
affects: linux (Fedora) → linux (Ubuntu)
Changed in linux (Ubuntu):
importance: Medium → Undecided
status: Fix Released → New
status: New → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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