2013-10-28 21:20:13

by Kevin Fenzi

[permalink] [raw]
Subject: ELAN Touchscreen regression in recent 3.12 rc's? (USB)

Greetings.

I have a lenovo yoga 2 pro.. it has a ELAN Touchscreen.

In 3.12rc5 it was detected and works.
in 3.12rc6 it was detected and works.

Sometime after the rc6 timeframe it stopped working. It doesn't work with
rc7.

In dmesg I get:

[ 159.519663] usb 2-7: New USB device found, idVendor=04f3, idProduct=016f
[ 159.519681] usb 2-7: New USB device strings: Mfr=4, Product=14, SerialNumber=0
[ 159.519683] usb 2-7: Product: Touchscreen
[ 159.519685] usb 2-7: Manufacturer: ELAN
[ 159.519901] usb 2-7: ep 0x2 - rounding interval to 64 microframes, ep desc says 80 microframes
[ 159.528027] input: ELAN Touchscreen as /devices/pci0000:00/0000:00:14.0/usb2/2-7/2-7:1.0/input/input20
[ 159.528544] hid-multitouch 0003:04F3:016F.000A: input,hiddev0,hidraw1: USB HID v1.10 Device [ELAN Touchscreen] on usb-0000:00:14.0-7/input0
[ 161.601423] usb 2-7: USB disconnect, device number 71
[ 161.896828] usb 2-7: new full-speed USB device number 72 using xhci_hcd
[ 163.991296] usb 2-7: unable to read config index 0 descriptor/start: -71
[ 163.991301] usb 2-7: can't read configurations, error -71
[ 164.143686] usb 2-7: new full-speed USB device number 73 using xhci_hcd
[ 166.239273] usb 2-7: unable to read config index 0 descriptor/start: -71
[ 166.239278] usb 2-7: can't read configurations, error -71
[ 166.392576] usb 2-7: new full-speed USB device number 74 using xhci_hcd
[ 168.487051] usb 2-7: unable to read config index 0 descriptor/start: -71
[ 168.487058] usb 2-7: can't read configurations, error -71
[ 168.640308] usb 2-7: new full-speed USB device number 75 using xhci_hcd
[ 170.734850] usb 2-7: unable to read config index 0 descriptor/start: -71
[ 170.734856] usb 2-7: can't read configurations, error -71
[ 170.734927] hub 2-0:1.0: unable to enumerate USB device on port 7
[ 171.022134] usb 2-7: new full-speed USB device number 76 using xhci_hcd
[ 173.116744] usb 2-7: unable to read config index 0 descriptor/start: -71
[ 173.116750] usb 2-7: can't read configurations, error -71
[ 173.269840] usb 2-7: new full-speed USB device number 77 using xhci_hcd
[ 173.282520] usb 2-7: New USB device found, idVendor=04f3, idProduct=016f
[ 173.282526] usb 2-7: New USB device strings: Mfr=4, Product=14, SerialNumber=0
[ 173.282528] usb 2-7: Product: Touchscreen
[ 173.282530] usb 2-7: Manufacturer: ELAN
[ 173.282782] usb 2-7: ep 0x2 - rounding interval to 64 microframes, ep desc says 80 microframes
[ 173.290920] input: ELAN Touchscreen
as /devices/pci0000:00/0000:00:14.0/usb2/2-7/2-7:1.0/input/input21

So it seems to be bouncing in and out (but never long enough to actually work).

Could be a regression in xhci_hcd?

Happy to provide more info/details/etc

kevin


Attachments:
signature.asc (836.00 B)

2013-10-29 12:34:26

by Josh Boyer

[permalink] [raw]
Subject: Re: ELAN Touchscreen regression in recent 3.12 rc's? (USB)

