Ubuntu

Add driver for Sentelic Touch pad

Reported by phil on 2008-12-28
286
This bug affects 49 people
Affects Status Importance Assigned to Milestone
OEM Priority Project
Undecided
Unassigned
linux (Ubuntu)
Wishlist
Unassigned
Nominated for Jaunty by nadav
Nominated for Karmic by phil

Bug Description

Binary package hint: linux-image

  The touch pad used in the (newer) MSI Wind is made by Sentelic. Sentelic has released a linux driver and configuration utility under GPL. It is available at http://sourceforge.net/projects/fsp-lnxdrv/. Some of the instructions included in the tar file seem to indicate this touch pad made be used in the Acer Aspire One as well.
  The supplied kernel code consists of a patch to the kernel ps/2 mouse driver to recognize the touch pad and a module to communicate with the touch pad.

  A discussion about building and using this driver on Ubuntu 8.10 is at http://forums.msiwind.net/default-msiwind/sentelic-linux-drivers-released-under-gnu-gpl-t4828.html

phil (fongpwf) wrote :

I patched the psmouse driver and rebuilt the psmouse module. It loads and detects Sentelic touchpad fine. With the modified driver loaded, the configuration utility works fine.
I have not noticed any adverse effects.

monkeys_typing (monkeys-typing) wrote :

I would also really like this fixed. I have a MSI Wind with the Sentelic mousepad, and I would really like the driver either merged, or just as nicely, a dkms package created for it. I could be of help with testing, but I do not have the skills to jump in and create a package myself for this.

Changed in linux-meta:
status: New → Confirmed
phil (fongpwf) wrote :

I've already got it working as a module and can try turning it into a dkms module. However, I have not made a dkms package before. Any pointers to instructions would be helpful.

monkeys_typing (monkeys-typing) wrote :

Hello Phil,

I found this article, which seems pretty detailed, but unfortunately, I am not comfortable enough to give it a try myself. I would, along with a LOT of other ubuntu users (I would especially think that the netbook remix folks would be interested), very grateful if you could get a dkms module working.

http://tjworld.net/wiki/Linux/Ubuntu/Kernel/BuildDebianDKMSPackages

Thanks!

Andy Whitcroft (apw) wrote :

This is not a bug in the linux-meta package, moving to the linux package.

affects: linux-meta (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
importance: Undecided → Wishlist
danboy (dan-nawaragroup) wrote :

would love to see this included, I have a msi x340 and I'm stuck with a vanilla touchpad.

Fuchur (fuchur) wrote :

Have not been able to compile it yet. Would love to have this in ubuntu by default! Please support this piece of hardware.
Thanks all!

sshlyk (sshlyk) wrote :

Finally found guys who have the same laptop and experience problems with touch pad :)
Will give the driver a try later.
Thank you

phil (fongpwf) wrote :

Not much seems to have happened with this bug and forums.msiwind.net seems to be down.

So, to make it easier for people to get configuration of the Sentelic touchpad working, I've put together a tar.gz with the already patched mouse driver source and a Makefile to compile it as a module and attached it to this message. You'll also need to download static-build-fspc-20081201.tar.gz from http://sourceforge.net/projects/fsp-lnxdrv/files/. fspc is an user interface for controlling the touchpad features once you have the driver working. Also, you'll need to have the kernel headers and gcc installed.

Untar the attached tar.gz. Go to the extracted directory and run make. That should build psmouse.ko. Unload psmouse with "modprobe -r psmouse". This will cause the touchpad to stop working. Then replace your current psmouse.ko with this one. It should be in /lib/modules/[kernel version name]/kernel/drivers/input/mouse/. Next, reload it with "modprobe psmouse". Now you should be able to use fspc to configure the touchpad. Note that each time you update the kernel you will need to go through the compilation and replacement steps again.

Alberto Milone (albertomilone) wrote :

@phil
Packaging the driver with DKMS would not require users to (manually) recompile the module when the kernel is updated.

Earl Malmrose (earl) wrote :

The directions as phil described work perfectly.

Shouldn't this module be named something other than psmouse.ko?

Jerone Young (jerone) wrote :

@phil has this driver ever been submitted to the upstream kernel ? Do you know why, if it has not ?

Jerone Young (jerone) wrote :

@phil
This driver is based on an older kernel. It's actually the "drivers/input/mouse" dir with sentelic & sentelic.h add. I'll take some time and make patches for upstream. Things have changed now with 2.6.31, or at least the way make files are done .. probably some other ps2mouse fixes.

Where did you get this tar ball from ? Any idea why it was never submitted to the upstream kernel?

@Earl
The reason it's psmouse.ko is that it is a snapshot of the kernel's psmouse kernel. Though not sure how old it is.

Jerone Young (jerone) wrote :

This driver is actually up stream in the 2.6.32 kernel source. It would have to be backported to make it into Ubuntu.

phil (fongpwf) wrote :

I created the tar file by patching the Ubuntu 8.04 kernel source with the patches given at http://sourceforge.net/projects/fsp-lnxdrv/. Since I am not affiliated with Sentelic, I do not know if it was submitted upstream. The driver does appear to be GPLed.

As for a DKMS, I have not done one before. Any help with that is would be appreciated.

Jerone Young (jerone) wrote :

@phil
     DKMS whould work in this case. Also as mentioned before the driver is upstream now.

Changed in oem-priority:
status: New → Invalid
phil (fongpwf) wrote :

Apparently I was composing my comments while you wrote yours.

In any case, do you know if some addition configuration program (like fspc) is needed with the driver in 2.6.32? If so, that would need to be packaged for Ubuntu as well. Is that covered in this bug?

Jerone Young (jerone) wrote :

Here is the kernel commit upstream:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc69f4a6af49ee69475dc4217924d9edf77760e0

@phil I'm unsure. Though don't think it is. You will need 2.6.32 as well as it activated in the kernel config for the kernel.

Arcan17 (andre-breton2006) wrote :

