Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 245482 - x11-drivers/synaptics - On thinkpand with both touchpad and trackpoint enabled, trackpoint looses most functionality
Summary: x11-drivers/synaptics - On thinkpand with both touchpad and trackpoint enable...
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: X11 External Driver Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-04 05:41 UTC by Dmitri Pogosian
Modified: 2009-07-26 17:57 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
data with TrackPoint only and both TrackPoint and Touchpad (psmouse_bug,6.89 KB, text/plain)
2008-11-04 05:43 UTC, Dmitri Pogosian
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitri Pogosian 2008-11-04 05:41:48 UTC
On Thinkpad X300 with both trackpoint and touchpad enabled in BIOS, 
all 5 mouse buttons are driven by synaptics device and trackpoint just moves the cursor (or scrolls). Disabling touchpad (not loading in X or with synclient) kills all 5 buttons.

If touchpad is disabled in BIOS, trackpoint acquires full standard functionality
(3 buttons below it are active, press-to-select can be enabled, scroll on mid button)

Reproducible: Always

Steps to Reproduce:
1. Enable both pointing devices in BIOS
2. Configure both devices following appropriate wiki's in xorg.conf
3.  Run, dispable Thinkpad in software, see that all buttons are all disabled or
4. Run synclient -m  to see that upper buttons generate synpatic events




kernel-2.6.27-r2 (or 2.6.26 adn I believe earlier). 
psmouse module detect pointing device as

$ dmesg 
IBM TrackPoint firmware: 0x0e, buttons: 3/3
input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio1/input/input6

when touchpad is disabled in BIOS, with all TrackPoint functionality enabled

and as

$ dmesg
input: DualPoint Stick as /devices/platform/i8042/serio1/input/input6
input: AlpsPS/2 ALPS DualPoint TouchPad as /devices/platform/i8042/serio1/input/input7

when both TrackPoint and TouchPad is enabled in BIOS. TrackPoint has very reduced functionality in this case.

$ emerge --info
Portage 2.1.4.5 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.27-gentoo-r2 x86_64)
=================================================================
System uname: 2.6.27-gentoo-r2 x86_64 Intel(R) Core(TM)2 Duo CPU L7100 @ 1.20GHz
Timestamp of tree: Tue, 04 Nov 2008 02:01:01 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.5, 1.7.9-r1, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=nocona"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe -march=nocona"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="en ru"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa amd64 berkdb bluetooth bzip2 cli cracklib crypt cups dri fontconfig fortran fuse gpm gtk iconv isdnlog java jpeg kde latex lyx mad midi mmx mp3 mplayer mudflap multilib ncurses nls nptl nptlonly opengl openmp pam pcre pdf perl png pppd python qt3 qt3support qt4 readline reflection rtc session smp spl sqlite srt sse sse2 ssl ssse3 sysfs tcl tcpd tetex threads tiff tk truetype unicode wifi wma xcomposite xfce xorg xosd xv xvmc zlib" ALSA_CARDS="hda-intel usb-audio" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en ru" USERLAND="GNU" VIDEO_CARDS="intel vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Dmitri Pogosian 2008-11-04 05:43:32 UTC
Created attachment 170690 [details]
data with TrackPoint only and both TrackPoint and Touchpad
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2008-11-04 19:33:31 UTC
Whom should this bug report be addressed to? Is it something that should be fixed in the kernel, in x11-drivers/synaptics or in the BIOS?
Comment 3 Dmitri Pogosian 2008-11-04 20:41:07 UTC
(In reply to comment #2)
> Whom should this bug report be addressed to? Is it something that should be
> fixed in the kernel, in x11-drivers/synaptics or in the BIOS?
> 

Good question, I don't know, but I can see two possibilities

1. Both devices are governed on the kernel side by psmouse driver. I have looked at the code, and I am not even sure that psmouse can handle two PS/2 pointing devices well at all.  Here what is the comment in psmouse-base.c

/*
 * psmouse_mutex protects all operations changing state of mouse
 * (connecting, disconnecting, changing rate or resolution via
 * sysfs). We could use a per-device semaphore but since there
 * rarely more than one PS/2 mouse connected and since semaphore
 * is taken in "slow" paths it is not worth it.
 */

well, trackpoint and touchpad is a case of 2 PS/2 devices it seems, but indeed
I have a single set of psmouse parameters in /sys/bus/serio/devices/serio1/ for
both of them. So my understanding is (and I know little about kernel programming) is that psmouse detection prefers TouchPad if it is present and sets capabilities accordingly. In this case this may be fundamental problem of psmouse, or just priority of detection issue.

2.  Second variant is whether synaptics at X level should be able to take care of all trackpoint functionality through the 'guest device'. On my thinkpad it does not register trackpoint (and its buttons) as a guest device, it just grabs all the buttons.

I don't think there are any BIOS issues, since Windows are able to use both Touchpad and Trackpoint with full functionality.
On the other hand I'm pretty suprised this issue is not widely discussed, since there are many thinkpads with both devices. 
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2008-11-05 18:35:03 UTC
OK, let's "blame" x11-drivers/synaptics first - if that doesn't help, this bug should probably be reassigned to kernel@.
Comment 5 Gilles Dartiguelongue (RETIRED) gentoo-dev 2009-07-26 17:57:41 UTC
Please report this issue upstream, I think it was reported to xorg ml and it had something to do with device/pointer grabbing but I don't remember exactly. Also you should really try with xf86-input-synaptics since synaptics is old dead code.

Please reopen if this issue still occurs with latest xf86-input-synaptics and please fill/search for an upstream issue.