Touchpad detected as mouse on Asus ux303ln laptop

Bug #1372609 reported by Tim Gilbert on 2014-09-22
362
This bug affects 61 people
Affects Status Importance Assigned to Milestone
linux (Arch Linux)
New
Undecided
Unassigned
linux (Ubuntu)
Medium
Unassigned

Bug Description

Hi! I'm following the bug reporting documentation here:

https://wiki.ubuntu.com/DebuggingTouchpadDetection#In_case_Touchpad_features_like_scrolling.2C_tapping.2C_etc._do_not_work_at_all.

The touchpad on my new Asus ux303ln laptop is detected as a mouse, so I can't access touchpad features such as two-finger scrolling.

The laptop was very recently released and I couldn't find any outstanding firmware updates for it through Asus's Windows-based tools.

% lsb_release -rd
Description: Ubuntu 14.04.1 LTS
Release: 14.04

Per the instructions on the wiki, I'm attaching output from /proc/bus/input/devices,` xinput --list`, and /var/log/Xorg.0.log.

This machine also has a touchscreen, which I'm fairly certain is the "maXtouch digitizer" visible in the logs. I haven't yet restarted in Windows to see if it says anything useful about the touchpad, but I can do so if that's helpful. This is a fresh install of 14.04 and I haven't done much customization of it apart from installing some applications and changing the default resolution.

The only relevant bit I noticed in /var/log/dmesg is this:

[ 3.967547] input: PS/2 Logitech Wheel Mouse as /devices/platform/i8042/serio4/input/input11

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: linux-image-3.13.0-35-generic 3.13.0-35.62
ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
Uname: Linux 3.13.0-35-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.4
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: tim 2234 F.... pulseaudio
 /dev/snd/controlC1: tim 2234 F.... pulseaudio
CurrentDesktop: Unity
Date: Mon Sep 22 14:30:33 2014
HibernationDevice: RESUME=UUID=e6052f15-271a-4424-aac2-9b0ee1e490ed
InstallationDate: Installed on 2014-09-22 (0 days ago)
InstallationMedia: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140722.2)
Lsusb:
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 001 Device 003: ID 03eb:8a32 Atmel Corp.
 Bus 001 Device 002: ID 064e:9700 Suyin Corp.
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: ASUSTeK COMPUTER INC. UX303LN
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-35-generic.efi.signed root=UUID=4f908b1b-e06f-4dc9-9642-e952d2598e42 ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.13.0-35-generic N/A
 linux-backports-modules-3.13.0-35-generic N/A
 linux-firmware 1.127.6
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 06/23/2014
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: UX303LN.203
dmi.board.asset.tag: ATN12345678901234567
dmi.board.name: UX303LN
dmi.board.vendor: ASUSTeK COMPUTER INC.
dmi.board.version: 1.0
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: ASUSTeK COMPUTER INC.
dmi.chassis.version: 1.0
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrUX303LN.203:bd06/23/2014:svnASUSTeKCOMPUTERINC.:pnUX303LN:pvr1.0:rvnASUSTeKCOMPUTERINC.:rnUX303LN:rvr1.0:cvnASUSTeKCOMPUTERINC.:ct10:cvr1.0:
dmi.product.name: UX303LN
dmi.product.version: 1.0
dmi.sys.vendor: ASUSTeK COMPUTER INC.

Tim Gilbert (r-ubuntu-com) wrote :
Tim Gilbert (r-ubuntu-com) wrote :
Tim Gilbert (r-ubuntu-com) wrote :

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Guillaume (guillaume-desclaux) wrote :

In confirm the exact same touchpad issue on a UX303LA without touch-screen : touchpad is seen as a PS/2 Logitech Wheel Mouse.

Despernal (despernal) wrote :

I just purchased a UX303LN and can confirm this being a problem with the touchpad on this laptop.

John Smity (john-smity5) wrote :

I also have this problem with my new laptop

Despernal (despernal) wrote :

Looking around I found the follow bug page that talks about this may be a FocalTech touchpad

https://bugzilla.redhat.com/show_bug.cgi?id=1110011

They are requesting some more help to figure out things.

Looking at the dmesg provided and also the one I have on my new laptop. It appears to be the same

cat dmesg | grep FLT0101

[ 0.252541] pnp 00:09: Plug and Play ACPI device, IDs FLT0101 SYN0a00 SYN0002 PNP0f03 PNP0f13 PNP0f12 (active)

Guillaume (guillaume-desclaux) wrote :

I don't know if it changes anything for this touchpad issue, but Asus has just released today a new BIOS firmware update :

http://dlcdnet.asus.com/pub/ASUS/nb/UX303LA/UX303LAAS204.zip

Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.17 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream'.
Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.17-rc6-utopic/

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
Despernal (despernal) wrote :

After booting up with 3.17.0-rc6+ and the patchs from Hans this is indeed a FocalTech pad.

The patch makes it work in psmouse.proto=bare mode

[ 0.000000] Linux version 3.17.0-rc6+ (root@Tardis01) (gcc version 4.8.3 (Gentoo 4.8.3 p1.1, pie-0.5.9) ) #1 SMP PREEMPT Tue Sep 23 14:21:08 CDT 2014

[ 2.535387] input: PS/2 FocalTech FocalTech Touchpad in mouse emulation mode as /devices/platform/i8042/serio4/input/input13

Mark Mandel (mark-mandel) wrote :

@despernal did that give you two finger scrolling, or just regular touchpad functionality?

Despernal (despernal) wrote :

All the patch does in a boiled down fashion is if it detects a FocalTech touchpad it sets it to use the generic ps2 mouse emulations mode.
It then resets the the i8024 as it has a problem with the probing.

What this means is that all you get is just a generic touchpad with left and right click no scrolling on the side of the pad or anything special.

It is like setting psmouse.proto=bare if the patch was not there it would just read a PS/2 Generic Mouse in detection.

Looking at what Hans is talking about in the other bug report this is a proprietary touchpad and we either need the company to release some code or there will have to be a reverse engineering which could take awhile.

I am contemplating returning this laptop as it is under the 30 days for me between then and the fact that yellow looks like mustard lol.

tags: added: kernel-bug-exists-upstream
Tim Gilbert (r-ubuntu-com) wrote :

I just tried rebooting with the v3.17-rc6-utopic kernel and I still see the same issue, so I'm tagging this as kernel-bug-exists-upstream.

@Despernal, the bug that you've linked for the X550 actually describes slightly different behavior than what I'm seeing on my UX303LN. The reporter of that bug couldn't get the touchpad to work at all. Mine works fine as a mouse, but it isn't detected as a touchpad.

It does seems likely that this is the same hardware, though, as I get the same output in dmesg:

% dmesg | grep -i flt
[ 0.254970] pnp 00:06: Plug and Play ACPI device, IDs FLT0101 SYN0a00 SYN0002 PNP0f03 PNP0f13 PNP0f12 (active)

Just for fun, I ran some of the commands that Hans suggested in that bug (https://bugzilla.redhat.com/show_bug.cgi?id=1110011#c77), I will attach the results below.

Tim Gilbert (r-ubuntu-com) wrote :

for i in /sys/bus/acpi/devices/*; do echo -n "$i: "; cat $i/status 2> /dev/null || echo; done > acpi-devices.log

Guillaume (guillaume-desclaux) wrote :

@Tim Gilbert : I confirm, that this is a different bug than the bug linked by @Despernal for the X550. On my UX303LA the touchpag works fine as a mouse too (PS2 Logitech Wheel Mouse detected out-of-the-box : touchpad is ok, left button and right button are ok too, no two finger scrolling). And dmesg gives me the same output : Plug and Play ACPI device, IDs FLT0101 SYN0a00 SYN0002 PNP0f03 PNP0f13 PNP0f12 (active).

I will try to contact Focaltech (http://www.focaltech-systems.com) to have more information about this chipset FLT0101

Guillaume (guillaume-desclaux) wrote :

I suppose that the reverse engineering from the Windows driver (http://dlcdnet.asus.com/pub/ASUS/nb/DriversForWin8.1/SmartGesture/SmartGesture_Win81_64_VER2214.zip) is not an option ?

Guillaume (guillaume-desclaux) wrote :

Or from this much smaller Windows 7 driver ?

http://www.magicdriver.com/download.php?file=112309,86759&name=ASUSTeK-6.0.0.21

The SmartGesture software in my previous message seems to be a complete suite of tools for the touchpad, not just a driver.

Despernal (despernal) wrote :

I would be curious if FocalTech is willing to release some drivers or the specs to write a driver

Guillaume (guillaume-desclaux) wrote :

@Despernal : I've made a request this morning to FocalTech and AsusTek for Linux FLT0101 driver (or at least detailled technical information). I'll give you further feedback if they answer !

By the way : it seems that Asus provides an "unified" driver for Elantech and FocalTech chipset. Maybe it would be worth testing the Linux Elantech driver ?

It's a DKMS driver :

cd /usr/src/
sudo wget http://people.debian.org/~julien/lp681904/psmouse-elantech-lp681904-1.tar.bz2
sudo tar jxvf psmouse-elantech-lp681904-1.tar.bz2
sudo dkms add -m psmouse -v elantech-lp681904-1
sudo dkms build -m psmouse -v elantech-lp681904-1
sudo dkms install -m psmouse -v elantech-lp681904-1

I've not tested this procedure yet !

Guillaume (guillaume-desclaux) wrote :

FYI Bios update 204 solves nothing regarding this touchpad issue.

Guillaume (guillaume-desclaux) wrote :

And I confirm that on an UX303LA too the new upstream kernel : 3.17.0-031700rc6_3.17.0-031700rc6.201409211935 does NOT change anything for this bug

Guillaume (guillaume-desclaux) wrote :

I've tested the Elantech driver : unfortunately it's not working

Guillaume (guillaume-desclaux) wrote :

Asus has answered : they cannot provide any information or driver for Linux... No comment !
I'm still waiting answer from FocalTech support.

mahmoh (mahmoh) wrote :

Confirmed:

Release: 14.04

        Product Name: UX303LA

Linux version 3.17.0-999-generic (apw@gomeisa) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #201409262205 SMP Sat Sep 27 02:06:20 UTC 2014

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
ed_hub (edouard-hubert) wrote :

same issu here (ux303la-r)

Changed in linux (Ubuntu):
assignee: nobody → ed_hub (edouard-hubert)
Artem (chirkin-art) wrote :

The same problem
Laptop
ux303ln
lsb_release
Description: Ubuntu Utopic Unicorn (development branch)
Release: 14.10
xinput ist
⎜ ↳ PS/2 Logitech Wheel Mouse id=16 [slave pointer (2)]

ed_hub (edouard-hubert) wrote :

Phoronix says that kernel 3.18 will "support for detecting FocalTech PS/2 touch-pads"
http://www.phoronix.com/scan.php?page=news_item&px=MTgwNzE

I hope it is for ours to.

Changed in linux (Ubuntu):
assignee: ed_hub (edouard-hubert) → nobody
Guillaume (guillaume-desclaux) wrote :

http://lkml.iu.edu/hypermail/linux/kernel/1410.0/03983.html

... a rudimentary support for laptops using FocalTech
touchpads ...

Wait and see. I hope that this "rudementary support" will be better than the actual "Logitech Mouse Wheel" compatible mode.

Guillaume (guillaume-desclaux) wrote :

This git pull seems to be related to the patch published by Hans de Goede

https://<email address hidden>/msg12129.html

Unfortunately : This patch adds detection of these devices based on their pnp ids, and when they are detected, treats them as a bare ps/2 mouse. Doing things this way they at least work in their ps/2 mouse emulation mode.

So, I think that it doesn't change anything for us because on UX303* the "PS2 Logitech Wheel Mouse" mode is already working properly (it seems that it's not the case for Asus X450 and X550 laptop)

I am in the process of reverse engineering the protocol. I have executed the Windows 8.1 driver in a VM and have written a short program which puts the touchpad into the proprietary mode. The code can be found here:

https://github.com/mgottschlag/focaltech-tools

If anybody wants to join me, before a proper driver can be written, the next step is to decipher the report packet stream - so if anybody wants to run the program on their machine and try to find out some information about the packet format, go ahead. I am going to collect my findings in the github wiki at the link above.

Example output (from a single finger moving to the left):

reset, device id = 00
status: 69 80 80
status: 36 53 03
status: 00 13 0d
status: 0b 03 00
status: 23 bd f8
(the interesting part starts here)
packet: 03 01 00 00 00 00
packet: 06 17 ce 03 b8 10
packet: 06 17 ce 03 b8 10
packet: 06 17 ce 03 b8 10
packet: 06 17 cc 03 b8 20
[...]
packet: 06 15 a4 03 d4 20
packet: 06 15 9a 03 d4 20
packet: 06 15 8d 03 d4 10
packet: 06 15 76 03 d2 10
packet: 03 00 00 00 00 00

... that went quicker than expected. The link above now contains a mostly complete parser for the packet stream that (afaics) gives the correct finger position for up to 5 fingers, as well as information about touchpad clicks.

First of all, thanks a lot for the effort to give us a solution to this problem!

I'd like to verify that it works on my UX303LN. I went ahead and compiled the
code and tried echoing in "serio_raw" into one of the
/sys/bus/serio/devices/serio*/drvctl, but got stuck on the following:

$ sudo ./init /sys/bus/serio/devices/serio1/
Could not open /sys/bus/serio/devices/serio1/. Check that the program is run
with the required privileges and that the file exists.
open: Is a directory

What file does the program want as its argument?

On 2014-10-19 15:19, Mathias Gottschlag wrote:
> ... that went quicker than expected. The link above now contains a
> mostly complete parser for the packet stream that (afaics) gives the
> correct finger position for up to 5 fingers, as well as information
> about touchpad clicks.
>

Download full text (4.9 KiB)

Try sudo ./init /dev/serio_raw0.

I'll add a comment about that in the usage section. That device file should
be created if you switch a device to serio_raw (serio4 here!).
Am 19.10.2014 16:10 schrieb "linduxed" <email address hidden>:

> First of all, thanks a lot for the effort to give us a solution to this
> problem!
>
> I'd like to verify that it works on my UX303LN. I went ahead and compiled
> the
> code and tried echoing in "serio_raw" into one of the
> /sys/bus/serio/devices/serio*/drvctl, but got stuck on the following:
>
> $ sudo ./init /sys/bus/serio/devices/serio1/
> Could not open /sys/bus/serio/devices/serio1/. Check that the program is
> run
> with the required privileges and that the file exists.
> open: Is a directory
>
> What file does the program want as its argument?
>
> On 2014-10-19 15:19, Mathias Gottschlag wrote:
> > ... that went quicker than expected. The link above now contains a
> > mostly complete parser for the packet stream that (afaics) gives the
> > correct finger position for up to 5 fingers, as well as information
> > about touchpad clicks.
> >
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1372609
>
> Title:
> Touchpad detected as mouse on Asus ux303ln laptop
>
> Status in “linux” package in Ubuntu:
> Confirmed
>
> Bug description:
> Hi! I'm following the bug reporting documentation here:
>
>
> https://wiki.ubuntu.com/DebuggingTouchpadDetection#In_case_Touchpad_features_like_scrolling.2C_tapping.2C_etc._do_not_work_at_all
> .
>
> The touchpad on my new Asus ux303ln laptop is detected as a mouse, so
> I can't access touchpad features such as two-finger scrolling.
>
> The laptop was very recently released and I couldn't find any
> outstanding firmware updates for it through Asus's Windows-based
> tools.
>
> % lsb_release -rd
> Description: Ubuntu 14.04.1 LTS
> Release: 14.04
>
> Per the instructions on the wiki, I'm attaching output from
> /proc/bus/input/devices,` xinput --list`, and /var/log/Xorg.0.log.
>
> This machine also has a touchscreen, which I'm fairly certain is the
> "maXtouch digitizer" visible in the logs. I haven't yet restarted in
> Windows to see if it says anything useful about the touchpad, but I
> can do so if that's helpful. This is a fresh install of 14.04 and I
> haven't done much customization of it apart from installing some
> applications and changing the default resolution.
>
> The only relevant bit I noticed in /var/log/dmesg is this:
>
> [ 3.967547] input: PS/2 Logitech Wheel Mouse as
> /devices/platform/i8042/serio4/input/input11
>
> ProblemType: Bug
> DistroRelease: Ubuntu 14.04
> Package: linux-image-3.13.0-35-generic 3.13.0-35.62
> ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
> Uname: Linux 3.13.0-35-generic x86_64
> ApportVersion: 2.14.1-0ubuntu3.4
> Architecture: amd64
> AudioDevicesInUse:
> USER PID ACCESS COMMAND
> /dev/snd/controlC0: tim 2234 F.... pulseaudio
> /dev/snd/controlC1: tim 2234 F.... pulseaudio
> CurrentDesktop: Unity
> Date: Mon Sep 22 14:30:33 2014
> Hiber...

Read more...

Mikael Muszynski (linduxed) wrote :
Download full text (5.3 KiB)

serio4 was indeed the device for which the program worked.

All five fingers are registered and give plenty of output.

What would the steps be to make this translate into cursor movement and button
presses? Currently this eats all of the input and transforms it into console
output, as far as I can see.

On 2014-10-19 16:14, Mathias Gottschlag wrote:
> Try sudo ./init /dev/serio_raw0.
>
> I'll add a comment about that in the usage section. That device file should
> be created if you switch a device to serio_raw (serio4 here!).
> Am 19.10.2014 16:10 schrieb "linduxed" <email address hidden>:
>
>> First of all, thanks a lot for the effort to give us a solution to this
>> problem!
>>
>> I'd like to verify that it works on my UX303LN. I went ahead and compiled
>> the
>> code and tried echoing in "serio_raw" into one of the
>> /sys/bus/serio/devices/serio*/drvctl, but got stuck on the following:
>>
>> $ sudo ./init /sys/bus/serio/devices/serio1/
>> Could not open /sys/bus/serio/devices/serio1/. Check that the program is
>> run
>> with the required privileges and that the file exists.
>> open: Is a directory
>>
>> What file does the program want as its argument?
>>
>> On 2014-10-19 15:19, Mathias Gottschlag wrote:
>>> ... that went quicker than expected. The link above now contains a
>>> mostly complete parser for the packet stream that (afaics) gives the
>>> correct finger position for up to 5 fingers, as well as information
>>> about touchpad clicks.
>>>
>>
>> --
>> You received this bug notification because you are subscribed to the bug
>> report.
>> https://bugs.launchpad.net/bugs/1372609
>>
>> Title:
>> Touchpad detected as mouse on Asus ux303ln laptop
>>
>> Status in “linux” package in Ubuntu:
>> Confirmed
>>
>> Bug description:
>> Hi! I'm following the bug reporting documentation here:
>>
>>
>> https://wiki.ubuntu.com/DebuggingTouchpadDetection#In_case_Touchpad_features_like_scrolling.2C_tapping.2C_etc._do_not_work_at_all
>> .
>>
>> The touchpad on my new Asus ux303ln laptop is detected as a mouse, so
>> I can't access touchpad features such as two-finger scrolling.
>>
>> The laptop was very recently released and I couldn't find any
>> outstanding firmware updates for it through Asus's Windows-based
>> tools.
>>
>> % lsb_release -rd
>> Description: Ubuntu 14.04.1 LTS
>> Release: 14.04
>>
>> Per the instructions on the wiki, I'm attaching output from
>> /proc/bus/input/devices,` xinput --list`, and /var/log/Xorg.0.log.
>>
>> This machine also has a touchscreen, which I'm fairly certain is the
>> "maXtouch digitizer" visible in the logs. I haven't yet restarted in
>> Windows to see if it says anything useful about the touchpad, but I
>> can do so if that's helpful. This is a fresh install of 14.04 and I
>> haven't done much customization of it apart from installing some
>> applications and changing the default resolution.
>>
>> The only relevant bit I noticed in /var/log/dmesg is this:
>>
>> [ 3.967547] input: PS/2 Logitech Wheel Mouse as
>> /devices/platform/i8042/serio4/input/input11
>>
>> ProblemType: Bug
>> DistroRelease: Ubuntu 14.04
>> Package: linux-image-3.13.0-35-gener...

Read more...

Ivo Anjo (knuckles) wrote :

Thank you Mathias! I'm stilll waiting for my UX303LN preorder (my country always gets things last, sigh...) but you're a hero already :)

