I2C-HID Quirk touchpad synopsys designware
From: Max d'Wit <hidden>
Date: 2021-05-21 10:09:56
I2C-HID Quirk touchpad synopsys designware
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.