add touch support for ACER 1820PTZ [MosArt RMTP-MA957]

Bug #620609 reported by axoin
28
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Open Input Framework
Fix Released
Medium
Unassigned
Ubuntu
Invalid
Undecided
Unassigned
Nominated for Maverick by axoin

Bug Description

Hello Team,

I have a acer aspire 1820ptz notebook with mosart touchscreen. dmesg states that the device is recognised as MosArt Inc. RMTP-MA957 and mapped to /dev/input/event5. I can see the event information with evtest when i touch on the touchpad.

However, the cursor is always hanging on the upper left side of the screen. It mostly reports Ry and Rz's. I have read about kernel patches etc. but is this still neccessary with your project? (Also ENAC says support is already built in kernel)

How can I help you / or you help me to make the multitouchpad working till Maverick?
tested on daily iso maverick ~18Aug.

Revision history for this message
Chase Douglas (chasedouglas) wrote :

Hi Axoin,

First, right now our utouch work isn't available by default as part of Ubuntu. We're sorting through the processes right now to do that. If you haven't installed the utouch meta package, I would do so first, then log out and back in. Then you hopefully can use the gesturetest program to see gestures:

$ gesturetest 0 0 0xffffffff

What worries me though is that you say you see events through evtest, but the cursor never moves. Can you capture the output of evtest and attach it here? It wouldn't hurt to attach a copy of /var/log/Xorg.0.log after installing utouch too.

Thanks

Changed in utouch:
status: New → Incomplete
Changed in ubuntu:
status: New → Invalid
Changed in utouch:
importance: Undecided → Medium
Revision history for this message
axoin (axoin) wrote :

Hello Chase,

thank you for your quick reply. I have already installed utouch before opening this bug. However I only have a usb live version of ubuntu as I cannot install to hard disk, so I have just logged out and restarted the X-Server instead of rebooting. I hope this isn't critical.

I have attached a copy of the evtest of event5. I also include a dmesg and lsmod output.
When I run $ gesturetest 0 0 0xffffffff nothing happens. I have a blinking cursor on the console and no output (neither graphical).

Revision history for this message
axoin (axoin) wrote :
Revision history for this message
axoin (axoin) wrote :

Module Size Used by
hid_mosart 2861 0
rfcomm 33875 0
sco 7998 0
bnep 9542 0
l2cap 37008 4 rfcomm,bnep
btusb 10969 0
bluetooth 50500 5 rfcomm,sco,bnep,l2cap,btusb
aes_i586 7280 1
aes_generic 26875 1 aes_i586
binfmt_misc 6599 1
parport_pc 26058 0
ppdev 5556 0
lp 7374 0
parport 31492 3 parport_pc,ppdev,lp
dm_crypt 11385 0
snd_hda_codec_intelhdmi 9812 1
snd_hda_codec_realtek 217774 1
snd_hda_intel 22107 2
snd_hda_codec 87520 3 snd_hda_codec_intelhdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep 5040 1 snd_hda_codec
arc4 1165 2
snd_pcm 71475 2 snd_hda_intel,snd_hda_codec
snd_seq_midi 4588 0
snd_rawmidi 17783 1 snd_seq_midi
snd_seq_midi_event 6047 1 snd_seq_midi
snd_seq 47174 2 snd_seq_midi,snd_seq_midi_event
snd_timer 19067 2 snd_pcm,snd_seq
snd_seq_device 5744 3 snd_seq_midi,snd_rawmidi,snd_seq
iwlagn 178588 0
snd 49006 13 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
iwlcore 127689 1 iwlagn
uvcvideo 55847 0
mac80211 231644 2 iwlagn,iwlcore
videodev 43098 1 uvcvideo
v4l1_compat 13359 2 uvcvideo,videodev
soundcore 880 1 snd
psmouse 59033 0
cfg80211 146615 3 iwlagn,iwlcore,mac80211
snd_page_alloc 7120 2 snd_hda_intel,snd_pcm
joydev 8735 0
serio_raw 4022 0
squashfs 25209 1
aufs 152358 4575
nls_iso8859_1 3261 1
nls_cp437 4931 1
vfat 9201 1
fat 48240 1 vfat
dm_raid45 81721 0
xor 15136 1 dm_raid45
btrfs 489451 0
zlib_deflate 19266 1 btrfs
crc32c 2531 1
libcrc32c 887 1 btrfs
i915 290491 3
drm_kms_helper 30136 1 i915
drm 168022 4 i915,drm_kms_helper
usbhid 36882 1 hid_mosart
hid 67710 2 hid_mosart,usbhid
usb_storage 40172 1
intel_agp 25261 2 i915
ahci 19013 0
i2c_algo_bit 5168 1 i915
atl1c 29949 0
agpgart 32011 2 drm,intel_agp
video 18712 1 i915
libahci 20043 1 ahci
output 1883 1 video

