I2C-HID Quirk touchpad synopsys designware

Started by Max Witte on May 25, 2021

open the first message on its own page

Message details and related content
I've got the hold on a Fujitsu Ultrabook U7411/U7x11 which has some
glitches/quirks with the touchpad that can be fixed with modprobe
i2c-hid. ( Ubuntu 20.04 / 5.8.0-53-generic )

In dmesg I can see this when I modprobe it:
## dmesg
[   34.531333] i2c_hid i2c-0X53 0X59 0X4E 0X50 0X31 0X46 0X31 0X35
0X00:00: supply vdd not found, using dummy regulator
[   34.531357] i2c_hid i2c-0X53 0X59 0X4E 0X50 0X31 0X46 0X31 0X35
0X00:00: supply vddl not found, using dummy regulator
[   34.707167] input: 0X53 0X59 0X4E 0X50 06CB:CE2B Mouse as
/devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-3/i2c-0X53 0X59
0X4E 0X50 0X31 0X46 0X31 0X35
0X00:00/0018:06CB:CE2B.0004/input/input16
[   34.707243] input: 0X53 0X59 0X4E 0X50 06CB:CE2B Touchpad as
/devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-3/i2c-0X53 0X59
0X4E 0X50 0X31 0X46 0X31 0X35
0X00:00/0018:06CB:CE2B.0004/input/input17
[   34.707305] hid-generic 0018:06CB:CE2B.0004: input,hidraw3: I2C HID
v1.00 Mouse [0X53 0X59 0X4E 0X50 06CB:CE2B] on i2c-0X53 0X59 0X4E 0X50
0X31 0X46 0X31 0X35 0X00:00
[   34.800992] input: 0X53 0X59 0X4E 0X50 06CB:CE2B Mouse as
/devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-3/i2c-0X53 0X59
0X4E 0X50 0X31 0X46 0X31 0X35
0X00:00/0018:06CB:CE2B.0004/input/input19
[   34.801200] input: 0X53 0X59 0X4E 0X50 06CB:CE2B Touchpad as
/devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-3/i2c-0X53 0X59
0X4E 0X50 0X31 0X46 0X31 0X35
0X00:00/0018:06CB:CE2B.0004/input/input20
[   34.801250] hid-multitouch 0018:06CB:CE2B.0004: input,hidraw3: I2C
HID v1.00 Mouse [0X53 0X59 0X4E 0X50 06CB:CE2B] on i2c-0X53 0X59 0X4E
0X50 0X31 0X46 0X31 0X35 0X00:00

After this it appears in xinput and works:
## xinput:
 Virtual core pointer                          id=2    [master pointer  (3)]
    Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
    Logitech Optical USB Mouse                id=9    [slave  pointer  (2)]
    Generic USB Audio Consumer Control        id=10   [slave  pointer  (2)]
    0X53 0X59 0X4E 0X50 06CB:CE2B Mouse       id=18   [slave  pointer  (2)]
    0X53 0X59 0X4E 0X50 06CB:CE2B Touchpad    id=19   [slave  pointer  (2)]
## i2c-detect:
i2c-2   i2c             Synopsys DesignWare I2C adapter         I2C adapt

## kernel config designware + i2c hid
CONFIG_I2C_DESIGNWARE_CORE=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
CONFIG_I2C_DESIGNWARE_PCI=m
CONFIG_SPI_DESIGNWARE=m
CONFIG_SND_DESIGNWARE_I2S=m
CONFIG_SND_DESIGNWARE_PCM=y
CONFIG_I2C_HID=m

I already found that this is the Microsoft HID over I2C protocol and
that this has some issues because of the implementation.

Any clues / suggestions to make this work "out of the box" are appreciated.
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help