Touchpad stopped working on ThinkPad x220

Asked by Dan Gillmor on 2012-09-19

Not sure what caused this, but my ThinkPad X220 touchpad has quit responding. This is definitely a software issue: The touchpad works fine when I boot from a thumbdrive.)

Circumstances:

Using 12.04, I ran an update from Update Manager (a bunch of them, didn't pay much attention to the contents) yesterday.

Later, upon opening the laptop from sleep, I got a black screen with a cursor arrow, which I could move around the screen using touchpad. No amount of sleeping/waking restored the screen, so I had to do a hard reboot with the on/off button. (This happened once before, and after the reboot that time nothing appeared to be damaged.)

When I got back to the desktop this time, the touchpad had stopped working. I uninstalled Synaptiks and reinstalled it, no effect.

Meanwhile, the TrackPoint eraser-head pointer still works, so I'm not dead in the water. But I'd prefer to be using the touchpad, as I've become semi-addicted to two-finger scrolling.

So my question is:

Will it help to uninstall everything having to do with the touchpad -- what packages would they be? -- and then reinstall them? (I don't want to disable mouse/TrackPoint, obviously.)

Or is there something else I should try?

Appreciate any ideas!

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu xserver-xorg-input-synaptics Edit question
Assignee:
No assignee Edit question
Solved by:
Dan Gillmor
Solved:
2012-09-23
Last query:
2012-09-23
Last reply:
2012-09-20
Chris Puttick (cputtick) said : #1

I'm more familiar with KDE than the default Ubuntu interface, but the first thing I'd check would be the current settings in System Settings > Mouse & Touchpad - and if enabled try disabling, applying and re-enabling. It's possible that one of the updates has reset the configuration and/or installed an updated module for the particular touchpad (Synaptics?).

Also can you give the full output of:

lsmod; lsb_release -a; uname -a

Thanks

Dan Gillmor (dan-gillmor) said : #3

@cputtick I've tried most of that, will do again.

@andrew-woodhead666 Here you go:

dangillmor@ubuntu:~$ lsmod; lsb_release -a; uname -a
Module Size Used by
nls_iso8859_1 12617 0
nls_cp437 12751 0
vfat 17308 0
fat 55605 1 vfat
uas 17828 0
usb_storage 39646 0
vmnet 50244 13
joydev 17393 0
vsock 47098 0
vmci 71337 1 vsock
vmmon 70147 0
snd_hda_codec_hdmi 31775 1
snd_hda_codec_conexant 52554 1
parport_pc 32114 0
ppdev 12849 0
bnep 17830 2
rfcomm 38139 0
binfmt_misc 17292 1
ext2 67987 1
ip6t_LOG 16846 4
xt_hl 12465 6
ip6t_rt 12473 3
nf_conntrack_ipv6 13581 7
nf_defrag_ipv6 13139 1 nf_conntrack_ipv6
ipt_REJECT 12512 1
ipt_LOG 12783 5
xt_limit 12541 12
xt_tcpudp 12531 36
xt_addrtype 12596 4
xt_state 12514 14
arc4 12473 2
ip6table_filter 12711 1
ip6_tables 18432 3 ip6t_LOG,ip6t_rt,ip6table_filter
nf_conntrack_netbios_ns 12585 0
nf_conntrack_broadcast 12541 1 nf_conntrack_netbios_ns
nf_nat_ftp 12595 0
nf_nat 24959 1 nf_nat_ftp
nf_conntrack_ipv4 19084 9 nf_nat
nf_defrag_ipv4 12649 1 nf_conntrack_ipv4
nf_conntrack_ftp 13183 1 nf_nat_ftp
rtl8192ce 75491 0
nf_conntrack 73847 8 nf_conntrack_ipv6,xt_state,nf_conntrack_netbios_ns,nf_conntrack_broadcast,nf_nat_ftp,nf_nat,nf_conntrack_ipv4,nf_conntrack_ftp
iptable_filter 12706 1
rtl8192c_common 69519 1 rtl8192ce
ip_tables 18106 1 iptable_filter
rtlwifi 95804 1 rtl8192ce
btusb 17912 0
uvcvideo 67203 0
videodev 86588 1 uvcvideo
dm_multipath 22710 0
snd_hda_intel 32765 3
snd_hda_codec 109562 3 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_intel
bluetooth 158438 11 bnep,rfcomm,btusb
x_tables 21974 13 ip6t_LOG,xt_hl,ip6t_rt,ipt_REJECT,ipt_LOG,xt_limit,xt_tcpudp,xt_addrtype,xt_state,ip6table_filter,ip6_tables,iptable_filter,ip_tables
thinkpad_acpi 73942 0
snd_hwdep 13276 1 snd_hda_codec
snd_pcm 80845 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_seq_midi 13132 0
snd_rawmidi 25424 1 snd_seq_midi
psmouse 72919 0
mac80211 436455 3 rtl8192ce,rtl8192c_common,rtlwifi
snd_seq_midi_event 14475 1 snd_seq_midi
serio_raw 13027 0
snd_seq 51567 2 snd_seq_midi,snd_seq_midi_event
nvram 14029 1 thinkpad_acpi
tpm_tis 18308 0
snd_timer 28931 2 snd_pcm,snd_seq
snd_seq_device 14172 3 snd_seq_midi,snd_rawmidi,snd_seq
cfg80211 178679 2 rtlwifi,mac80211
snd 62064 17 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_intel,snd_hda_codec,thinkpad_acpi,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
mac_hid 13077 0
mei 36570 0
soundcore 14635 1 snd
snd_page_alloc 14108 2 snd_hda_intel,snd_pcm
lp 17455 0
parport 40930 3 parport_pc,ppdev,lp
dm_crypt 22528 2
sdhci_pci 18324 0
sdhci 28241 1 sdhci_pci
i915 414817 3
drm_kms_helper 45466 1 i915
wmi 18744 0
drm 197692 4 i915,drm_kms_helper
e1000e 140005 0
i2c_algo_bit 13199 1 i915
video 19068 1 i915
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.1 LTS
Release: 12.04
Codename: precise
Linux ubuntu 3.2.0-30-generic-pae #48-Ubuntu SMP Fri Aug 24 17:14:09 UTC 2012 i686 i686 i386 GNU/Linux

Dan Gillmor (dan-gillmor) said : #4

@cputtick I've tried most of that, will do again.

@andrew-woodhead666 Here you go:

dangillmor@ubuntu:~$ lsmod; lsb_release -a; uname -a
Module Size Used by
nls_iso8859_1 12617 0
nls_cp437 12751 0
vfat 17308 0
fat 55605 1 vfat
uas 17828 0
usb_storage 39646 0
vmnet 50244 13
joydev 17393 0
vsock 47098 0
vmci 71337 1 vsock
vmmon 70147 0
snd_hda_codec_hdmi 31775 1
snd_hda_codec_conexant 52554 1
parport_pc 32114 0
ppdev 12849 0
bnep 17830 2
rfcomm 38139 0
binfmt_misc 17292 1
ext2 67987 1
ip6t_LOG 16846 4
xt_hl 12465 6
ip6t_rt 12473 3
nf_conntrack_ipv6 13581 7
nf_defrag_ipv6 13139 1 nf_conntrack_ipv6
ipt_REJECT 12512 1
ipt_LOG 12783 5
xt_limit 12541 12
xt_tcpudp 12531 36
xt_addrtype 12596 4
xt_state 12514 14
arc4 12473 2
ip6table_filter 12711 1
ip6_tables 18432 3 ip6t_LOG,ip6t_rt,ip6table_filter
nf_conntrack_netbios_ns 12585 0
nf_conntrack_broadcast 12541 1 nf_conntrack_netbios_ns
nf_nat_ftp 12595 0
nf_nat 24959 1 nf_nat_ftp
nf_conntrack_ipv4 19084 9 nf_nat
nf_defrag_ipv4 12649 1 nf_conntrack_ipv4
nf_conntrack_ftp 13183 1 nf_nat_ftp
rtl8192ce 75491 0
nf_conntrack 73847 8 nf_conntrack_ipv6,xt_state,nf_conntrack_netbios_ns,nf_conntrack_broadcast,nf_nat_ftp,nf_nat,nf_conntrack_ipv4,nf_conntrack_ftp
iptable_filter 12706 1
rtl8192c_common 69519 1 rtl8192ce
ip_tables 18106 1 iptable_filter
rtlwifi 95804 1 rtl8192ce
btusb 17912 0
uvcvideo 67203 0
videodev 86588 1 uvcvideo
dm_multipath 22710 0
snd_hda_intel 32765 3
snd_hda_codec 109562 3 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_intel
bluetooth 158438 11 bnep,rfcomm,btusb
x_tables 21974 13 ip6t_LOG,xt_hl,ip6t_rt,ipt_REJECT,ipt_LOG,xt_limit,xt_tcpudp,xt_addrtype,xt_state,ip6table_filter,ip6_tables,iptable_filter,ip_tables
thinkpad_acpi 73942 0
snd_hwdep 13276 1 snd_hda_codec
snd_pcm 80845 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_seq_midi 13132 0
snd_rawmidi 25424 1 snd_seq_midi
psmouse 72919 0
mac80211 436455 3 rtl8192ce,rtl8192c_common,rtlwifi
snd_seq_midi_event 14475 1 snd_seq_midi
serio_raw 13027 0
snd_seq 51567 2 snd_seq_midi,snd_seq_midi_event
nvram 14029 1 thinkpad_acpi
tpm_tis 18308 0
snd_timer 28931 2 snd_pcm,snd_seq
snd_seq_device 14172 3 snd_seq_midi,snd_rawmidi,snd_seq
cfg80211 178679 2 rtlwifi,mac80211
snd 62064 17 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_intel,snd_hda_codec,thinkpad_acpi,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
mac_hid 13077 0
mei 36570 0
soundcore 14635 1 snd
snd_page_alloc 14108 2 snd_hda_intel,snd_pcm
lp 17455 0
parport 40930 3 parport_pc,ppdev,lp
dm_crypt 22528 2
sdhci_pci 18324 0
sdhci 28241 1 sdhci_pci
i915 414817 3
drm_kms_helper 45466 1 i915
wmi 18744 0
drm 197692 4 i915,drm_kms_helper
e1000e 140005 0
i2c_algo_bit 13199 1 i915
video 19068 1 i915
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.1 LTS
Release: 12.04
Codename: precise
Linux ubuntu 3.2.0-30-generic-pae #48-Ubuntu SMP Fri Aug 24 17:14:09 UTC 2012 i686 i686 i386 GNU/Linux

Dan Gillmor (dan-gillmor) said : #5

Sorry, it posted twice...

No worries. If you run:

sudo rmmod psmouse
sudo modprobe psmouse proto=bare

Does the touchpad work?

Dan Gillmor (dan-gillmor) said : #7

Yes, that made it work. Thanks!

The touchpad tab in the Mouse and Touchpad setting has disappeared, however, and I'd like to adjust the speed and re-enable two-finger scrolling.

Dan Gillmor (dan-gillmor) said : #8

Yes, that made it work. Thanks!

The touchpad tab in the Mouse and Touchpad setting has disappeared, however, and I'd like to adjust the speed and re-enable two-finger scrolling.

Dan Gillmor (dan-gillmor) said : #9

Arggh, that double posting again (trackpad reset also enabled tapping-as-left-button, another setting I always turn off).

This will not be persistant, we need to make a file to make the settings stick.

run:

echo "options psmouse proto=bare" | sudo tee /etc/modprobe.d/psmousefix.conf > /dev/null

Now when the module is loaded, the option will be used by default.

Dan Gillmor (dan-gillmor) said : #11

I'll give it a try, thanks...

Dan Gillmor (dan-gillmor) said : #12

@actionparsnip

OK, I ran that command and now the touchpad is running when I log in. However, as noted above, I'd really like to recover the ability to adjust the settings -- as far as Synaptiks and the Mouse and Touchpad settings are concerned, there's no touchpad. Any way to get that back?

Very much appreciate your troubleshooting this...

That I am not sure of, are there any bugs reported?

Dan Gillmor (dan-gillmor) said : #14

Not that I know of. So I have to ask, how do I disable the touchpad but keep the mouse? I'm grateful for your help, but the current setup is actually worse for me than just using the Touchpoint.

N1ck 7h0m4d4k15 (nicktux) said : #15

Hi ,

can you give the results of

synclient

Thanks

Dan Gillmor (dan-gillmor) said : #16

Results:

Parameter settings:
    LeftEdge = 1752
    RightEdge = 5192
    TopEdge = 1620
    BottomEdge = 4236
    FingerLow = 25
    FingerHigh = 30
    FingerPress = 256
    MaxTapTime = 180
    MaxTapMove = 221
    MaxDoubleTapTime = 180
    SingleTapTimeout = 180
    ClickTime = 100
    FastTaps = 0
    EmulateMidButtonTime = 0
    EmulateTwoFingerMinZ = 282
    EmulateTwoFingerMinW = 7
    VertScrollDelta = 100
    HorizScrollDelta = 100
    VertEdgeScroll = 0
    HorizEdgeScroll = 0
    CornerCoasting = 0
    VertTwoFingerScroll = 1
    HorizTwoFingerScroll = 1
    MinSpeed = 1
    MaxSpeed = 1.75
    AccelFactor = 0.0398089
    TrackstickSpeed = 40
    EdgeMotionMinZ = 30
    EdgeMotionMaxZ = 160
    EdgeMotionMinSpeed = 1
    EdgeMotionMaxSpeed = 401
    EdgeMotionUseAlways = 0
    TouchpadOff = 0
    LockedDrags = 0
    LockedDragTimeout = 5000
    RTCornerButton = 0
    RBCornerButton = 0
    LTCornerButton = 0
    LBCornerButton = 0
    TapButton1 = 0
    TapButton2 = 0
    TapButton3 = 0
    ClickFinger1 = 1
    ClickFinger2 = 3
    ClickFinger3 = 0
    CircularScrolling = 0
    CircScrollDelta = 0.1
    CircScrollTrigger = 0
    CircularPad = 0
    PalmDetect = 0
    PalmMinWidth = 10
    PalmMinZ = 200
    CoastingSpeed = 20
    CoastingFriction = 50
    PressureMotionMinZ = 30
    PressureMotionMaxZ = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    ResolutionDetect = 1
    GrabEventDevice = 1
    TapAndDragGesture = 1
    AreaLeftEdge = 0
    AreaRightEdge = 0
    AreaTopEdge = 0
    AreaBottomEdge = 0
    HorizHysteresis = 8
    VertHysteresis = 8
    ClickPad = 1
    RightButtonAreaLeft = 0
    RightButtonAreaRight = 0
    RightButtonAreaTop = 0
    RightButtonAreaBottom = 0
    MiddleButtonAreaLeft = 0
    MiddleButtonAreaRight = 0
    MiddleButtonAreaTop = 0
    MiddleButtonAreaBottom = 0

N1ck 7h0m4d4k15 (nicktux) said : #17

Hi ,

try

synclient HorizTwoFingerScroll = 0 and see if Vert two fingers scroll working

synclient MaxSpeed = 2.00 to increase the speed

synclient TapButton1 = 1
or
synclient TapButton2 = 1
or
synclient TapButton3 = 1
and see the behavior of tapping.

I think you can figure it out . If you want something to make it permanent , then add it to startup application as command. At command box write the command : eg , synclient TapButton1 = 1

If you want a GUI version of synclient install gsynaptics

sudo apt-get install gsynaptics

call the program from terminal with this command
gpointing-device-settings

configure your touchpad.

Thanks

Dan Gillmor (dan-gillmor) said : #18

Getting errors with all of these, e.g.

synclient HorizTwoFingerScroll = 0
Invalid command: HorizTwoFingerScroll
Unknown parameter
Invalid command: 0

and,when running

gpointing-device-settings

An X error occurred. The error was BadAtom (invalid Atom parameter).

N1ck 7h0m4d4k15 (nicktux) said : #19

On 09/20/2012 03:15 AM, Dan Gillmor wrote:
> Getting errors with all of these, e.g.
>
>
> synclient HorizTwoFingerScroll = 0
> Invalid command: HorizTwoFingerScroll
> Unknown parameter
> Invalid command: 0
Be careful with the syntax :
synclient HorizTwoFingerScroll=0
This is correct (without spaces between ll = 0)
The output must be nothing. You can check if value changed correctly
with command :
synclient
and see the results.

On 09/20/2012 03:15 AM, Dan Gillmor wrote:
>
> and,when running
>
> gpointing-device-settings
>
>
> An X error occurred. The error was BadAtom (invalid Atom parameter).
>
This is normal . I expect a window to open and let you configure the
touchpad settings (through a GUI.)
I have the same error , but window opens and I can configure my touchpad
settings.

Thanks

Dan Gillmor (dan-gillmor) said : #20

I've tried all of this but unfortunately it's still not affecting the settings.

Dan Gillmor (dan-gillmor) said : #21

Hooray -- over on Google+, some folks had a bunch of suggestions, one of which worked: Using dconf-editor, which got the touchpad working again. I'm not sure why this worked, but I'm happy enough!