Touchpad detected as mouse on Asus ux303ln laptop

Bug #1372609 reported by Tim Gilbert
362
This bug affects 61 people
Affects Status Importance Assigned to Milestone
linux (Arch Linux)
New
Undecided
Unassigned
linux (Ubuntu)
Fix Released
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.

Revision history for this message
Tim Gilbert (r-ubuntu-com) wrote :
Revision history for this message
Tim Gilbert (r-ubuntu-com) wrote :
Revision history for this message
Tim Gilbert (r-ubuntu-com) wrote :
Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
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.

Revision history for this message
Despernal (despernal) wrote :

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

Revision history for this message
John Smity (john-smity5) wrote :

I also have this problem with my new laptop

Revision history for this message
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)

Revision history for this message
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

Revision history for this message
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
Revision history for this message
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

Revision history for this message
Mark Mandel (mark-mandel) wrote :

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

Revision history for this message
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
Revision history for this message
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.

Revision history for this message
Tim Gilbert (r-ubuntu-com) wrote :
Revision history for this message
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

Revision history for this message
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

Revision history for this message
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 ?

Revision history for this message
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.

Revision history for this message
Despernal (despernal) wrote :

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

Revision history for this message
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 !

Revision history for this message
Guillaume (guillaume-desclaux) wrote :

FYI Bios update 204 solves nothing regarding this touchpad issue.

Revision history for this message
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

Revision history for this message
Guillaume (guillaume-desclaux) wrote :

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

Revision history for this message
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.

Revision history for this message
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
Revision history for this message
ed_hub (edouard-hubert) wrote :

same issu here (ux303la-r)

Changed in linux (Ubuntu):
assignee: nobody → ed_hub (edouard-hubert)
Revision history for this message
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)]

Revision history for this message
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
Revision history for this message
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.

Revision history for this message
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)

Revision history for this message
Mathias Gottschlag (mgottschlag) wrote :

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

Revision history for this message
Mathias Gottschlag (mgottschlag) 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.

Revision history for this message
Mikael Muszynski (linduxed) wrote : Re: [Bug 1372609] Re: Touchpad detected as mouse on Asus ux303ln laptop

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.
>

Revision history for this message
Mathias Gottschlag (mgottschlag) wrote :
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...

Revision history for this message
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...

Revision history for this message
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!

Revision history for this message
Mathias Gottschlag (mgottschlag) wrote :

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

Revision history for this message
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.

Revision history for this message
Michael Wingender (mwingender) wrote :

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

tags: added: patch
Pilot6 (hanipouspilot)
Changed in linux (Ubuntu):
status: Confirmed → Fix Committed
Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Pilot6 (hanipouspilot)
tags: added: kernel-bug-fixed-upstream
removed: kernel-bug-exists-upstream
258 comments hidden view all 338 comments
Revision history for this message
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...

Revision history for this message
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!

Revision history for this message
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.

Revision history for this message
Peter Matulis (petermatulis) wrote :

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

Revision history for this message
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.

Revision history for this message
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?

Revision history for this message
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.)

Revision history for this message
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.

Revision history for this message
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.

Revision history for this message
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!

Revision history for this message
Pilot6 (hanipouspilot) wrote :

Matej,

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

Revision history for this message
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)?

Revision history for this message
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...

Revision history for this message
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.

Revision history for this message
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.

Revision history for this message
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.

Revision history for this message
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.

Revision history for this message
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

Revision history for this message
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.

Revision history for this message
Matej (matej-jelic22) wrote :

Pilot6,

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

Revision history for this message
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.

Revision history for this message
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...? :/

Revision history for this message
Michael-tutty (michael-tutty) wrote :

WFM on 15.04 3.19 kernel, brilliant. Great job!

Revision history for this message
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 ?

Revision history for this message
Pilot6 (hanipouspilot) wrote :

mohican,

You can easily find out by running

dmesg | grep pnp

Revision history for this message
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

Revision history for this message
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)]

Revision history for this message
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.

Revision history for this message
Pilot6 (hanipouspilot) wrote :
Revision history for this message
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.

Revision history for this message
mohican (mohican) wrote :

Thanks, I'll resume this quest tomorrow

Revision history for this message
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.

Revision history for this message
Ryan Klarhölter (ryanklarhoelter) wrote :

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

Revision history for this message
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?

Revision history for this message
Marcin Mielniczuk (marmistrz) wrote :

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

Revision history for this message
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

Revision history for this message
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!!

Revision history for this message
Pilot6 (hanipouspilot) wrote :

Marcin,

There is a driver for this touchpad already.

Revision history for this message
Marcin Mielniczuk (marmistrz) wrote :

Pilot6,

Since which kernel version?

Revision history for this message
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.

Displaying first 40 and last 40 comments. View all 338 comments or add a comment.