help in porting touchscreen driver for Aakash tablet (GNU/Linux side)

344 views
Skip to first unread message

Srikant Patnaik

unread,
Jul 26, 2013, 8:39:43 AM7/26/13
to wncc...@googlegroups.com
Hello all, 

This is a big post, you may skip if you have already checked this on Electronics Club google group. 

I have an issue with one of the touch screen(elantech) driver on Aakash tablet(GNU/Linux side). 
The driver works well on Android. 

Ok, let me brief you first. 
We have received 100k Aakash devices with 3 different touchscreen hardwares. Almost all based on Allwinner A13 SoC. Out of 3 we have
tweaked 2 drivers(ft5x_ts[aka focaltouch], gt811_ts[aka goodix touch] successfully, and they work with Ubuntu 12.10 with Xorg 1.13.

The third driver is elan_ts, which is officially unavailable in linux-sunxi kernel fork, we luckily get hold of similar elan touch driver source from this blog
The patch from the blog goes well with our 3.0.76+ kernel. We can confirm touch event by doing cat to /dev/input/event0, which spits random garbage on every touch event on the terminal.

After confirming driver is alive, we force load 'evdev' xorg driver(which is responsible for input) by changing the following line :

''MatchIsTouchscreen "on"' 
to
''MatchIsTouchscreen "off"' 

in /usr/share/X11/xorg.conf.d/10-evdev.conf  file. 

This loads 'evdev', but detects the hardware as mouse, but for ft5x and gt811 it detects as touchscreen. 
Now the weird stuff, the complete X-server crash as soon as we touch on screen.

Full details of /var/log/Xorg.0.log is available in this pastebin link. Look at the bottom of the page for ektf2k at line 412 and find corresponding 
XINPUT at line 422. It says:

[    12.187] (II) XINPUT: Adding extended input device "ektf2k" (type: MOUSE, id 7)


This seg fault could be due to following reasons(or any other reason):

1)  As the Xorg evdev driver is loaded forcibly and hence some parameters which should be passed to it by elan kernel driver(ektf2k) are missing. 

2) The kernel driver itself is faulty, and needs more tweaking to adapt with xorg. 


Beyond the obvious google serach we have also tried the following :

1) Tried on linaro 13.06 image(based on ubuntu 13.04), which contained updated Xorg and better support for touch(claimed).    [FAILED]

2) Contacted author of that blog and also discussed this issue on sunxi-google-group.  [ no success so far ]

3) Trying to use latest kernel(3.10.2) and patch the touch driver [ no success so far ]

4) Tried tslib Xorg driver and also utouch module  [ FAILED ]

We need your help in porting this touch driver to GNU/Linux. You can forward this post to concerned person. I will be glad to answer any query. 
This is important, as this could help more than 80k students who have these tablets with such alien driver. 

Thanks :-)

Srikant

R.A, FOSSEE Project
Aerospace dept









Dilawar Singh

unread,
Jul 26, 2013, 9:13:04 AM7/26/13
to wncc...@googlegroups.com
To reproduce it, do we need the tablet? Or it can be done on local machine?

--
Dilawar
EE, IITB











--
--
The website for the club is http://stab-iitb.org/wncc
To post to this group, send email to wncc...@googlegroups.com
 
---
You received this message because you are subscribed to the Google Groups "Web and Coding Club IIT Bombay" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wncc_iitb+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Srikant Patnaik

unread,
Jul 26, 2013, 11:14:35 AM7/26/13
to wncc...@googlegroups.com
Yes, you need a tablet. Feel free to visit cfd lab, aero annex. (call: 900 499 6314)

Srikant

unread,
Jul 26, 2013, 11:21:18 AM7/26/13
to Pritam Baral, wncc...@googlegroups.com
Sure, feel free to debug the device any time. I will be available in cfd lab, aero annex. 
The default OS is android 4.0.4 based on 3.x kernel, so it has binary elan driver which ofcourse doesn't work with Linux. The source for android kernel can be found here, and it doesn't have the source for elan. 


On Fri, Jul 26, 2013 at 8:32 PM, Pritam Baral <chhato...@gmail.com> wrote:
uTouch won't help you. It's a userland meta-package for gesture-detection. Sits way above Xorg and stuff in the scheme of things.

The most probable issue is X.org. X.org on Ubuntu relies on udev (via evdev) to recognize the device (as touchscreen or mouse.) I guess we can trick udev into treating elan_ts as a touchscreen, but that would be a hack. Refer to https://wiki.kubuntu.org/X/InputConfiguration, there are some points that can help you debug the exact cause of this.

In any case, would you be open to let me probe the issue personally at the lab sometime?


Btw, you say it works well on Android. I'm guessing you have Android 4.0.*, which uses Linux kernel 3.0.*. Do you have the sources to the Android kernel of the image you're running?


 

Regards,
Chhatoi Pritam Baral

Srikant

unread,
Jul 30, 2013, 10:13:57 AM7/30/13
to Pritam Baral, wncc...@googlegroups.com
Hello Pritam, thanks for your unconditional help. 
Finally the coordinates are working, i.e cursor can move. 
The only issue left is tap(PRESSURE).  

Srikant

unread,
Aug 1, 2013, 8:25:35 AM8/1/13
to Pritam Baral, wncc...@googlegroups.com
So finally elan touch is working on Aakash GNU/Linux. Thanks to Pritam Baral :-)

We have another issue which I want discuss,  as there is no VGA or HDMI support in Aakash we are using VNC client-server to project Aakash screen to first intermediate machine and then to projector, which is a painful and slow process(1 fps sometimes). 
I know there are few USB to VGA converters in market, but do they work ? 
Is it possible to have some intermediate embedded hardware or something else through which we can send frames at higher rate to project. We do have Wifi on Aakash, but assume VGA only projectors for time being. 

Any idea is welcome. Project may pay expenses for feasible ideas. 

Thanks,
Srikant
Reply all
Reply to author
Forward
0 new messages