MSI Wind U100 touchpad does not work correctly under ubuntu 9.10
I don't know which touchpad I have, sentelic or synaptics.
I tried both driver, both failed.
1) Could not get sentelic driver work:
When I double click fspc icon, I get "fsp not detected"
2) Could not get synaptics driver work either
Error message: "You have to set SHMConfig 'true' in xorg conf or XF86Config to use GSynaptics.
Thank you for your help. I would not like going back to windows xp.

hansvschoot (hansvschoot) wrote :

I'm running a fresh ubuntu Karmic 9.10 (64bit) installation on my msi-X340 and would love to get this driver working.

My problem is that although i've been using ubuntu for quite some time now i'm not familiar with manual kernel rebuilding and hardcore patching. I tried phil's solution and copied the psmouse.ko to the lib folder (also the lib64 folder) but i can't seem to run the fspc file from the sentelic sourceforge tar. double clicking it gives nothing, starting it from terminal just gives a command not found (i am in the right folder, and sudo-ing it doesn't make a difference). adding a ./ in front of it gives a file or folder doesn't exist error.

what am i doing wrong?

hansvschoot (hansvschoot) wrote :

ok so far i managed to use make to create my own psmouse.ko, and moving it to the right folder (the header files of my kernel refused to download at first, but apt-get update fixed that). the fspc runs now, and i'm able to configure my sentelic touchpad.

the only problem i have left is that the configuration tool (fspc) is not storing the settings. rebooting or reloading the psmouse with modprobe makes it forget the settings, so i have to enable scrolling everytime after a reboot, highly anoying.
does anybody know a fix for that? (using the default button in the fspc program also doesn't seem to do anything)

Iztok Jeras (iztok.jeras) wrote :

I am running the Ubuntu Karmic 64bit on my MSI x340 (SU3500 CPU).
The touch-pad is a Sentelic although I have no idea how to verify it without opening the case.
Most of the instructions on this page have been about installation on Jaunty 32bit (MSI Wind with Atom CPU).

I would like to use kernel 2.6.32, instructions for installation:
http://www.ramoonus.nl/2009/12/03/linux-kernel-2-6-32-installation-guide-for-ubuntu-linux/
The problem is, the MOUSE_PS2_SENTELIC option is not enabled in the config file for the 03-Dec-2009 build
http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.32/
I tried to recompile the git kernel for Lucid, but I am not sure which config file to modify, so I am not sure I enabled the driver.
I would appreciate if someone would update the ppa kernel.

Another problem is the configuration tool fspc.
The pre-compiled version is 32bit (for the Atom cpu again), I tried to compile and run the 1.0.1 version, but it seems not to be able to find the driver. I will probably contact the developers on sourceforge.

Iztok Jeras

hansvschoot (hansvschoot) wrote :

the driver is integrated in ubuntu lucid, scroll works out of the box in the 10.4 alpha 1. this is kernel 2.6.32-7

however the fspc settings manager program won't run and in the ubuntu mouse settings screen there is nothing about a touchpad or the scrollfunction.

phil (fongpwf) wrote :

fspc or some other way to control (enable/disable) tap on click is an important function.

joelzehring (joelzehring) wrote :

I have an MSI A6000. Running Lucid 10.04 64 bit Alpha 2 off the live CD, scrolling works reasonably well.

There is no preference menu for modifying trackpad settings, however. This means that there's no way out of the box to disable tap-to-click or modify pointer speed settings.

Crossing my fingers that these issues are resolved by April for the LTS release.

Brett Lyons (dblhelix) wrote :

yeah it would be good to be able to disable tap-to-click or use syndaemon (Maybe? -- I haven't tried, FN + F3 works for me for now)

I also have an MSI A6000 and I used phil's source module tar, and FSP works, except that after a suspend, if I touch the pointer at all it goes crazy with clicks and movement and causes the machine to be unusable without a restart. So the mousepointer goes crazy, and then the windows freeze in their positions, and the USB mouse (Apple Multibutton) still moves the pointer but clicking on things like title bars doesn't result in being able to drag the window etc . . . and when I press the power button, the shutdown - restart - suspend - hibernate window pops up and i am able to restart that way by keyboarding to the restart button and hitting "enter".

if I DON'T touch the trackpad after a suspend, it continues running great.

Ubuntu 9.10 64 bit.

phil (fongpwf) wrote :

To have the touchpad work after suspend, you need to reset it. Instructions are given in the INSTALL file in the sentelic package. Basically, you need to add a script to the resume scripts that does:
echo "R" > /sys/devices/platform/i8042/serio2/flags

Brett Lyons (dblhelix) wrote :

followed instructions in INSTALL file. except for kernel patching, since the psmouse.ko was already patched.

Did not work, non-trackpad mouse still loses ability to click and trackpad crazy after suspend. FSPC does not work either with error "Missing Resource File."

Using mouse and not suspending for now. Unsure how to proceed. . .?

hansvschoot (hansvschoot) wrote :

the FSPC app gives me the missing resource file error when i try to open it with a starter, or from another folder. using nautilus to browse into the fspc-static-20081201 folder and then doubleclicking the fspc app works here.

hansvschoot (hansvschoot) wrote :

I decided to figure it all out this morning, and the results are in the attachment. it's a howto with all the files needed to compile the psmouse.ko (thank you phil) and the fspc program. it also has the static package from the fsp-lnxdrv page onboard, and i included my own build of fspc (64bit ubuntu 9.10)
the howto describes:
- how to compile the psmouse.ko (and what packages you need)
- how to compile the fspc
- how to copy the fspc files to the right locations
- how to make a fspc settings file
- how to make ubuntu load the settings file on startup

all i need to figure out now is the suspend/hibernate problem :)

hansvschoot (hansvschoot) wrote :

also managed to fix the hibernate problem, the INSTALL file instructions gave some minor problems.

to fix the hibernate/suspend mouse issue, i created a script in /etc/pm/sleep.d/ (press Alt+F2, type in: gksudo nautilus and browse to that folder)
use right mouse button to create a new empty document. open the document with a double-click and add the following to it:

#!/bin/sh
# this script resets the touchpad after a hibernate or suspend and reloads the fspc settings script.

case "${1}" in
        resume|thaw)
  echo -n R > /sys/devices/platform/i8042/serio1/flags
  fspc -t -l ~/fspc.ini
                ;;
esac

save the file, and use the nautilus window to give it execute rights.

make shure the fspc -t -l ~/fspc.ini line points to the location of the file with your fspc settings, how to make a settings file is described in the attachment in the post above.

phil (fongpwf) wrote :

hansvschoot,
  Are you saying that you got fspc to work with the kernel driver that comes with 2.6.32 / Lucid?
  BTW, it's too bad we don't have the mswind.net forums posts any more. Someone there had figured out how to control things like tap to click without using fspc. Basically, I think it involved writing different things to /sys/devices/platform/i8042/serio1/flags.

hansvschoot (hansvschoot) wrote :

no i'm running the 2.6.31-19 kernel in karmic, haven't updated jet. i'll try some things later this week with a Lucid live-USB.
the loss of the msiwind forums is a shame indeed, a lot of info about the touchpad was online there :-(

hansvschoot (hansvschoot) wrote :

ok i figured out how to controll the click on pad setting without usage of the fspc program :-) maybe this also works in Lucid, but i can't test that right now...

echo -n kbxyac > /sys/devices/platform/i8042/serio1/flags
turns off click on pad, turning it on is done by passing the following:
echo -n kbxyaC > /sys/devices/platform/i8042/serio1/flags
the c flag is the click function, a capitol is turning it on.

to enable the vertical scrolling:
echo -n 1 > /sys/devices/platform/i8042/serio1/vscroll
to disable:
echo -n 0 > /sys/devices/platform/i8042/serio1/vscroll

for the horizontal scroll, use hscroll

any other things i should look for?

Brett Lyons (dblhelix) wrote :

Yay works. Thanks!

the settings didn't reload on resume from suspend using FSPC, with script above, so I modified the script to use the echo's instead, which DOES work. fspc not auto-working, either re-running manually via command line or . . .

echo -n # # # > /sys/devices/platform/i8042/serio1/accel

some good 3 sets are 5 2 3 and 4 1 4 and 3 1 4 and 2 1 3 and 7 1 4

hansvschoot (hansvschoot) wrote :

strangely the script i wrote for loading the settings with fspc was working yesterday, but doesn't anymore. after some toying around i gave up, the problem is somewhere with the fspc -t -l line, it won't execute from the script. (if you put it at the bottom, outside the case statement, it prevents the system from suspending)

i'm now using echo statements to setup the touchpad after suspend/hibernate, this works fine.
to read out the current settings (after you made them with fspc or another config program), use a terminal to go to /sys/devices/platform/i8042/serio1/ and use the cat command to read out the various entries, for instance:
cat vscroll
cat hscroll
cat accel
cat flags

write those values down and add them to the script, below the reset line, in the form of: echo -n thedesiredvalue > /sys/devices/platform/i8042/serio1/targetentry

i hope everyone can get their touchpad working the way it should be working now

joelzehring (joelzehring) wrote :

The results sound fantastic, but I'm a recent Ubuntu-convert from OS X, so the files and commands are kind of intimidating. Any advice for an Ubuntu noob like me to prevent disaster?

Any chance these tools and configurations will end up in Lucid in April?

hansvschoot (hansvschoot) wrote :

joelzehring, have you downloaded and extracted the attachment from post 30 and read the howto.txt? it's not too dificult to do, if you know how to open&use a terminal (Applications menu -> Accessories -> Terminal) and open&use the synaptic packages manager (System > Administration > Synaptic Package Manager)

if you run into any problems, post them here and i'll try to make the howto instructions more clear for first-time ubuntu users :o)

by the way, are you still on the alpha2 version of lucid or are you running the 9.10 karmic? i don't know if the kernel patching goes well in lucid, i'll try it out in a couple of days. (haven't got my usb dvd drive around at the moment)

hansvschoot: I haven't downloaded the attachment yet. I'm running 9.10
Karmic 64 bit. Hopefully I can carve out some time this week to try it out.
Keep your fingers crossed for me. : )

On Tue, Feb 16, 2010 at 8:23 AM, hansvschoot <email address hidden> wrote:

> joelzehring, have you downloaded and extracted the attachment from post
> 30 and read the howto.txt? it's not too dificult to do, if you know how
> to open&use a terminal (Applications menu -> Accessories -> Terminal)
> and open&use the synaptic packages manager (System > Administration >
> Synaptic Package Manager)
>
> if you run into any problems, post them here and i'll try to make the
> howto instructions more clear for first-time ubuntu users :o)
>
> by the way, are you still on the alpha2 version of lucid or are you
> running the 9.10 karmic? i don't know if the kernel patching goes well
> in lucid, i'll try it out in a couple of days. (haven't got my usb dvd
> drive around at the moment)
>
> --
> Add driver for Sentelic Touch pad
> https://bugs.launchpad.net/bugs/311869
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in OEM Priority Project: Invalid
> Status in “linux” package in Ubuntu: Confirmed
>
> Bug description:
> Binary package hint: linux-image
>
> The touch pad used in the (newer) MSI Wind is made by Sentelic. Sentelic
> has released a linux driver and configuration utility under GPL. It is
> available at http://sourceforge.net/projects/fsp-lnxdrv/. Some of the
> instructions included in the tar file seem to indicate this touch pad made
> be used in the Acer Aspire One as well.
> The supplied kernel code consists of a patch to the kernel ps/2 mouse
> driver to recognize the touch pad and a module to communicate with the touch
> pad.
>
> A discussion about building and using this driver on Ubuntu 8.10 is at
> http://forums.msiwind.net/default-msiwind/sentelic-linux-drivers-released-under-gnu-gpl-t4828.html
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/oem-priority/+bug/311869/+subscribe
>