Let me know if I can buy you a pizza or a beer! Be glad to!

I've written a multitouch-capable driver which seems to work well at least on the UX303LN. The code is available under the following URL (in the focaltech branch):

https://github.com/mgottschlag/linux/tree/focaltech

Before I send anything for review, can people with affected devices maybe test the driver and see whether it works?

Instructions for building: https://wiki.ubuntu.com/KernelTeam/GitKernelBuild

Craftkiller (craftkiller) wrote :

Mathias' branch is working for me on a UX303LN + Arch Linux. Let me know if theres anything specific you want me to test.

Michael Wingender (mwingender) wrote :

Great work. I can confirm that focaltech branch from Mathias is working on a UX303LA-R5098H.

Mark Mandel (mark-mandel) wrote :

@Mathias - I don't suppose there is any way to compile and load *just* the driver, rather than having to install the entire kernel?

Guillaume (guillaume-desclaux) wrote :

A DKMS driver should be great but it's already a fantastic job ! Thanks Mathias ! I confirm it's working on my UX303LA

Mark Mandel (mark-mandel) wrote :

@Mathias, @Guillaume - oh yeah totally. Sorry - thanks for all the effort, this is amazing.

I plan on trying it soon!

Ivo Anjo (knuckles) wrote :

Finally got my new laptop, can confirm touchpad seems to be working fine with the new driver!
Thanks a lot!

Ivo Anjo (knuckles) wrote :

Also if someone wants the precompiled kernel debs for testing, here you go:
https://mega.co.nz/#F!B4YlWTLJ!A6Gu8gyRNVg6fGhUx041tw

Brad C (courvilb) wrote :

Mathias' branch also works for me. Thanks for doing this!

UX303LN - Linux Mint 17 Qiana

Mark Mandel (mark-mandel) wrote :

@Mathis, @Ivo - thanks for your hard work on this. I just installed the debs, and they work perfectly! Very happy fellow right now! :)

Roland (roland-kuku) wrote :

Awsome work fellows !

Works perfectly.

UX303LA - Ubuntu Gnome 14.04

Jimmy (jimeung) wrote :

Hello there !
I also have the same problem with my Asus UX303LA - Ubuntu 14.04 and it seems that Mathis and Ivo's solution is working.
However, i'm totally a beginner concerning Ubuntu so i don't really understand the steps to do in order to install the focaltech touchpad.
Is it possible for you to make a tutorial on how to create the kernel ?

Nevertheless thanks for your hard work ! :)

(I'm french, so please forgive me for my english mistakes ^^)

Ivo Anjo (knuckles) wrote :

@Mark @Jimmy: I can't claim any credit, I just uploaded the same debs everyone would get if they followed Mathias's instructions :)

Anyway Jimmy, if you go to the url https://mega.co.nz/#F!B4YlWTLJ!A6Gu8gyRNVg6fGhUx041tw then download and install the deb files, and reboot, you'll get the new kernel with the focaltech driver. Although if you're a beginner I'd suggest you wait a bit so that maybe someone does a backport to the normal ubuntu kernel, as this one is not supported at all. Also nvidia-331 does not build out of the box with this kernel, so if you had optimus working, it stops.

Mark Mandel (mark-mandel) wrote :

@Ivo - still thanks :)

I found this kernel also breaks suspend/resume on this machine as well.

Hadn't realised that optimus breaks too, but yep, I can see that it does!

Mark Mandel (mark-mandel) wrote :

So I took a stab at turning @Mathias's work into DKMS driver for Ubuntu 14.04, but I can't get past one issue.

You can see my work here (FYI, this is my first time mucking around with Linux drivers / Kernel stuff):
https://github.com/markmandel/psmouse-focaltech-dkms

But when I run `sudo dkms build -m psmouse -v focaltech-dkms`, I get the following error.
/var/lib/dkms/psmouse/focaltech-dkms/build/src/psmouse-base.c:473:36: error: ‘struct serio’ has no member named ‘firmware_id’
  if (!strncmp(psmouse->ps2dev.serio->firmware_id, "PNP:", 4))

Full version: https://gist.github.com/markmandel/40e92f7bf8b1c2ba4ffe

If anyone can provide me with any direction, that would be great. I'm wondering if the firmware_id member is not available in this driver version?

Ivo Anjo (knuckles) wrote :

Yes I discovered that too, psmouse from 3.17 kernel does not build with ubuntu's current kernel, although I haven't had the time yet to look if the change is easy or not to make.

Arno (idfafp) wrote :

Hi, my touchpad works fine too on my Touchpad ux303la + Ubuntu 14.10 ; thanks =D Hope this driver will be merged quickly.

There is a second version of the driver which improves compatibility with other Asus laptops here:
https://github.com/mgottschlag/linux/tree/focaltech2

As to the the firmware_id issue, these three patches are relevant:
http://www.spinics.net/lists/linux-input/msg33508.html

I don't think packaging the driver as a DKMS driver is viable because the i8042 driver which provides the PNP ID which is used to identify the touchpad is not compiled as a module, so the changes to that driver cannot be packaged together with the psmouse driver. The only alternative would be to write custom code which fetches the PNP ID from somewhere else.

The only viable way would be to backport the patches to older kernels and provide complete kernel packages.

Mark Mandel (mark-mandel) wrote :

@Mathias

I've been trying to turn your code into a DKMS driver for 3.17+ kernels, since the PNP lookup is how it works (https://github.com/markmandel/psmouse-focaltech-dkms),
since I ran into issues with the version of the kernel you had in your repo, wheras the 3.17.1 Ubuntu kernel seems to run great for me.

I can build and install it just fine, but it's still seeing it as "PS/2 FocalTech FocalTech Touchpad in mouse emulation mode" - which I'm starting to wonder if the embedded focaltech drivers in the 3.17 kernel are overwriting my DKMS ones.

I'll keep playing with it, see if I can get it to work, it's a fun little project.

Ivo Anjo (knuckles) wrote :

Probably the way to go is to request a backport to the Ubuntu 14.10 kernel, and then we get the backport for free on 14.04 when the updated hardware enablement makes the 14.10 kernel available to 14.04 LTS.

I've uploaded debs of the kernel with the new version of the driver here:
https://drive.google.com/file/d/0Bz7ZZcjnECHLX21ES1JPMnFyNVk/view?usp=sharing

Mark Mandel (mark-mandel) wrote :

@Mathias - thanks for the debs again. I find it break suspend/resume on ubuntu 14.04. Which version of Ubuntu are you on? (thinking it may be time to upgrade to 14.10)

Othmane Benkirane (anaothmane) wrote :

@mgottschlag, thanks for all the work! I confirm focaltech2 drivers work under the UX303LN-DB71T laptop, though using the vanilla kernel broke suspend/resume, brightness control, and optimus (I think). Right now I reverted to the default kernel until this gets sorted out. But at least, now we know it's only a matter of integrating your patches. Thanks again!

Which part of suspend/resume is broken? Only the touchpad, or the whole system? I am on Ubuntu 14.04 and did not have any problems with suspend/resume so far.

Pilot6 (hanipouspilot) wrote :
Download full text (4.4 KiB)

I have another device but have similar problems. The notebook does not
come out from suspend and the kernel does not get key codes of F5 and
F6 keys. There are some other minor issues, This maybe is because of
some Canonical patches, which were not applied in vanilla kernels, or
for some kernel regressions. Either way it is needed to patch
supported kernels 3.13 and 3.17.

2014-11-03 1:05 GMT+03:00 Mathias Gottschlag <email address hidden>:
> Which part of suspend/resume is broken? Only the touchpad, or the whole
> system? I am on Ubuntu 14.04 and did not have any problems with
> suspend/resume so far.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1372609
>
> Title:
> Touchpad detected as mouse on Asus ux303ln laptop
>
> Status in “linux” package in Ubuntu:
> Confirmed
> Status in “linux” package in Arch Linux:
> New
>
> Bug description:
> Hi! I'm following the bug reporting documentation here:
>
> https://wiki.ubuntu.com/DebuggingTouchpadDetection#In_case_Touchpad_features_like_scrolling.2C_tapping.2C_etc._do_not_work_at_all.
>
> The touchpad on my new Asus ux303ln laptop is detected as a mouse, so
> I can't access touchpad features such as two-finger scrolling.
>
> The laptop was very recently released and I couldn't find any
> outstanding firmware updates for it through Asus's Windows-based
> tools.
>
> % lsb_release -rd
> Description: Ubuntu 14.04.1 LTS
> Release: 14.04
>
> Per the instructions on the wiki, I'm attaching output from
> /proc/bus/input/devices,` xinput --list`, and /var/log/Xorg.0.log.
>
> This machine also has a touchscreen, which I'm fairly certain is the
> "maXtouch digitizer" visible in the logs. I haven't yet restarted in
> Windows to see if it says anything useful about the touchpad, but I
> can do so if that's helpful. This is a fresh install of 14.04 and I
> haven't done much customization of it apart from installing some
> applications and changing the default resolution.
>
> The only relevant bit I noticed in /var/log/dmesg is this:
>
> [ 3.967547] input: PS/2 Logitech Wheel Mouse as
> /devices/platform/i8042/serio4/input/input11
>
> ProblemType: Bug
> DistroRelease: Ubuntu 14.04
> Package: linux-image-3.13.0-35-generic 3.13.0-35.62
> ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
> Uname: Linux 3.13.0-35-generic x86_64
> ApportVersion: 2.14.1-0ubuntu3.4
> Architecture: amd64
> AudioDevicesInUse:
> USER PID ACCESS COMMAND
> /dev/snd/controlC0: tim 2234 F.... pulseaudio
> /dev/snd/controlC1: tim 2234 F.... pulseaudio
> CurrentDesktop: Unity
> Date: Mon Sep 22 14:30:33 2014
> HibernationDevice: RESUME=UUID=e6052f15-271a-4424-aac2-9b0ee1e490ed
> InstallationDate: Installed on 2014-09-22 (0 days ago)
> InstallationMedia: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140722.2)
> Lsusb:
> Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 001 Device 003: ID 03eb:8a32 Atmel Corp.
> Bus 001 Device 002: ID 064e:9700 Suyin Corp.
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2...

Read more...

Pilot6 (hanipouspilot) wrote :
Download full text (4.6 KiB)

I ment Fn+F5 and F6.

2014-11-03 1:28 GMT+03:00 Дмитрий Тюнин <email address hidden>:
> I have another device but have similar problems. The notebook does not
> come out from suspend and the kernel does not get key codes of F5 and
> F6 keys. There are some other minor issues, This maybe is because of
> some Canonical patches, which were not applied in vanilla kernels, or
> for some kernel regressions. Either way it is needed to patch
> supported kernels 3.13 and 3.17.
>
> 2014-11-03 1:05 GMT+03:00 Mathias Gottschlag <email address hidden>:
>> Which part of suspend/resume is broken? Only the touchpad, or the whole
>> system? I am on Ubuntu 14.04 and did not have any problems with
>> suspend/resume so far.
>>
>> --
>> You received this bug notification because you are subscribed to the bug
>> report.
>> https://bugs.launchpad.net/bugs/1372609
>>
>> Title:
>> Touchpad detected as mouse on Asus ux303ln laptop
>>
>> Status in “linux” package in Ubuntu:
>> Confirmed
>> Status in “linux” package in Arch Linux:
>> New
>>
>> Bug description:
>> Hi! I'm following the bug reporting documentation here:
>>
>> https://wiki.ubuntu.com/DebuggingTouchpadDetection#In_case_Touchpad_features_like_scrolling.2C_tapping.2C_etc._do_not_work_at_all.
>>
>> The touchpad on my new Asus ux303ln laptop is detected as a mouse, so
>> I can't access touchpad features such as two-finger scrolling.
>>
>> The laptop was very recently released and I couldn't find any
>> outstanding firmware updates for it through Asus's Windows-based
>> tools.
>>
>> % lsb_release -rd
>> Description: Ubuntu 14.04.1 LTS
>> Release: 14.04
>>
>> Per the instructions on the wiki, I'm attaching output from
>> /proc/bus/input/devices,` xinput --list`, and /var/log/Xorg.0.log.
>>
>> This machine also has a touchscreen, which I'm fairly certain is the
>> "maXtouch digitizer" visible in the logs. I haven't yet restarted in
>> Windows to see if it says anything useful about the touchpad, but I
>> can do so if that's helpful. This is a fresh install of 14.04 and I
>> haven't done much customization of it apart from installing some
>> applications and changing the default resolution.
>>
>> The only relevant bit I noticed in /var/log/dmesg is this:
>>
>> [ 3.967547] input: PS/2 Logitech Wheel Mouse as
>> /devices/platform/i8042/serio4/input/input11
>>
>> ProblemType: Bug
>> DistroRelease: Ubuntu 14.04
>> Package: linux-image-3.13.0-35-generic 3.13.0-35.62
>> ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
>> Uname: Linux 3.13.0-35-generic x86_64
>> ApportVersion: 2.14.1-0ubuntu3.4
>> Architecture: amd64
>> AudioDevicesInUse:
>> USER PID ACCESS COMMAND
>> /dev/snd/controlC0: tim 2234 F.... pulseaudio
>> /dev/snd/controlC1: tim 2234 F.... pulseaudio
>> CurrentDesktop: Unity
>> Date: Mon Sep 22 14:30:33 2014
>> HibernationDevice: RESUME=UUID=e6052f15-271a-4424-aac2-9b0ee1e490ed
>> InstallationDate: Installed on 2014-09-22 (0 days ago)
>> InstallationMedia: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140722.2)
>> Lsusb:
>> Bus 002 Device 001: ID 1d6b:0003 Linux Foundation...

Read more...

Mark Mandel (mark-mandel) wrote :

@Mathias

Interesting! When I resume (open lid after closing), all I get is a black screen. I can't get the display to come back up.

This was my primary drive for trying to get the code to run as a DKMS module, as everything works great under 3.17.1 kernel, rather than a 3.18*.

Pilot6 (hanipouspilot) wrote :

@Mathias

Since all works better on 3.17, can you give a patch or build this kernel with you driver? It will take a year before the driver gets into official Canonical kernel

Mark Mandel (mark-mandel) wrote :

If anyone know how to get the source code for:
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.17.1-utopic/

I'd be happy to patch and build one. It's the kernel I've been using on 14.04 for a while now with no issues.

I don't have much time and before I do any backporting, I want to get the driver into a state where it will be merged into mainline linux. There is one problem report where the touchpad is broken after suspend/resume which needs to be fixed first, that's why I was asking here in the first place.

https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel should contain all required information to get the sources, shouldn't it? Eithe apt-get source with your kernel version, or if you pull from the git repo, you'd probably need to switch into some "v3.17.1" branch or something like that.

Porting should not be difficult, you need to backport http://www.spinics.net/lists/linux-input/msg33508.html first, and you might want to patch in https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/input/serio/i8042-x86ia64io.h?id=9ff84a17302aeb8913ff244ecc0d8f9d219fecb5 as well just for the sake of completeness.

Pilot6 (hanipouspilot) wrote :
Download full text (4.2 KiB)

git://kernel.ubuntu.com/ubuntu/ubuntu-utopic.git

2014-11-03 2:10 GMT+03:00 Mark Mandel <email address hidden>:
> If anyone know how to get the source code for:
> http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.17.1-utopic/
>
> I'd be happy to patch and build one. It's the kernel I've been using on
> 14.04 for a while now with no issues.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1372609
>
> Title:
> Touchpad detected as mouse on Asus ux303ln laptop
>
> Status in “linux” package in Ubuntu:
> Confirmed
> Status in “linux” package in Arch Linux:
> New
>
> Bug description:
> Hi! I'm following the bug reporting documentation here:
>
> https://wiki.ubuntu.com/DebuggingTouchpadDetection#In_case_Touchpad_features_like_scrolling.2C_tapping.2C_etc._do_not_work_at_all.
>
> The touchpad on my new Asus ux303ln laptop is detected as a mouse, so
> I can't access touchpad features such as two-finger scrolling.
>
> The laptop was very recently released and I couldn't find any
> outstanding firmware updates for it through Asus's Windows-based
> tools.
>
> % lsb_release -rd
> Description: Ubuntu 14.04.1 LTS
> Release: 14.04
>
> Per the instructions on the wiki, I'm attaching output from
> /proc/bus/input/devices,` xinput --list`, and /var/log/Xorg.0.log.
>
> This machine also has a touchscreen, which I'm fairly certain is the
> "maXtouch digitizer" visible in the logs. I haven't yet restarted in
> Windows to see if it says anything useful about the touchpad, but I
> can do so if that's helpful. This is a fresh install of 14.04 and I
> haven't done much customization of it apart from installing some
> applications and changing the default resolution.
>
> The only relevant bit I noticed in /var/log/dmesg is this:
>
> [ 3.967547] input: PS/2 Logitech Wheel Mouse as
> /devices/platform/i8042/serio4/input/input11
>
> ProblemType: Bug
> DistroRelease: Ubuntu 14.04
> Package: linux-image-3.13.0-35-generic 3.13.0-35.62
> ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
> Uname: Linux 3.13.0-35-generic x86_64
> ApportVersion: 2.14.1-0ubuntu3.4
> Architecture: amd64
> AudioDevicesInUse:
> USER PID ACCESS COMMAND
> /dev/snd/controlC0: tim 2234 F.... pulseaudio
> /dev/snd/controlC1: tim 2234 F.... pulseaudio
> CurrentDesktop: Unity
> Date: Mon Sep 22 14:30:33 2014
> HibernationDevice: RESUME=UUID=e6052f15-271a-4424-aac2-9b0ee1e490ed
> InstallationDate: Installed on 2014-09-22 (0 days ago)
> InstallationMedia: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140722.2)
> Lsusb:
> Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 001 Device 003: ID 03eb:8a32 Atmel Corp.
> Bus 001 Device 002: ID 064e:9700 Suyin Corp.
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> MachineType: ASUSTeK COMPUTER INC. UX303LN
> ProcFB: 0 inteldrmfb
> ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-35-generic.efi.signed root=UUID=4f908b1b-e06f-4dc9-9642-e952d2598e42 ro quiet splash vt.handoff=7
> RelatedPackageVersions:...