On Mon, Oct 28, 2013 at 5:02 PM, Kevin Fenzi <[email protected]> wrote:
> Greetings.
>
> I have a lenovo yoga 2 pro.. it has a ELAN Touchscreen.
>
> In 3.12rc5 it was detected and works.
> in 3.12rc6 it was detected and works.
>
> Sometime after the rc6 timeframe it stopped working. It doesn't work with
> rc7.
>
> In dmesg I get:
>
> [ 159.519663] usb 2-7: New USB device found, idVendor=04f3, idProduct=016f
> [ 159.519681] usb 2-7: New USB device strings: Mfr=4, Product=14, SerialNumber=0
> [ 159.519683] usb 2-7: Product: Touchscreen
> [ 159.519685] usb 2-7: Manufacturer: ELAN
> [ 159.519901] usb 2-7: ep 0x2 - rounding interval to 64 microframes, ep desc says 80 microframes
> [ 159.528027] input: ELAN Touchscreen as /devices/pci0000:00/0000:00:14.0/usb2/2-7/2-7:1.0/input/input20
> [ 159.528544] hid-multitouch 0003:04F3:016F.000A: input,hiddev0,hidraw1: USB HID v1.10 Device [ELAN Touchscreen] on usb-0000:00:14.0-7/input0
> [ 161.601423] usb 2-7: USB disconnect, device number 71
> [ 161.896828] usb 2-7: new full-speed USB device number 72 using xhci_hcd
> [ 163.991296] usb 2-7: unable to read config index 0 descriptor/start: -71
> [ 163.991301] usb 2-7: can't read configurations, error -71
> [ 164.143686] usb 2-7: new full-speed USB device number 73 using xhci_hcd
> [ 166.239273] usb 2-7: unable to read config index 0 descriptor/start: -71
> [ 166.239278] usb 2-7: can't read configurations, error -71
> [ 166.392576] usb 2-7: new full-speed USB device number 74 using xhci_hcd
> [ 168.487051] usb 2-7: unable to read config index 0 descriptor/start: -71
> [ 168.487058] usb 2-7: can't read configurations, error -71
> [ 168.640308] usb 2-7: new full-speed USB device number 75 using xhci_hcd
> [ 170.734850] usb 2-7: unable to read config index 0 descriptor/start: -71
> [ 170.734856] usb 2-7: can't read configurations, error -71
> [ 170.734927] hub 2-0:1.0: unable to enumerate USB device on port 7
> [ 171.022134] usb 2-7: new full-speed USB device number 76 using xhci_hcd
> [ 173.116744] usb 2-7: unable to read config index 0 descriptor/start: -71
> [ 173.116750] usb 2-7: can't read configurations, error -71
> [ 173.269840] usb 2-7: new full-speed USB device number 77 using xhci_hcd
> [ 173.282520] usb 2-7: New USB device found, idVendor=04f3, idProduct=016f
> [ 173.282526] usb 2-7: New USB device strings: Mfr=4, Product=14, SerialNumber=0
> [ 173.282528] usb 2-7: Product: Touchscreen
> [ 173.282530] usb 2-7: Manufacturer: ELAN
> [ 173.282782] usb 2-7: ep 0x2 - rounding interval to 64 microframes, ep desc says 80 microframes
> [ 173.290920] input: ELAN Touchscreen
> as /devices/pci0000:00/0000:00:14.0/usb2/2-7/2-7:1.0/input/input21
>
> So it seems to be bouncing in and out (but never long enough to actually work).
>
> Could be a regression in xhci_hcd?

Hm. There were no changes in drivers/usb from -rc6 to -rc7, so if
-rc6 works then I doubt it's xhci_hcd. There were two touchscreen
quirks added between those two rcs though, so perhaps one of those
broke this.

684524d35fe8d13be1f2649633e43bd02c96c695 HID: usbhid: quirk for SiS Touchscreen
8171a67d587a09e14a4949a81e070345fedcf410 HID: usbhid: quirk for
Synaptics Large Touchccreen

CC'd AceLan and Jiri.

josh

2013-10-30 01:41:10

by AceLan Kao

[permalink] [raw]
Subject: Re: ELAN Touchscreen regression in recent 3.12 rc's? (USB)

Hi,

It's hard to believe that those quirks will lead to the problem.
And actually, there are 4 new commits introduced to -rc7, and 3 of
them are quirks.

% git log --pretty=oneline v3.12-rc6..v3.12-rc7 drivers/hid
86b84167d4e67372376a57ea9955c5d53dae232f HID: wiimote: add LEGO-wiimote VID
ad0e669b922c7790182cf19f8015b30e23ad9499 HID: Fix unit exponent parsing again
684524d35fe8d13be1f2649633e43bd02c96c695 HID: usbhid: quirk for SiS Touchscreen
8171a67d587a09e14a4949a81e070345fedcf410 HID: usbhid: quirk for
Synaptics Large Touchccreen

CC'd Nikolai, since his commit changes the protocol.

Best regards,
AceLan Kao.