stiV (stefan-wehinger) wrote :

i am using lucid alpha 4 (unr) on my netbook, which has this touchpad. The touchpad works (the basics), but there is no multitouch, any idea on how to control that in lucid (i have no such options in system->mouse)? Since hal has been removed, all the howtos out there don't work no more :-(

hansvschoot (hansvschoot) wrote :

@stiV: i thought the sentelic touchpad can't do multitouch? do you have multitouch (scrolling with 2 fingers?) in another OS, like windows? i've never had multitouch with my sentelic, not in windows XP, vista or windows 7. but if you've had multitouch before and are 100% positive you have a sentelic pad, it's worth doing a little digging for ;-)

Thomas Mueller (thmweb) wrote :

@hansvschoot: I have trouble building fspc.
When I run 'cmake .' I get following error:
-- The CXX compiler identification is unknown
CMake error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name.
-- Configuring incomplete, errors occurred!

ccmake is located in /usr/bin. I tried setting CMAKE_CXX_COMPILER to this path but it did not help.

What do I have to do to make it work? Thanks!!

hansvschoot (hansvschoot) wrote :

@Thomas Mueller: did you install "gcc" through the synaptic package manager/apt-get? can you also check if you have the "build-essential" and "cmake" package installed?

Thomas Mueller (thmweb) wrote :