Read more...

Mark Mandel (mark-mandel) wrote :

I found it (least I think I did)! (That was well hidden)

So there is no 3.17.1 tag in git://kernel.ubuntu.com/ubuntu/ubuntu-utopic.git, which is what originally threw me.

*But* if I switch to the 'unstable' branch, I do see:

---
commit 0a3696b154c243d416e7b7f9cfb83277c74c1672
Author: Tim Gardner <email address hidden>
Date: Sun Oct 5 21:12:30 2014 +0100

    UBUNTU: rebase to v3.17

    Signed-off-by: Tim Gardner <email address hidden>
---

I don't see a commit for 3.17.1 though (the next commit is 3.18-rc1), but I can definitely try and backport against this version.

Since it's 3.17 I don't need to backport the original patches, and can just focus on your changes in /drivers/input/mouse/

I'll get on it, and post some debs when I'm done.

Pilot6 (hanipouspilot) wrote :

@Mathias

It seems that suspend/resume is partially broken on some devices in 3.18.
Probably it is not because of your driver.

Ivo Anjo (knuckles) wrote :

I'm sorry to hijack this thread, but it's the best place to find linux ux303ln users.

Is there a kernel version/patch where the brightness keys work? Thanks!

Pilot6 (hanipouspilot) wrote :

I forgot to add focaltech.c and focaltech.h to git.
Here is the correct patch.

tags: added: patch
Mark Mandel (mark-mandel) wrote :

So here are some debs for 3.18-rc3
https://mega.co.nz/#!LIhlHIaK!ToH7Alh1JudSrCoMdK3PaW4J4mlhTFzNqN0tN2uB-QA

Seems to fix the suspend problem for me. Although I am having some multi-monitor issues.

Pilot6 (hanipouspilot) wrote :

Finally I got my mistake and backported successfully to 3.16. It works!
This kernel will be used in 14.10 and soon in 14.04.

The patch is attached.

Deb packages can be found here.
https://www.dropbox.com/sh/07642x3lziqgmz9/AACGWNO5_lNnX7x7tYMoH9gka?dl=0

BruceWouaigne (charrier-denis) wrote :
Download full text (4.3 KiB)

@Ivo

http://ubuntuforums.org/showthread.php?t=2243162

To solve the brightness buttons problem, you have to add the option
acpi_osi without value in your /etc/default/grub file like this :

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi="

and then : update-grub

Cheers!

On Tue, Nov 4, 2014 at 12:33 AM, Ivo Anjo <email address hidden> wrote:

> I'm sorry to hijack this thread, but it's the best place to find linux
> ux303ln users.
>
> Is there a kernel version/patch where the brightness keys work? Thanks!
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1372609
>
> Title:
> Touchpad detected as mouse on Asus ux303ln laptop
>
> Status in “linux” package in Ubuntu:
> Confirmed
> Status in “linux” package in Arch Linux:
> New
>
> Bug description:
> Hi! I'm following the bug reporting documentation here:
>
>
> https://wiki.ubuntu.com/DebuggingTouchpadDetection#In_case_Touchpad_features_like_scrolling.2C_tapping.2C_etc._do_not_work_at_all
> .
>
> The touchpad on my new Asus ux303ln laptop is detected as a mouse, so
> I can't access touchpad features such as two-finger scrolling.
>
> The laptop was very recently released and I couldn't find any
> outstanding firmware updates for it through Asus's Windows-based
> tools.
>
> % lsb_release -rd
> Description: Ubuntu 14.04.1 LTS
> Release: 14.04
>
> Per the instructions on the wiki, I'm attaching output from
> /proc/bus/input/devices,` xinput --list`, and /var/log/Xorg.0.log.
>
> This machine also has a touchscreen, which I'm fairly certain is the
> "maXtouch digitizer" visible in the logs. I haven't yet restarted in
> Windows to see if it says anything useful about the touchpad, but I
> can do so if that's helpful. This is a fresh install of 14.04 and I
> haven't done much customization of it apart from installing some
> applications and changing the default resolution.
>
> The only relevant bit I noticed in /var/log/dmesg is this:
>
> [ 3.967547] input: PS/2 Logitech Wheel Mouse as
> /devices/platform/i8042/serio4/input/input11
>
> ProblemType: Bug
> DistroRelease: Ubuntu 14.04
> Package: linux-image-3.13.0-35-generic 3.13.0-35.62
> ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
> Uname: Linux 3.13.0-35-generic x86_64
> ApportVersion: 2.14.1-0ubuntu3.4
> Architecture: amd64
> AudioDevicesInUse:
> USER PID ACCESS COMMAND
> /dev/snd/controlC0: tim 2234 F.... pulseaudio
> /dev/snd/controlC1: tim 2234 F.... pulseaudio
> CurrentDesktop: Unity
> Date: Mon Sep 22 14:30:33 2014
> HibernationDevice: RESUME=UUID=e6052f15-271a-4424-aac2-9b0ee1e490ed
> InstallationDate: Installed on 2014-09-22 (0 days ago)
> InstallationMedia: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64
> (20140722.2)
> Lsusb:
> Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 001 Device 003: ID 03eb:8a32 Atmel Corp.
> Bus 001 Device 002: ID 064e:9700 Suyin Corp.
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> MachineType: ASUSTeK COMPUTER INC. UX303LN
> ProcFB: 0 inteldrmfb
> Proc...

Read more...

Michael Wingender (mwingender) wrote :

Sorry if it as stupid question but should above debs be working on Ubuntu 14.10? System is not booting properly. I see the splash screen for some time and then get to the console.

Pilot6 (hanipouspilot) wrote :

@Michael

 Yes, this is native 14.10 kernel. Did the system boot normally with unpatched kernel?
I think your problem is with video driver. Did you install any proprietary driver?
If you install e.g. Nvidia driver from a file .run downloaded from Nvidia site, the driver is not registered
in DKMS properly, and you need to install it again every time you update the kernel.

Pilot6 (hanipouspilot) wrote :

@Michael

The right way to install drivers is from repositories. Then you do not hace such problems.

Michael Wingender (mwingender) wrote :

The system is booting normally with the Kernel provided by the Ubuntu repositories, yes. I have a UX303LA so not Nvidia drivers. I'm just using Intel drivers provided by Ubuntu. Nothing special, more or less out of the box Ubuntu setup. And yes I would install it from repositories but from which one? I assume nobody has added it yet to any repository.

Pilot6 (hanipouspilot) wrote :

@Michael
Try to boot with 'nomodeset' parameter. I have Intel graphics too, and have no issues.

Adolfo Martinez (arinarmo) wrote :

Mathias,

Thanks for all your awesome work! Sadly, the driver is not working for me on an ASUSR510L (apparently this is the same than X550L).All I get from dmesg is that the mouse couldn't be enabled:

psmouse serio1: Failed to enable mouse on isa0060/serio1

Under System Settings > Mouse & Touchpad, I get a few touchpad related options, but I am unable to actually use the touchpad

Pilot6 (hanipouspilot) wrote :

@Adolfo

Please, give terminal output

dmesg | egrep 'pnp | serio '

Pilot6 (hanipouspilot) wrote :

I think, the problem is with noloop parameter. X550L is added to quirk, but yours was not.

Add "i8042.noloop=1" boot parameter.

Mark Mandel (mark-mandel) wrote :

Some more debs :)
https://mega.co.nz/#!DNom1ADb!7yHbxOVRGOdHVn6sxkW2jQLXAEp6qfxxaqDaDpGu9AA

Focaltech driver installed in 3.17.2. I've found this really stable, and it (looks) like nvidia 340 works perfectly with it.

And I can suspend and resume, no problems.

I've been using it for over a week now, and no major issues, Ubuntu 14.04

Pilot6 (hanipouspilot) wrote :

I also rebuilt the kernel using latest 3.16.0-25 ubuntu kernel (mainline 3.16.7).
This may solve some issues with nvidia.

Now we have 3.18, 3.17 and official 3.16 kernels patched with focaltech driver.

https://www.dropbox.com/sh/07642x3lziqgmz9/AACGWNO5_lNnX7x7tYMoH9gka?dl=0

Martin (martinbauer1982) wrote :

Sorry for the noob question, but will this driver be included in the offical 3.18 release? Where/how could I check this?

Thanks

Pilot6 (hanipouspilot) wrote :

And here is the patch with new file mode. Now we do not need to create focaltech.c and focaltech.h before apply.

Pilot6 (hanipouspilot) wrote :

@Martin

Probably the patch will be applied to 3.18. At list it has been submitted. But it may take a lot of time until it lands in Ubuntu kernel.

Download full text (4.5 KiB)

No, it probably won't. I have not had much time, and on the red hat bug
tracker there is one case where the patch breaks suspend.

I do not know how to proceed or how to debug the issue, maybe adding a
quirk which disables the driver would be an option. I'll see whether I find
some more time next weekend.

The patch has already been reviewed once though, so as soon as that problem
is solved, the rest should not be much more work.
Am 10.11.2014 16:25 schrieb "Pilot6" <email address hidden>:

> @Martin
>
> Probably the patch will be applied to 3.18. At list it has been
> submitted. But it may take a lot of time until it lands in Ubuntu
> kernel.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1372609
>
> Title:
> Touchpad detected as mouse on Asus ux303ln laptop
>
> Status in “linux” package in Ubuntu:
> Confirmed
> Status in “linux” package in Arch Linux:
> New
>
> Bug description:
> Hi! I'm following the bug reporting documentation here:
>
>
> https://wiki.ubuntu.com/DebuggingTouchpadDetection#In_case_Touchpad_features_like_scrolling.2C_tapping.2C_etc._do_not_work_at_all
> .
>
> The touchpad on my new Asus ux303ln laptop is detected as a mouse, so
> I can't access touchpad features such as two-finger scrolling.
>
> The laptop was very recently released and I couldn't find any
> outstanding firmware updates for it through Asus's Windows-based
> tools.
>
> % lsb_release -rd
> Description: Ubuntu 14.04.1 LTS
> Release: 14.04
>
> Per the instructions on the wiki, I'm attaching output from
> /proc/bus/input/devices,` xinput --list`, and /var/log/Xorg.0.log.
>
> This machine also has a touchscreen, which I'm fairly certain is the
> "maXtouch digitizer" visible in the logs. I haven't yet restarted in
> Windows to see if it says anything useful about the touchpad, but I
> can do so if that's helpful. This is a fresh install of 14.04 and I
> haven't done much customization of it apart from installing some
> applications and changing the default resolution.
>
> The only relevant bit I noticed in /var/log/dmesg is this:
>
> [ 3.967547] input: PS/2 Logitech Wheel Mouse as
> /devices/platform/i8042/serio4/input/input11
>
> ProblemType: Bug
> DistroRelease: Ubuntu 14.04
> Package: linux-image-3.13.0-35-generic 3.13.0-35.62
> ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
> Uname: Linux 3.13.0-35-generic x86_64
> ApportVersion: 2.14.1-0ubuntu3.4
> Architecture: amd64
> AudioDevicesInUse:
> USER PID ACCESS COMMAND
> /dev/snd/controlC0: tim 2234 F.... pulseaudio
> /dev/snd/controlC1: tim 2234 F.... pulseaudio
> CurrentDesktop: Unity
> Date: Mon Sep 22 14:30:33 2014
> HibernationDevice: RESUME=UUID=e6052f15-271a-4424-aac2-9b0ee1e490ed
> InstallationDate: Installed on 2014-09-22 (0 days ago)
> InstallationMedia: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64
> (20140722.2)
> Lsusb:
> Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 001 Device 003: ID 03eb:8a32 Atmel Corp.
> Bus 001 Device 002: ID 064e:9700 Suyin Corp.
> ...

Read more...

Pilot6 (hanipouspilot) wrote :

The suspend problem is a general 3.18 but. It works for everyone else. So no need to be so focused on that problem.
Just be it tested on 3.16 or 3.17 kernel.

Download full text (4.2 KiB)

I'll ask the person to test with a different kernel, but so far the
symptoms looked different to the reports here.
Am 10.11.2014 17:15 schrieb "Pilot6" <email address hidden>:

> The suspend problem is a general 3.18 but. It works for everyone else. So
> no need to be so focused on that problem.
> Just be it tested on 3.16 or 3.17 kernel.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1372609
>
> Title:
> Touchpad detected as mouse on Asus ux303ln laptop
>
> Status in “linux” package in Ubuntu:
> Confirmed
> Status in “linux” package in Arch Linux:
> New
>
> Bug description:
> Hi! I'm following the bug reporting documentation here:
>
>
> https://wiki.ubuntu.com/DebuggingTouchpadDetection#In_case_Touchpad_features_like_scrolling.2C_tapping.2C_etc._do_not_work_at_all
> .
>
> The touchpad on my new Asus ux303ln laptop is detected as a mouse, so
> I can't access touchpad features such as two-finger scrolling.
>
> The laptop was very recently released and I couldn't find any
> outstanding firmware updates for it through Asus's Windows-based
> tools.
>
> % lsb_release -rd
> Description: Ubuntu 14.04.1 LTS
> Release: 14.04
>
> Per the instructions on the wiki, I'm attaching output from
> /proc/bus/input/devices,` xinput --list`, and /var/log/Xorg.0.log.
>
> This machine also has a touchscreen, which I'm fairly certain is the
> "maXtouch digitizer" visible in the logs. I haven't yet restarted in
> Windows to see if it says anything useful about the touchpad, but I
> can do so if that's helpful. This is a fresh install of 14.04 and I
> haven't done much customization of it apart from installing some
> applications and changing the default resolution.
>
> The only relevant bit I noticed in /var/log/dmesg is this:
>
> [ 3.967547] input: PS/2 Logitech Wheel Mouse as
> /devices/platform/i8042/serio4/input/input11
>
> ProblemType: Bug
> DistroRelease: Ubuntu 14.04
> Package: linux-image-3.13.0-35-generic 3.13.0-35.62
> ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
> Uname: Linux 3.13.0-35-generic x86_64
> ApportVersion: 2.14.1-0ubuntu3.4
> Architecture: amd64
> AudioDevicesInUse:
> USER PID ACCESS COMMAND
> /dev/snd/controlC0: tim 2234 F.... pulseaudio
> /dev/snd/controlC1: tim 2234 F.... pulseaudio
> CurrentDesktop: Unity
> Date: Mon Sep 22 14:30:33 2014
> HibernationDevice: RESUME=UUID=e6052f15-271a-4424-aac2-9b0ee1e490ed
> InstallationDate: Installed on 2014-09-22 (0 days ago)
> InstallationMedia: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64
> (20140722.2)
> Lsusb:
> Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 001 Device 003: ID 03eb:8a32 Atmel Corp.
> Bus 001 Device 002: ID 064e:9700 Suyin Corp.
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> MachineType: ASUSTeK COMPUTER INC. UX303LN
> ProcFB: 0 inteldrmfb
> ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-35-generic.efi.signed
> root=UUID=4f908b1b-e06f-4dc9-9642-e952d2598e42 ro quiet splash vt.handoff=7
> RelatedPackageVe...

Read more...

Owen (owen-l) wrote :

Hey. Just on an aside with the X550LN with the deb files installed the touchpad is now recognised, but I'm facing the psmouse serio4: Failed to enable mouse on isa0060/serio4 error.

Tried applying the i8042.loop=1 option with no joy.

Pilot6 (hanipouspilot) wrote :

@Owen

i8042.noloop=1

in /etc/defaut/grub then sudo update-grub in terminal.

Owen (owen-l) wrote :

Looks like I couldn't see the wood for the trees on that one.

thanks @pilot6, will give it a go

Owen (owen-l) wrote :

Ok, had a chance to test it.

Still getting this in dmesg:
psmouse serio1: Failed to enable mouse on isa0060/serio1

A check of /proc/cmdline shows the following:

BOOT_IMAGE=/boot/vmlinuz-3.16.7-focaltech+ root=UUID=b1278c0a-a88a-43a0-96a6-220f674cee7a ro quiet splash i8042.noloop=1 acpi_osi=

The device shows up under xinput as the following:

  ↳ FocalTechPS/2 FocalTech FocalTech Touchpad id=16 [slave pointer (2)]

Pilot6 (hanipouspilot) wrote :

But does the touchpad work with multitouch? If not, it is better to write to Mathias.
He wrote this driver, and he can look into it?

Owen (owen-l) wrote :

A bit more digging into it.

./init /dev/serio_raw0 shows the device recognising all input fine for all five fingers. It just seems unable to enable the device for use.

 dmesg | egrep 'pnp | serio ' gives the following:
[ 0.272299] pnp 00:02: Plug and Play ACPI device, IDs PNP0b00 (active)
[ 0.272572] pnp 00:06: Plug and Play ACPI device, IDs FLT0101 SYN0a00 SYN0002 PNP0f03 PNP0f13 PNP0f12 (active)
[ 0.272622] pnp 00:07: Plug and Play ACPI device, IDs ATK3001 PNP030b (active)

Scratching my head a touch.

Pilot6 (hanipouspilot) wrote :

@Owen

I wrote to Mathias. Maybe he has ideas how to debug it. I will also look at it, but tomorrow.

Thanks guys... i'm using 3.17.2 kernel on 14.04 and problem is gone. To solve the brightness buttons problem I folowed @BruceWouaigne comment #87. Only suspend bug persists. AH... I have an X450LA.

@Owen:
Did the touchpad work before you installed the driver (with reduced features)?
Does the touchpad work if you add i8042.noloop=1 psmouse.proto=bare to the kernel command line?
Can you post your complete dmesg, and the first couple of lines from ./init /dev/serio_raw0?

Owen (owen-l) wrote :

@Mathias

I had the touchpad working with psmouse.proto=bare previously. If I add i8042.noloop=1 psmouse.proto=bare then it works as a ps2 mouse while registering as the focaltech device. :

