Jump to content


how to get fido touchscreen working in xandros


116 replies to this topic

#1 chewy

    Senior Member

  • Members
  • 239 posts

Posted 06 March 2008 - 07:50 PM

This is a how-to for linux beginners, like me. For installation options, there are many on this forum.

Warning: when you go into superuser mode, you can really mess things up and even disable your computer, so, be VERY careful not to mistype anything. And, get out of superuser mode as soon as you are finished changing files (type exit on command line).

If you really mess up your system files, you may end up restoring from the DVD, as described by others.

1. buy a Xandros compatible controller with the touchscreen. So far, I have only seen fido-dido999 in Taiwan selling one that is known to work easily (I have no financial or other connections with the seller. He's been pleasant and responsive by emails).

When I ordered it on ebay, I added $5 for the Xandros upgrade and $1 for a short length of ribbon cable, since I needed some fine wire to work with. I added these on the paypal invoice and put a note to Jeff that I had added in for the "extras". Shipping only took 3 days from Taiwan to SF bay area, California

2. download the driver at the following link. Use the 32 bit driver, for Kernel 2.6

http://210.64.17.162...linuxDriver.htm

3. after the driver is extracted (it comes compressed to save space), copy the folder called TouchKit to the folder /home/user

to do this under the file manager, you need to go under 'View' and select 'Tree' and select 'Show All File Systems'. This will give a 2 column file manager that makes it easy to drag and drop the file to the right place.

(you can use command line cp command, too, if you are comfortable with this)

4. press Ctrl + Alt + t to open a terminal window

5. type su at the command prompt (this puts you in super user mode)

6. enter your password (preset is asus?)

notice the red text on the command line? This means you are in powerful, dangerous superuser mode.

7. I usually drop into the folder that I'm copying from, so I don't mess up my commands too much

cd /home/user/TouchKit change to subdirectory TouchKit

cp egalax_drv.so /usr/lib/xorg/modules/input copies driver file to system

8. modify the xorg.conf file as follows

sudo nano /etc/X11/xorg.conf

(this opens up the xorg.conf file in an editor called nano)

find the Section "ServerLayout". See the 3 InputDevice lines? Add a line that says

InputDevice "EETI" "SendCoreEvents"

(this tells the system about a new device named EETI (the touchscreen))

there should still be an EndSection to close this Section. Looks like this when you're done:


Section "ServerLayout"
Identifier "Xandros"
Screen 0 "Screen1"
InputDevice "keyboard"
InputDevice "mouse"
InputDevice "synaptics"
InputDevice "EETI" "SendCoreEvents"
EndSection

9. use the down arrow and scroll down to the part of the file that has

Section "InputDevice"
Identifier "mouse"
Driver "mouse"
and so on…..

add the following section to define the driver for the EETI touchscreen

Section "InputDevice"
Identifier "EETI"
Driver "egalax"
Option "Device" "/dev/input/event6"
Option "Parameters" "/var/lib/egalax.cal"
Option "ScreenNo" "0" (that's a zero, not a letter oh)
EndSection

10. save your changes by typing Ctrl + o (the letter o), then hit enter to finish

11. reboot the eee

12. open a terminal window again, enter super user mode, change to directory /home/user/Touchkit (as we did above) and type ./TouchKit

/home/user/TouchKit> ./TouchKit

this opens the calibration program. under the "tools" tab, I used the 4 point option. follow the moving cross hairs. more accurate is 25 point option.

quit the calibration program. exit the console window. hopefully, your screen works like mine did.

let me know if this could be clearer, or if there are typos. thanks.

Edited by chewy, 13 May 2008 - 07:04 PM.


#2 ColeTrain

    Advanced Member

  • Members
  • PipPipPip
  • 32 posts
  • LocationNew York

Posted 06 March 2008 - 08:57 PM

excellent guide, thanks a lot!
12 GB (Almost installing touchscreen) | 701 4G 0703 Bios White | Easy & Advanced Xandros Mode

#3 superfly

    Advanced Member

  • Members
  • PipPipPip
  • 41 posts

Posted 06 March 2008 - 11:11 PM

you make it sound like a piece of cake :) thanks!

#4 JDTucson

    Senior Member

  • Members
  • 771 posts

Posted 07 March 2008 - 07:58 AM

Good guide Chewy, thanks a lot. Now we have some idea of what is expected of us for a Xandros touch screen. Glad to see somebody finally got one working.;)
JDtucson

#5 johan-sport

    Member

  • Members
  • 26 posts

Posted 07 March 2008 - 08:37 AM

