The One Piece Haptic Touchpad does not work. Running sudo dmesg | grep -iE '093A|1343|PIXA|i2c_hid|hid-multitouch|hid-generic' I get the following:
[ 0.714476] i2c_hid_acpi i2c-PIXA3854:00: failed to reset device: -121
[ 0.714560] i2c_hid_acpi i2c-PIXA3854:00: failed to change power setting.
I believe other people have found that this might be a race condition. I hope someone finds a proper solution to this, but here is my fix.
I did find a quick fix that made the touchpad work by running:
sudo modprobe -r i2c_hid_acpi
sudo modprobe i2c_hid_acpi
Instead of reloading the whole module, I was able to just bind the device to the i2c_hid_acpi module by running:
echo -n 'i2c-PIXA3854:00' | sudo tee /sys/bus/i2c/drivers/i2c_hid_acpi/bind
We can make a small systemd service that waits until boot has settled and then does exactly this.
Create:
sudo nano /etc/systemd/system/fix-touchpad.service
Put this in:
[Unit]
Description=Initialize Framework PIXA3854 touchpad
After=graphical.target
Wants=graphical.target
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'echo -n "i2c-PIXA3854:00" > /sys/bus/i2c/drivers/i2c_hid_acpi/bind'
RemainAfterExit=yes
[Install]
WantedBy=graphical.target
Then:
sudo systemctl daemon-reload
sudo systemctl enable fix-touchpad.service
Reboot.
The touchpad should now be working on every boot.