Thanks! The package 'build-essential' was missing. cmake did work now.

Now I ran into the next error when making fspc:
msaccel.c error: X11/Xlib.h: No such file or directory
... and more

What X11 package(s) has/have to be installed?

Thomas Mueller (thmweb) wrote :

ok, got the right X11 packages and could make fspc.
When I start it, it says 'FSP not detected'.
Is there something more I have to do to make it work?
I've got a brand new Akoya E1222 Netbook with a Sentelic Multitouch touchpad.

Richard Casemore (skarard) wrote :

@Thomas Mueller

I made a rough and ready guide for installing Karmic on an Akoya E1222.

It also has a link to the archived MSI Wind forum if thats of any interest. I'm trying to disable the FSP while typing. I have got the basic use of how to do it but I don't know much about capturing keyboard events.

Hope this helps

Thomas Mueller (thmweb) wrote :

@Richard Casemore
Thanks!
The difference to your configuration, that my FSP was /sys/devices/platform/i8042/serio0

You write:
>So in the fsp_conf file pay attention to the line:
>FSP_DEV_DIR="/sys/devices/platform/i8042/serio1"

I cannot find any fsp_conf file. Where is it?
I'm unsure if the psmouse.ko does not detect my touchpad or fspc does not recognize it. When I understand it right, then the touchpad should be usable with the patched psmouse, right?

hansvschoot (hansvschoot) wrote :

@Thomas: if you've patched the psmouse (replaced the psmouse.ko file, after doing the modprobe -r stuff), fspc should be able to detect the touchpad (fsp stands for finger sensing pad if i'm correct).

if fspc is nog working, you could try the method discribed around post #34. pay attention to use the right device (serio0 or serio1, this depends on your personal machine).

Thomas Mueller (thmweb) wrote :

@hansvschoot: the content of my serio0 is different. It has following content:
bind_mode, driver, err_count, id, modalias, scroll, softraw, subsystem, description, drvctl, extra, input, power, set, softrepeat, uevent

btw: my kernel is 2.6.31-20
I did a fresh install of the 9.10 netbook remix edition, updated the packages and installed the Realtek wlan driver.

Thomas Mueller (thmweb) wrote :

maybe it's a silly question, please excuse, but I'm a newbie: can I just replace the kernel with the version which comes with 10.04, which supports the device?

hansvschoot (hansvschoot) wrote :

@Thomas: my serio0 looks exactly like yours, however my FSP is serio1.
i don't know about replacing the kernal, however you could upgrade to the beta of 10.04, it will be released the 18th if i'm correct.

are you 100% sure you replaced the psmouse.ko file? it's the part with the modprobe command. (it needs to be done again if you've updated the kernel, say from -19 to -20)