dmesg is attached, snipped to the first few occurences of Failed to enable mouse.

Output of init:
./init /dev/serio_raw0 1 ↵
reset, device id = 00
status: 69 80 80
status: 36 53 03
status: 00 13 0d
status: 07 00 00
status: 23 bd f8
packet: 03 01 00 00 00 00 act ( )
packet: 03 01 00 00 00 00 act ( )

Also, thanks for all the work on this

Adolfo Martinez (arinarmo) wrote :

Pilot6, sorry for the ridiculously long delay, I had not had access to the laptop until now

part of the dmesg attached as requested, this is with 3.18 kernel

Pilot6 (hanipouspilot) wrote :

@Adolfo

Same problem as @Owen.

Martin (martinbauer1982) wrote :

Sorry for hijacking this thread, but the brightness keys on my asus TP300LA are not working, even when I boot with the acpi_osi= option. Any ideas, or links that would help me troubleshoot the issue?

Thanks, Martin

Martin (martinbauer1982) wrote :

@Pilot6

this looks promising. I'll give it a shot once I'm home. Thank you!

Marco (mgagliardi) wrote :

I understand this is a noob question, and maybe it has already been answered here, so please be patient.
I have a ASUS UX303LA and I am running a 3.17 custom from post #50, and it works for me well, even if I did not yet managed to get the brightness f5/f6 to work :-)
I am getting software udates when running the custom kernel. Are these software updates "safe"?
Also, I understand from later posts that it is complicated to get the focaltech support in the main ubuntu trunk. Is this something that is currently attempted? Or the user with Focaltech will have to use custom kernels forever (or for a long time?)

Thank you, and again, please forgive the questions if they are not the brightest ones :-)

Pilot6 (hanipouspilot) wrote :

@Marco

Regading brightness look two posts before.

Regarding the custom kernel. It is safe to do updates, but the kernel will not be updated automatically.

It is not too complicated to get the officail support, but there is a procedure, which may take a long time. It is on the way, but in the very beginning.

Martin (martinbauer1982) wrote :

@Pilot6

I'm afraid adding the 20-intel.conf file as described in the linked thread didn't help with my brightness keys. They still aren't working. If I press them I get this in my dmesg:

[ 2309.329512] ACPI Error: Method parse/execution failed [\_SB_.PCI0.GFX0.GCBL] (Node ffff88021647ff78), AE_AML_UNINITIALIZED_ELEMENT (20140926/psparse-536)
[ 2309.329520] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPCB.EC0_.SBRN] (Node ffff8802164492a8), AE_AML_UNINITIALIZED_ELEMENT (20140926/psparse-536)
[ 2309.329523] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPCB.EC0_._Q0E] (Node ffff8802164492d0), AE_AML_UNINITIALIZED_ELEMENT (20140926/psparse-536)
[ 2310.012059] ACPI Error: Method parse/execution failed [\_SB_.PCI0.GFX0.GCBL] (Node ffff88021647ff78), AE_AML_UNINITIALIZED_ELEMENT (20140926/psparse-536)
[ 2310.012067] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPCB.EC0_.SBRN] (Node ffff8802164492a8), AE_AML_UNINITIALIZED_ELEMENT (20140926/psparse-536)
[ 2310.012070] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPCB.EC0_._Q0F] (Node ffff8802164492f8), AE_AML_UNINITIALIZED_ELEMENT (20140926/psparse-536)

Marco (mgagliardi) wrote :

@Pilot6

I get exactly the same messages as Martin (well, maybe some of the numbers are different, but I am pretty sure we are encountering the same issue :-)
On the official support: long time == ? years? months? I understand if you do not have an answer for this and in this case, but maybe you have an historic perspective.
Also, can anybody (me included) do anything to speed up the process?

Pilot6 (hanipouspilot) wrote :

@Marco

Let's put aside brightness problem. this is not a support forum. We should not flood here. You may open a tread in the forum.

Regarding long time. I think that realistic estimation may be end of April 2014, when 15.04 is released and a new kernel will be used there. At the same time, or about the same kernel will ne offered in official repos for 1404 LTS.

Unless Canonical team accepts a patch for 3.16 kernel.
Procedure includes following steps:

1. Acceptance of Mathias patch by Linux kernel team. I hope it will be in upstream 3.18 version. Or in 3.19.
2. Backport of this patch for 3.16 kernel (optional). I will do waht I can and prepare the patch.
3. Testing in "proposed" and release in main repos.

Optimistic 2-3 months, realistic 5 months...

You can help by testing, I guess.

Pilot6 (hanipouspilot) wrote :

I can add that meantime I will follow Ubuntu kernel updates releases and backport the patch there. You will be able to update manually.

Marco (mgagliardi) wrote :

Thank you for the info, and for your work in keeping the kernel up to date with the patch! And sorry about brightness questions, I was just following the thread here... I did not mean to break netiquette.

Arno (idfafp) wrote :

Hi, I'm here to report an issue I encounter with the custom 3.18 rc-2 kernel from this thread (Ubuntu 14.10) : when I boot up and log in, the mouse cursor is invisible (but I can move it and click). I have to log out in order to get it back.

Pilot6 (hanipouspilot) wrote :

I also have various issues with vanilla 3.18 on Ubuntu. Try 3.16 Ubuntu kernel with same patch.
3.18 has no Ubuntu patches and is not tested well yet.

Pilot6 (hanipouspilot) wrote :

Updated the patch after the author. It is now reviewed upstream.

http://www.spinics.net/lists/linux-input/msg34486.html

sbaragnaus (sbaragnaus) wrote :

Hi, any news about upstream merge in kernel 3.18?

I have the same bug with my Asus X200MA running Linux Mint 17.1 "Rebecca" live with my Asus X200MA (3.13 kernel) and Manjaro Linux live (3.16.7 kernel).

Thanks

Pilot6 (hanipouspilot) wrote :

@sbaragnaus
It won't be mergied in 3.18. Probably it 3.19.
But I keep the Ubuntu 3.16 kernel up to date in github and build binaries.

sbaragnaus (sbaragnaus) wrote :

Many thanks guys! I've installed linux (3.16.0-26.35pilot6-1) utopic debs from a previous link. Now Asus X200MA touchpad is recognised; also hibernation works.

Is this a "safe" kernel for my laptop or shoul I take a look at another version?

Also, if you need some help, I can do some tests. Please let me know.

Pilot6 (hanipouspilot) wrote :

@sbaragnaus

My image is the Ubuntu kernel, which is in official repos for Ubuntu 14.04 and 14.10 with focaltech driver and some small patches.
It must be quite stable. Sources can be found here.
https://github.com/hanipouspilot/ubuntu-fixes/tree/pilot6

I will try to keep it up to date until the patches are merged to the official branch.

The touchpad works great with this driver... But is there a way to emulate middle-click with 3 fingers tap ?

Pilot6 (hanipouspilot) wrote :

@Guillaume

synclient TapButton3=2

OMG ! I didn't realize that FocalTech driver relies on synclient ! It's work perfectly. Thanks again

Silmar (pinheirosilmar) wrote :

Applied the last debs from pilot6 and my uname -r says 3.16.0-28-generic
Still my touchpad doesn't work. Any Ideas?

Pilot6 (hanipouspilot) wrote :

@Silmar

Do you have a Focaltech touchpad?
Give output of

dmesg | grep pnp

And also if you previously installed elantech drivers, you should uninstall them first.

Silmar (pinheirosilmar) wrote :

[ 0.270437] pnp: PnP ACPI init
[ 0.270875] pnp 00:02: Plug and Play ACPI device, IDs PNP0b00 (active)
[ 0.271104] pnp 00:06: Plug and Play ACPI device, IDs FLT0102 SYN0a00 SYN0002 PNP0f03 PNP0f13 PNP0f12 (active)
[ 0.271148] pnp 00:07: Plug and Play ACPI device, IDs ATK3001 PNP030b (active)
[ 0.272173] pnp: PnP ACPI: found 11 devices

I had kernel 3.17 but removed it using synaptic. It worked the touchpad as a mouse(no multifinger and crashing the driver on suspend). I don't know if I have Elantech. How can I know?

Pilot6 (hanipouspilot) wrote :

dkms status

Silmar (pinheirosilmar) wrote :

bbswitch, 0.7, 3.13.0-40-generic, x86_64: installed
bbswitch, 0.7, 3.13.0-41-generic, x86_64: installed
bbswitch, 0.7, 3.13.0-43-generic, x86_64: installed
bbswitch, 0.7, 3.16.0-28-generic, x86_64: installed

Pilot6 (hanipouspilot) wrote :

dpkg -l | grep linux-image-3.16

Silmar (pinheirosilmar) wrote :

ii linux-image-3.16.0-28-generic 3.16.0-28.38pilot6 amd64 Linux kernel image for version 3.16.0 on 64 bit

Pilot6 (hanipouspilot) wrote :

Do you have a UX303LN?
Give

dmesg | grep serio

Silmar (pinheirosilmar) wrote :

I have a X450LC

[ 0.712547] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 0.712551] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 0.747708] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
[ 0.850133] input: FocalTechPS/2 FocalTech FocalTech Touchpad as /devices/platform/i8042/serio1/input/input5
[ 0.870915] psmouse serio1: Failed to enable mouse on isa0060/serio1

Pilot6 (hanipouspilot) wrote :

@Silmar

For that laptop you need 'i8042.noloop=1' boot parameter.

Pilot6 (hanipouspilot) wrote :

And what is your bios version? The touchpad is detected. Try to update bios first.

Silmar (pinheirosilmar) wrote :

I have .208. The latest bios.
And
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i8042.noloop=1"

Pilot6 (hanipouspilot) wrote :

No ideas then. I suggest creating a new bugreport here and in upstream bugzilla.

Silmar (pinheirosilmar) wrote :

Ok. Thank you very much.

JFL (jenaflynn) wrote :

Great fix. Thanks.

A question though. To left click, you have to just "touch" the area on the lower left. I don't like that behaviour. How do I make it so you have to physically "click" to register a mouse click? Which config needs to be changed, or is that a lower-level driver issue?

Thanks for your hard work on this!

Pilot6 (hanipouspilot) wrote :

@JFL
In default setting left click is tap in any place of the touchpad.
This can be disabled in System Settings.
In this casy you will need to press a hardware button in lower left.

Stephan Vierkant (svierkant) wrote :

Just updated to 3.18 and the touchpad works. Thanks!

The brightness control buttons don't work anymore. I got them working on 3.16 (using the fix above), but they're not working anymore as of 3.18. The 'disable touchpad' button doesn't work either.

Pilot6 (hanipouspilot) wrote :

@Stephan

The question is why you installed 3.18. There is a regression in 3.18 with these buttons. It will be fixed soon though.
You probably have an Elantech touchpad, that's why it works.

Gabriel O (gadelat+launchpad) wrote :

In comment #121 I see that it's probable these patches will be merged in kernel 3.19. Is there new information regarding inclusion of focaltech patches in kernel 3.19?

Pilot6 (hanipouspilot) wrote :

@Gabriel

I think Mathias's patch will be merged in 3.19. It's up to maintainers.
But there is no problem to apply this patch.

I have to admit I totally forgit this bug and the patch. The linux-input maintainers probably forgot the patch as well, and I didn't push the patch for inclusion yet because I thought there still was a regression for Owen, and I didn't have the time to debug that. I 100% want to avoid any regressions for people whose touchpad used to work. However, given that his touchpad only worked with proto=bare anyways, this probably is not the case. I will try rebase the patch and ping the maintainer again this evening.

Pilot6 (hanipouspilot) wrote :

@Mathias

It was a bit too late to aplly ypur patch to 3.18, then tere was a merge window, when noone applies anything like that. Now it is Christmas. i suugest you send it next year after the holidays.

My backport is downloaded about 10 times every day. Nobody report regressions. So people complain that it does not work, but in most cases they do not install it right. There are 1-2 cases, which I could not gebug why it does not work.

Martin Soto (soto255) wrote :

First of all, thanks to all of you helping with this issue. After installing Pilot6's 3.16 kernel, my mousepad (UX303LN) is working great, requiring only a few synclient tweaks to operate exactly as I wish.

Unfortunately, tough, this kernel is suffering from occasional crashes during suspend. Every know and then (it's like one in five times, but pretty much random) the machine fails to completely suspend. The screen goes dark, but the keyboard backlight and the fan remain active, and the machine won't simple come back from suspend and requires a reboot.

Any tips on how to debug this?

Pilot6 (hanipouspilot) wrote :

@Martin

It is a separate issue. For your model there is no even 'acpi_osi=' quirk in this build. So it is a normal Ubuntu 3.16 kernel.
Which version did you install? 3.16.0-28.38 or 3.16.0-29.39?
The first one is in stable, the latter is in proposed. If you installed the latter, then remove it and install the first one.
If the problem is still there, then a separate bug report shall be done.

Martin Soto (soto255) wrote :

@Pilot6

$ uname -a
Linux msoto-UX303LN 3.16.0-29-generic #39 SMP Tue Dec 16 13:15:25 MSK 2014 x86_64 x86_64 x86_64 GNU/Linux

OK, I'll try the stable version and report back. Thanks a lot!

Pilot6 (hanipouspilot) wrote :

The patch has been applied to linux-next.

Changed in linux (Ubuntu):
status: Confirmed → Fix Committed
Timo (timostankowitz) wrote :

@pilot6

had someone allready wrote the dirver?
Do you know if i can download a beta-version?

I also habe the UX303LN running with Kubuntu 14.04. The touchpad wors but I can't use two finger scrolling - jet.

Pilot6 (hanipouspilot) wrote :

@Timo

Mathias Gottschlag worte the driver. I backported it ti Ubuntu kernel.
You can download a kernel image here.

https://www.dropbox.com/sh/07642x3lziqgmz9/AACGWNO5_lNnX7x7tYMoH9gka?dl=0

I have a UX303LA and the drivers work great until I suspend and resume. Then the backlight for the keys no longer work. The screen brightness does still work but the OSD Notification does not show when I change the brightness. How should I go about tracking down the error? dmesg?

Actually. I'm trying to reproduce this bug using the former of the two drivers and it seems to have remidied it to some degree. With the latter driver upon suspend resume the backlight for the keyboard always breaks, whereas with the former driver it is itermittent.

Pilot6 (hanipouspilot) wrote :

@Max,

Your issue is not related to the touchpad driver. It is a kernel bug.
Which image did you install? 3.16-0.28.38 or 3.16.0-29.39?
First one is stable, second is in proposed and a few similar issues have been reported.
Try 3.16.0-28.

Stephan Vierkant (stjphan) wrote :

What's the status of the touch screen drivers? My touch pad is working perfectly, but my screen doesn't handle clicks or multi touch. Will this be fixed as well, or is this another issue?

Cyrilltroxler (cyrilltroxler) wrote :

Uhm, sorry I clicked the wrong thing.. (why am I allowed to change this?)

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Adolfo Martinez (arinarmo) wrote :

@Matthias @Pilot6

Since the driver still doesn't work in X550 or R510, should I open a different bug report?

Pilot6 (hanipouspilot) wrote :

@Adolfo

Are you sure that you have a Focaltech touchpad and you installed a proper kernel image?

Yeah, opening a new bug might be a good idea. Also, I'll try to find some time next week, then I'll create a patch which generates some more debugging output, to get some information about the issue.

Adolfo Martinez (arinarmo) wrote :

@Pilot6

I am sure, See coments 95 through 101, I also commented on this issue and had the same dmesg output. I also tried with kernels 3.16, 3.17 and 3.18.

Tom Catullo (tcatullo25) wrote :

I have an Asus Q501LA laptop, and I've tried almost every custom kernel posted in the comments here. Not one has allowed my touchpad to work. Interestingly, all of the customer kernels seem to get rid of the odd behavior where the cursor keeps spontaneously jumping to the left a centimeter every five seconds or so, which is nice, but the touchpad still does not work.

I've tried booting with i8042.noloop=1 as well (and ran sudo update-grub after making the change), but to no avail. My touchpad only works if I boot with psmouse.proto=bare, but of course multi-touch functionality does not work, and my palm moves the cursor all over the place. This is quite annoying, as I was sure that at least one of these custom kernels which Pilot6 and Mathias have worked so arduously on would have worked.

I know my cause may be hopeless at this point, but does anyone have any idea what might be wrong?

@Stephan: Yes, that's totally unrelated, better open a new bug.

@Tom: Just to check that the problem is the same as with the other models where the touchpad is not working: Can you post a complete dmesg here?

And to all who have a touchpad where the touchpad does not work and dmesg shows lines like "[ 0.870915] psmouse serio1: Failed to enable mouse on isa0060/serio1" - can you post dmesg both with the touchpad patch and without (in both cases, with the same kernel parameters)? I'd like to check whether the patch introduces that error, or whether I am looking in the wrong place.

Also, I tried to put together a list of devices where the driver works/does not work, from the reports I received, it looks like this atm:

Works:
- UX303LN
- UX303LA
- R409LD
- X450JN
- X553MA
- X200MA
- K750L
- N550JK
- X450LD?

Does not work ("Failed to enable mouse on isa0060/serio1"):
- X550LN
- R510L
- X450LC
Does not work:
- Q501LA

What I find particularly weird is that I'd expect X450JN/X450LD and X450LC to share one hardware platform.

Silmar (pinheirosilmar) wrote :

x450lc xinput:
 Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ USB OPTICAL MOUSE id=11 [slave pointer (2)]
⎜ ↳ FocalTechPS/2 FocalTech FocalTech Touchpad id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Video Bus id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ USB2.0 HD UVC WebCam id=10 [slave keyboard (3)]
    ↳ Asus WMI hotkeys id=12 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]

Well I tried it with various kernels. The pilot6 debs make it detect the mouse but it doesn't work.
Kernel .18 makes it work as a default mouse by default. Still the touchpad crashes on suspend.

I then formatted and installed various linuxes. I'm currently trying xubuntu 64 bits to no avail.

Silmar (pinheirosilmar) wrote :

  0.867922] input: FocalTechPS/2 FocalTech FocalTech Touchpad as /devices/platform/i8042/serio1/input/input5
[ 0.888248] psmouse serio1: Failed to enable mouse on isa0060/serio1

Silmar (pinheirosilmar) wrote :
Download full text (67.8 KiB)

I copied and pasted a dmesg here. If it's what you want then tell me. If it's not, then tell me how I generate the correct input.