Revision history for this message
axoin (axoin) wrote :

hi,
some news in that story. The touchpad identifies via usb as 062a:7100 Creative Labs, but in fact it's rather MosArt.
I have never compiled a kernel myself but tonight I tried. It is strange that drivers/hid/hid-ids.h already lists 062a as USB_VENDOR_ID_TURBOX but I left that as is. I added #define USB_DEVICE_ID_MOSART_TOUCHPAD 0x7100. Additionally I blacklisted this as HID_QUIRK_MULTI_INPUT in drivers/hid/usbhid/hid-quirks.c.
The result is now that three input events are created (dmesg) and I can use the touchpad for singletouch.

I am now left with some questions, what can we do?
I only load modules hid and usbhid. Shouldn't that use the hid-mosart?
Is blacklisting in quirks the best way to make this touchpad work?
How to emulate a right-click? What does utouch do for that?
How to enable multitouch (at least two fingers)?
How to 'save' this modification for ubuntu or even the kernel?

Changed in utouch:
status: Incomplete → New
Revision history for this message
axoin (axoin) wrote :

newest update:
with kernel 2.6.35-17-generic, touchpad is loaded with driver 'generic'.
Dmesg:
[ 2.933258] usbcore: registered new interface driver hiddev
[ 2.946742] generic-usb 0003:062A:7100.0001: input,hiddev96,hidraw0:
USB HID v1.00 Mouse [MosArt, Inc. RMTP-MA957] on
usb-0000:00:1a.1-1/input0
[ 2.946770] usbcore: registered new interface driver usbhid
[ 2.946773] usbhid: USB HID core driver

behaviour is: cursor is stuck in upper left corner, but touch events are
reproduced as 'clicks'. The possibility to move the pointer is missing.

With Chatty from ENAC i tried to load hid-mosart driver
In lsusb the device is identified as Bus 004 Device 002: ID 062a:7100
Creative Labs but as far as I know it's a Mosart. And to make confusion
complete, 062a is identified as USB_VENDOR_ID_TURBOX in hid-ids. I added
the 7100 as USB_DEVICE_ID_MOSART_TOUCHPAD in hid-ids. But anyhow, i did
- in hid-core.c added in section blacklist
{ HID_USB_DEVICE(USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_MOSART_TOUCHPAD)},
  (note: T91MT was listed under ignorelist)

- added to list of devices in hid-mosart.c
    { HID_USB_DEVICE(USB_VENDOR_ID_TURBOX,
USB_DEVICE_ID_MOSART_TOUCHPAD) },
- compile.
- copy modules to /lib/modules/etc.
- depmod -a
- modprobe hid-mosart. Result:
[ 2349.185880] usbcore: registered new interface driver usbhid
[ 2349.185884] usbhid: USB HID core driver
[ 2349.189654] mosart 0003:062A:7100.0001: we have been loaded! [note:
this line had been added by me for debug purposes.]
[ 2349.203578] input: MosArt, Inc. RMTP-MA957
as /devices/pci0000:00/0000:00:1a.1/usb4/4-1/4-1:1.0/input/input11
[ 2349.203814] mosart 0003:062A:7100.0001: input,hiddev96,hidraw1: USB
HID v1.00 Mouse [MosArt, Inc. RMTP-MA957] on usb-0000:00:1a.1-1/input0

That's already a step to have the right driver loaded, but the touchpad
doesn't work as I expected:
1) the cursor moves when I move my finger. But it doesn't appear where I
touched, its like it had mouse acceleration: the faster i move the more
distance there is between my finger and the cursor.
2) the touch event is not recognised. I cannot make any 'click'
3) the second finger does not seem to be processed.

Does anyone here have an idea like an 'oven to bake' both together? It
always seems to be the half, but it would be better to have a fully
working touchscreen. Attached are evtest logs with both drivers.

regards

Revision history for this message
Duncan McGreggor (oubiwann) wrote :

Henrik and Chase, could you take another look at this when you get a chance? axion attached some evtest output with his last comment.

Revision history for this message
Henrik Rydberg (rydberg) wrote :

Possible solution patch just appeared in linux-input: https://patchwork.kernel.org/patch/245581/

Revision history for this message
Henrik Rydberg (rydberg) wrote :

There is a hid-mosart-dkms package in ppa:utouch-team/utouch, it would be great to hear if that works or not.

Changed in utouch:
status: New → Fix Committed
status: Fix Committed → In Progress
Revision history for this message
Alexander Atkin (alexatkin) wrote :

Just installed hid-mosart-dkms on Maverick, rebooted, touch screen working upon bootup.

That is pretty impressive as I always had to tinker to get touch screens working before. Now I just need to get gestures working so its comparable (or better) to how it works on Windows 7.

Henrik Rydberg (rydberg)
Changed in utouch:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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