in lucid (10.04) you should be able to use the commands described above (post #34 and following)

Thomas Mueller (thmweb) wrote :

@hansvschoot: I'm sure. I checked it just again. The psmouse in the /lib/modules... directory is the new compiled one.

I'll wait until 10.04 beta gets released...

Thanks,
Thomas

hansvschoot (hansvschoot) wrote :

@Thomas: i just updated my own 9.10 karmic, and descovered a small glitch in my own HOWTO. the psmouse.ko should be copied with: sudo cp psmouse.ko /lib/modules/2.6.31-20-generic/kernel/drivers/input/mouse/ (the "-generic" part was missing in the HOWTO)

when copying don't forget to unprobe the mouse, so the commands should be (after navigating to the folder containing psmouse.ko):
sudo modprobe -r psmouse
sudo cp psmouse.ko /lib/modules/2.6.31-20-generic/kernel/drivers/input/mouse/
sudo modprobe psmouse

after this fspc and the command line tricks should both work in 9.10 with kernel 2.6.31-20-generic

Steven Liauw (steven-e-liauw) wrote :

Hi, I've just installed Ubuntu Lucid 10.04 on an Inforce netbook, it has a Sentelic FingerSensingPad (fspps /2). I installed it for a friend.

Strangely, at first (live CD and my first boot after installation) there was no problem whatsoever with the touchpad.

After I updated, and rebooted, I gave it to my friend. A few hours later, she returned, with the touchpad gone crazy (like described above). The machine also tends to suspend itself suddenly and without warning.

I tried installing the 2.6.34 kernel from kernel.ubuntu.com, but that does not help.

I followed the Howto that hansvschoot and phil gave, but could not succeed to make the psmouse.ko
I have build-essentials, gcc, and the linux headers.
When I run "make" in the terminal, somewhere in the middle (when it gets to the sentelic.c file, several error messages occured. Such as:

"
Error : 'TASK UNINTERRUPTIBLE undeclared (first use in this function)
Error : (each undeclared identifier is reported only once)
Error : for each function it appears in.
Error : implicit declaration of function 'schedule timeout'

Ok, so what should I do?

Also, can anybody else running Lucid (or the 2.6.32 kernel) confirm whether they still have the same problem I do?

Thanks in advance

hansvschoot (hansvschoot) wrote :

Hi Steven,

i'm updating my own laptop to a new kernel now, (it's lucid at the moment, but i don't remember if i had to replace the psmouse.ko) and check what needs to be done to get the touchpad to work.

you should try if you can "restart" the touchpad with the following terminal command:

echo -n R > /sys/devices/platform/i8042/serio1/flags

serio1 could also be serio0.

i'll post more in 15 minutes

hansvschoot (hansvschoot) wrote :

i just updated my own laptop to the newest kernel, and the touchpad works without changes needed.

the wacky mouse movement problem can result from suspending the machine, but you should be able to solve that with
echo -n R > /sys/devices/platform/i8042/serio1/flags (should be run a sudo i think)

since the machine is a netbook, i suspect you're running lucid in 32bit?

can you give me the list of your serio0 an serio1 folders? in a terminal window, enter:
ls /sys/devices/platform/i8042/serio0/
and
ls /sys/devices/platform/i8042/serio1/

did the echo command work to fix the touchpad?

Steven Liauw (steven-e-liauw) wrote :

@hansvschoot

Thanks for replying...

I tried the "echo" but it says no such directory found. I tried serio1 and serio0. And I checked, there is no file or directory called "flags" in there...

hansvschoot (hansvschoot) wrote :

hi steven,

can you try the commands from the live-cd? if i remember correct, 10.04 should have the sentelic driver build in, showing up as the i8042/serio0 or serio1 folder.

also, is the mouse freaking out on a fresh boot, or only after suspending/hibernating the machine?

what happens if you modprobe the psmouse?
to unload the mousedriver:
sudo modprobe -r psmouse
to load it again:
sudo modprobe psmouse

Steven Liauw (steven-e-liauw) wrote :

Sorry, took me a while to reply, because it was night in my part of the world.

I do have the i8042/serio0 and serio1 folders, but there is no folder of file called "flags" in them.

The touchpad freaks out after everytime now, after fresh boot. In fact it also freaks out in a live-usb (no cd drive).

Which is very strange...a few days ago, when I first installed this thing, the live-usb was working fine. Nothing has changed now, but the touchpad is no longer good in the live-usb. How is this explainable?

Could it be that the live-usb is using the installed files? That cannot be...

Doing the modprobe works....it renders the touchpad out of operation

I'll try the commands from the live-usb....but I'm not seeing much hope there...

Steven Liauw (steven-e-liauw) wrote :

Sorry, I did not see your other questions...

Yes, I am running the i386 Lucid. I also tried the Netbook Live-usb, but still the same problem.

About the "ls /sys/devices/platform/i8042/serio0/"

This is the result:

bind_mode
description
driver (cyan)
drvctl
err_count
extra
force_release
id (blue)
input (blue)
modalias
power (blue)
scroll
set
softraw
softrepeat
subsystem (cyan)
uevent

About the "ls /sys/devices/platform/i8042/serio1/"

This is the result:

bind_mode
description
drvctl
id (blue)
modalias
power (blue)
subsystem (cyan)
uevent

I still can't get the echo command to work, it says no such file or directory

hansvschoot (hansvschoot) wrote :

hi steven,

the problem also existing on the live-usb is a bit strange, did you allow the live-usb drive to update? (a live-usb is not read-only like a CD, in fact it's more like a normal installation on an external drive. changes made to it during a session stay after reboot.)

i think you should try to make a new live-usb and see if the touchpad is working fine from there (and how the serio1 and 0 folders look). also try if you can use the scroll function (hold your finger in the upper- and lower-right corner), it should be enabled by default in lucid.

to me your story sounds like the touchpad was recognized and working with a clean install/live-usb, and broke down after updates (or changes to your configuration).

one last question: how did you find out that you're "blessed" with a sentelic touchpad?

phil (fongpwf) wrote :

I'm not sure this bug is fully fixed in Lucid. It is recognized out of the box, but you cannot configure the touchpad except as root using echo commands.

Steven Liauw (steven-e-liauw) wrote :

@ Hans,

I found out I had sentelic by using the "xinput list" command I found at https://help.ubuntu.com/community/SynapticsTouchpad
It says that I have a FSPPS /2 Sentelic FingerSensingPad with id=12 (slave pointer 2)

Above that, it says: Virtual Core Pointer id=2 (master pointer 3)
also: Virtual Core XTEST pointer id=4 (slave pointer 2)

I'm not sure what those means, or if that's meaningful info..

Below that it lists my usb-mouse

The Live-usb is new, no updates. In fact, I've made new live-usbs several times: the Netbook edition, Linux Mint 9, and then the Lucid i386 once again. The same problem exists. In fact, if anything, it's getting worse now....Even my usb-mouse is malfunctioning right now...it's left clicking persistently...I'm reporting all this from another computer, because the netbook is a pain to work with right now...

I appreciate all that you have done to help. The netbook is not mine...My friend will need it soon...if nothing turns up, I'll have to try a Windows 7 install. She was actually happy with Ubuntu too before this incident, because her previous Xp was virus ridden.

hansvschoot (hansvschoot) wrote :

hi steven,

my xinput list gives almost the same results, so thats ok. (my pad has id=11)

i've run out of ideas for you to try. there are "solutions" like disabling the touchpad from bios and working with a usb mouse, but that's not a real option i guess. what bothers me most is that your touchpad was working fine and broke down, very strange.

you could try an ubuntu karmic disk, with older kernel and add the psmouse.ko yourself, but i don't blame you for switching to windows in this case ;-)
if you need the windows7 sentelic driver, let me know. my brother has his msi with sentelic pad running windows 7. (the driver was a bit hard to find about a year ago)

Steven Liauw (steven-e-liauw) wrote :

@ Hans,

Thanks for everything, although it didn't work out in the end.

I installed Win7 on it, and without any additional driver, the touchpad works.

Yes, the way this touchpad originally works in Lucid, and then skitzes is driving me crazy too.
And what bugs me is that I cannot reproduce the original good state even with a clean install or a live-usb.
I'm glad that the touchpad works for you in Lucid. I don't know why it's not working for me. Maybe the total combination of hardware settings in this netbook just messes things up?
Just out of curiosity, why was I not able to make the psmouse.ko file in Lucid? Is there a fundamental difference between Lucid and Karmic?

hansvschoot (hansvschoot) wrote :

Hi Steven, good to hear the machine is working now. the windows 7 touchpad driver gives you some extra control but it works (and is sold) without driver.

i haven't tried to compile the psmouse.ko under lucid yet myself, but it should work in the same way. all i can guess is that there are some dependencies missing. (to be honest, my machine is working very well at the moment and i want to keep it that way ;-)

all we can hope for is a bit more support in 10.10, with some luck we might even get a GUI to control our touchpads...

phil (fongpwf) wrote :

Do we need to open a bug against another package for GUI control?

Gretha (g-r-e-cramer) wrote :

@ Phil

A directly related question about how to configure Sentelic touchpads for non-tech users is on:

https://answers.launchpad.net/null/+question/113601

Thus far, the issue appears unresolved.

Sh4d0w (sh4d0w-z) wrote :

hello,
I'm currently running a 2.6.27 kernel (slackware 12.2).

I had tried phil & hansvschoot way, but unfortunately thats doesn't work on my laptop.

When I tried to run fspc, I got error : "fsp not detected".

I'm very thankful if someone can explain about it.

David (david.regev) wrote :

The driver for Sentelic’s touchpad has been in Ubuntu’s kernel at least since Lucid, but it is incomplete. Sentelic has crippled the driver (due to patent scares) by removing absolute positioning, even though it was in the original source. This has the consequence that the “synaptics” driver cannot pick up touchpad events and use them to certain standard features, including: edge scrolling, corners (all four), and possibly even two-finger scrolling. Anyone who’s used this touchpad knows how difficult it is to use a touchpad that doesn’t have good scrolling support.

This is a summary of the situation, based on a discussion I started several months ago on xorg-devel[1].

To fix this bug properly, Sentelic’s source for absolute positioning needs to be re-added to the driver. This being a bit out of my technical comfort zone, there hasn’t been much progress in my attempts to do this.

Incidentally, fixing this driver properly should also allow for standard touchpad graphical configuration utilities to work, regardless of whether Sentelic’s utility works.

Anyone want to help?

[1] http://lists.freedesktop.org/archives/xorg/2010-July/thread.html#50726

J. Navarro (jamilnavarro) wrote :
Download full text (5.9 KiB)

My current netbook came with a Sentelic touchpad included. Most of the time Ubuntu Lucid is able to grok it, however sometimes it goes back to ramdom jumpiness and clicks.

The last episode happened today, when my netbook ran out of battery and suspended. I, immediately, plug it back and turned it on to find the touchpad all jumpy.

Not wanting to invest too much time into it, i chose to just restart it hoping th e kernel modules would just work then. They didn't, so I plugged my emergency usb mouse and did some log reading. Every time the mouse pointer goes jumpy "psmouse.c: FingerSensingPad at isa0060/serio2/input0 lost synchronization, throwing X bytes away" is logged.

 /var/log/syslog.1:Jun 17 16:42:42 isonic kernel: [468701.816167] PM: suspend of drv:psmouse dev:serio2 complete after 1017.518 msecs
/var/log/syslog.1:Jun 18 10:43:51 isonic kernel: [ 7.282791] psmouse serio2: ID: 10 00 64
/var/log/syslog.1:Jun 18 12:29:34 isonic kernel: [ 6342.866424] PM: suspend of drv:psmouse dev:serio2 complete after 1017.162 msecs
/var/log/syslog.1:Jun 18 12:29:42 isonic kernel: [ 6354.714558] psmouse.c: FingerSensingPad at isa0060/serio2/input0 lost synchronization, throwing 1 bytes away.
/var/log/syslog.1:Jun 18 12:29:58 isonic kernel: [ 6371.191100] psmouse.c: FingerSensingPad at isa0060/serio2/input0 lost synchronization, throwing 3 bytes away.
/var/log/syslog.1:Jun 18 12:30:03 isonic kernel: [ 6375.416269] psmouse.c: FingerSensingPad at isa0060/serio2/input0 lost synchronization, throwing 3 bytes away.
/var/log/syslog.1:Jun 18 12:30:07 isonic kernel: [ 6379.943972] psmouse.c: FingerSensingPad at isa0060/serio2/input0 lost synchronization, throwing 3 bytes away.
/var/log/syslog.1:Jun 18 12:30:12 isonic kernel: [ 6385.053321] psmouse.c: FingerSensingPad at isa0060/serio2/input0 lost synchronization, throwing 3 bytes away.
/var/log/syslog.1:Jun 18 12:31:10 isonic kernel: [ 16.593736] psmouse serio2: ID: 10 00 64
/var/log/syslog.1:Jun 18 12:32:02 isonic kernel: [ 79.783615] psmouse.c: FingerSensingPad at isa0060/serio2/input0 lost synchronization, throwing 3 bytes away.
/var/log/syslog.1:Jun 18 12:32:07 isonic kernel: [ 85.315849] psmouse.c: FingerSensingPad at isa0060/serio2/input0 lost synchronization, throwing 3 bytes away.
/var/log/syslog.1:Jun 18 12:32:12 isonic kernel: [ 89.772440] psmouse.c: FingerSensingPad at isa0060/serio2/input0 lost synchronization, throwing 2 bytes away.
/var/log/syslog.1:Jun 18 12:32:14 isonic kernel: [ 92.369030] psmouse.c: FingerSensingPad at isa0060/serio2/input0 lost synchronization, throwing 1 bytes away.
/var/log/syslog.1:Jun 18 12:32:22 isonic kernel: [ 99.698559] psmouse.c: FingerSensingPad at isa0060/serio2/input0 lost synchronization, throwing 2 bytes away.
/var/log/syslog.1:Jun 18 12:32:37 isonic kernel: [ 115.594879] psmouse.c: FingerSensingPad at isa0060/serio2/input0 lost synchronization, throwing 1 bytes away.
/var/log/syslog.1:Jun 18 12:32:43 isonic kernel: [ 120.734934] psmouse.c: FingerSensingPad at isa0060/serio2/input0 lost synchronization, throwing 3 bytes away.
/var/log/syslog.1:Jun 18 12:32:46 isonic kernel: [ 123.710601] psmouse.c: FingerSensingPad at isa0060/serio2/input0 lost ...

Read more...

phil (fongpwf) wrote :

I think you need to do the reset thing. See comments #27 and #56.

DCuser (dcuser) wrote :

Will this bug be fixed for the next Ubuntu?
As there seems to be a patch since LONG time!!! Would be ridiculous not having it fixed for the nth release!
Also, I would suggest this as an actual bug, not wishlist. That because it causes a mal-function to the end user.

S. D. Salyer (sds-8) wrote :

Hello,

I have an MSI X370 notebook with the Sentelic touchpad. It has basic functionality and works fine, but has no multitouch capability (it is a multitouch pad and multitouch works well in Windows 7). I would love to see a multitouch capable driver for this pad and/or a generic Ubuntu multitouch-capable touchpad driver.

savage (twboerman) wrote :

Hey,

I have an MSIX350, and I have the same problem: no multitouch and no side-scrolling. I am desparate to get this working, and would be very grateful!

Patrik Kullman (nomego) wrote :

Same for the ASUS Zenbook, eager to see this fixed!

Bartosz Fenski (fenio) wrote :

I've just bought Zenbook... please fix it ;)

Oskari Saarenmaa (ov) wrote :

I was able to set the Sentelic touchpad in an ASUS ZenBook UX21E to absolute positioning mode (which allows side-scrolling) and enable some support for multitouch by accessing register 0x90 and patching the kernel driver. The modified driver & patches are available at https://github.com/saaros/sentelic/

Chris D (cdekter) wrote :

Thanks for your fantastic work Oskari! You beat me to it - I was getting close to getting absolute positioning working but hadn't worked out the correct registers yet.

I applied your changes to the stock Oneiric kernel. Scrolling works as you stated, however cursor movement is jumpy to the point of being unusable. I compiled the driver with debug output enabled, and it looks like the driver is receiving a smooth stream of absolute packets from the hardware. It reports >50 packets per second and the timestamps look right as well. But the way the cursor behaves it seems like only about 1-3 packets per second are actually being received by X. Please let me know if you need any other debug information.

Jamie Krug (jamie-thekrugs) wrote :

For a year or more I've used the fspc program (http://sourceforge.net/projects/fsp-lnxdrv/) to run a startup script that would reset my Sentelic FSP (to disable the tap-to-click and "hot spots" for horizontal/vertical scrolling, because they just drove me nuts, as there's no disable-while-typing setting). I wasted hours trying to get a resume hook to do the same thing, but it did nothing--something to do with attaching the the display or X session or whatever. Most of the solutions seemed to suggest simple echo commands to device files, but they always failed for me. It turns out that most of the examples referenced files under /sys/devices/platform/i8042/serio0 (or serio1), and I've *finally* taken the time to look more closely and discovered that my FSP device directory is serio4 (for my System76 Serval Pro v 7).

So, I'm happy to say that I was finally able to hack together a bash script that I use at boot and resume/thaw to keep my Sentelic FSP configuration as I choose:
https://github.com/jamiekrug/bash-goodies/blob/master/sentelic-fsp-config.sh

Just read the comments at the head of the script, and you can also execute the script with a -u option to output usage instructions.

This still feels like quite a hack, but it's a quick and functional way to disable things and keep it that way (after suspend/resume, as well). If anyone can point me in the right direction, I'd be happy to open a separate bug or do my best to review existing code for a better solution.

Also, @Oskari: very excited to hear of your absolute positioning work and multitouch support. Is there any chance you can do something about providing disable-while-typing support? That would be fabulous! I like the tap-to-click, but I activate it accidentally all the time while typing on the keyboard.

Bartosz Fenski (fenio) wrote :

For disabling touchpad while typing you can try https://github.com/gokmen/Sentelic/blob/master/README
Unfortunately it can't detect my touchpad, but maybe you'll be luckier ;)

Bartosz Fenski (fenio) wrote :

@Oskari: fantastic news!
Finally some progress, can't wait to make it fully supported.
Good luck ;)

