# Synaptics wont work!!!

## Yoda_Oz

ive read everything everywhere about the synaptics thing... and i still cat get it working!!!

first i emerged synaptics:

```

emerge synaptics

env-update; source /etc/profile

```

then i made sure that i had a synaptics touchpad by looking at the /proc/bus/input/devices:

```

I: Bus=0011 Vendor=0002 Product=0007 Version=0000

N: Name="SynPS/2 Synaptics TouchPad"

P: Phys=isa0060/serio1/input0

H: Handlers=mouse0

B: EV=b

B: KEY=6420 0 70000 0 0 0 0 0 0 0 0

B: ABS=11000003

```

then i edited my xorg.conf file:

```

Section "InputDevice"

     Identifier       "Touchpad"

     Driver           "synaptics"

     Option           "CorePointer"

     Option           "Device"        "/dev/psaux"

     Option           "Protocol"      "auto-dev"

     Option           "LeftEdge"      "1700"

     Option           "RightEdge"     "5300"

     Option           "TopEdge"       "1700"

     Option           "BottomEdge"    "4200"

     Option           "FingerLow"     "25"

     Option           "FingerHigh"    "30"

     Option           "MaxTapTime"    "180"

     Option           "MaxTapMove"    "220"

     Option           "VertScrollDelta" "100"

     Option           "MinSpeed"      "0.06"

     Option           "MaxSpeed"      "0.12"

     Option           "AccelFactor" "0.0010"

     Option           "SHMConfig"     "on"

EndSection

```

then i went startx:

```

(II) Synaptics touchpad driver version 0.13.4

Mouse1 no synaptics event device found (checked 1 nodes)

(**) Option "Device" "/dev/psaux"

(**) Option "SHMConfig" "on"

(**) Option "LeftEdge" "1700"

(**) Option "RightEdge" "5300"

(**) Option "TopEdge" "1700"

(**) Option "BottomEdge" "4200"

(**) Option "FingerLow" "25"

(**) Option "FingerHigh" "30"

(**) Option "MaxTapTime" "180"

(**) Option "MaxTapMove" "220"

(**) Option "VertScrollDelta" "100"

Query no Synaptics: 6003C8

(EE) Mouse1 no synaptics touchpad detected and no repeater device

(EE) Mouse1 Unable to query/initialize Synaptics hardware.

(EE) PreInit failed for input device "Mouse1"

(II) UnloadModule: "synaptics"

(II) Keyboard "Keyboard1" handled by legacy driver

(WW) No core pointer registered

(II) XINPUT: Adding extended input device "NVIDIA Event Handler" (type: Other)

(II) XINPUT: Adding extended input device "NVIDIA Kernel Input Handler" (type: Other)

(II) Server_Terminate keybinding not found

No core pointer

Fatal server error:

failed to initialize core devices

```

and bugger me... why doesnt it work!!!

----------

## Sebell

http://www.deahttp://www.deadman.org/X/article/33

might have some good pointers.

----------

## Yoda_Oz

the touchpad works fine just as a normal mouse.

its when i try to use the 'synaptics' driver instead of the generic mouse driver thats when all hell breaks loose!

all i want to be able to do is scroll using the right hand side of the touchpad! is that too much to ask?

----------

## the_enigma

Got 'CONFIG_INPUT_EVDEV=y' or m in your .config?

Synaptics needs the event device thingy enabled.

----------

## dtor

 *the_enigma wrote:*   

> Got 'CONFIG_INPUT_EVDEV=y' or m in your .config?

 

Nope:

 *Yoda_Oz wrote:*   

> 
> 
> ```
> 
> H: Handlers=mouse0
> ...

 

shows that evdev driver is not loaded, otherwise the output would be like "H: Handlers=mouse0 event1"

----------

## kamina

Sorry to barge into your thread, but I'm having a problem with the same device. Mine seems to be that it does'nt even recognise it...

I have CONFIG_INPUT_EVDEV=y in the kernel.

```

 # cat /proc/bus/input/devices 

I: Bus=0011 Vendor=0002 Product=0005 Version=0000

N: Name="ImPS/2 Generic Wheel Mouse"

P: Phys=isa0060/serio1/input0