2013/10/29 Josh Boyer <[email protected]>:
> On Mon, Oct 28, 2013 at 5:02 PM, Kevin Fenzi <[email protected]> wrote:
>> Greetings.
>>
>> I have a lenovo yoga 2 pro.. it has a ELAN Touchscreen.
>>
>> In 3.12rc5 it was detected and works.
>> in 3.12rc6 it was detected and works.
>>
>> Sometime after the rc6 timeframe it stopped working. It doesn't work with
>> rc7.
>>
>> In dmesg I get:
>>
>> [ 159.519663] usb 2-7: New USB device found, idVendor=04f3, idProduct=016f
>> [ 159.519681] usb 2-7: New USB device strings: Mfr=4, Product=14, SerialNumber=0
>> [ 159.519683] usb 2-7: Product: Touchscreen
>> [ 159.519685] usb 2-7: Manufacturer: ELAN
>> [ 159.519901] usb 2-7: ep 0x2 - rounding interval to 64 microframes, ep desc says 80 microframes
>> [ 159.528027] input: ELAN Touchscreen as /devices/pci0000:00/0000:00:14.0/usb2/2-7/2-7:1.0/input/input20
>> [ 159.528544] hid-multitouch 0003:04F3:016F.000A: input,hiddev0,hidraw1: USB HID v1.10 Device [ELAN Touchscreen] on usb-0000:00:14.0-7/input0
>> [ 161.601423] usb 2-7: USB disconnect, device number 71
>> [ 161.896828] usb 2-7: new full-speed USB device number 72 using xhci_hcd
>> [ 163.991296] usb 2-7: unable to read config index 0 descriptor/start: -71
>> [ 163.991301] usb 2-7: can't read configurations, error -71
>> [ 164.143686] usb 2-7: new full-speed USB device number 73 using xhci_hcd
>> [ 166.239273] usb 2-7: unable to read config index 0 descriptor/start: -71
>> [ 166.239278] usb 2-7: can't read configurations, error -71
>> [ 166.392576] usb 2-7: new full-speed USB device number 74 using xhci_hcd
>> [ 168.487051] usb 2-7: unable to read config index 0 descriptor/start: -71
>> [ 168.487058] usb 2-7: can't read configurations, error -71
>> [ 168.640308] usb 2-7: new full-speed USB device number 75 using xhci_hcd
>> [ 170.734850] usb 2-7: unable to read config index 0 descriptor/start: -71
>> [ 170.734856] usb 2-7: can't read configurations, error -71
>> [ 170.734927] hub 2-0:1.0: unable to enumerate USB device on port 7
>> [ 171.022134] usb 2-7: new full-speed USB device number 76 using xhci_hcd
>> [ 173.116744] usb 2-7: unable to read config index 0 descriptor/start: -71
>> [ 173.116750] usb 2-7: can't read configurations, error -71
>> [ 173.269840] usb 2-7: new full-speed USB device number 77 using xhci_hcd
>> [ 173.282520] usb 2-7: New USB device found, idVendor=04f3, idProduct=016f
>> [ 173.282526] usb 2-7: New USB device strings: Mfr=4, Product=14, SerialNumber=0
>> [ 173.282528] usb 2-7: Product: Touchscreen
>> [ 173.282530] usb 2-7: Manufacturer: ELAN
>> [ 173.282782] usb 2-7: ep 0x2 - rounding interval to 64 microframes, ep desc says 80 microframes
>> [ 173.290920] input: ELAN Touchscreen
>> as /devices/pci0000:00/0000:00:14.0/usb2/2-7/2-7:1.0/input/input21
>>
>> So it seems to be bouncing in and out (but never long enough to actually work).
>>
>> Could be a regression in xhci_hcd?
>
> Hm. There were no changes in drivers/usb from -rc6 to -rc7, so if
> -rc6 works then I doubt it's xhci_hcd. There were two touchscreen
> quirks added between those two rcs though, so perhaps one of those
> broke this.
>
> 684524d35fe8d13be1f2649633e43bd02c96c695 HID: usbhid: quirk for SiS Touchscreen
> 8171a67d587a09e14a4949a81e070345fedcf410 HID: usbhid: quirk for
> Synaptics Large Touchccreen
>
> CC'd AceLan and Jiri.
>
> josh

2013-10-30 01:48:21

by Kevin Fenzi

[permalink] [raw]
Subject: Re: ELAN Touchscreen regression in recent 3.12 rc's? (USB)

On Wed, 30 Oct 2013 09:41:06 +0800
AceLan Kao <[email protected]> wrote:

