Address the new haptic touchpad in the shipping xps
This commit is contained in:
@@ -1,8 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Reload the intel_quicki2c driver to fix a dead trackpad.
|
||||
# The THC (Touch Host Controller) can fail to initialize interrupts
|
||||
# during boot or after suspend, leaving the trackpad registered but
|
||||
# not delivering events.
|
||||
# Reset the trackpad by unbinding and rebinding its driver.
|
||||
# Covers both driver paths:
|
||||
# - i2c_hid_acpi (DesignWare I2C, e.g. XPS 14/16 Synaptics trackpad)
|
||||
# - intel_quicki2c (THC Touch Host Controller)
|
||||
|
||||
sudo modprobe -r intel_quicki2c && sudo modprobe intel_quicki2c
|
||||
# Try i2c_hid_acpi path (DesignWare I2C trackpads)
|
||||
for dev in /sys/bus/i2c/drivers/i2c_hid_acpi/i2c-*; do
|
||||
[ -e "$dev" ] || continue
|
||||
I2C_DEVICE=$(basename "$dev")
|
||||
echo "Resetting $I2C_DEVICE via i2c_hid_acpi unbind/rebind..."
|
||||
echo "$I2C_DEVICE" | sudo tee /sys/bus/i2c/drivers/i2c_hid_acpi/unbind > /dev/null
|
||||
sleep 1
|
||||
echo "$I2C_DEVICE" | sudo tee /sys/bus/i2c/drivers/i2c_hid_acpi/bind > /dev/null
|
||||
echo "Done"
|
||||
done
|
||||
|
||||
# Also try THC path
|
||||
if lsmod | grep -q intel_quicki2c; then
|
||||
echo "Reloading intel_quicki2c..."
|
||||
sudo modprobe -r intel_quicki2c && sudo modprobe intel_quicki2c
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user