H: Handlers=mouse0 event0 

B: EV=7 

B: KEY=70000 0 0 0 0 0 0 0 0 

B: REL=103 

```

I have emerged the synaptics drivers.

----------

## marowizard

Have you added SendCoreEvents to the InputDevice options?

```

# ServerLayout sections.

 ...

 InputDevice "Mouse1" "CorePointer SendCoreEvents"

 ...

```

----------

## daneus

Yoda_Oz: 

You have to compile evdev support into kernel (i think it's in Device Drivers->Input->Event Interface in kernel config), so your touchpad will be accesible through /dev/input/eventX node. Then you have to modify Option "Device" in xorg.conf  so it reads /dev/input/eventX instead of /dev/psaux, where eventX is the node for your touchpad (and X is a number).

kamina:

 *kamina wrote:*   

> I have CONFIG_INPUT_EVDEV=y in the kernel.
> 
> ```
> 
>  # cat /proc/bus/input/devices 
> ...

 

I had similar problem with my touchpad and USB mouse connected at the same time. Follow this little thread: https://forums.gentoo.org/viewtopic.php?t=215876&highlight=

Hope that helps  :Smile: 

----------

## timhick

If you haven't got your Synaptics touchpad working just yet then I hope this helps. I have a Samsung Q10 and the following worked for me.

You need the synaptics driver (emerge synaptics) which you have done.

You must add evdev to the kernel. I have it built-in (ie. not a module). If you choose kernel options using menuconfig then the option can be found at "Device Drivers" > "Input Device Support" > "Event interface".

In a terminal execute the command "cat /proc/bus/input/devices" which should display information about your SynPS/2 device. Note the event that it uses (mine is event0). Let's call it event<X> from here on.

Make sure the event device actually exists (look in /dev/input for event<X>). If the device does not exist you can create it with something like "mknod event0 c 13 64" or "mknod event1 c 13 65". Note the incremental last number matching the event number.

Edit your xorg.conf and make sure you have in Section ServerLayout a line that reads:

```
InputDevice "Touchpad" "CorePointer"
```

Also set the following options in the relevant Section InputDevice:

```
Identifier "Touchpad"

Driver "synaptics"

Option "Protocol" "event"

Option "Device" "/dev/input/event<X>"

Option "TouchpadOff" "0"
```

Don't forget the <X> is your event number. Include all the other settings that you already have, they look ok.

Restart and see what happens. Hope this helps, let us know if it does.

----------

## dtor

 *timhick wrote:*   

> 
> 
> ```
> Identifier "Touchpad"
> 
> ...

 

Note that with recent synaptics drivers, if you set ptorocol as "auto-dev" instead of "evdev", it will spin through all available event devices and will attach to the one that associated with Synaptics. This way you don't have to worry which module is loaded first (psmouse, USB, etc)...

----------

## slydini

This thread looked like it would help my situation but then I see that I already have evdev compiled into the kernel. When I cat /proc:

```
# cat /proc/bus/input/devices

I: Bus=0010 Vendor=001f Product=0001 Version=0100

N: Name="PC Speaker"

P: Phys=isa0061/input0

H: Handlers=kbd

B: EV=40001

B: SND=6

I: Bus=0011 Vendor=0002 Product=0007 Version=0000

N: Name="SynPS/2 Synaptics TouchPad"

P: Phys=isa0060/serio1/input0

H: Handlers=mouse0

B: EV=b

B: KEY=6420 0 70000 0 0 0 0 0 0 0 0

B: ABS=11000003

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41

N: Name="AT Translated Set 2 keyboard"

P: Phys=isa0060/serio0/input0

H: Handlers=kbd

B: EV=120003

B: KEY=4 2000000 3802078 f840d001 f2ffffdf ffefffff ffffffff fffffffe

B: LED=7