Chris D (cdekter) wrote :

I've been working on refining and extending Oskari's improvements - my version is available as a fork of Oskari's version on GIthub. I would be grateful if anyone wants to do some testing (I can only test on a very recent v14 touchpad which is in my Asus UX31). https://github.com/thaelim/sentelic

Bartosz Fenski (fenio) wrote :

How to check version of touchpad?

Bartosz Fenski (fenio) wrote :

The guy from ArchLinux community contacted Sentelic company, and got some feedback and updates from them.
https://wiki.archlinux.org/index.php/Asus_Ux31#Sentelic_Touchpads
https://bbs.archlinux.org/viewtopic.php?id=125262&p=2
http://fsp-lnxdrv.svn.sourceforge.net/viewvc/fsp-lnxdrv/trunk/doc/fsp_packet.txt?revision=43&view=markup

I hope it's helpful for someone developing the driver ;)

Chris D (cdekter) wrote :

You can see the version of the touchpad when it's printed to the syslog during boot. You should see something like "Finger Sensing Pad, hw: <hardware version>, sw: <driver version>, buttons: <buttons>"

Bartosz Fenski (fenio) wrote :

[ 4.391733] Finger Sensing Pad, hw: 14.3.1, sw: 1.0.0-K, buttons: 4

So I guess I'm not your target with testing ;)