[ 0.000000] MTRR fixed ranges enabled:
[ 0.000000] 00000-9FFFF write-back
[ 0.000000] A0000-BFFFF uncachable
[ 0.000000] C0000-CFFFF write-protect
[ 0.000000] D0000-E7FFF uncachable
[ 0.000000] E8000-FFFFF write-protect
[ 0.000000] MTRR variable ranges enabled:
[ 0.000000] 0 base 0000000000 mask 7E00000000 write-back
[ 0.000000] 1 base 0200000000 mask 7FE0000000 write-back
[ 0.000000] 2 base 0220000000 mask 7FF0000000 write-back
[ 0.000000] 3 base 00E0000000 mask 7FE0000000 uncachable
[ 0.000000] 4 base 00D0000000 mask 7FF0000000 uncachable
[ 0.000000] 5 base 00CC000000 mask 7FFC000000 uncachable
[ 0.000000] 6 base 00CBC00000 mask 7FFFC00000 uncachable
[ 0.000000] 7 base 022F800000 mask 7FFF800000 uncachable
[ 0.000000] 8 base 022F400000 mask 7FFFC00000 uncachable
[ 0.000000] 9 base 022F200000 mask 7FFFE00000 uncachable
[ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[ 0.000000] original variable MTRRs
[ 0.000000] reg 0, base: 0GB, range: 8GB, type WB
[ 0.000000] reg 1, base: 8GB, range: 512MB, type WB
[ 0.000000] reg 2, base: 8704MB, range: 256MB, type WB
[ 0.000000] reg 3, base: 3584MB, range: 512MB, type UC
[ 0.000000] reg 4, base: 3328MB, range: 256MB, type UC
[ 0.000000] reg 5, base: 3264MB, range: 64MB, type UC
[ 0.000000] reg 6, base: 3260MB, range: 4MB, type UC
[ 0.000000] reg 7, base: 8952MB, range: 8MB, type UC
[ 0.000000] reg 8, base: 8948MB, range: 4MB, type UC
[ 0.000000] reg 9, base: 8946MB, range: 2MB, type UC
[ 0.000000] total RAM covered: 8110M
[ 0.000000] gran_size: 64K chunk_size: 64K num_reg: 10 lose cover RAM: 114M
[ 0.000000] gran_size: 64K chunk_size: 128K num_reg: 10 lose cover RAM: 114M
[ 0.000000] gran_size: 64K chunk_size: 256K num_reg: 10 lose cover RAM: 114M
[ 0.000000] gran_size: 64K chunk_size: 512K num_reg: 10 lose cover RAM: 114M
[ 0.000000] gran_size: 64K chunk_size: 1M num_reg: 10 lose cover RAM: 114M
[ 0.000000] gran_size: 64K chunk_size: 2M num_reg: 10 lose cover RAM: 114M
[ 0.000000] gran_size: 64K chunk_size: 4M num_reg: 10 lose cover RAM: 114M
[ 0.000000] gran_size: 64K chunk_size: 8M num_reg: 10 lose cover RAM: 18M
[ 0.000000] *BAD*gran_size: 64K chunk_size: 16M num_reg: 10 lose cover RAM: -8M
[ 0.000000] *BAD*gran_size: 64K chunk_size: 32M num_reg: 10 lose cover RAM: -8M
[ 0.000000] *BAD*gran_size: 64K chunk_size: 64M num_reg: 10 lose cover RAM: -8M
[ 0.000000] *BAD*gran_size: 64K chunk_size: 128M num_reg: 10 lose cover RAM: -8M
[ 0.000000] *BAD*gran_size: 64K chunk_size: 256M num_reg: 10 lose cover RAM: -8M
[ 0.000000] *BAD*gran_size: 64K chunk_size: 512M num_reg: 10 lose cover RAM: -264M
[ 0.000000] *BAD*gran_size: 64K chunk_size: 1G num_reg: 10 lose cover RAM: -256M
[ 0.000000] *BAD*gran_size: 64K chunk_size: 2G num_reg: 10 lose cover RAM: -1280M
[ 0.000000] gran_size: 128K chunk_size: 128K num_reg: ...

Pilot6 (hanipouspilot) wrote :

Mathias,

Sometimes the touchpad does not work, when people try ti install Elantech driver from a dkms package.
There is a custom psmouse module there. With that your deiver does not work.
But this is not always the case.

Ludovic (1-eaunchpad-8) wrote :

The Mathias's patch works well on my Arch Linux laptop, I use the Mathias's kernel git repository. Thanks Mathias!

I added the (simple) steps for Arch Linux here : https://wiki.archlinux.org/index.php/ASUS_Zenbook_UX303#Touch_Pad

@Mathias : Dmitry Torokhov moved your patch to his next branch but not yet to his for-linus branch, do you know why? Could you ask him to push your patch to Linus for the 3.20 kernel? Thanks a lot.

Ludovic

marcel kerkveld (mke2) wrote :
Download full text (55.6 KiB)

It doesn't seem to work n my ASUS F555L laptop. Tried it on Arch like Ludovic, but doesn't seem to make any difference. A pitty, it renders Linux almost useless on my laptop when you can't set palm detection.
dmesg:
[code][ 0.000000] CPU0 microcode updated early to revision 0x1c, date = 2014-07-03
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.18.0-rc4-ARCH-touchpad-11574-g9e199c3 (mke@nerdy-linux) (gcc version 4.9.2 20141224 (prerelease) (GCC) ) #1 SMP PREEMPT Sat Jan 31 22:08:16 CET 2015
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-linuxTouch root=UUID=6e911714-9def-49b8-8b1d-e41203fea5b3 rw quiet psmouse.proto=bare
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x0000000000057fff] usable
[ 0.000000] BIOS-e820: [mem 0x0000000000058000-0x0000000000058fff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000059000-0x000000000009dfff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009e000-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000b9b43fff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000b9b44000-0x00000000b9b4afff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000b9b4b000-0x00000000ba3a1fff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000ba3a2000-0x00000000ba617fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000ba618000-0x00000000c98fafff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000c98fb000-0x00000000c9b02fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000c9b03000-0x00000000c9e29fff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000c9e2a000-0x00000000cab37fff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000cab38000-0x00000000caf57fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000caf58000-0x00000000caffefff] type 20
[ 0.000000] BIOS-e820: [mem 0x00000000cafff000-0x00000000caffffff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000cbc00000-0x00000000cfdfffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed03fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x00000001af1fffff] usable
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] efi: EFI v2.31 by American Megatrends
[ 0.000000] efi: ACPI 2.0=0xc9eae000 ACPI=0xc9eae000 SMBIOS=0xcaf56318
[ 0.000000] efi: mem00: [Conventional Memory| | | | | |WB|WT|WC|UC] range=[0x0000000000000000-0x0000000000058000) (0MB)
[ 0.000000] efi: mem01: [Reserved | | | | | |WB|WT|WC|UC] range=[0x0000000000058000-0x0000000000059000) (0MB)
[ 0.000000] efi: mem02: [Conventional Memory| | | | | |WB|WT|WC|UC] range=[0x0000000000059000-0x000000000009e000) (0MB)
[ ...

Pilot6 (hanipouspilot) wrote :

Marcel,

The touchpad is detected in your system. Are you sure it is not just turned off by Fn+ button?

Marcel, have you enabled the touchpad driver in .config? Rerun make menuconfig and make sure that CONFIG_MOUSE_PS2_FOCALTECH is set. I cannot think of any other reason yet, as your dmesg does not contain any error.

I received a bug report though where apparently the touchpad didn't work together with KDE 5, although I don't understand that problem either yet.

marcel kerkveld (mke2) wrote :

Well, I seem to have done that. Nevertheless, no synaptic driver is loaded. Synclient does tell me so.

Note though that the fact that the kernel is able to identify the touchpad does not mean that the driver is enabled. CONFIG_MOUSE_PS2_FOCALTECH simply switches between the "real driver" and some legacy code specific to the touchpad. The latter is required because otherwise the touchpad does not work at all on some devices. In both cases, dmesg will look the same.

At someone whose touchpad does not work, with the error "Failed to enable mouse on isa0060/serio1": Can you boot the following kernel, with the kernel commandline parameter i8042.debug=1 and send me once more your dmesg?

https://drive.google.com/file/d/0Bz7ZZcjnECHLc1VMSl9PRnhNdW8/view?usp=sharing

The kernel adds a stacktrace where the error message is emitted, and i8042.debug=1 will dump all PS2 traffic. Because of the latter, cut your dmesg a couple of lines after the stracktrace please, because unless you use a USB keyboard, THE DMESG MIGHT CONTAIN YOUR LOGIN PASSWORD. :)

For example:
... everything up to this point is very interesting, up to the error message and the following stracktrace, the next two lines belong to the stacktrace ...
[ 0.993742] [<ffffffff82781b3c>] ret_from_fork+0x7c/0xb0
[ 0.993744] [<ffffffff820904b0>] ? kthread_create_on_node+0x180/0x180
[ 0.993749] i8042: [41] d4 -> i8042 (command)
[ 0.993859] i8042: [41] f4 -> i8042 (parameter)
[ 0.995888] i8042: [41] fa <- i8042 (interrupt, 1, 12)
[ 1.140554] usb 1-1: new high-speed USB device number 2 using xhci_hcd
... cut for example here ...

marcel kerkveld (mke2) wrote :

Well, I have the following in my .config:
$ grep 'FOLCALTCH' .config
CONFIG_MOUSE_PS2_FOCALTECH=y

Found this in Xorg

Xorg.o.log:
[ 21.051] (**) Option "xkb_rules" "evdev"
[ 21.051] (**) Option "xkb_model" "pc104"
[ 21.051] (**) Option "xkb_layout" "us"
[ 21.052] (II) config/udev: Adding input device PS/2 FocalTech FocalTech Touchpad (/dev/input/event7)
[ 21.052] (**) PS/2 FocalTech FocalTech Touchpad: Applying InputClass "evdev pointer catchall"
[ 21.052] (II) Using input driver 'evdev' for 'PS/2 FocalTech FocalTech Touchpad'
[ 21.052] (**) PS/2 FocalTech FocalTech Touchpad: always reports core events
[ 21.052] (**) evdev: PS/2 FocalTech FocalTech Touchpad: Device: "/dev/input/event7"
[ 21.052] (--) evdev: PS/2 FocalTech FocalTech Touchpad: Vendor 0x2 Product 0x1
[ 21.052] (--) evdev: PS/2 FocalTech FocalTech Touchpad: Found 3 mouse buttons
[ 21.052] (--) evdev: PS/2 FocalTech FocalTech Touchpad: Found relative axes
[ 21.052] (--) evdev: PS/2 FocalTech FocalTech Touchpad: Found x and y relative axes
[ 21.052] (II) evdev: PS/2 FocalTech FocalTech Touchpad: Configuring as mouse
[ 21.052] (**) evdev: PS/2 FocalTech FocalTech Touchpad: YAxisMapping: buttons 4 and 5
[ 21.052] (**) evdev: PS/2 FocalTech FocalTech Touchpad: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 21.052] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio4/input/input14/event7"
[ 21.052] (II) XINPUT: Adding extended input device "PS/2 FocalTech FocalTech Touchpad" (type: MOUSE, id 12)
[ 21.052] (II) evdev: PS/2 FocalTech FocalTech Touchpad: initialized for relative axes.
[ 21.052] (**) PS/2 FocalTech FocalTech Touchpad: (accel) keeping acceleration scheme 1
[ 21.052] (**) PS/2 FocalTech FocalTech Touchpad: (accel) acceleration profile 0
[ 21.052] (**) PS/2 FocalTech FocalTech Touchpad: (accel) acceleration factor: 2.000
[ 21.052] (**) PS/2 FocalTech FocalTech Touchpad: (accel) acceleration threshold: 4
[ 21.052] (II) config/udev: Adding input device PS/2 FocalTech FocalTech Touchpad (/dev/input/mouse0)
[ 21.053] (II) No input driver specified, ignoring this device.
[ 21.053] (II) This device may have been added with another device file

Okay, that's what I get here, although of course my system configuration will be different:

[ 17.976] (II) config/udev: Adding input device FocalTechPS/2 FocalTech FocalTech Touchpad (/dev/input/event4)
[ 17.976] (**) FocalTechPS/2 FocalTech FocalTech Touchpad: Applying InputClass "evdev touchpad catchall"
[ 17.976] (**) FocalTechPS/2 FocalTech FocalTech Touchpad: Applying InputClass "touchpad catchall"
[ 17.976] (**) FocalTechPS/2 FocalTech FocalTech Touchpad: Applying InputClass "Default clickpad buttons"
[ 17.976] (**) FocalTechPS/2 FocalTech FocalTech Touchpad: Applying InputClass "Default clickpad buttons"
[ 17.976] (II) LoadModule: "synaptics"
[ 17.976] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so

Can you maybe also boot with i8042.debug=1, and send me the dmesg output? Please move the mouse a bit before typing your password, and then remove all keyboard input from the log. You can recognize keyboard input by the "(interrupt, 0, 1)" at the end of the line (touchpad data has "0, 12" there, at least on this system).

marcel kerkveld (mke2) wrote :

Okay, found it. Somehow I got the parameter psmouse.proto=bare in my grup. Sorry for bothering you Mathias and thanks for the fix. Happy user now.

Chris (meyer-cm) wrote :

dmesg attached after installing the new kernel and setting i8042.debug=1 on the command line.

Thanks for all your hard work on this!

Timo (timostankowitz) wrote :

Hey guys,
I downloaded the packages from Mathias:
https://drive.google.com/file/d/0Bz7ZZcjnECHLc1VMSl9PRnhNdW8/view?usp=sharing

after running sudo dpkg -i * and a reboot my trackpad finally works like a normal trackpad.
Now I can scroll with two fingers and right klick also works with two fingers.

I am really thankfull Mathias. Great work !

Kind regards
Timo

Arno (idfafp) wrote :

Hi, it appears that the patch isn't in 3.19, does anyone know when it will be merged ?

Pilot6 (hanipouspilot) wrote :

It looks like it will be megred in 3.20. It is in for-linus branch of input-next tree.

Chris (meyer-cm) wrote :

Was the dmesg from the custom build able to help find the issue with the still broken machines? If theres anything else I can do to help, let me know.

I noticed that the problem was the same as redhat bug 1110011 again because I managed to break the previous fix for these models, I didn't get around writing a fix for it yet though. I'll probably have a test kernel at some point today though.

Hey, to Chris or anyone else who has the same problem: Can you test the following kernel and see whether it solves the problem?

https://drive.google.com/file/d/0Bz7ZZcjnECHLeUI5Tnk4VXNoMGM/view?usp=sharing

What it does is it skips some of the initialization code which was skipped in Hans de Goedes original FocalTech patch but was not skipped in my previous code.

Chris (meyer-cm) wrote :

Mathias-

Thanks for the quick work. Despite the issues noted below, this is a major improvement over psmouse.proto=bare, which was driving me insane with the accidental touch-clicks while typing. Thank you so much for your quick response!

This kernel does allow the touchpad to be recognized but still seems to have some issues:
1) Intermittently, the pointer stops responding to the current touch;
   a) I can usually (~70%) replicate the behavior by moving the pointer into contact with the left side of the screen. Once it touches that side, the current touch no longer changes the pointer position. Lifting that finger and re-touching the pad starts the pointer moving again.
   b) I also see this behavior when the pointer is not near the screen edges, but is unpredictable, and in 30 minutes of testing, I haven't found a consistent pattern for replicating the issue.

2) the two finger scrolling does not exclude the button areas; e.g. if I rest a finger on the primary button, I can no longer move the pointer, only scroll the screen. In other touchpads I've used, the button area was excluded from two-finger scrolling issues. This issue is less concerning than #1, but the experience is very unnatural.

Again, thanks for the fast response; I'm happy to run any other tests that you think might diagnose the issues.

Pilot6 (hanipouspilot) wrote :

Chris,

I think 2) is a feature, not a bug. If someone has Windows, they can test how it is made there.

1) looks like a bug, but it is hard to resolve not having the device.

Pilot6 (hanipouspilot) wrote :

Mathias,

Will you provide a patch, please, so I can merge it and make it consistent.

Pilot6 (hanipouspilot) wrote :

Chris,

Button behavior can be fixed by

Option "SoftButtonAreas" in xorg.conf

https://wiki.archlinux.org/index.php/Touchpad_Synaptics#Buttonless_touchpads_.28aka_ClickPads.29

I pushed the two patches to my focaltech4 branch: https://github.com/mgottschlag/linux/tree/focaltech4

@Chris: The issue 1) sounds really hard to debug. One possibility might be that, like above, you enable i8042 debug output display and have a life view of dmesg in a window on your screen. If you do that, it might be interesting to know

1) whether there is still data coming from the touchpad (does the syslog output suddenly stop, or do you still see PS/2 traffic?)
2) how the data reported by the touchpad shortly before/after the bug occurs looks - maybe you can try to reproduce the bug and send some dmesg output? The problem here is that the log probably only is useful when you can identify the point where the bug occurs.

Pilot6 (hanipouspilot) wrote :

I backported last driver from 3.20 kernel.
It is at the same place https://www.dropbox.com/sh/07642x3lziqgmz9/AACGWNO5_lNnX7x7tYMoH9gka?dl=0
in "next" directory.

Pilot6 (hanipouspilot) wrote :

And also added last 2 Mathias's patches.

Chris (meyer-cm) wrote :

Thanks for the suggestions on fixing the 2 finger scrolling; the SoftButtonAreas option has other, more irritating side effects, so for now I'll just retrain my fingers.

I've re-enabled the debug messages for i8042, and started looking through them, trying to spot a pattern around the issue 1 described above. i8042 codes keep coming even though the pointer is frozen, so now I'd like to try to interpret them; my google-fu has failed me though- does anyone have a resource for the interpretation of the bytes that are getting sent from the clickpad?

Pilot6 (hanipouspilot) wrote :

If multitouch works, you never need hard buttons. If you want to scroll, you just double tap and drag.

Touchpads shows co-ordinates of your fingers.

Chris: There is no documentation yet. The packets are 6 bytes long, and I think the lower four bit of the first byte identify the type of the packet. If you can read some C, then https://github.com/mgottschlag/linux/blob/focaltech4/drivers/input/mouse/focaltech.c#L229 is the best source available. I guess deciphering packet by packet by hand might be way too much work though, unless you exactly know where the error occurred.

Chris (meyer-cm) wrote :

Mathias: After reproducing the error while running my logging/parser, I've been able to identify that the pointer freeze issue is happening in the code you linked. Lines 188-192 are an if condition invalidating the input whenever the final byte is set to 255. In my logging, I'm seeing that that byte is typically 16, 32, 64, and as the comments in the code indicate, seems to be related to how much of my finger I allow to contact the touchpad. However, that byte occasionally (and spuriously) gets set to 255; once set, it stays set at 255 until the touch is removed and re-applied.

My current thinking is that removing the if condition would be sufficient to prevent this issue, but I worry about side-effects when the final byte is set to 255 for valid reasons. Any ideas on the best way to proceed?