```

So even with evdev compiled in I still don't see "eventX"? Not sure what to do next.

----------

## timhick

I originally put the event<X> into the xorg.conf file and it worked, but recently changed that to use auto-dev as suggested by dtor.

So now I have the following configuration:

```
Section "InputDevice"

   Identifier "Touchpad"

   Driver "synaptics"

   Option "Protocol" "auto-dev"

   Option "Device" "/dev/psaux"

   Option "LeftEdge" "1700"

   Option "TopEdge" "1700"

   Option "RightEdge" "5300"

   Option "BottomEdge" "4200"

   Option "FingerLow" "10"

   Option "FingerHigh" "10"

   Option "MaxTapMove" "200"

   Option "MaxTapTime" "100"

   Option "MaxDoubleTapTime" "200"

   Option "MinSpeed" "0.05"

   Option "MaxSpeed" "0.06"

   Option "AccelFactor" "0.001"

EndSection
```

The evdev option is still required for this to work. I've also changed that to be a module so both (built-in & module) work.

----------

## dtor

 *slydini wrote:*   

> 
> 
> So even with evdev compiled in I still don't see "eventX"? Not sure what to do next.

 

It looks like it did not get compiled still. I would recommend recompiling, probably grabbing vanialla 2.6.8.1 from www.kernel.org. If it works bug Gentoo's maintainer.

----------

## slydini

I was afraid of that because it has been awhile since I recompiled anything so I was un-sure of how to properly recompile the kernel. I just decided to move from the 2.6.7-r13 to the 2.6.8-r3 kernel. At least my nvidia driver compiled correctly because I could never get it working with the old kernel. Oh, well I'll try recompiling again and see if I can get the touch pad working.

----------

## timhick

Probably best not to overwrite your existing kernel image... It's no fun when a missing option causes a kernel panic on boot!

Been there done that...

Don't forget to add an entry to LILO or Grub.

----------

## slydini

After recompiling last night I did a quick check of cat /proc/bus/input/devices and lo and behold I see my touchpad is on event1. Whoo Hoo, it works. Thanks guys.

----------

## timhick

It occurs to me that so many people seem to have problems setting up their synaptics touchpad that the information outlined in these posts should be structured and put somewhere more permanent.

Now, I've only been using Linux properly now for about a week so I guess there may already be a HOWTO that has been missed by me and others when stuck?

Getting Linux running properly isn't that difficult; the real problem is locating useful and well written documentation for specific issues. For any issue I have there are so many hits in Google and a lot of it not exactly useful that it becomes difficult to find that one gem that addresses the problem and provides a sound solution.

A central source of information that is accessible to n00b's like me would help in these matters. I'm sure this is not the first time someone has expressed the same view.

----------

## dtor

 *timhick wrote:*   

> 
> 
> Now, I've only been using Linux properly now for about a week so I guess there may already be a HOWTO that has been missed by me and others when stuck?
> 
> 

 

I am not sure if it exists but I bet Peter Osterlund (the author of Synaptics X driver) would not mind putting it on his page if somebody would take time and write something up.

----------

## Torim

Hello, I got a similar problem My touchpad is not working at all. 

I got the event interface enabled, emerged synaptics and put the neccessary options into the xorg.conf. After doing a 

```
# cat /proc/bus/input/devices
```

all I see is the keyboard, no mouse or touchpad mentioned there.

The "strange" thing is that the touchpad seems to work when booting from the LiveCD (default kernel/no options). 

I tried to use lsmod to see what other modules I might need and to put them into the /etc/modules.autoload.d/kernel-2.6 file but that did not change anything.

Any help would be greatly appreciated since I am not sure what to do anymore.

----------

## timhick

Just a guess really but do you have the mouse drivers enabled in the kernel configuration?

I have the PS/2 mouse option enabled (CONFIG_MOUSE_PS2 or via menuconfig in "Device Drivers" > "Input Device Support" > "Mice" > "PS/2 mouse").

Now I'm not entire sure it is required but I suspect so.

----------

## bgzee

I have my synaptics driver installed and showing up as event0, but it works just the same as when I didnt have the driver installed -- the tapping feature is not present.  Here is what I have in my xorg.conf.

```

Section "InputDevice"

# Identifier and driver

    # the following was added for the touchpad

    Driver   "synaptics"

    Identifier   "Mouse1"

   

    Option "Device"    "/dev/psaux"

    Option "LeftEdge"    "1900"

    Option "RightEdge"   "5400"

    Option "TopEdge"    "3900"

    Option "BottomEdge"  "1800"

    Option "FingerLow"      "25"

    Option "FingerHigh"     "30"

    Option "MaxTapTime"  "20"

    Option "MaxTapMove"  "220"

    Option "VertScrollDelta"   "100"

    Option "MinSpeed"      "0.02"

    Option "MaxSpeed"           "0.18"

    Option "AccelFactor"   "0.0010"

    Option "Protocol"    "auto-dev"

    #Option "SHMConfig"    "on"