> Hi,
>
> It's hard to believe that those quirks will lead to the problem.
> And actually, there are 4 new commits introduced to -rc7, and 3 of
> them are quirks.
>
> % git log --pretty=oneline v3.12-rc6..v3.12-rc7 drivers/hid
> 86b84167d4e67372376a57ea9955c5d53dae232f HID: wiimote: add
> LEGO-wiimote VID ad0e669b922c7790182cf19f8015b30e23ad9499 HID: Fix
> unit exponent parsing again 684524d35fe8d13be1f2649633e43bd02c96c695
> HID: usbhid: quirk for SiS Touchscreen
> 8171a67d587a09e14a4949a81e070345fedcf410 HID: usbhid: quirk for
> Synaptics Large Touchccreen
>
> CC'd Nikolai, since his commit changes the protocol.

Oddly, after a while it seems to have decided to stay on:

[ 4021.819962] usb 2-7: Manufacturer: ELAN
[ 4021.820163] usb 2-7: ep 0x2 - rounding interval to 64 microframes, ep desc says 80 microframes
[ 4021.828338] input: ELAN Touchscreen as /devices/pci0000:00/0000:00:14.0/usb2/2-7/2-7:1.0/input/input221
[ 4021.828801] hid-multitouch 0003:04F3:016F.00D3: input,hiddev0,hidraw1: USB HID v1.10 Device [ELAN Touchscreen] on usb-0000:00:14.0-7/input0
[ 4023.903599] usb 2-7: USB disconnect, device number 86
[ 4024.198444] usb 2-7: new full-speed USB device number 87 using xhci_hcd
[ 4024.211102] usb 2-7: New USB device found, idVendor=04f3, idProduct=016f
[ 4024.211143] usb 2-7: New USB device strings: Mfr=4, Product=14, SerialNumber=0
[ 4024.211177] usb 2-7: Product: Touchscreen
[ 4024.211197] usb 2-7: Manufacturer: ELAN
[ 4024.211489] usb 2-7: ep 0x2 - rounding interval to 64 microframes, ep desc says 80 microframes
[ 4024.219707] input: ELAN Touchscreen as /devices/pci0000:00/0000:00:14.0/usb2/2-7/2-7:1.0/input/input222
[ 4024.220555] hid-multitouch 0003:04F3:016F.00D4:
input,hiddev0,hidraw1: USB HID v1.10 Device [ELAN Touchscreen] on
usb-0000:00:14.0-7/input0

and it's been working since then. So, only after 87 cycles...

Some kind of weird race condition?

kevin


Attachments:
signature.asc (836.00 B)

2013-10-30 08:37:40

by Nikolai Kondrashov

[permalink] [raw]
Subject: Re: ELAN Touchscreen regression in recent 3.12 rc's? (USB)

Hi AceLan,

On 10/30/2013 03:41 AM, AceLan Kao wrote:
> It's hard to believe that those quirks will lead to the problem.
> And actually, there are 4 new commits introduced to -rc7, and 3 of
> them are quirks.
>
> % git log --pretty=oneline v3.12-rc6..v3.12-rc7 drivers/hid
> 86b84167d4e67372376a57ea9955c5d53dae232f HID: wiimote: add LEGO-wiimote VID
> ad0e669b922c7790182cf19f8015b30e23ad9499 HID: Fix unit exponent parsing again
> 684524d35fe8d13be1f2649633e43bd02c96c695 HID: usbhid: quirk for SiS Touchscreen
> 8171a67d587a09e14a4949a81e070345fedcf410 HID: usbhid: quirk for
> Synaptics Large Touchccreen
>
> CC'd Nikolai, since his commit changes the protocol.

My change is very unlikely to produce such problems. It changes calculation of
axes resolution at the time the report descriptor is processed. The results of
the calculation are not used by the kernel, AFAIK, but only by userspace
drivers. The results should not be used to affect the interactions with the
device, but only the interpretation of the reports (again, in userspace), and
even that is barely done currently.

Please try reverting that particular commit and see if it affects the
behavior.

Sincerely,
Nick

2014-01-19 09:25:23

by cire831

[permalink] [raw]
Subject: Re: ELAN Touchscreen regression in recent 3.12 rc's? (USB)

Hi,

I'm experiencing the same problem using Ubuntu 13.10, kernel
3.11.0-15-generic #23-Ubuntu SMP x86_64


Did you ever figure out what was causing the problem? Did it go away in the
release 3.12?

I'm actually interesting in what the underlying cause was and how you found
it.

thanks,

eric




--
View this message in context: http://linux-kernel.2935.n7.nabble.com/ELAN-Touchscreen-regression-in-recent-3-12-rc-s-USB-tp743984p789512.html
Sent from the Linux Kernel mailing list archive at Nabble.com.