All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Fenzi <kevin@scrye.com>
To: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Cc: Wolfram Sang <wsa@the-dreams.de>,
	linux-i2c@vger.kernel.org,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: Re: Issues with touchpad / touchscreen on yoga 900
Date: Mon, 2 Nov 2015 12:47:28 -0700	[thread overview]
Message-ID: <20151102124728.52e82bed@voldemort.scrye.com> (raw)
In-Reply-To: <20151030100442.50ac07bd@voldemort.scrye.com>

[-- Attachment #1: Type: text/plain, Size: 9244 bytes --]

On Fri, 30 Oct 2015 10:04:42 -0600
Kevin Fenzi <kevin@scrye.com> wrote:

> On Fri, 30 Oct 2015 09:58:14 +0200
> Jarkko Nikula <jarkko.nikula@linux.intel.com> wrote:
> 
> > Hi
> > 
> > On 10/29/2015 08:30 PM, Wolfram Sang wrote:  
> > > On Thu, Oct 29, 2015 at 11:29:13AM -0600, Kevin Fenzi wrote:    
> > >> Greetings.
> > >>
> > >> I'm having problems with a lenovo yoga 900 not seeing it's
> > >> touchscreen or touchpad.
> > >>
> > >> Downstream bug:
> > >> https://bugzilla.redhat.com/show_bug.cgi?id=1275718
> > >>
> > >> The problem parts of dmesg seem to be:
> > >>
> > >> Oct 26 15:20:08 localhost kernel: i2c_designware
> > >> i2c_designware.1: i2c_dw_handle_tx_abort: lost arbitration Oct
> > >> 26 15:20:08 localhost kernel: i2c_hid i2c-SYNA2B29:00:
> > >> hid_descr_cmd failed Oct 26 15:20:08 localhost kernel:
> > >> i2c_designware i2c_designware.2: i2c_dw_handle_tx_abort: lost
> > >> arbitration Oct 26 15:20:08 localhost kernel: i2c_hid
> > >> i2c-ELAN21EF:00: hid_descr_cmd failed
> > >>
> > >> This is with 4.3.0-0.rc7.git1.1.fc24.x86_64 (post rc7 4.3.0).
> > >>
> > >> Happy to gather further info or try patches. ;)    
> > >    
> > Could you try this test patch from Mika that prints the parameters
> > it gets from ACPI and forces using calculated ones (your quirk was
> > supposed to be doing the same):
> > 
> > http://www.spinics.net/lists/linux-i2c/msg21239.html  
> 
> ok. That gives me: 
> 
> [157408.224530] i2c_designware i2c_designware.1: ACPI SSCN 0:0
> [157408.224534] i2c_designware i2c_designware.1: ACPI FMCN 0:0
> [157408.224536] i2c_designware i2c_designware.1: ACPI SDA hold 0
> [157408.228054] i2c_designware i2c_designware.1:
> i2c_dw_handle_tx_abort: lost arbitration [157408.228061] i2c_hid
> i2c-SYNA2B29:00: hid_descr_cmd failed [157408.235275]
> [157408.250399] i2c_designware i2c_designware.2: ACPI SSCN 0:0
> [157408.250403] i2c_designware i2c_designware.2: ACPI FMCN 0:0
> [157408.250405] i2c_designware i2c_designware.2: ACPI SDA hold 0
> [157408.261255] idma64 idma64.2: idma64_irq: status=0x0
> [157408.261284] idma64 idma64.2: idma64_irq: status=0x0
> [157408.261319] i2c_designware i2c_designware.2:
> i2c_dw_handle_tx_abort: lost arbitration [157408.261325] i2c_hid
> i2c-ELAN21EF:00: hid_descr_cmd failed
> 
> Also, if it helps with i2c-hid debug=1:
> 
> Oct 30 12:02:10 localhost kernel: i2c_hid i2c-ITE8396:00: Fetching
> the HID descriptor Oct 30 12:02:10 localhost kernel: i2c_hid
> i2c-ITE8396:00: __i2c_hid_command: cmd=01 00 Oct 30 12:02:10
> localhost kernel: i2c_hid i2c-ITE8396:00: HID Descriptor: 1e 00 00 01
> dc 0a 02 00 03 00 16 00 04 00 00 00 05 00 06 00 8d 04 96 83 17 10 00
> 00 00 00 Oct 30 12:02:10 localhost kernel: i2c_hid i2c-ITE8396:00:
> entering i2c_hid_parse Oct 30 12:02:10 localhost kernel: i2c_hid
> i2c-ITE8396:00: i2c_hid_hwreset Oct 30 12:02:10 localhost kernel:
> i2c_hid i2c-ITE8396:00: i2c_hid_set_power Oct 30 12:02:10 localhost
> kernel: i2c_hid i2c-ITE8396:00: __i2c_hid_command: cmd=05 00 00 08
> Oct 30 12:02:10 localhost kernel: i2c_hid i2c-ITE8396:00: input: 0c
> 00 01 02 02 ed ff 82 fc 89 fe 00 Oct 30 12:02:10 localhost kernel:
> i2c_hid i2c-ITE8396:00: resetting... Oct 30 12:02:10 localhost
> kernel: i2c_hid i2c-ITE8396:00: __i2c_hid_command: cmd=05 00 00 01
> Oct 30 12:02:10 localhost kernel: i2c_hid i2c-ITE8396:00:
> __i2c_hid_command: waiting... Oct 30 12:02:10 localhost kernel:
> i2c_hid i2c-ITE8396:00: __i2c_hid_command: finished. Oct 30 12:02:10
> localhost kernel: i2c_hid i2c-ITE8396:00: asking HID report
> descriptor Oct 30 12:02:10 localhost kernel: i2c_hid i2c-ITE8396:00:
> __i2c_hid_command: cmd=02 00 Oct 30 12:02:11 localhost kernel:
> i2c_hid i2c-ITE8396:00: Report Descriptor: 06 83 ff 09 80 a1 01 85 5a
> 09 01 15 00 26 ff 00 75 08 95 10 b1 00 c0 05 20 09 01 a1 01 85 01 05
> 20 09 73 a1 00 05 20 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08
> 0a 31 08 0a 32 08 b1 00 c0 Oct 30 12:02:11 localhost kernel: i2c_hid
> i2c-ITE8396:00: input: 11 00 02 02 02 00 00 00 00 00 00 00 00 00 00
> 00 00 Oct 30 12:02:11 localhost kernel: i2c_hid i2c-ITE8396:00:
> input: 14 00 03 02 02 9b 06 5e b5 fb ff c3 32 f4 ff c3 71 14 00 03
> Oct 30 12:02:11 localhost kernel: i2c_hid i2c-ITE8396:00:
> i2c_hid_get_report Oct 30 12:02:11 localhost kernel: i2c_hid
> i2c-ITE8396:00: __i2c_hid_command: cmd=05 00 3f 02 5a 06 00 Oct 30
> 12:02:11 localhost kernel: i2c_hid i2c-ITE8396:00: report (len=19):
> 12 00 5a ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 Oct 30
> 12:02:11 localhost kernel: i2c_hid i2c-ITE8396:00: error in
> i2c_hid_init_report size:19 / ret_size:18 Oct 30 12:02:11 localhost
> kernel: i2c_hid i2c-ITE8396:00: i2c_hid_get_report Oct 30 12:02:11
> localhost kernel: i2c_hid i2c-ITE8396:00: __i2c_hid_command: cmd=05
> 00 31 02 06 00 Oct 30 12:02:11 localhost kernel: i2c_hid
> i2c-ITE8396:00: report (len=21): 15 00 01 01 02 02 02 c8 00 00 00 02
> 00 02 00 32 00 a0 0f 60 f0 Oct 30 12:02:11 localhost kernel: i2c_hid
> i2c-ITE8396:00: i2c_hid_get_report Oct 30 12:02:11 localhost kernel:
> i2c_hid i2c-ITE8396:00: __i2c_hid_command: cmd=05 00 32 02 06 00 Oct
> 30 12:02:11 localhost kernel: i2c_hid i2c-ITE8396:00: report
> (len=31): 1f 00 02 01 01 06 02 64 00 00 00 58 1b 00 00 e0 70 72 00 50
> c3 00 00 00 c2 eb 0b 00 3e 14 f4 Oct 30 12:02:11 localhost kernel:
> i2c_hid i2c-ITE8396:00: i2c_hid_get_report Oct 30 12:02:11 localhost
> kernel: i2c_hid i2c-ITE8396:00: __i2c_hid_command: cmd=05 00 33 02 06
> 00 Oct 30 12:02:11 localhost kernel: i2c_hid i2c-ITE8396:00: report
> (len=41): 29 00 03 01 01 06 02 64 00 00 00 01 00 64 00 02 00 10 0e 00
> 00 28 06 00 00 28 06 00 00 10 27 00 00 00 2d 31 01 00 d3 ce fe Oct 30
> 12:02:11 localhost kernel: i2c_hid i2c-ITE8396:00: i2c_hid_get_report
> Oct 30 12:02:11 localhost kernel: i2c_hid i2c-ITE8396:00:
> __i2c_hid_command: cmd=05 00 34 02 06 00 Oct 30 12:02:11 localhost
> kernel: i2c_hid i2c-ITE8396:00: report (len=21): 15 00 04 01 02 02 02
> 64 00 00 00 01 00 32 00 05 00 42 0e be f1 Oct 30 12:02:11 localhost
> kernel: i2c_hid i2c-ITE8396:00: i2c_hid_get_report Oct 30 12:02:11
> localhost kernel: i2c_hid i2c-ITE8396:00: __i2c_hid_command: cmd=05
> 00 35 02 06 00 Oct 30 12:02:11 localhost kernel: i2c_hid
> i2c-ITE8396:00: report (len=31): 1f 00 05 01 01 06 02 64 00 00 00 01
> 00 00 00 a0 86 01 00 10 27 00 00 80 96 98 00 80 69 67 ff Oct 30
> 12:02:11 localhost kernel: i2c_hid i2c-ITE8396:00: i2c_hid_get_report
> Oct 30 12:02:11 localhost kernel: i2c_hid i2c-ITE8396:00:
> __i2c_hid_command: cmd=05 00 36 02 06 00 Oct 30 12:02:11 localhost
> kernel: i2c_hid i2c-ITE8396:00: report (len=41): 29 00 06 01 01 06 02
> dc 05 00 00 19 00 ff ff 00 00 53 00 01 00 64 00 20 00 73 00 3c 01 7d
> 00 e8 03 87 00 5a 0c 95 00 10 27 Oct 30 12:02:11 localhost kernel:
> i2c_hid i2c-ITE8396:00: i2c_hid_get_report Oct 30 12:02:11 localhost
> kernel: i2c_hid i2c-ITE8396:00: __i2c_hid_command: cmd=05 00 37 02 06
> 00 Oct 30 12:02:11 localhost kernel: i2c_hid i2c-ITE8396:00: report
> (len=35): 23 00 07 01 02 02 02 50 00 00 00 0a 00 4c 00 65 00 6e 00 6f
> 00 76 00 6f 00 20 00 59 00 6f 00 67 00 61 00 Oct 30 12:02:11
> localhost kernel: i2c_hid i2c-ITE8396:00: input: 0c 00 04 02 02 63 fd
> 08 00 70 06 03 Oct 30 12:02:11 localhost kernel: i2c_hid
> i2c-ITE8396:00: input: 16 00 05 02 02 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 03 Oct 30 12:02:11 localhost kernel: i2c_hid
> i2c-ITE8396:00: input: 09 00 06 02 02 64 00 00 00 Oct 30 12:02:11
> localhost kernel: i2c_hid i2c-ITE8396:00: input: 11 00 07 02 02 00 00
> d9 ff 47 fc fc 0d 6a 04 74 04 Oct 30 12:02:11 localhost kernel:
> i2c_hid i2c-SYNA2B29:00: Fetching the HID descriptor Oct 30 12:02:11
> localhost kernel: i2c_hid i2c-SYNA2B29:00: __i2c_hid_command: cmd=20
> 00 Oct 30 12:02:11 localhost kernel: i2c_hid i2c-ITE8396:00:
> i2c_hid_set_power Oct 30 12:02:11 localhost kernel: i2c_hid
> i2c-ITE8396:00: __i2c_hid_command: cmd=05 00 01 08 Oct 30 12:02:11
> localhost kernel: i2c_designware i2c_designware.1:
> i2c_dw_handle_tx_abort: lost arbitration Oct 30 12:02:11 localhost
> kernel: i2c_hid i2c-SYNA2B29:00: hid_descr_cmd failed Oct 30 12:02:11
> localhost kernel: i2c_hid i2c-ELAN21EF:00: Fetching the HID
> descriptor Oct 30 12:02:11 localhost kernel: i2c_hid i2c-ELAN21EF:00:
> __i2c_hid_command: cmd=01 00 Oct 30 12:02:11 localhost kernel:
> i2c_designware i2c_designware.2: i2c_dw_handle_tx_abort: lost
> arbitration Oct 30 12:02:11 localhost kernel: i2c_hid
> i2c-ELAN21EF:00: hid_descr_cmd failed
> 
> 
> > Another fix from Mika that comes to my mind is "HID: multitouch:
> > Fetch feature reports on demand for Win8 devices" which is sitting
> > in linux-next. Not sure is it related but probably worth to try.
> > 
> > https://lkml.org/lkml/2015/9/28/404  
> 
> I was able to patch that, but got confused... that was in
> hid-multitouch... but I don't even have that loaded normally. Does
> that need hid-i2c rebuilt against that hid-multitouch or something?
> Sorry for the dumb questions.. I'm not really a kernel hacker ;) 

Any other ideas or things to try? 

It would be nice to have a working touchpad. ;)

kevin


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2015-11-02 19:47 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-29 17:29 Issues with touchpad / touchscreen on yoga 900 Kevin Fenzi
2015-10-29 18:30 ` Wolfram Sang
2015-10-30  7:58   ` Jarkko Nikula
2015-10-30 16:04     ` Kevin Fenzi
2015-11-02 19:47       ` Kevin Fenzi [this message]
2015-11-03  8:18         ` Mika Westerberg
2015-11-04 14:51           ` Kevin Fenzi
2015-12-01  0:35             ` Wolfram Sang
2015-12-01  7:50               ` Mika Westerberg
2015-12-01  7:57                 ` Wolfram Sang
2016-03-05 14:56                 ` Valentino

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151102124728.52e82bed@voldemort.scrye.com \
    --to=kevin@scrye.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=jarkko.nikula@linux.intel.com \
    --cc=linux-i2c@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=wsa@the-dreams.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.