Launchpad has imported 2 comments from the remote bug at
https://bugzilla.kernel.org/show_bug.cgi?id=204991.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2019-09-25T04:51:35+00:00 vicamo wrote:

Created attachment 285163
dmesg, v5.3.1, i2c-hid.debug=1 hid.debug=1

I2C traffic after resume:

[ 275.148083] i2c_hid i2c-CUST0000:00: i2c_hid_set_power
[ 275.148084] i2c_hid i2c-CUST0000:00: __i2c_hid_command: cmd=05 00 01 08
[ 275.312190] i2c_hid i2c-DELL096E:00: i2c_hid_set_power
[ 275.312191] i2c_hid i2c-DELL096E:00: __i2c_hid_command: cmd=05 00 01 08
[ 283.926905] i2c_hid i2c-DELL096E:00: i2c_hid_set_power
[ 283.926910] i2c_hid i2c-DELL096E:00: __i2c_hid_command: cmd=05 00 00 08
[ 283.927146] i2c_hid i2c-DELL096E:00: i2c_hid_set_or_send_report
[ 283.927149] i2c_hid i2c-DELL096E:00: __i2c_hid_command: cmd=05 00 37 03 06 00 
05 00 07 00 00
[ 283.927872] i2c_hid i2c-DELL096E:00: i2c_hid_set_or_send_report
[ 283.927874] i2c_hid i2c-DELL096E:00: __i2c_hid_command: cmd=05 00 33 03 06 00 
05 00 03 03 00
[ 283.929148] i2c_hid i2c-DELL096E:00: i2c_hid_set_or_send_report
[ 283.929151] i2c_hid i2c-DELL096E:00: __i2c_hid_command: cmd=05 00 35 03 06 00 
05 00 05 03 00
[ 284.077891] i2c_hid i2c-CUST0000:00: i2c_hid_set_power
[ 284.077892] i2c_hid i2c-CUST0000:00: __i2c_hid_command: cmd=05 00 00 08

# when touching touchpad:
[ 289.262675] i2c_hid i2c-DELL096E:00: input: 0b 00 01 00 00 00 00 00 00 00 00
[ 289.270314] i2c_hid i2c-DELL096E:00: input: 0b 00 01 00 fe 00 00 00 00 00 00
[ 289.276806] i2c_hid i2c-DELL096E:00: input: 0b 00 01 00 fd 00 00 00 00 00 00
[ 289.283863] i2c_hid i2c-DELL096E:00: input: 0b 00 01 00 fb 01 00 00 00 00 00
[ 289.291213] i2c_hid i2c-DELL096E:00: input: 0b 00 01 00 fa 02 00 00 00 00 00
[ 289.297932] i2c_hid i2c-DELL096E:00: input: 0b 00 01 00 f9 03 00 00 00 00 00
[ 289.304775] i2c_hid i2c-DELL096E:00: input: 0b 00 01 00 f9 03 00 00 00 00 00

On this device, both Precision Touchpad mode and a legacy Mouse mode are
supported. When I2C SET_POWER ON is issued, it would take as long as
60ms to complete state transition and is then able to receive and
execute further commands. On boot the device is running under Mouse mode
for legacy platform support, and will be put to PTP mode with a
SET_OR_SEND_REPORT command. If somehow the time gap between the first
SET_POWER ON and further SET_OR_SEND_REPORT commands is less than 60ms,
the device will still operating under Mouse mode and gives reports like
"0b 00 01 00 fe 00 00 00 00 00 00".

On Linux system boot, it may take 500ms from i2c probe (SET_POWER ON) to
hid initialization (SET_OR_SEND_REPORT), so it will always be put to PTP
mode successfully. But when the device is put under suspend and resumed,
the hid reset resume process will be right after i2c resume, so the
device won't have enough time to complete its state transition, which
fails following SET_OR_SEND_REPORT executing and therefore it operates
under Mouse mode instead.

Currently Linux has a at most 5ms sleep in i2c_hid_hwreset(), but
according to HID over I2C Specification[1] section 7.2.8 "SET_POWER":

> The DEVICE must ensure that it transitions to the HOST
> specified Power State in under 1 second.

it can take as long as 1 second.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1842532/comments/3

------------------------------------------------------------------------
On 2019-09-25T04:55:43+00:00 vicamo wrote:

http://download.microsoft.com/download/7/d/d/7dd44bb7-2a7a-4505-ac1c-
7227d3d96d5b/hid-over-i2c-protocol-spec-v1-0.docx

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1842532/comments/4


** Changed in: linux
       Status: Unknown => Confirmed

** Changed in: linux
   Importance: Unknown => Medium

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1842532

Title:
  Touchpad stops working after resuming from s2idle

Status in HWE Next:
  New
Status in Linux:
  Confirmed
Status in OEM Priority Project:
  Confirmed
Status in linux package in Ubuntu:
  Incomplete

Bug description:
  [Summary]
  When enable s2i, found touchpad doesn't work after resuming from suspend(to 
idle).

  [Reproduce Steps]
  1. Install Ubuntu image
  2. let system enter s2i state
  3. press power button to resume the system

  [Results]
  Expected: System back to work without problem
  Actual: Found touchpad doesn't work after resuming

  [Additional Information]
  Dell Inspiron 5391
  Base Image: Ubuntu 18.04.3
  BIOS Version: 1.0.1
  Kernel Version: 5.0.0-1013-oem
  CPU: i5-10210U
  GPU: Nvidia(1d13)

To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/1842532/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to