Pilot6 (hanipouspilot) wrote :

Chris,

0xff or 255 shows that large area is pressed. This is built in palm detection as I understand.
You probably have too thick fingers ;-)

Maybe Mathias has more information, but it seems that we do not know the protocol well enough to disable this feature or set it up anyway.

Anoter idea is maybe not just return and wait for some other input, like it is now done, but after some timeout call focaltech_process_abs_packet again.

If there is no such problem in Windows, it must be done somehow else.

Hey, thanks for the information. So, you get that value even without large contact area? I never managed to get something like that during normal usage, but maybe other devices have different thresholds. In that case I'd just drop that part of the code, it is not important enough that it should stay despite such problems.

Pilot6 (hanipouspilot) wrote :

Mathias,

Maybe not completely drop, but make it the way that if next packages come not with 0xff in 5th byte, just continue?

Pilot6 (hanipouspilot) wrote :

For instance, make focaltech_process_abs_packet(psmouse, packet) first in
switch (packet[0] & 0xf)

No, I think that's not how that byte works - once it is 0xff, it stays like that until the finger is lifted from the touchpad.

Pilot6 (hanipouspilot) wrote :

Previous post was just stupid.

Chris,

When a finger is active, then all of a sudden comes abs package with 0xff, what package comes next if you narrow the area?
It needs to be done that a finger becomes active again.

Pilot6 (hanipouspilot) wrote :

Oh, I see. Then it may be a good idea to remove this completely. Practically this "palm detection" is of no use.
I had to set syndaemon for that either way. It just makes trouble for people with thick fingers, or some revisions have various thresholds. I guess, we can't set anything there.

Chris (meyer-cm) wrote :

Pilot- Once we get the 255, no amount of tweaking the touch changes it- the comments in the code reference 'latching' behavior, which is consistent with what I see.

Mathias, if I could convince you to prepare a test build without those lines of code, I'll give it a test and see if that does actually correct the issue.

Pilot6 (hanipouspilot) wrote :
Download full text (4.3 KiB)

Mathias,
You can build just focaltech.ko since he has your kernel. It can be just
replaced.

2015-02-18 0:34 GMT+03:00 Chris <email address hidden>:

> Pilot- Once we get the 255, no amount of tweaking the touch changes
> it- the comments in the code reference 'latching' behavior, which is
> consistent with what I see.
>
> Mathias, if I could convince you to prepare a test build without those
> lines of code, I'll give it a test and see if that does actually correct
> the issue.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1372609
>
> Title:
> Touchpad detected as mouse on Asus ux303ln laptop
>
> Status in linux package in Ubuntu:
> Fix Released
> Status in linux package in Arch Linux:
> New
>
> Bug description:
> Hi! I'm following the bug reporting documentation here:
>
>
> https://wiki.ubuntu.com/DebuggingTouchpadDetection#In_case_Touchpad_features_like_scrolling.2C_tapping.2C_etc._do_not_work_at_all
> .
>
> The touchpad on my new Asus ux303ln laptop is detected as a mouse, so
> I can't access touchpad features such as two-finger scrolling.
>
> The laptop was very recently released and I couldn't find any
> outstanding firmware updates for it through Asus's Windows-based
> tools.
>
> % lsb_release -rd
> Description: Ubuntu 14.04.1 LTS
> Release: 14.04
>
> Per the instructions on the wiki, I'm attaching output from
> /proc/bus/input/devices,` xinput --list`, and /var/log/Xorg.0.log.
>
> This machine also has a touchscreen, which I'm fairly certain is the
> "maXtouch digitizer" visible in the logs. I haven't yet restarted in
> Windows to see if it says anything useful about the touchpad, but I
> can do so if that's helpful. This is a fresh install of 14.04 and I
> haven't done much customization of it apart from installing some
> applications and changing the default resolution.
>
> The only relevant bit I noticed in /var/log/dmesg is this:
>
> [ 3.967547] input: PS/2 Logitech Wheel Mouse as
> /devices/platform/i8042/serio4/input/input11
>
> ProblemType: Bug
> DistroRelease: Ubuntu 14.04
> Package: linux-image-3.13.0-35-generic 3.13.0-35.62
> ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
> Uname: Linux 3.13.0-35-generic x86_64
> ApportVersion: 2.14.1-0ubuntu3.4
> Architecture: amd64
> AudioDevicesInUse:
> USER PID ACCESS COMMAND
> /dev/snd/controlC0: tim 2234 F.... pulseaudio
> /dev/snd/controlC1: tim 2234 F.... pulseaudio
> CurrentDesktop: Unity
> Date: Mon Sep 22 14:30:33 2014
> HibernationDevice: RESUME=UUID=e6052f15-271a-4424-aac2-9b0ee1e490ed
> InstallationDate: Installed on 2014-09-22 (0 days ago)
> InstallationMedia: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64
> (20140722.2)
> Lsusb:
> Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 001 Device 003: ID 03eb:8a32 Atmel Corp.
> Bus 001 Device 002: ID 064e:9700 Suyin Corp.
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> MachineType: ASUSTeK COMPUTER INC. UX303LN
> ProcFB: 0 inteldrmfb
> ProcKernelCmdLine: BOOT_IMAGE=/boot...

Read more...

Given my very limited upload speed, that's actually a good idea.

Chris, can you try putting https://drive.google.com/file/d/0Bz7ZZcjnECHLMHp0V2h1OGtmWXc/view?usp=sharing into /lib/modules/3.17.0-focaltech-fix/kernel/drivers/input/mouse/ and reload the psmouse kernel module (or reboot)? That module has the contact area checks removed.

Chris (meyer-cm) wrote :

Mathias-

I just replaced it and rebooted, with no change to behavior- is that the right file?
  $ cd /lib/modules/3.17.0-focaltech-fix/kernel/drivers/input/mouse
  $ sha1sum psmouse.ko
  c2c3a283898fdbb3792aa6e50038750a656d298f psmouse.ko

Hm, I probably made a mistake there. Can you instead test the following packages?
https://drive.google.com/file/d/0Bz7ZZcjnECHLR2EwTVdYd0VWdGc/view?usp=sharing

I've rewritten the fix for your laptop based on comments on the linux-input mailing list, so I am interested in
1. Does it work at all for you?
2. Does it change the behaviour so that the pointer does not freeze anymore?

Chris (meyer-cm) wrote :

Mathias-

Success on both counts. I'm satisfied with the functionality of the clickpad at this point, so anyone considering buying the ASUS X550LA shouldn't be scared off by a touchpad issue at this point.

Thanks again to you and Pilot for all your efforts on this.

Chris

Roger (rogermartin-2005) wrote :

I have the same problem asus x200la-CT012H with ubuntu 14.04.02 LTS

touchpad recognized as ps/2 mouse. It works but can't get 2 fingers scroll and type

after an upgrade to kernel 3.19.0-031900-generic http://www.linuxandubuntu.com/home/linux-kernel-3-19-stable-released-install-upgrade-in-ubuntu-linux-mint

$ dmesg | grep FLT
[ 0.231754] pnp 00:06: Plug and Play ACPI device, IDs FLT0102 SYN0a00 SYN0002 PNP0f03 PNP0f13 PNP0f12 (active)

$ xinput list
 > PS/2 FocalTech FocalTech Touchpad in mouse emulation mode

$ xinput --list-props 15
Device 'PS/2 FocalTech FocalTech Touchpad in mouse emulation mode':
 Device Enabled (138): 1
 Coordinate Transformation Matrix (140): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
 Device Accel Profile (265): 0
 Device Accel Constant Deceleration (266): 1.000000
 Device Accel Adaptive Deceleration (267): 1.000000
 Device Accel Velocity Scaling (268): 10.000000
 Device Product ID (257): 2, 1
 Device Node (258): "/dev/input/event4"
 Evdev Axis Inversion (269): 0, 0
 Evdev Axes Swap (271): 0
 Axis Labels (272): "Rel X" (148), "Rel Y" (149)
 Button Labels (273): "Button Left" (141), "Button Unknown" (260), "Button Right" (143), "Button Wheel Up" (144), "Button Wheel Down" (145)
 Evdev Middle Button Emulation (274): 0
 Evdev Middle Button Timeout (275): 50
 Evdev Third Button Emulation (276): 0
 Evdev Third Button Emulation Timeout (277): 1000
 Evdev Third Button Emulation Button (278): 3
 Evdev Third Button Emulation Threshold (279): 20
 Evdev Wheel Emulation (280): 0
 Evdev Wheel Emulation Axes (281): 0, 0, 4, 5
 Evdev Wheel Emulation Inertia (282): 10
 Evdev Wheel Emulation Timeout (283): 200
 Evdev Wheel Emulation Button (284): 4
 Evdev Drag Lock Buttons (285): 0

$ cat 10-evdev.conf
  Section "InputClass"
        Identifier "evdev touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
  EndSection

$ cat 50-synaptics.conf

Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
      MatchDevicePath "/dev/input/event*"
EndSection

Section "InputClass"
        Identifier "touchpad ignore duplicates"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/mouse*"
        Option "Ignore" "on"
EndSection

Section "InputClass"
        Identifier "Default clickpad buttons"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
EndSection

Section "InputClass"
        Identifier "Disable clickpad buttons on Apple touchpads"
        MatchProduct "Apple|bcm5974"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"
EndSection

At this point the touchpad works well as a mouse. But no 2 fingers scroll neither gestures.

I will give your kernel a try and let you know.

Joseph Holt (jholt0130) wrote :

I am aware that the majority of this thread is based on the focaltech touchpad. However, I believe a lot of the people who are still unable to get their touchpads functioning properly do not have a focaltech touchpad at all.

Having purchased a Q302LA from Asus I installed ubuntu and mint only to find that I am only given basic functionality with my touchpad.

For reference, it is detected with a hardare id of ETD0108. Pretty sure this is an elantech touchpad, however, as of yet I am unable to find a fix for this.

If anyone has had any experience dealing with this particular touchpad, any help would be greatly appreciated.

Mark Mandel (mark-mandel) wrote :

Just to let people know. I'm running 15.04, I just installed the v4.0 kernel from http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-rc2-vivid/ and my focaltech touchpad is working perfectly!