@ chewy ...Great job..Thank you..excellent
701 surf 4G linux

#6 digiguy

    New member

  • Members
  • 5 posts

Posted 07 March 2008 - 12:59 PM

Thanks chewy. I followed your instructions and calibration ran well. After that it still doesn't work. The touchscreen I got is also from fido and worked perfectly under Windows. Got any idea?

#7 chewy

    Senior Member

  • Members
  • 239 posts

Posted 07 March 2008 - 02:05 PM

@digiguy

fortunately, mine worked. try emailing jeff (fido-dido999). he's been very quick with responses to my questions.

p.s. did you buy the upgraded controller (extra $5). it's supposed to have something altered in the chip's programming to make it work with xandros. I know that people with the earlier controller had problems.

#8 digiguy

    New member

  • Members
  • 5 posts

Posted 07 March 2008 - 05:16 PM

Chewy, no I did not upgrade the controller. It's not an option on the eBay auction item that I bid. Maybe that's why it didn't work for me.

#9 chiefqc

    Advanced Member

  • Members
  • PipPipPip
  • 67 posts

Posted 08 March 2008 - 03:38 PM

from line 7 your loosing me ... :(

next one make it like linux for stupid people :) like me in linux i dont get it.
how you change to subdirectory ?
it look very simple for you but for window user like me ...
tku
linux look to be a more simple os but programing it or just installing software is complicated.

#10 chiefqc

    Advanced Member

  • Members
  • PipPipPip
  • 67 posts

Posted 08 March 2008 - 04:32 PM

make a film and put it on youtube
voila !
it wood be a good idear !
tku

#11 no1knows

    Senior Member

  • Members
  • 407 posts
  • LocationLondon

Posted 08 March 2008 - 07:08 PM