#end touchpade changes

    

EndSection

```

any ideas?

----------

## timhick

MaxTapTime of 20ms - a little too quick perhaps? Try 200 instead.

----------

## dtor

 *bgzee wrote:*   

> I have my synaptics driver installed and showing up as event0, but it works just the same as when I didnt have the driver installed -- the tapping feature is not present.  Here is what I have in my xorg.conf.
> 
> ```
> 
>     Option "MaxTapTime"  "20"
> ...

 

From the fine manual:

Why did tap-to-click stop working after I upgraded from an old version?

Time is now measured in milliseconds instead of "number of packets". In practice, this means that if you are upgrading from an old version, you need to change MaxTapTime and EmulateMidButtonTime to make "tap to click" work. Good values are 180 and 75 respectively.

----------

## bgzee

much appreciates guys, it works   :Very Happy: 

----------

## timhick

FYI, there is also a MaxDoubleTapTime (also in milliseconds) that can be set for identification of double clicks on the touchpad. If you tap twice within the period specified it will recognise it as a double click.

----------

## Torim

 *timhick wrote:*   

> Just a guess really but do you have the mouse drivers enabled in the kernel configuration?
> 
> I have the PS/2 mouse option enabled (CONFIG_MOUSE_PS2 or via menuconfig in "Device Drivers" > "Input Device Support" > "Mice" > "PS/2 mouse").
> 
> Now I'm not entire sure it is required but I suspect so.

 

Looks like I got it set:

```
CONFIG_INPUT_MOUSE=y

CONFIG_MOUSE_PS2=y

```

The other CONFIG_MOUSE_XXX are not set.

----------

## timhick

I've just grepped my .config for MOUSE and the following relevant options are enabled:

CONFIG_INPUT_MOUSEDEV=y

CONFIG_INPUT_MOUSEDEV_PSAUX=y

CONFIG_INPUT_MOUSE=y

CONFIG_MOUSE_PS2=m

I use a modules wherever possible, hence the "m" for the PS2 option. I've always had these enabled so I can't really tell you if they make any difference.

Try setting them (I have a feeling PSAUX is important) and let us know if that helps.

----------

## Torim

```
CONFIG_INPUT_MOUSEDEV=y

CONFIG_INPUT_MOUSEDEV_PSAUX=y

CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024

CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768

CONFIG_INPUT_MOUSE=y

CONFIG_MOUSE_PS2=y

# CONFIG_MOUSE_SERIAL is not set

# CONFIG_MOUSE_INPORT is not set

# CONFIG_MOUSE_LOGIBM is not set

# CONFIG_MOUSE_PC110PAD is not set

# CONFIG_MOUSE_VSXXXAA is not set

# CONFIG_USB_MOUSE is not set

```

Aside from the MOUSEDEV_SCREEN it looks like yours.

EDIT: I am using genkernel if it's important.

----------

## den_RDC

I don't get it to work either, although everythin seems to be correct 

ls -l /dev/input/

total 0

crw-r--r--  1 root root 13, 63 Jan  1  1970 mice

crw-r--r--  1 root root 13, 32 Jan  1  1970 mouse0

I: Bus=0011 Vendor=0002 Product=0007 Version=0000

N: Name="SynPS/2 Synaptics TouchPad"

P: Phys=isa0060/serio4/input0

H: Handlers=mouse0

B: EV=b

B: KEY=6420 0 7000f 0 0 0 0 0 0 0 0

B: ABS=11000003

Setting the device manually to /dev/input/mouse0 doesn't work either

(II) Module synaptics: vendor="The XFree86 Project"

Pad no synaptics event device found (checked 1 nodes)

(EE) Pad no synaptics touchpad detected and no repeater device

I think the synaptics driver has a problem recognizing my touchpad.

----------

## timhick

Ok, what happens if (not while in X) you do:

```
cat /dev/psaux
```

and then move the mouse?

You should see a bunch of characters displayed on the screen as you move the mouse and click buttons. If you do, then it must be an X thing; otherwise we're looking in the right place and it is configuration.

While we're at it let's take a look at your X ServerLayout configuration section.

----------

## timhick

den_RDC:

It looks like you need to start with enabling the "Event interface" option in the kernel. You can find it as CONFIG_INPUT_EVDEV in the kernel .config file or at "Device Drivers" > "Input device support" > "Event interface" when using menuconfig to set kernel options.

Sorry not familiar with genkernel.

----------

## Torim

Tried various of the /dev stuff, among others: event0, psaux and mice. Even created a new node like on the synaptics site.

None reacts to the touchpad or buttons, I only get gibberish if I press a key on the keyboard.

If I do a "dmesg" all that shows up is the keyboard after "input:". Shouldn't some mouse show up there aswell?

----------

## timhick

Torim:

Something just occurred to me - do you have a synaptics touchpad? I noticed in my output from dmesg the following:

```
input: SynPS/2 Synaptics TouchPad on isa0060/serio4
```

Post the output from cat /proc/bus/input/devices for closer inspection!

----------

## Torim

```

# dmesg

...

input: AT Translated Set 2 keyboard on isa0060/serio0

...

#cat /proc/bus/input/devices

I: BUS=0011 Vendor=0001 Product=0001 Version=ab41

N: Name="AT Translated Set 2 keyboard"

P: Phys=isa0060/serio0/input0

H: Handlers=event0 kbd

B: EV=120003

B: KEY=4 2000000 3802078 f840d001 f2ffffdf ffefffff ffffffff fffffffe

B: LED=7

```

No mouse/touchpad anywhere  :Sad: 

----------

## den_RDC

 *timhick wrote:*   

> den_RDC:
> 
> It looks like you need to start with enabling the "Event interface" option in the kernel. You can find it as CONFIG_INPUT_EVDEV in the kernel .config file or at "Device Drivers" > "Input device support" > "Event interface" when using menuconfig to set kernel options.
> 
> Sorry not familiar with genkernel.

 

I did that - it's just that my kernel doesn't call them eventX but rather mouse0. Otherwise i wouldn't get this

 *Quote:*   

> 
> 
> I: Bus=0011 Vendor=0002 Product=0007 Version=0000 
> 
> N: Name="SynPS/2 Synaptics TouchPad" 
> ...

 

out of cat /proc/bus/input/devices (notice handler=mouse0)

Btw - how do i get it to work with a normal driver? Normal ps/2 makes the mouse pretty unusable (it bahaves like a mouse on speed & crack then)

----------

## timhick

den_RDC:

From my /proc/bus/input/devices:

```
I: Bus=0011 Vendor=0002 Product=0007 Version=0000

N: Name="SynPS/2 Synaptics TouchPad"

P: Phys=isa0060/serio4/input0

H: Handlers=mouse0 event1

B: EV=b

B: KEY=6420 0 70000 0 0 0 0 0 0 0 0

B: ABS=11000003
```

I have both mouse0 and event1. As far as I am aware the event handler is only added when event interface is enabled.

----------

## timhick

Torim:

I'm quickly running out of ideas. What computer do you have? I'm totally surprised that you get nothing from your mouse (not even device detection).

I don't suppose the touchpad is disabled in the BIOS?  :Wink: 

----------

## Torim

 *timhick wrote:*   

> Torim:
> 
> I'm quickly running out of ideas. What computer do you have? I'm totally surprised that you get nothing from your mouse (not even device detection).
> 
> I don't suppose the touchpad is disabled in the BIOS? 

 

It works well with Windows  :Very Happy: .

I got a Fujitsu-Siemens Amilo A, AMD mobile processor and a cheap onboard ATI graphics chip. Not really sure what number it is exactly, bought it used.

----------

## dtor

 *den_RDC wrote:*   

> I don't get it to work either, although everythin seems to be correct 
> 
> I: Bus=0011 Vendor=0002 Product=0007 Version=0000
> 
> N: Name="SynPS/2 Synaptics TouchPad"
> ...

 

You need evdev module loaded.

----------