(Of course now my nvidia driver won't compile ;) but go figure)

Thanks to all for getting this into the kernel!

Joseph Holt (jholt0130) wrote :

For anyone still having an issue with an elantech touchpad, I was unable to find any working solution for an ubuntu base. I recently made the switch to full arch and FOUND A FIX! Two-finger scrolling is active and multi-finger tap works as well. If someone wants to make it work for Ubuntu I'm sure they could as this patch is from aur and pulls in code from github.

Here's the link:
https://aur.archlinux.org/packages/elantech-asustouchpad-dkms/

Pilot6 (hanipouspilot) wrote :

Mark,

Support of Elantech touchpads is included to mainline kernel. And I would not recomend to install a dkms package.
You may just install 3.16 kernel or later. This kernel is available in Ubuntu repos.

Just run

sudo apt-get install linux-generic-lts-utopic

Joseph Holt (jholt0130) wrote :

Unfortunately, the newer elantech touchpads are not supported. Namely in the new Asus notebooks. I've tested all the way up to the new 4.0rc2. I've tried all of the other "fixes" and none if them work. However, the one I posted above does work and I can verify it works, when nothing else does, from personal experience.

Pilot6 (hanipouspilot) wrote :

Joseph,

I think it is better to make a separate bug report. If you do it, subscribe me to it.
I see the patch. It is quite simple. It detects some new models.

I will apply the patch to Ubuntu kernel. You will test it and then it can be sent upstream with CC to "stable".
Then it will get into Ubuntu official kernels.

Joseph Holt (jholt0130) wrote :

Pilot,

For me, it is a non issue at this point. After making the switch to arch over the weekend, I am, unfortunately or fortunately, sold on arch. I personally like the idea and practice of "building" my own linux. Reminds me of days past spent with gentoo. Also, pacman and the Aur on arch are incredible.

However, I will make an effort to find someone that still has this problem to be a "guinea pig" for you.

elenfoiro (frederic-maccari) wrote :

Hi guys and many thanks for your tremendous work.

I was wondering if it was possible to only buid a module for my ubuntu 14.10 stock kernel or if building the whole kernel is the only option ?

Pilot6 (hanipouspilot) wrote :

elenfoiro,

If you have a Focaltech touchpad you can install kernel 4.0 or my 3.16 build. One module for 3.16 is not possible.

For Elantech you can build psmouse.ko.

KernelPanic (jfrusciante) wrote :

Hello,

Asus Zenbook UX303LN-R4281H here (99% sure same hardware for UX303LN-R4318H). Upon a fresh install of Ubuntu 14.04, touchpad (FocalTech) is detected as mouse, so no scrolling possible. With kernel 3.19 it was detected as touchpad but in mouse emulation mode. Kernel 4.0rc2 or patched kernels in this thread (tried esp. 3.7) made it work like a charm. Thanks guys!

However, both kernels broke nvidia module. I found some patches to fix compilation but still I am struggling to make them work (e.g. http://goo.gl/O3VWi5 made possible to compile the nvidia module for kernel 4.0, but I cannot load it in any way).

I understand it's a slightly different problem, but does anyone has a suggestion what could I try? Does anyone have now touchpad AND nvidia module working?

Thanks!

elenfoiro (frederic-maccari) wrote :

Hi Pilot6,

thanks again for your involvment in this driver issue and to answer to your question, I have a Focaltech touchpad.

I would certainly try your 3.16 mainly because I'm not so keen in kernel RC but I would like to know two things before:
1/ How will security updates be integrated to your buid ?
2/ My laptop only has an integrated Intel graphic chip, will it be recognized by your kernel build ?

Best regards,
Frédéric

Pilot6 (hanipouspilot) wrote :

elenfoiro,

1. I update builds , when official builds are updated. You will need to keep an eye on that. When kernel updates, just download mine. It is not very convenient, but we have no options. Kernel is too big for a ppa.
2. Do not worry. There are no issues with Intel. Only some are reported regarding Nvidia blobs.
But is a general 3.16 issue, nothing to do with my commits.

Pilot6 (hanipouspilot) wrote :

'Stable' version is same as the version in repos, 'next' is the one in 'proposed' repos. You may use stable.

Stepan Roucka (rouckas) wrote :

I can confirm that this issue on Ubuntu 15.04
ASUS ZENBOOK UX303LA-R4390H
is fixed by installing 4.0rc5 kernel from http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-rc5-vivid/

But is there some option for fixing this bug while keeping the security updates working? Can the patches be merged to the default ubuntu kernel on 15.04?

brott (gatorstudent20) wrote :

@Mathias: regarding comment 210, I installed your compiled 3.19 kernel with the fixes which work great for my focaltech touchpad.
I have an ASUS UX303LN.

My only issue now is with the Nvidia driver. The Nvidia driver works properly with kernel 3.19.0-12.12, however it will not compile properly with the 3.19.0-rc4-focaltech-fix2-1 driver which you compiled.

The 4.0 kernel (rc5) seems to be a no-go, as it won't complete the boot process - just a black screen.

Do you know if your driver will be merged into the official 3.19, or if it's possible to get a compiled version of your patch in the latest mainline 3.19?

Many thanks!

Pilot6 (hanipouspilot) wrote :

@brott
You can compile Ubuntu kernel with Mathias's patch. It can be found here.
https://github.com/hanipouspilot/ubuntu-vivid/tree/pilot6

I doubt that the patch will be merged into 3.19 official kernel. It has been merged into 4.0 mainline. But it can be backported.
It is up to Ubuntu maintainers.

brott (gatorstudent20) wrote :

Thanks Pilot! I'm new to compiling kernels, but I'll give it a shot.

Pilot6 (hanipouspilot) wrote :
Download full text (4.1 KiB)

It is not hard to compile. There are a lot of guides. I recomend to
use fakeroot.
If you have problems, I can give a simple guide.

2015-04-07 7:09 GMT+03:00 brott <email address hidden>:
> Thanks Pilot! I'm new to compiling kernels, but I'll give it a shot.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1372609
>
> Title:
> Touchpad detected as mouse on Asus ux303ln laptop
>
> Status in linux package in Ubuntu:
> Fix Released
> Status in linux package in Arch Linux:
> New
>
> Bug description:
> Hi! I'm following the bug reporting documentation here:
>
> https://wiki.ubuntu.com/DebuggingTouchpadDetection#In_case_Touchpad_features_like_scrolling.2C_tapping.2C_etc._do_not_work_at_all.
>
> The touchpad on my new Asus ux303ln laptop is detected as a mouse, so
> I can't access touchpad features such as two-finger scrolling.
>
> The laptop was very recently released and I couldn't find any
> outstanding firmware updates for it through Asus's Windows-based
> tools.
>
> % lsb_release -rd
> Description: Ubuntu 14.04.1 LTS
> Release: 14.04
>
> Per the instructions on the wiki, I'm attaching output from
> /proc/bus/input/devices,` xinput --list`, and /var/log/Xorg.0.log.
>
> This machine also has a touchscreen, which I'm fairly certain is the
> "maXtouch digitizer" visible in the logs. I haven't yet restarted in
> Windows to see if it says anything useful about the touchpad, but I
> can do so if that's helpful. This is a fresh install of 14.04 and I
> haven't done much customization of it apart from installing some
> applications and changing the default resolution.
>
> The only relevant bit I noticed in /var/log/dmesg is this:
>
> [ 3.967547] input: PS/2 Logitech Wheel Mouse as
> /devices/platform/i8042/serio4/input/input11
>
> ProblemType: Bug
> DistroRelease: Ubuntu 14.04
> Package: linux-image-3.13.0-35-generic 3.13.0-35.62
> ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
> Uname: Linux 3.13.0-35-generic x86_64
> ApportVersion: 2.14.1-0ubuntu3.4
> Architecture: amd64
> AudioDevicesInUse:
> USER PID ACCESS COMMAND
> /dev/snd/controlC0: tim 2234 F.... pulseaudio
> /dev/snd/controlC1: tim 2234 F.... pulseaudio
> CurrentDesktop: Unity
> Date: Mon Sep 22 14:30:33 2014
> HibernationDevice: RESUME=UUID=e6052f15-271a-4424-aac2-9b0ee1e490ed
> InstallationDate: Installed on 2014-09-22 (0 days ago)
> InstallationMedia: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140722.2)
> Lsusb:
> Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 001 Device 003: ID 03eb:8a32 Atmel Corp.
> Bus 001 Device 002: ID 064e:9700 Suyin Corp.
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> MachineType: ASUSTeK COMPUTER INC. UX303LN
> ProcFB: 0 inteldrmfb
> ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-35-generic.efi.signed root=UUID=4f908b1b-e06f-4dc9-9642-e952d2598e42 ro quiet splash vt.handoff=7
> RelatedPackageVersions:
> linux-restricted-modules-3.13.0-35-generic N/A
> linux-backports-modules-...

Read more...

Pilot6 (hanipouspilot) on 2015-04-10
tags: added: kernel-bug-fixed-upstream
removed: kernel-bug-exists-upstream
Pilot6 (hanipouspilot) wrote :

Since vivid will not be released with 4.0 kernel, I made a ppa for vivid with Focaltech dkms package.
It is here

ppa:hanipouspilot/focaltech-dkms

As soon as 3.19 kernel will be made available for 14.04 LTS, I will add trusty too.

dinosaurfiles (assodusta) wrote :

@mgottschlag the kernel works fine on my asus x455ld based on the link you've given, also it has a focaltech touchpad. @hanipouspilot i was wondering if the packages for the focaltech-dkms will work for my laptop. trying it soon to test it :)
will the patch be available on the 3.19 kernel?

current system:
Asus x455ld
Linux Mint 17.1
3.19.0-rc4-focaltech-fix2

Pilot6 (hanipouspilot) wrote :

Please wait tonight to test it. I made a wrong commit. I am fixing it now.

Pilot6 (hanipouspilot) wrote :

I fixed it. It should work on all 3.19 kernels.

Pilot6 (hanipouspilot) wrote :

It will be available after it builds and publishes within an hour I guess.

Mark Mandel (mark-mandel) wrote :

@Pilot6 - Nice one! I tried for ages to make this a DKMS module. I will take this for a spin, and let you know how it goes.

Artem (chirkin-art) wrote :

Hi, I am following this thread since October, thank you all for the work!

@Pilot6
For me the DKMS module does not work :(
Ubuntu 15.04 beta, kernel 3.19.0-12-generic

xinput --list
↳ PS/2 FocalTech FocalTech Touchpad in mouse emulation mode id=16

I have installed focaltech-dkms from your ppa

dkms --status
...
focaltech, 1.0, 3.19.0-12-generic, x86_64: installed
...

Pilot6 (hanipouspilot) wrote :

Artem,

Did you restart psmouse, according to the directions in ppa?

"emulation mode" means that 'native' 3.19 kernel module is used.
And did the package install correctly without errors?

Artem (chirkin-art) wrote :

Pilot6,

Sorry, I missed this!

Seems like it works:
xinput --list
PS/2 FocalTech FocalTech Touchpad

Yes, package installs without problems; syndaemon also works to suppress touchpad while typing.

However, now I meet another problem - fn key "enable touchpad" does not work (probably, I need to tell Gnome somehow that I changed touchpad drivers? How can I do this?).

One more thing: am I right that I need to restart psmouse each time at boot now?

Pilot6 (hanipouspilot) wrote :

I just tested it again with latest vivid 3.16.0-13 kernel.
It works after

sudo pmdprobe -r psmouse
sudo modprobe psmouse

or reboot.

Pilot6 (hanipouspilot) wrote :

Typo in previous message

sudo modprobe -r psmouse
sudo modprobe psmouse

Pilot6 (hanipouspilot) wrote :

I will think on making that restart automatic. I tried it, but the script did not work. Later I will try to do it another way as a hook.

Pilot6 (hanipouspilot) wrote :

Artem,

Fn keys have nothing to do with the driver. On my laptop they work. The problem must be somwhere else.

No, you do not need to restart psmouse any more, ever after updating kernel. You need to do it only first time after install.
And as mentioned above, I will try to fix this small issue.

Artem (chirkin-art) wrote :

Pilot6,

After reboot I have emulation mode again - so I run modprobes again.

It turned out that after I enter these two commands, touchpad starts to work, but all gnome defined hotkeys break (including fn keys, such as brightness, and event terminal).

Pilot6 (hanipouspilot) wrote :

I confirm regarding restart. I guess native psmouse should be blacklisted. I will fix it.

Gnome is another issue.

Pilot6 (hanipouspilot) wrote :

I fixed reboot problem. Maybe your gnome issues are related in disabling mouse for a while. I hope it helps.
Pacakage must be available within an hour.

Artem (chirkin-art) wrote :

Pilot6, the same after reboot :(

Pilot6 (hanipouspilot) wrote :

Same what? Touchpad does not work? Or the button issue?

Touchpad should work.

Artem (chirkin-art) wrote :

sorry,
"xinput --list" gives "PS/2 FocalTech FocalTech Touchpad in mouse emulation mode" after reboot

Well, if enable it using modprobe, the shortucts brake to, but you are right - it is another story.

Can I help you with some output/logs?

Pilot6 (hanipouspilot) wrote :

I can make it a way that it builds not psmouse module but a different name.
And blacklist original psmouse. But it should work normal way. And it works for me.
I will wait for some other feedback, while I have no time till next midweek to dig into it.

Pilot6 (hanipouspilot) wrote :

I guess it can be because in 15.04 init has been replaced with upstart.
I test in with init. I will think what can be done.

Pilot6 (hanipouspilot) wrote :

As a temorary solution you can copy psmouse.ko from

/var/lib/dkms/focaltech/<kernel-version>/module/

to

/lib/modules/<kernel-version>/kernel/drivers/input/mouse/

Then a ne w module will be in both places

Mark Mandel (mark-mandel) wrote :

@Pilot, am I doing something wrong here, this isn't working for me, as you can see below.

This is on 15.04.

➜ ~ sudo apt-get install focaltech-dkms
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  focaltech-dkms
0 to upgrade, 1 to newly install, 0 to remove and 0 not to upgrade.
Need to get 0 B/128 kB of archives.
After this operation, 697 kB of additional disk space will be used.
Selecting previously unselected package focaltech-dkms.
(Reading database ... 231345 files and directories currently installed.)
Preparing to unpack .../focaltech-dkms_1.0ubuntu2_all.deb ...
Unpacking focaltech-dkms (1.0ubuntu2) ...
Processing triggers for man-db (2.7.0.2-5) ...
Setting up focaltech-dkms (1.0ubuntu2) ...
First Installation: checking all kernels...
Building only for 3.19.0-13-generic
Building for architecture x86_64
This package appears to be a binaries-only package
 you will not be able to build against kernel 3.19.0-13-generic
 since the package source was not provided
➜ ~ sudo modprobe -r psmouse
➜ ~ sudo modprobe psmouse
➜ ~ cd /var/lib/dkms
➜ dkms ls
dkms_dbversion

Artem (chirkin-art) wrote :

Pilot, Mark,

I also just have just found out that on last reinstall had the same message about binaries-only. Also I found out that the module was not build (after post #252 - I have not found module), so I built and installed it manually, and now touchpad works after reboot.
I am not an expert in this area, but seems like something prevents it from building automatically :)

p.s.: Now in Ubuntu 15.04 I face the problem that system crashes after I press disable touchpad button

brott (gatorstudent20) wrote :

Hi Pilot,

I'm getting the same message about this being a binaries only build.

This package appears to be a binaries-only package
 you will not be able to build against kernel 3.19.0-13-generic
 since the package source was not provided

Please advise. Thanks for putting together the ppa!

Pilot6 (hanipouspilot) wrote :

Sorry for that. It is my first dkms ppa. It looks like I broke it again with the last commit. I will fix it today.
After I do that please test, if you have that trouble with systemd loading old module.
If yes, I will try to find a solution.

Pilot6 (hanipouspilot) wrote :

I don't understand this problem. Package version 1.0 installs OK. As soon as I do dch -i and change version it never installs again saying there is no source code. It is too hard for me.

Pilot6 (hanipouspilot) wrote :
Pilot6 (hanipouspilot) wrote :

Finaly figured that out. Now there is version 1.1 in ppa. Plaease test reboot issue.

Mark Mandel (mark-mandel) wrote :

@Pilot!

Nice one! Worked perfectly! Now I can focaltech supports AND Nvidia Optimus support! *dance*

brott (gatorstudent20) wrote :

Seconded! Very nice, and finally got focaltech and Nvidia support on 15.04. Thank you!

The only issue is that with upstart , I have to modprobe -r psmouse and modprobe psmouse to get the driver loaded.
I can't use the init version of the kernel, as it has some graphics issues.

Also, pointer speed in the "Mouse & Touchpad" configuration window doesn't seem to have an effect. I need to manually increase pointer speed by using xinput for now.

Pilot6 (hanipouspilot) wrote :

@brott,

You can move the psmouse.ko file from /lib/modules/<kernel-version>/updates/dkms/psmouse.ko to
/lib/modules/<kernel-version>/kernel/drivers/input/mouse/psmouse.ko

It will replace original driver and you wan't have to modprobe it. With Ubuntu 14.04 with same kernel it is not needed.

I will think how to fix it though.

Pilot6 (hanipouspilot) wrote :

Please confirm that you need to restart psmouse EVERY time you reboot. I installed same driver on 14.04 with 3.19 kernel and there is no such problem.

dinosaurfiles (assodusta) wrote :

Hey @hanipouspilot correct me if the procedures are wrong. Im installing 3.19 kernel on my Asus X455 Mint 17.1 (currently: 3.19.0-rc4-focaltech-fix2 from @mgottschlag) and Ill add your focaltech dkms ppa. will this work?

Btw, after testing @mgottschlag kernel for days, I noticed that sometimes after rebooting from hibernation the laptop display only returns a black screen and i have to force restart my laptop.

Pilot6 (hanipouspilot) wrote :

@dinosaurfiles,

If you have a kernel with focaltech fix, you do not need to install the driver from ppa.

If you have a generic 3.19 kernel, you can install the driver from ppa. It will build psmouse.ko module against any 3.19 kernel you install. But as mentioned in some posts here, if your system uses 'systemd' instead of 'upstart' naitive psmouse.ko may be loaded before dkms has a chance to replace it.

Pilot6 (hanipouspilot) wrote :

I added to the ppa version for trusty too. It requires 'linux-generic-lts-vivid' package, which will be available soon in main repositories. But now it can be obtained from ppa:canonical-kernel-team/ppa.

Unfortunately there is kernel version 3.19.0-12.2. I have some brightness issues with that version. With 3.19.0-13 it is OK.

brott (gatorstudent20) wrote :

@Pilot,
Confirmed that even after copying psmouse.ko to the /kernel/drivers/... directory, I still have to restart psmouse. This is with upstart.
I also need to re-apply my constant deceleration changes each time as well, otherwise the default mouse speed is quite slow.

Much thanks again for all your work spent on this helping all of us.

Pilot6 (hanipouspilot) wrote :

@brott,

That can't be. Did you use sudo when copied? What do you call 'upstart'?
Regarding acceleration it can't be fixed now. For most of models it is OK, but you are unlucky.

brott (gatorstudent20) wrote :

@Pilot,

Here's the command I ran:
sudo cp /lib/modules/3.19.0-13-generic/updates/dkms/psmouse.ko /lib/modules/3.19.0-13-generic/kernel/drivers/input/mouse/

I just rebooted my computer again, and the mouse is back to emulation mode..
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ PS/2 FocalTech FocalTech Touchpad in mouse emulation mode id=12 [slave pointer (2)]

It corrects as soon as I restart psmouse

$ sudo modprobe -r psmouse
$ sudo modprobe psmouse
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ PS/2 FocalTech FocalTech Touchpad id=12 [slave pointer (2)]

When I say "upstart", I mean I am using the upstart version of the kernel loading in grub. The systemd / default option will not load at all - something funky, most likely related to the nvidia driver.

Pilot6 (hanipouspilot) wrote :

@brott,

This looks very strange. "Mouse emulation mode" is in native psmouse in kernel 3.19. If you replace it with mine, it has no such text in the source. Maybe there is some feature I do not understand, which restores the original module.

BTW Ubuntu 14.04 with 3.19 kernel has no this issue at all. It boots with dkms module.

Pilot6 (hanipouspilot) wrote :

Do you use 1.1 version of the package? It has REMAKE_INITRD option.

It may use module from initrd. Maybe this option did not work. Try to do

sudo update-initramfs -u

Pilot6 (hanipouspilot) wrote :

Or

sudo update-initramfs -c

Pilot6 (hanipouspilot) wrote :

I am trying to gess why this may happen. Maybe because REMAKE_INITRD=yes without quotes.
With version of dkms in trusty it works. Can you add yourself this line and add source using dkms, or you need a deb to test it?

Pilot6 (hanipouspilot) wrote :

Just got that it is a simple environment variable, so should make no difference.

brott (gatorstudent20) wrote :

Really appreciate your help to try to troubleshoot.
I am using your latest version of the package - 1.1.

~$ sudo apt-cache policy focaltech-dkms
focaltech-dkms:
  Installed: 1.1
  Candidate: 1.1
  Version table:
 *** 1.1 0
        500 http://ppa.launchpad.net/hanipouspilot/focaltech-dkms/ubuntu/ vivid/main amd64 Packages

I tried running sudo update-initramfs -u, and I also tried adding psmouse to /etc/modules. Neither worked.
By the way, when I run update-initramfs -u, it seems to only update for the old rc4-focaltech-fix2 kernel that I was using before. Perhaps there's some conflict?

This is not a major issue, as I can have a script run at boot to take care of these settings. Minor inconvenience. I'll continue to troubleshoot when possible.

Pilot6 (hanipouspilot) wrote :

Something is wron with upate-initramfs.

You can try to do

sudo update-initramfs -c -k 3.19.0-13-generic

Pilot6 (hanipouspilot) wrote :

And also make sure that you booted into this kernel

uname -r

Artem (chirkin-art) wrote :

Pilot6,

thanks again for your work!
I want to report that now my touchpad works good, right after installing package.
Kernel 3.19.0-13-generic, Ubuntu 15.04, gnome-shell 3.14.4
BTW, all my problems with system crashes were due to some problems with gnome 3.16 from gnome-staging ppa; after downgrading everything works fine.

Also a small question: is the driver capable of detecting size & pressure of the touch? (for palm detection)

Pilot6 (hanipouspilot) wrote :

@Artem,

Yes, the touchpad is capable of detecting size. It has built-in palm detection, but this feature not has been removed, because one user reported that the treshold is too low. I suspect he has too thik fingers ))). But the author of the driver, Mathias Gottschlag, removed the feture, since we do not know how to set the threshold.
If you need this feature, it is quite easy to make it back working. But I will keep mainstream driver from upstream kernel in my package.

Pilot6 (hanipouspilot) wrote :

Artem,

BTW, do you also have the problem reported by brott, that the touchpad does not work until restarting psmouse after reboot?

Pilot6 (hanipouspilot) wrote :

Artem,

BTW, do you also have the problem reported by brott, that the touchpad does not work until restarting psmouse after reboot?

brott (gatorstudent20) wrote :

>> sudo update-initramfs -c -k 3.19.0-13-generic

That did the trick!
It's holding through reboots now. I was logged in with that kernel, but oddly enough the command was updating for an older kernel if I didn't specify explicitly.

Thanks again!

Peter Liedler (peter-liedler) wrote :

Working like a charm out of the ppa without any fiddling around.
Thank you!!

uname -a
3.19.0-13-generic #13-Ubuntu SMP Thu Apr 9 22:56:40 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu Vivid Vervet (development branch)
Release: 15.04
Codename: vivid

sudo dmidecode | grep -A3 '^System Information'
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: UX303LN
Version: 1.0

Artem (chirkin-art) wrote :

Pilot6,

on 3.19.0-13 it was working without any additional effort;
previously I had 3.19.0-12, and I am not sure at what moment the problem was solved

Pilot6 (hanipouspilot) wrote :

3.19.0-12 is buggy. There were a lot of various problems.

pr16 (pedromiguelrelvas-y) wrote :

Thank you so much!!!! I tried on ubuntu 15.04 (3.19.0.14-generic) and it worked. No need to restart psmouse as it was said before

Pilot6 (hanipouspilot) wrote :

I added palm detection capability to the driver. It does not report pressure, but reports width.
This capability was partialy in Mathias' driver, but then it was removed, because of some complaints for some models.
Now I pass width data to userspace and it can be turned on or off.

The driver is in

ppa:hanipouspilot/focaltech-dkms-staging

To turn palmdetection on Ubuntu run

synclient PalmDetect=1 PalmMinZ=0

Also you can set there 'PalmMinWidth' to something. Sizes supported 1-7, everything higher than 7 use hardware palmdetection threshold. I set it to 5, and it looks OK for my fingers.

In addition syndaemon can be used to increase timeout to disable touchpad while typing. Default value of 0.5 sec is too low in many cases.
You will need to turn off that setting in mouse properties and run

syndaemon -i 2 -tKRd

where 2 is timeout in seconds.

Matej (matej-jelic22) wrote :

Hi!

I need help.
I read this: http://ubuntuforums.org/showthread.php?t=2253069&page=9
I am using Kubuntu 14.10 on my Asus UX303LAB.

My kernel is: Linux UX303LA 3.16.0-34-generic #47-Ubuntu SMP Fri Apr 10 18:02:58 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

I cannot install this: https://launchpad.net/~hanipouspilot/+archive/ubuntu/focaltech-dkms/
Reason: no "utopic" folder under "dists" in repository.
If I change the dist to "trusty" in /etc/apt/sources.list.d/hanipouspilot-ubuntu-focaltech-dkms-utopic.list it gives me an error (about unmet dependencies - requires kernel 3.19...).
If I change the dist to "vivid" in /etc/apt/sources.list.d/hanipouspilot-ubuntu-focaltech-dkms-utopic.list it would install but after reboot (or sudo modprobe -r psmouse && sudo modprobe psmouse) in System Settings - Input devices - Touchpad it still says "Synaptics driver is not installed (or is not used)".

Then I removed the focaltech-dkms package and tried to install this: https://github.com/markmandel/psmouse-focaltech-dkms
This solution won't work either (the same message in System settings - "Synaptics driver is not installed (or is not used)").

What can I do? I cannot work on my laptop because I have no gestures, and I cannot turn off the touchpad while the mouse is plugged in and I keep (accidentally) touching it and it messes up my work...
Can anyone help me?

Thanks in advance! :)

Pilot6 (hanipouspilot) wrote :

@Matej
This ppa will never work for 14.10. It will work for 14.04 with some manual package install till linux-generic-lts-vivid package is in repos. And for 15.04 out of the box.
Markmandel's package never worked, though it was a good try.

You need to install kernel 3.19 first, Then you can download deb from ppa (stable or staging). Then it will install.

If you want to keep 3.16 kernel, then you can download my image from here.
https://www.dropbox.com/sh/07642x3lziqgmz9/AACGWNO5_lNnX7x7tYMoH9gka?dl=0

But I am stopping to make these builds. I support LTS and last release.

Pilot6 (hanipouspilot) wrote :

And download vivid package, because it has no dependency on lts-vivid.

Matej (matej-jelic22) wrote :

Thank you for your reply.