Trying this on backtrack 3 with changes being saved and it seems to delete the driver and xorg.conf changes on each reboot (possibly by running xconf?
any ideas?
Eee PC 4G 701 7C | Bios: 511 -> 703 @ 900Mhz, OC to 1.1Ghz | 2GB Ram | Win XP Pro SP2 | Mods | Modem pins switch | Final layout?

#12 gfoot

    Senior Member

  • Members
  • 368 posts
  • LocationBrighton, UK

Posted 08 March 2008 - 08:25 PM

Quote

p.s. did you buy the upgraded controller (extra $5). it's supposed to have something altered in the chip's programming to make it work with xandros. I know that people with the earlier controller had problems.
Does anyone know what he had to change in the controller firmware? I didn't realise he was altering it for Xandros, so I've got one that doesn't work properly now.

I've been playing around with it though. It's causing installation of the usbtouchscreen kernel module, creating a /dev/input/event6 device (which matches chewy's instructions). The data stream it sends seems to consist of 16-byte packets - a 4-byte timestamp in seconds, a 4-byte sub-second time value (wraps at around 900,000), then data, in which you can clearly identify press/release events and coordinate changes. It seems to only support one touch point, but at least the x/y coordinates are clearly coming through. In practice, though, it looks like the X driver isn't receiving position data, so it just puts the cursor in the bottom left corner when you tap the panel.

Curiously, even after removing all drivers from my Xorg conf file, even for "mouse" and "synaptics", my touchpad still works, and the touch panel still manages to click. I think it's reporting itself also as a standard HID device. The documentation for the drivers does state that you need to choose one or the other - perhaps this is part of the problem. I'll keep playing with it anyway - but it would be good to hear if anyone else has had any success, without fidodido's custom firmware.

I think in the worst case, we should be able to make this work using a custom X driver, but I really think we should be able to get it to work without. I've also seen references online to getting these things to work under EEExubuntu, without using the vendor's drivers, just using standard kernel functionality, so that's another fall-back - I'd like to get the vendor drivers to work though, as the calibration thing looks useful.

When I get this sorted out, if I get time I'll upload an installation program that sets everything up for you.

#13 no1knows

    Senior Member

  • Members
  • 407 posts
  • LocationLondon

Posted 08 March 2008 - 09:20 PM

gfoot, ive been playing around too, found event4 as the touchscreen, when i tap it it doesnt reposition the mouse it does click though...

Even with all the xorg.conf settings as per pdf guide the Touchpad program still reports that the module is not installed correctly...

Would be really nice to get it working.
Eee PC 4G 701 7C | Bios: 511 -> 703 @ 900Mhz, OC to 1.1Ghz | 2GB Ram | Win XP Pro SP2 | Mods | Modem pins switch | Final layout?

#14 gfoot

    Senior Member

  • Members
  • 368 posts
  • LocationBrighton, UK

Posted 08 March 2008 - 10:06 PM

Quote

Even with all the xorg.conf settings as per pdf guide the Touchpad program still reports that the module is not installed correctly...
I found setting the driver to either usbauto or /dev/input/event6 worked - maybe you'd find event4 would work too. I don't have any hiddevs, although the usbhid module is loaded. I also don't have /dev/tkpanel0, but I haven't build the tkusb module, so that's expected.

There are a few things I don't understand yet. I wish we had source code for the X driver!

#15 no1knows

    Senior Member

  • Members
  • 407 posts
  • LocationLondon

Posted 09 March 2008 - 12:36 AM

yeh source would be nice. When you say it worked, u mean the touchscreen program works (i.e. gave u the option to calibrate)?

I tried both usb auto, /dev/input/event4 and "events" (which apparently works w/ only 1 controller), but the program still complained.
Eee PC 4G 701 7C | Bios: 511 -> 703 @ 900Mhz, OC to 1.1Ghz | 2GB Ram | Win XP Pro SP2 | Mods | Modem pins switch | Final layout?

#16 gfoot

    Senior Member

  • Members
  • 368 posts
  • LocationBrighton, UK

Posted 09 March 2008 - 12:10 PM

Yes, the "Touchkit" program worked and let me run the calibration. It could tell when I pressed on the panel, but it looks like it couldn't tell *where* I pressed.

I asked fidodido about the changes they make for Xandros compatibility, and he said it's a firmware patch, and he's trying to find out some details. Fingers crossed!

It would be really helpful if somebody who does have the modified firmware could run a test. If you're willing, disable your touch panel in your xorg.conf file and restart X (Ctrl-Alt-Backspace is enough), and then run this at a console:

xxd -g1 /dev/input/event6 > touchpanel_output.txt
Change the event number if it's wrong for your system. Now if you tap on the panel it should print a lot of hex numbers to that file. Please tap each corner in turn, releasing straight away, and waiting 2 seconds between corners. Press Ctrl-C when you're done, and post or PM me the output. I'm hoping to see whether the patched firmware is sending a significantly different data stream.

If the xxd command is not found, just use cat instead... it won't be human-readable, but I can run xxd on my end if necessary.

#17 gfoot

    Senior Member

  • Members
  • 368 posts
  • LocationBrighton, UK

Posted 09 March 2008 - 12:15 PM

Quote

I've also seen references online to getting these things to work under EEExubuntu, without using the vendor's drivers, just using standard kernel functionality, so that's another fall-back
Just an additional update on this tack - the binary version of this alternate X module doesn't work on Xandros, due to a library version mismatch - it needs recompiling. It's not a show-stopper, but it means setting up a cross-compilation environment, and getting and unpacking the full Xorg sources, which I don't have time for right now.

#18 no1knows

    Senior Member

  • Members
  • 407 posts
  • LocationLondon

Posted 09 March 2008 - 12:28 PM

gfoot, sounds like you know what you're doing, i cant even get past the module not installed error when i run Touchkit... despite trying all those "Device" settings and confirming that event4 is the controller.
I'll wait and see on your pogress, i'm running Backtrack 3 by the way (a modified slack distro)
Eee PC 4G 701 7C | Bios: 511 -> 703 @ 900Mhz, OC to 1.1Ghz | 2GB Ram | Win XP Pro SP2 | Mods | Modem pins switch | Final layout?

#19 chewy

    Senior Member

  • Members
  • 239 posts

Posted 09 March 2008 - 04:59 PM

gfoot

I can run the test on my controller board in the next day or so, when the replacement board comes.

How do I disable in the xorg.conf file? Just remove the added lines? Can I just comment out the lines?

#20 gfoot

    Senior Member

  • Members
  • 368 posts
  • LocationBrighton, UK

Posted 09 March 2008 - 08:54 PM

chewy:

I think you just need to comment out the line in the ServerLayout section. You'll know if you got it right because if you didn't, the output file will be empty. Thanks for trying it.

Another way to check is to run "fuser /dev/input/event6". It will list the PIDs of any processes which are using that device. Hopefully you'll see none.

no1knows:

It's possible that the Xorg module isn't compatible with your distro - you could check the log output of the X server (probably in /var/log) to check it didn't fail to load the module. I'm not sure how to check whether a module is loaded by querying the server, but there must be a way - maybe someone else knows. As you're running a different distro, it might be worth you trying this driver: http://www.conan.de/...en/evtouch.html It's the one that was suggested for EEExubuntu, which I've found doesn't quite work on Xandros due to a library version error.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users