Reuben (reuben-bond) wrote :

Oskari, I am told by the engineer at Sentelic who I spoke to that the quality of the absolute positioning output is not sufficient for it to be used as pointer input. Perhaps he's mistaken, but I think I'll work on gesture support for now. I'm compiling Chris' fork.

Do we have anything in the way of a roadmap? I'll fork Chris' project on GitHub and work from there.

Chris, could you describe your changes?

Chris D (cdekter) wrote :

It's interesting that Sentelic's engineer said that. I am finding that in absolute mode the touchpad is not very accurate and a bid jittery - not so in relative mode. Perhaps this is symptomatic of what he is describing.

I'm not aware of any roadmap - my first goal was just to get absolute mode working with two finger scrolling, which I consider the absolute minimum to make it usable. My test hardware is currently out of the country so I won't be able to do much on this for the next 2 weeks until it comes back.

My changes were mainly to get things working on kernel 3.0. I haven't tested against 3.2, but Oskari's original version didn't work for me on 3.0. I took a look at the Elantech driver source to get some ideas on how to make it work - this appears to have paid off. My next step was to fix the two finger scrolling as the left and right finger packets arrive separately (same as the Elantech).

Bartosz Fenski (fenio) wrote :

The current status (at least with driver from https://github.com/saaros/sentelic):
- two finger scrolling works
- disable touchpad while writing works

What still doesn't work:
- emulation of middle button
- edge scrolling

Emulation you can workaround a little using taps instead of clicks. Just run the following:
synclient TapButton2=2

Then you can paste texts using tapping with two fingers.

Chris D (cdekter) wrote :

Edge scrolling works fine for me provided I configure it with either synclient or the KDE synaptiks application.

Limator (limator) wrote :

Hello,

does the sentelic linux driver still works with ubuntu 11.10 or 12.04? what's the easiest way to get to-finger-scrolling and disabling touchpad while typing?

thank you in advance.

Oskari Saarenmaa (ov) wrote :

Two-finger-scrolling, disabling touchpad while typing and disabling click-on-tap work in upstream kernel version 3.4-rc3+. I don't know if Ubuntu has backported these features.

Anthony Wong (anthonywong) wrote :

There will be support of Sentelic touchpad in 12.04, up to the point of 3.4-rc1. You can find the details in bug 969334 and http://ubuntu.5.n6.nabble.com/Precise-PATCH-0-6-Support-for-new-Sentelic-touchpad-LP-969334-td4855155.html.

Limator (limator) wrote :

oh wow that's great!
how can i upgrade to this kernel?

Patrik Kullman (nomego) wrote :

According to https://bugzilla.kernel.org/show_bug.cgi?id=43197, most issues with the Sentelic touchpad has now been resolved since kernel 3.6-rc7.

However, installing 3.6.0, 3.7rc1 or 3.7rc2 from kernel.ubuntu.com/~kernel-ppa/mainline/ does not show the improvements mentioned in the Linux kernel bug report.

Does Ubuntu kernel build scripts need to be adjusted to incorporate these changes?

I have created a patch of the kernel that makes horizontal two-finger scrolling become functional on Sentelic touchpads. After applying the patch, you need to activate it in synaptics xorg driver, and then it just works.

Vertical two-finger scrolling also becomes much smoother.

The kernel version on which I have worked is 3.7-rc8 (3.7-rc7 will work fine also if you apply the patch against it; other versions, I don't know)

I'm going to attempt a first submission of my patch to the relevant kernel maintainer in a few minutes. I guess at best what they'll do is ask me for changes.

Here's where you can help:
I own a Sentelic touchpad version STL3888_C0, so I'm sure my patch works with this version of the touchpad. But, I need to know if and how it works on earlier and later versions of the touchpad. If you do own a Sentelic touchpad of an earlier or later version, you can help me, and the community by trying the following:
1) Download, compile and install kernel version 3.7-r7 or 3.7-rc8.
2) Activate horizontal two-finger scrolling in xorg through by configuring the synaptics driver with the following directive:
Option "HorizTwoFingerScroll" "1"
3) Open your favorite X app, and make a status on how horizontal and vertical two-finger scrolling work for you.
4) Apply my patch, recompile and replace the psmouse.ko module by the patched version that you just compiled
5) rmmod psmouse && modprobe psmouse
6) Retry horizontal and vertical two-finger scrolling
7) Give feedback by reply to this thread

