I've been struggling to get synaptic to work properly since installing arch on my laptop about a year ago, and its finally broken completely. I need help figuring out why, as nothing I've done in the past few hours has fixed it.
output of xinput immediately after realizing the cursor didn't move:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ HD WebCam id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ Acer WMI hotkeys id=13 [slave keyboard (3)]
When my cursor was working before this, there was an entry that listed a couple numbers and said UNKNOWN. I'm pretty sure that was my touchpad, and it's now missing.
contents of Xorg.0.log (The parts that I think relate to my touchpad)
[ 198.965] (II) config/udev: Adding input device SYN1B7F:01 06CB:2970 UNKNOWN (/dev/input/event8)
[ 198.965] (**) SYN1B7F:01 06CB:2970 UNKNOWN: Applying InputClass "evdev touchpad catchall"
[ 198.965] (**) SYN1B7F:01 06CB:2970 UNKNOWN: Applying InputClass "touchpad catchall"
[ 198.965] (**) SYN1B7F:01 06CB:2970 UNKNOWN: Applying InputClass "Default clickpad buttons"
[ 198.965] (II) LoadModule: "synaptics"
[ 198.965] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
[ 198.977] (II) Module synaptics: vendor="X.Org Foundation"
[ 198.977] compiled for 1.16.4, module version = 1.8.1
[ 198.977] Module class: X.Org XInput Driver
[ 198.977] ABI class: X.Org XInput driver, version 21.0
[ 198.980] (II) systemd-logind: got fd for /dev/input/event8 13:72 fd 21 paused 0
[ 198.980] (II) Using input driver 'synaptics' for 'SYN1B7F:01 06CB:2970 UNKNOWN'
[ 198.980] (**) SYN1B7F:01 06CB:2970 UNKNOWN: always reports core events
[ 198.980] (**) Option "Protocol" "event"
[ 198.980] (**) Option "Device" "/dev/input/event8"
[ 198.980] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: x-axis range 0 - 1236 (res 12)
[ 198.980] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: y-axis range 0 - 898 (res 12)
[ 198.980] (II) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: device does not report pressure, will use touch data.
[ 198.980] (II) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: device does not report finger width.
[ 198.980] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: buttons: left double triple
[ 198.980] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: Vendor 0x6cb Product 0x2970
[ 198.980] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: invalid pressure range. defaulting to 0 - 255
[ 198.980] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: invalid finger width range. defaulting to 0 - 15
[ 198.980] (**) Option "SHMConfig" "on"
[ 198.980] (**) Option "ClickPad" "0"
[ 198.980] (**) Option "VertTwoFingerScroll" "on"
[ 198.980] (**) Option "TouchpadOff" "0"
[ 198.980] (**) Option "PalmDetect" "on"
[ 198.980] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: touchpad found
[ 198.980] (**) SYN1B7F:01 06CB:2970 UNKNOWN: always reports core events
[ 198.980] (**) Option "config_info" "udev:/sys/devices/pci0000:00/INT33C3:00/i2c-0/i2c-SYN1B7F:01/0018:06CB:2970.0001/input/input8/event8"
[ 198.980] (II) XINPUT: Adding extended input device "SYN1B7F:01 06CB:2970 UNKNOWN" (type: TOUCHPAD, id 12)
[ 198.980] (**) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: (accel) MinSpeed is now constant deceleration 2.5
[ 198.980] (**) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: (accel) MaxSpeed is now 1.75
[ 198.980] (**) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: (accel) AccelFactor is now 0.131
[ 198.981] (**) SYN1B7F:01 06CB:2970 UNKNOWN: (accel) keeping acceleration scheme 1
[ 198.981] (**) SYN1B7F:01 06CB:2970 UNKNOWN: (accel) acceleration profile 1
[ 198.981] (**) SYN1B7F:01 06CB:2970 UNKNOWN: (accel) acceleration factor: 2.000
[ 198.981] (**) SYN1B7F:01 06CB:2970 UNKNOWN: (accel) acceleration threshold: 4
[ 198.981] (--) synaptics: SYN1B7F:01 06CB:2970 UNKNOWN: touchpad found
[ 198.981] (II) config/udev: Adding input device SYN1B7F:01 06CB:2970 UNKNOWN (/dev/input/mouse0)
[ 198.981] (**) SYN1B7F:01 06CB:2970 UNKNOWN: Ignoring device from InputClass "touchpad ignore duplicates"
The first thing I did was disable /etc/X11/xorg.conf.d/50-synaptics.conf and reboot.
now xinput outputs:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SYN1B7F:01 06CB:2970 UNKNOWN id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
(I've left out the parts under Virtual core keyboard because they don't change throughout this process). So now the numbers and UNKNOWN that displayed before are here again, but the cursor still won't move.
After looking around for a bit, I found a thread that suggested I add
i8042.nopnp i8042.nomux=1 i8042.reset
To my kernal via boot loader settings. I use systemd-boot, and added these settings to /boot/loader/entries/arch.conf. After restarting, xinput was the same and the cursor still wouldn't move.
I kept searching, and found another thread that mentioned blacklisting the i2c_hid driver. I figured I would try it, so I created a conf file in /etc/modprobe.d with the contents
blacklist i2c_hid
After rebooting, xinput again had a different output:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
xinput outputting something reasonable instead of UNKNOWN seemed promising, but the cursor still wouldn't move.
At this point, I reactivated /etc/X11/xorg.conf.d/50-synaptics.conf and restarted.
Upon restart, xinput goes back to not displaying any touchpad, and the cursor is still not moving.
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
I've looked at my 50-synaptics.conf thinking that it might have some sort of error in it, but after double checking I couldn't find one.
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "TouchpadOff" "0"
Option "MaxTapTime" "0" #disables tapping
Option "PalmDetect" "on"
Option "EmulateTwoFingerMinZ" "40"
# Option "EmulateTwoFingerMinW "10"
Option "ClickPad" "0"
Option "VertTwoFingerScroll" "on"
Option "TapButton1" "1"
Option "TapButton2" "2"
Option "TapButton3" "3"
EndSection
I tried a couple different combinations of the changes I made, such as removing the i8042 options, but leaving i2c_hid blacklisted, but nothing I tried made any significant difference, and the cursor remained unmovable.
At this point, I started writing up this question. If I left out any important log files or anything, let me know and I'll post them. Please help me out. This is starting to drive me crazy.