## dtor

 *Torim wrote:*   

> 
> 
> # dmesg
> 
> ...
> ...

 

Ok, could you change #undef DEBUG to #define DEBUG in drivers/input/serio/i8042.c, recompile, reboot with log_buf_len=131072 ans send the output of 'dmesg -s 131072'  to dtor_core@ameritech.net

Thanks!

----------

## timhick

Torim:

Just done a google and found this snippet from http://www.madpenguin.org/cms/?m=show&id=887:

 *Quote:*   

> Kernel configuration:
> 
> Under Device Drivers > Input Device Support, make sure you have the Event Interface selected, either as a module or compiled into the kernel. (module name 'evdev'). If you compiled it as a module, you will need to load it up before X comes up. On slackware, you can do this by editing your rc.local file, and add 'modprobe evdev'.
> 
> Note: From my own experience, it didn't work when i compiled it into the kernel. I have no idea why... maybe a bad compile, who knows...
> ...

 

Perhaps try making the event interface a module (it'll be called evdev), modprobe it and see if you can find the synaptics device in the /proc/bus/input/devices file.

Also did a check for your computer, and yes, it's a synaptics. You were probably sure of that but I wanted to be thorough.

----------

## den_RDC

 *timhick wrote:*   

> den_RDC:
> 
> From my /proc/bus/input/devices:
> 
> ```
> ...

 

Oh my excuses. I am 99.9999% procent sure i rebooted my kernel after compiling it with events. I rebooted again, and it works now. I guess this is one of those 0.0001% days  :Smile: 

or i just need some sleep. Anyway, thx a lot timhick

----------

## timhick

den_RDC:

Yeah it is getting a little late into the morning now...

Staring at my display at 1:30 am beginning to feel a little like   :Shocked:  but glad to be of help!

----------

## Torim

 *timhick wrote:*   

> Torim:
> 
> Just done a google and found this snippet from http://www.madpenguin.org/cms/?m=show&id=887:
> 
>  *Quote:*   Kernel configuration:
> ...

 

I tried to have both the Event Interface aswell as the PS2/Mouse as a module and modprobe them in.

Result is still the same if I look up /proc/bus/input/devices, only the keyboard there.

Doing a cat on the various /dev nodes does not react either.

Wondering if I should switch to Kernel 2.4 since it seems to work there  :Razz: 

----------

## mercurator

Hi guys, I'm having problems getting tapping to work on my touchpad. First, here's my cat /proc/bus/input/devices:

```
I: Bus=0011 Vendor=0002 Product=0007 Version=0000

N: Name="SynPS/2 Synaptics Touchpad"

P: Phys=isa0060/serio4/input0

H: Handlers=mouse0 event1 ts0

B: EV=b

B: KEY=6420 0 7000f 0 0 0 0 0 0 0 0

B: ABS=11000003
```

And here's my xorg.conf:

```
Section "InputDevice"

Identifier "Touchpad"

Driver "synaptics"

Option "Protocol" "event"

Option "Device" "/dev/input/event1"

Option "LeftEdge" "1700"

Option "RightEdge" "5300"

Option "TopEdge" "1700"

Option "BottomEdge" "4200"

Option "FingerLow" "25"

Option "FinderHigh" "30"

Option "MaxTapTime" "180"

Option "MaxTapMove" "220"

Option "VertScrollDelta" "100"

Option "MinSpeed" "0.06"

Option "MaxSpeed" '0.12"

Option "AccelFactor" "0.0010"

Option "SHMConfig" "on"

EndSection
```

The synaptics driver is emerged and Loaded without errors. I have gentoo-dev-sources-2.6.8-r3 kernel with Event Interface enabled. Also the touchpad and USB mouse are registerd under Section "ServerLayout". I've also tried with auto-dev protocol, but result is the same. tapping still doesn't work. Does anyone have an idea what is wrong with my config?

----------

## timhick

If the input device is copied and pasted from your xorg.conf then you have a couple "syntax" errors:

1) On the AccelFactor line an additional " character

2) EndSection spelled incorrectly with trailing " character.

----------

## mercurator

 :Embarassed:   Sorry, they are just typing mistakes; I have corrected them now. The original xorg.conf, however, was fine.

----------