You can obtain my patch through git:
git clone git://sentelic.pkbd.org/sentelic.git

You can also apply it as a diff against the kernel source tree versions 3.7-rc7 or 3.7-rc8. The diff can be found in the git repository, or you can download it directly by following this link:
http://sentelic.pkbd.org/20121212-diffoutput.txt

If there's any problem with either of these downloads, please let me know.

Phil, this bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? If so, could you please test for this with the latest development release of Ubuntu? ISO images are available from http://cdimage.ubuntu.com/daily-live/current/ .

If it remains an issue, could you please run the following command in the development release from a Terminal (Applications->Accessories->Terminal), as it will automatically gather and attach updated debug information to this report:

apport-collect -p linux <replace-with-bug-number>

Also, could you please test the latest upstream kernel available following https://wiki.ubuntu.com/KernelMainlineBuilds ? It will allow additional upstream developers to examine the issue. Please do not test the daily folder, but the one all the way at the bottom. Once you've tested the upstream kernel, please comment on which kernel version specifically you tested. If this bug is fixed in the mainline kernel, please add the following tags:
kernel-fixed-upstream
kernel-fixed-upstream-VERSION-NUMBER

where VERSION-NUMBER is the version number of the kernel you tested. For example:
kernel-fixed-upstream-v3.11-rc5

This can be done by clicking on the yellow circle with a black pencil icon next to the word Tags located at the bottom of the bug description. As well, please remove the tag:
needs-upstream-testing

If the mainline kernel does not fix this bug, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-VERSION-NUMBER

As well, please remove the tag:
needs-upstream-testing

If you are unable to test the mainline kernel, please comment as to why specifically you were unable to test it and add the following tags:
kernel-unable-to-test-upstream
kernel-unable-to-test-upstream-VERSION-NUMBER

Once testing of the upstream kernel is complete, please mark this bug's Status as Confirmed. Please let us know your results. Thank you for your understanding.

tags: added: gusty needs-kernel-logs needs-upstream-testing
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.