So, if I upgrade to 15.04 and if I upgrade my kernel to 3.19, then my touchpad should work normally.

Kubuntu 15.04 should be out on April 23rd 2015.
So I'll try to upgrade in a few days...

Pilot6 (hanipouspilot) wrote :

Matej,

It is not 'and', but or.
If you upgrade to 15.04, or install 3.29 kernel, driver from my ppa will install.
If you install kernel 4.0, touchpad will work without the driver.
But palm detection is only my staging driver now.

pr16 (pedromiguelrelvas-y) wrote :

Hi Pilot6. Can you just answer me a question please? I said up there that I got my touchpad working on ubuntu 15.04 beta, but I needed to downgrade to ubuntu 14.04 because of opencv compatibility. I tried to install both kernels 3.19 and 4.0 on 14.04 but then my broadcom wifi stops working because they do not have support yet (I already reported that). You said there is suport for my touchpad for ubunt 14.04 right? Is it on kernel 3.16? If yes, I'm sorry but I didn't understood... in the dropbox link you put there, I have to install those *.deb and then what do I have to do next? install your focaltech-dkms driver next will work?
thanks

Those .debs should already contain a complete kernel with the driver builtin, no separate modules required.

Pilot6 (hanipouspilot) wrote :

pr16,

If you install my kernel debs, you do not need to do anuthing more. The driver is already there. Just reboot.
I hope Broadcom is supported soon on 3.19 and you will be able to install dkms driver for 14.04.

Pilot6 (hanipouspilot) wrote :

And also dkms driver will not build on 3.16 kernel, because there are no support in i8042.c
That's why I made dependency on linux-generic-lts-vivid in trusty version.

pr16 (pedromiguelrelvas-y) wrote :

Pilot6, Thanks!!!! For your work and for your patience :) It works nice and smooth in ubuntu 14.04.2 (kernel 3.16)

Matej (matej-jelic22) wrote :

Well this is just great... xD
I am really confused right now.

So I updated my Kubuntu from 14.10 to 15.04.
Touchpad worked fine with the kernel version 3.16.0-33-generic.

It was working for a while and then I performed an update with:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
And I got the new kernel version: 3.19.0-16-generic

After the update/upgrade my touchpad doesn't work anymore.
Then I tried installing kernel version: 4.0.1-040001-generic
Still doesn't work.

I don't know what am I doing wrong here.
Now my System Settings -> Ponting devices -> Touchpad says "Synaptics driver is not installed (or is not used)" again.
And if I enter the command "synclient" I get this error message: "Couldn't find synaptics properties. No synaptics driver loaded?".

The xorg log (command: "cat /var/log/Xorg.0.log") got my eye on this:
[ 4.901] (II) config/udev: Adding input device PS/2 FocalTech FocalTech Touchpad (/dev/input/mouse0)
[ 4.901] (II) No input driver specified, ignoring this device.
[ 4.901] (II) This device may have been added with another device file.
Full output is here: http://pastebin.com/N78EWUYc

And under my /dev/input/ directory I have 3 mouse files (mouse0, mouse1 and mouse2) all with the size of 0 bytes.
My assumption is that mouse0 is (or should be) the touchpad, mouse1 my real USB mouse, and mouse2 my other real USB mouse that I plugged in my PC on my other USB port.

Anyways... Can anyone help me? How can I get this to finally work? :(
My PC unusable like this...

Matej (matej-jelic22) wrote :

Oh... and one more thing...
I forgot to mention that I tried reinstalling xorg like this:
sudo apt-get purge xserver-xorg-input-synaptics
sudo apt-get install xserver-xorg-input-synaptics

It didn't help.
I also tried sudo apt-get install focaltech-dkms just in case, but I had that package already installed...

And I tried booting now with old 3.16 kernel and touchpad is working again. Why? :/
Why can't I get it to work on 4.0.1 or 3.19?

Thanks in advance!

Pilot6 (hanipouspilot) wrote :

Matej,

You do too many things. First of all choose which kernel do you plan to use.
If you use 4+, then uninstall focaltech-dkms.

Peter Matulis (petermatulis) wrote :

This bug is long. After installing 15.04 what is one supposed to do again?

Pilot6 (hanipouspilot) wrote :

Peter,

If you have a Focaltech touchpad, then do this.

sudo add-apt-repository ppa:hanipouspilot/focaltech-dkms
sudo apt-get update
sudo apt-get install focaltech-dkms

The touchpad will work after reboot. That's it.

Peter Matulis (petermatulis) wrote :

Well I have this

[ 0.958762] input: PS/2 FocalTech FocalTech Touchpad as /devices/platform/i8042/serio4/input/input12

but my touchpad does work already. At least I can move the mouse around and click things with it. Is there some special functionality I should be verifying?

Pilot6 (hanipouspilot) wrote :

Peter,

Which kernel version do you use? Default 3.19 kernel supports Focaltech touchpads only in mouse emulation mode.
Multitouch is not supported. That's why that dkms driver is needed.
If e.g. two-finger scroll works, then it is OK.

Some other features an be turned on by synclient (palm detedtion, 3-finger taps, etc.)

Peter Matulis (petermatulis) wrote :

I am using 3.19. I didn't notice whether 2-finger was working before I installed the PPA but it is working afterwards. My device still shows up as above.

Pilot6 (hanipouspilot) wrote :

I can tell you that it did not work without ppa. You can test it by uninstalling focaltech-dkms.
And xinput will show Focaltech in mouse emulation mode.

From kernel 4.0 this driver is in mainine kernel. I made this ppa to backport it for current Ubuntu users.
In Ubuntu 15.10 it will work out of the box.

Matej (matej-jelic22) wrote :

Pilot6,

What I want is the latest kernel - the 4.0.1, or at least the 3.19.
I booted my PC with kernel 4.0.1 and uninstalled focaltech-dkms. After that I rebooted the machine.

I still have the same issues as before...
Now what?

Thanks in advance!

Pilot6 (hanipouspilot) wrote :

Matej,

That must be something in userspace. I never used KDE and have no idea what is wrong.

Matej (matej-jelic22) wrote :

Pilot6,

Me neither... xD
But I am trying to understand all this...
I tried to boot into Kubuntu with kernel 3.16 (where my touchpad works even without focaltech-dkms installed) and dumped my xorg log.
Log is here: http://pastebin.com/FvbUjdcD

Then I did the same on kernel 4.0.1.
Log is here: http://pastebin.com/u6GKmPtW

If you look at the bottom of both logs you will see a difference.
In 3.16 it applies touchpad InputClass, after that it loads synaptics_drv.so module, and then detects it as a touchpad:
[ 5.422] (II) config/udev: Adding input device FocalTechPS/2 FocalTech FocalTech Touchpad (/dev/input/event5)
[ 5.422] (**) FocalTechPS/2 FocalTech FocalTech Touchpad: Applying InputClass "evdev touchpad catchall"
...
[ 5.422] (II) LoadModule: "synaptics"
[ 5.422] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
...
[ 5.524] (II) XINPUT: Adding extended input device "FocalTechPS/2 FocalTech FocalTech Touchpad" (type: TOUCHPAD, id 14)

In 4.0.1 kernel it applies pointer InputClass, it does not load synaptics module, it uses evdev input driver, and then detects it as a mouse:
[ 5.349] (II) config/udev: Adding input device PS/2 FocalTech FocalTech Touchpad (/dev/input/event5)
[ 5.349] (**) PS/2 FocalTech FocalTech Touchpad: Applying InputClass "evdev pointer catchall"
[ 5.349] (II) Using input driver 'evdev' for 'PS/2 FocalTech FocalTech Touchpad'
...
[ 5.349] (II) XINPUT: Adding extended input device "PS/2 FocalTech FocalTech Touchpad" (type: MOUSE, id 14)

Is there a way I can tell it to load synaptics module and use touchpad InputClass (not pointer)?

Pilot6 (hanipouspilot) wrote :
Download full text (5.7 KiB)

As I understand, evdev is used instead of synaptics. Why not use
default 3.19 kernel with a driver?
What is the reason of installing 4.0.1?

2015-05-06 12:44 GMT+03:00 Matej <email address hidden>:
> Pilot6,
>
> Me neither... xD
> But I am trying to understand all this...
> I tried to boot into Kubuntu with kernel 3.16 (where my touchpad works even without focaltech-dkms installed) and dumped my xorg log.
> Log is here: http://pastebin.com/FvbUjdcD
>
> Then I did the same on kernel 4.0.1.
> Log is here: http://pastebin.com/u6GKmPtW
>
> If you look at the bottom of both logs you will see a difference.
> In 3.16 it applies touchpad InputClass, after that it loads synaptics_drv.so module, and then detects it as a touchpad:
> [ 5.422] (II) config/udev: Adding input device FocalTechPS/2 FocalTech FocalTech Touchpad (/dev/input/event5)
> [ 5.422] (**) FocalTechPS/2 FocalTech FocalTech Touchpad: Applying InputClass "evdev touchpad catchall"
> ...
> [ 5.422] (II) LoadModule: "synaptics"
> [ 5.422] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
> ...
> [ 5.524] (II) XINPUT: Adding extended input device "FocalTechPS/2 FocalTech FocalTech Touchpad" (type: TOUCHPAD, id 14)
>
> In 4.0.1 kernel it applies pointer InputClass, it does not load synaptics module, it uses evdev input driver, and then detects it as a mouse:
> [ 5.349] (II) config/udev: Adding input device PS/2 FocalTech FocalTech Touchpad (/dev/input/event5)
> [ 5.349] (**) PS/2 FocalTech FocalTech Touchpad: Applying InputClass "evdev pointer catchall"
> [ 5.349] (II) Using input driver 'evdev' for 'PS/2 FocalTech FocalTech Touchpad'
> ...
> [ 5.349] (II) XINPUT: Adding extended input device "PS/2 FocalTech FocalTech Touchpad" (type: MOUSE, id 14)
>
>
> Is there a way I can tell it to load synaptics module and use touchpad InputClass (not pointer)?
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1372609
>
> Title:
> Touchpad detected as mouse on Asus ux303ln laptop
>
> Status in linux package in Ubuntu:
> Fix Released
> Status in linux package in Arch Linux:
> New
>
> Bug description:
> Hi! I'm following the bug reporting documentation here:
>
> https://wiki.ubuntu.com/DebuggingTouchpadDetection#In_case_Touchpad_features_like_scrolling.2C_tapping.2C_etc._do_not_work_at_all.
>
> The touchpad on my new Asus ux303ln laptop is detected as a mouse, so
> I can't access touchpad features such as two-finger scrolling.
>
> The laptop was very recently released and I couldn't find any
> outstanding firmware updates for it through Asus's Windows-based
> tools.
>
> % lsb_release -rd
> Description: Ubuntu 14.04.1 LTS
> Release: 14.04
>
> Per the instructions on the wiki, I'm attaching output from
> /proc/bus/input/devices,` xinput --list`, and /var/log/Xorg.0.log.
>
> This machine also has a touchscreen, which I'm fairly certain is the
> "maXtouch digitizer" visible in the logs. I haven't yet restarted in
> Windows to see if it says anything useful about the touchpad, but I
> can do so if that's helpful. This is a fresh install of 14.04 a...

Read more...

Matej (matej-jelic22) wrote :

Pilot6,

Yes. Evdev is used instead of synaptics.
It is the same with 3.19 kernel (with driver installed). So i Googled and I found one user reporting that it is working on 4.0.1 kernel.
That is the only reason.

I'll try and boot into 3.19 again and try to reinstall focaltech-dkms, and check out the xorg log just to verify that it is all the same as on 4.0.1 kernel.

Matej (matej-jelic22) wrote :

Pilot6,

I booted into Kubuntu with kernel 3.19, then installed focaltech-dkms, and then rebooted again.
Results are the same as on kernel 4.0.1. Xorg.log gives the same output (using evdev instead of synaptics and detecting touchpad as a mouse).
Full kernel version is: 3.19.0-16-generic #16-Ubuntu SMP Thu Apr 30 16:09:58 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

I just don't understand...
Shouldn't it work on 4.0 without the driver, on 3.19 with the driver and not work on 3.16 without the driver?
Currently it only works on 3.16 without the driver.

Pilot6 (hanipouspilot) wrote :

Matej,

1. What is your 3.16 kernel? It may be my cutom kernel with built in driver. Is it the case?
2. What do you mean "working"? With multitouch? You sure have a custom kernel.

Matej (matej-jelic22) wrote :

Pilot6,

This is my 3.16 kernel version:
matej@UX303LA:~$ uname -a
Linux UX303LA 3.16.0-33-generic #44 SMP Thu Mar 12 20:01:34 MSK 2015 x86_64 x86_64 x86_64 GNU/Linux

I used to have Kubuntu 14.10 and I did use your custom kernel back then.
Then my touchpad stopped working on that kernel (then I reported it in post #289) so I upgraded to Kubuntu 15.04.

And yes, by "working" I mean fully working with multitouch and all.

Pilot6 (hanipouspilot) wrote :

Focaltech can't work with multitouch on 3.16 without additional driver. There is no code for that.
Give output of

dkms status

Pilot6 (hanipouspilot) wrote :

For all Ubuntu 14.04 users a temporary instruction how to install dkms driver.

sudo add-apt-repository ppa:canonical-kernel-team/ppa
sudo apt-get update
sudo apt-get install linux-generic-lts-vivid
sudo add-apt-repository -r ppa:canonical-kernel-team/ppa

We install linux-generic-lts-vivid from maintainers ppa and remove this repository, because this package will be in main.
Then reboot and install the driver.

sudo add-apt-repository ppa:hanipouspilot/focaltech-dkms
sudo apt-get update
sudo apt-get install focaltech-dkms

After reboot touchpad must work.

If everything works OK, I would recomend to remove linux-image-generic-lts-utopic and linux-headers-generic-lts-utopic packages. If you do not do it, 3.16 kernels will install updates and error will be reported, because the driver will not build.

For those who have 3.13 linux-image-generic and linux-headers-generic should be removed.

Matej (matej-jelic22) wrote :

Pilot6,

The dkms status output is:
focaltech, 1.5, 3.19.0-16-generic, x86_64: installed

Pilot6 (hanipouspilot) wrote :

Anyway with vanilla 3.16 it can't work, even can't be detected.

And focaltech 1.5 is from staging ppa. Try stable 1.4.

Matej (matej-jelic22) wrote :

Pilot6,

I tried stable 1.4 on 3.19 kernel.
matej@UX303LA:~$ uname -a
Linux UX303LA 3.19.0-16-generic #16-Ubuntu SMP Thu Apr 30 16:09:58 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
matej@UX303LA:~$ dkms status
focaltech, 1.4, 3.19.0-16-generic, x86_64: installed

Still nothing... detected as a mouse.
I just don't understand why it won't detect it on newer kernels...? :/

Michael-tutty (michael-tutty) wrote :

WFM on 15.04 3.19 kernel, brilliant. Great job!

mohican (mohican) wrote :

Hi there. I'm experiencing the same kind of problems with a ASUS X751LD-T6046H (year 2015)

I tested your focaltech driver on a fresh 14.04 install following your instructions from post #317

There is no change at all.
It is still not seen in the parameter settings.
It is still recognized as "PS/2 Logitech Wheel Mouse" and works accordingly.

Maybe this touchpad is not a focaltech ?

Pilot6 (hanipouspilot) wrote :

mohican,

You can easily find out by running

dmesg | grep pnp

mohican (mohican) wrote :

This is the output of the command : dmesg | grep pnp

[ 0.275411] pnp: PnP ACPI init
[ 0.275607] pnp 00:01: [dma 4]
[ 0.275628] pnp 00:01: Plug and Play ACPI device, IDs PNP0200 (active)
[ 0.275649] pnp 00:02: Plug and Play ACPI device, IDs INT0800 (active)
[ 0.275781] pnp 00:03: Plug and Play ACPI device, IDs PNP0103 (active)
[ 0.276020] pnp 00:05: Plug and Play ACPI device, IDs PNP0b00 (active)
[ 0.276244] pnp 00:09: Plug and Play ACPI device, IDs ETD0108 SYN0a00 SYN0002 PNP0f03 PNP0f13 PNP0f12 (active)
[ 0.276288] pnp 00:0a: Plug and Play ACPI device, IDs ATK3001 PNP030b (active)
[ 0.277550] pnp: PnP ACPI: found 14 devices

mohican (mohican) wrote :

and this the output of : xinput list (no mouse is connected to the laptop)

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ USBest Technology SiS HID Touch Controller id=11 [slave pointer (2)]
⎜ ↳ PS/2 Logitech Wheel Mouse id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Video Bus id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ USB2.0 HD UVC WebCam id=10 [slave keyboard (3)]
    ↳ Asus WMI hotkeys id=12 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]

Pilot6 (hanipouspilot) wrote :

mohican,

It is not a Focaltech. Looks like it is an Elantech. Some of new Elantechs are not supported yet. I would try newest upstream kernels.

Pilot6 (hanipouspilot) wrote :
Pilot6 (hanipouspilot) wrote :

mohican,

It looks like your touchpad should work on kernel 4.0.3. It is possible to add a module to ppa too.

mohican (mohican) wrote :

Thanks, I'll resume this quest tomorrow

Pilot6 (hanipouspilot) wrote :

Since linux-generic-lts-vivid -s in main repository, my comment #317 for Ubuntu 14.04 is outdated.
Dkms package can be installed right from hanipouspilot ppa. No need to add anything else.

Thanks to Pilot6! #317/#330 works fine on my machine (Zenbook UX303LA with Ubuntu 15.04).

Marcin Mielniczuk (marmistrz) wrote :

It is very difficult to achieve a gesture involving 4 or 5 fingers. Touchegg indicates a 2 or 3 finger gesture most of the time. Only very rarely is it possible to get the desired gesture.

Is there any workaround for it or maybe it's a known bug?

Marcin Mielniczuk (marmistrz) wrote :

Or is it a problem in touchegg, not the driver?

Pilot6 (hanipouspilot) wrote :

It is not a problem of the driver. It reports 4 or 5 fingers very well. But it just sends coordinates. That is a matter of detecting gestures. It is done in user space

Marcin Mielniczuk (marmistrz) wrote :

Thanks!

I'd like to let you know: there is a similar touchpad on Asus T200TA but it isn't properly detected. See bug #103161 against the upstream kernel: https://bugzilla.kernel.org/show_bug.cgi?id=103161

Besides, thank you for developing the driver altogether!!

Pilot6 (hanipouspilot) wrote :

Marcin,

There is a driver for this touchpad already.

Marcin Mielniczuk (marmistrz) wrote :

Pilot6,

Since which kernel version?

Pilot6 (hanipouspilot) wrote :

It has been there for a while. You need to switch to synaptics_i2c.

Create a new bug report. Uou can subscribe me to it.

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.