You are not logged in.
Hello there,
I am still trying to get my kiddshop touchscreen working under Xandros (easy mode).
I considered adding my question onto one of the other threads, but decided that I'll open a new thread that specific to kiddshop's screen and the particular drivers I've tried:
Here's what I did so far:
1) downloaded the Galaxy drivers (32bit Kernel 2.6) from http://210.64.17.162/web20/TouckDriver/linuxDriver.htm
2) downloaded gfoot's recompiled kernel module from http://www.glost.eclipse.co.uk/gfoot/eee/tkusb/ and copied it to /lib/modules/2.6.21.4-eeepc/
3) went into /lib/modules/2.6.21.4-eeepc/kernel/drivers/usb/input and renamed the usbtouchscreen.ko module to avoid any conflict
4) followed the instructions from the Galaxy guide to make a device plus gfoot's depmod command
sudo mknod /dev/tkpanel0 c 180 180 sudo depmod -a
5) edited /etc/rc.local and added a section just before the "exit 0" (as per instructions in the galaxy documentation). This is my modified /etc/rc.local file:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. ####TouchKit kernel module session begin#### rmmod touchkitusb insmod /lib/modules/2.6.21.4-eeepc/tkusb.ko #### TouchKit kernel module session end #### exit 0
6) copied the galaxy drivers to the system directory
sudo cp egalax_drv.so /usr/lib/xorg/modules/input
6) edited my xorg.conf file as explained in http://forum.eeeuser.com/viewtopic.php?id=18677 with gfoot's modifications:
A line was added to the first section, and the second section is new. It points to the tkpanel0 device.
Section "ServerLayout"
Identifier "Xandros"
Screen 0 "Screen1" 0 0
InputDevice "keyboard"
InputDevice "mouse"
InputDevice "synaptics"
InputDevice "EETI" "SendCoreEvents"
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
EndSection
Section "Module"
Load "glx"
Load "dri"
Load "extmod"
Load "synaptics"
EndSection
Section "ServerFlags"
Option "AllowMouseOpenFail"
Option "Blanktime" "5"
Option "DontVTSwitch" "true"
Option "AIGLX" "false"
EndSection
Section "InputDevice"
Identifier "keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbLayout" "us"
Option "XkbVariant" ""
EndSection
Section "InputDevice"
Identifier "mouse"
Driver "mouse"
Option "Device" "/dev/input/mice"
Option "Protocol" "IMPS/2"
Option "Emulate3Buttons" "yes"
Option "ZAxisMapping" "4 5"
Option "CorePointer"
EndSection
Section "InputDevice"
Identifier "EETI"
Driver "egalax"
Option "Device" "/dev/tkpanel0"
Option "Parameters" "/var/lib/egalax.cal"
Option "ScreenNo" "0"
EndSection
Section "InputDevice"
Identifier "synaptics"
Driver "synaptics"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "LeftEdge" "1000"
Option "RightEdge" "5400"
Option "TopEdge" "1000"
Option "BottomEdge" "4900"
Option "PalmDetect" "0"
Option "SHMConfig" "true"
Option "SendCoreEvents" "yes"
Option "HorizScrollDelta" "0"
Option "RBCornerButton" "0"
Option "RTCornerButton" "0"
Option "MaxSpeed" "0.1"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "ASUS"
ModelName "eeePC P701"
ModeLine "800x480" 29.6 800 816 896 992 480 481 484 497 -hsync +vsync
EndSection
Section "Device"
Identifier "Device1"
Driver "intel"
VendorName "Intel Corporation"
BoardName "Mobile 915GM/GMS/910GML Express Graphics Controller"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 16
SubSection "Display"
Virtual 1024 768
Depth 8
EndSubSection
SubSection "Display"
Virtual 1024 768
Depth 15
EndSubSection
SubSection "Display"
Virtual 1024 768
Depth 16
EndSubSection
SubSection "Display"
Virtual 1024 768
Depth 24
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Extensions"
Option "Composite" "Disable"
EndSection7) reboot the machine
Now my touchscreen should already move the mouse around, right?
When I run sudo ./Touchkit in the unzipped galaxy driver directory I get "Please make sure the X module is installed and root permission is required to run this program"
I also checked the lsmod output
Module Size Used by ath_pci 74084 0 tkusb 5136 0 cpufreq_ondemand 5116 0 p4_clockmod 3080 0 speedstep_lib 2624 1 p4_clockmod freq_table 1988 2 cpufreq_ondemand,p4_clockmod wlan_tkip 10240 2 usb_storage 22148 1 wlan_scan_sta 9728 1 libusual 5968 1 usb_storage ath_rate_atheros 24768 1 ath_pci wlan 144280 5 ath_pci,wlan_tkip,wlan_scan_sta,ath_rate_atheros ath_dfs 25476 1 ath_pci ath_hal 139968 3 ath_pci,ath_rate_atheros pciehp 31172 0 pci_hotplug 9672 1 pciehp atl2 23064 0 ehci_hcd 25420 0 uhci_hcd 18636 0 usbhid 13444 0 usbcore 91928 7 tkusb,usb_storage,libusual,ehci_hcd,uhci_hcd,usbhid fuse 34388 0 eeepc_hotk 5784 0 button 5648 0 processor 19820 0 battery 7940 0 ac 3524 0 autofs4 15876 0 sr_mod 13284 0 cdrom 30624 1 sr_mod snd_hda_intel 14424 0 snd_hda_codec 191776 1 snd_hda_intel snd_pcm 52936 2 snd_hda_intel,snd_hda_codec snd_timer 15300 1 snd_pcm snd 32964 4 snd_hda_intel,snd_hda_codec,snd_pcm,snd_timer soundcore 3744 1 snd snd_page_alloc 6472 2 snd_hda_intel,snd_pcm genrtc 6028 0
I can see that tkusb is indeed loaded. But my touchscreen isn't sending any data:
/home/user/My_Documents> xxd -g1 /dev/tkpanel0 xxd: /dev/tkpanel0: No such device
Can anyone help me out here? What have I missed. My casing is still half open - I would like to get everything working before I refit all the screws and put it back together.
Last edited by solenostomus (2008-04-21 4:27:16 pm)
Offline
Have you looked at "lsusb" to see if you can see the touchscreen controller there? If not, perhaps there's a wiring issue. It's definitely worth testing touchscreens via a USB port before installing them, if you can.
Offline
Here the output of lsusb
Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 005 Device 003: ID 0951:1606 Kingston Technology Bus 005 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 Bus 002 Device 003: ID 15ca:00c3 Bus 002 Device 001: ID 0000:0000
I have no idea what the output means.. Any ideas?
Offline
I can't copy-and-paste from mine at the moment, but I have the Kingston Technology entry as well, and everything else is zeros except for:
Bus 004 Device 002: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen
This is a fidodido screen without his Xandros-modified controller, plugged into the webcam socket.
Your 15ca:00c3 device is a mouse - from http://www.linux-usb.org/usb.ids:
15ca Textech International Ltd.
00c3 Mini Optical MouseSo your touchscreen isn't appearing at all. I guess there's a problem with the USB connection to your controller board - make sure the data lines are the right way around, some people have had trouble with that. Also make sure it's soldered well.
Offline
Thanks, you might be right that the computer isn't seeing the touchscreen at all.
It's not clear which way the flatband cable is supposed to go into the black socket, so I've already tried it both ways round. Here's photo of the actual wiring:
The touchscreen is plugged into the webcam usb port (the webcam plug is taped away to the side):
And here's a view of my entire assembly:
Last edited by solenostomus (2008-04-22 5:02:35 pm)
Offline
As the touchscreen is plugged into the webcam USB socket, I just checked that it still works. So I switched the plugs over and after a reboot the webcam was fine. So it's not the USB socket on the motherboard.
When I switched the plugs back (touchscreen plugged in and webcam removed) the webcam failed to show a picture - that kind of confirms it that I got the right socket.
Offline
Check whether the webcam port is turned on:
cat /proc/acpi/asus/camera
and if it's not "1", turn it on:
echo 1 > /proc/acpi/asus/camera
Then see if the device appears in lsusb's output.
Even after turning the port on, I found I needed to restart X (Ctrl-Alt-Backspace) or fully reboot, to get the X driver to hook up to the touchscreen properly. So avoid everything that turns the port off (standby, Skype, ...).
Offline
the webcam port was turned on already.
I tried something else. Somewhere on the forums I read that /dev/Xxx in the xorg.conf might not work and some people have tried to put usbauto there.
I found that now the computer sees the screen in the lsusb list:
Bus 004 Device 001: ID 0000:0000 Bus 004 Device 002: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen Bus 003 Device 001: ID 0000:0000 Bus 005 Device 003: ID 0951:1606 Kingston Technology Bus 005 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 Bus 002 Device 003: ID 15ca:00c3 Bus 002 Device 001: ID 0000:0000
The TouckKit program now runs properly and offers all the tabs to do the calibration.
However, the calibration program still can't talk to the screen. The "Clear Parameter" button in the "Tool" tab reports "Failed to communicate with module".
That may be because I can no longer see tkusb in the lsmod list.
I'll have to figure out how I can get both at the same time: lsmod showing tkusb and lsusb showing the touchscreen-usb device.
Then I'll have to figure out how to get any data out of the thing. I am still waiting for cat /dev/tkpanel0 to deliver any kind of signals.
Last edited by solenostomus (2008-04-23 5:58:45 am)
Offline
@solenostomus
i just saw that you taped the shielding of the original webcam cable to the controller
the shielding is not isolated and conductive (ì've testet it)
there might be a problem that you short cirquited your controller
does the led on the controller light up when you touch the screen ?
Offline
solenostomus: If you're doubting that the kernel module is working, I'd disable the section in the Xorg.conf file, and just insert the kernel module and dump /dev/tkpanel0 through xxd. This allows you to insert and remove the kernel module at will, and also prevents the X driver from eating the data before you see it.
Offline
@metachuh - You are completely right - the webcam cable is wrapped in a metal covering and it was silly of me to tape it to the controller ciruit board. I've since removed the tape and now I can see a tiny green light which is on. So I think the circuit board still has some life in it.
@gfoot - When I try to do cat /dev/tkpanel0 I got the usual error "No such device". I then replaced my modified xorg.conf file with the original one and rebootet. The green LED flickered and then stayed off at first.
So I checked "lsmod" and tkusb wasn't listed. So I added the module manually:
sudo insmod /lib/modules/2.6.21.4-eeepc/tkusb.ko
and now I am getting data from the touchscreen:
sudo xxd -g1 /dev/tkpanel0
gives me streams of numbers when I move my finger around the screen.
I have the feeling I am really close... Just how everything is put together in the right order I don't know yet.
It is strange that tkusb wasn't loaded when I started the machine. the insmod command is in my rc.local file. Or was that the wrong place to put it? I am no Linux expert - so what is the system wide startup script executed on Xandros where I'd load the module?
Thanks!
Offline
I just found out that /etc/rc.local doesn't get run on EEE PC Xandros:
http://forum.eeeuser.com/viewtopic.php?id=21899
From that thread I learnt of the way to run rc.local at startup:
sudo echo "rc.local" > /etc/fastservices
and now my commans in /etc/rc.local are run at startup, so tkusb module is loaded by default.
I actually left out the rmmod line from my rc.local so it now looks like this:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. ####TouchKit kernel module session begin#### insmod /lib/modules/2.6.21.4-eeepc/tkusb.ko #### TouchKit kernel module session end #### exit 0
For some reason the touchscreen doesn't respond straight after booting up. But when I restart X (Ctrl+Alt+Backspace) it works - I ran the TouchKit calibration and I can draw pictures and move scrollbars.
Something is not quite done in the right order. I suspect that I need to run the insmod command before X starts and reads the xorg.conf settings.
Last edited by solenostomus (2008-04-23 4:41:20 pm)
Offline
solenostomus wrote:
I just found out that /etc/rc.local doesn't get run on EEE PC Xandros:
http://forum.eeeuser.com/viewtopic.php?id=21899
From that thread I learnt of the way to run rc.local at startup:Code:
sudo echo "rc.local" > /etc/fastservicesand now my commans in /etc/rc.local are run at startup, so tkusb module is loaded by default.
I actually left out the rmmod line from my rc.local so it now looks like this:Code:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. ####TouchKit kernel module session begin#### insmod /lib/modules/2.6.21.4-eeepc/tkusb.ko #### TouchKit kernel module session end #### exit 0For some reason the touchscreen doesn't respond straight after booting up. But when I restart X (Ctrl+Alt+Backspace) it works - I ran the TouchKit calibration and I can draw pictures and move scrollbars.
Something is not quite done in the right order. I suspect that I need to run the insmod command before X starts and reads the xorg.conf settings.
Hi solenostomus, great job
could you do me a favor & post the download on a rapidshare the link below is missing.
1) downloaded the Galaxy drivers (32bit Kernel 2.6) from http://210.64.17.162/web20/TouckDriver/linuxDriver.htm
i would like to try it, got 1 possible ussue, how do you (edit Add)
ind the Section “ServerLayout”. See the 3 InputDevice lines? Add a line that says
InputDevice “EETI” “SendCoreEvents”
if you or someone could do a complete step by step for a complete Newbe to Xandos,
many thanks & well done on getting touch screen 2 work in xandos.
Offline
Hello, I followed this thread pretty closely, And I wanted to say
THANK YOU!!!You helped me out in a big way with this thread, it should be a sticky for the kiddshop touchscreen!
Offline
alienseer23 wrote:
Hello, I followed this thread pretty closely, And I wanted to say
THANK YOU!!!You helped me out in a big way with this thread, it should be a sticky for the kiddshop touchscreen!
Although I am very close to the solution, it's still not working consistently after every reboot. I was thinking of turning it into a Wiki page when I am certain of the complete solution. My initial post is close to what the wiki might look like.
Offline
solenostomus, try to add a line "tkusb" in the file /etc/modules. It works in my case. The rc.local won't help. I've removed everything I add after my tk works.
Last edited by senderj (2008-04-24 3:21:10 am)
Offline
I think I added mine to /etc/modules, but I'll check later. Sorry for not mentioning it in my instructions!
Offline
Thanks for your help guys. This is what I did to revert some of my experiments above:
- removed /etc/fastservices
- reverted /etc/rc.local to its original state (where it does nothing and doesn't even get called)
- added the line tkusb to /etc/modules
- switched webcam USB port back on (somehow got switched off): sudo echo 1 > /proc/acpi/asus/camera
- the /dev/tkpanel0 had disappereared and changed into /dev/tkpanel0_in & /dev/tkpanel0_out, so I did the sudo mknod /dev/tkpanel0 c 180 180 command again and removed the in/out files from /dev/
- moved tkusb.ko to /lib/modules/2.6.21.4-eeepc/kernel/drivers/usb/input/ (the same directory where the usbtouchscreen.ko was renamed initially to avoid conflicts, NOTE: the module didn't get loaded automatically by /etc/modules at my original location /lib/modules/2.6.21.4-eeepc/tkusb.ko)
- xorg.conf still has the code for the touchscreen at /dev/tkpanel0 in it (see my original post)
- reboot
Et Voila - the touchscreen works! YEAH! ![]()
- reboot again
- STILL WORKS!![]()
I can't believe it! I now have a working touchscreen in my beloved Xandros Easy mode! I have to thanks everybody on this thread (esp. gfoot) and all the others, who've been so helpful! Who'd have thought that this could be so fiddly.
I think I now have everything together for a wiki page and I'll make that as soon as I have time this weekend.
PS.: Just to be sure, I switched my EEE PC off, waited a little, started it up just to check that the touchscreen still works - and it does ![]()
Last edited by solenostomus (2008-04-24 5:51:01 pm)
Offline
Nice, you rock.
Offline
After a ton of fiddling I had similar results when operating with the original (non tkusb) module as well. Same instructions as above far as I can tell (I worked on this for a *long* time so I can't remember a lot of the stuff I went through, I was trying everything..), just don't rename usbtouchscreen.ko.. The only problem was calibration - the calibration software wouldn't boot up without ksusb kicking around. After cycling through a bit I actually managed to boot up one of the calibration applications under touchkit.k26/diag/ and calibrate - had weird restart issues where it kept resetting throughout, no idea what I changed but it settled down..
Last edited by ryuujin (2008-04-25 12:37:03 am)
Offline
I couldn't get any information from fidodido about what is different about his modified controllers, because he got another company to do the modification, but perhaps it is related specifically to calibration. That would explain why calibrating with tkusb would be enough to let the regular module work from that point onwards. I'm not sure though.
Offline
I customised my Easy Mode Settings tab to include an icon for the TouchKit calibration tool.
Click this preview to get the ZIP archive of all the icons:
Here's a view of my Settings tab with the icon :
PS.: The original icon art came from this image
http://www.sxtouch.com/images/touchkit.jpg
Offline
Great! So, what would the procedure be to get it working with an out-of-the-box Eee? A step-by-step without the initial failed experiments would be nice.
I have my kiddshop kit just waiting for the Eee to arrive...
Offline
solenostomus, can you tell my the step-by-step how to add the icon?
Offline
@Jokoto
I wrote up the wiki page at
http://wiki.eeeuser.com/howto:kiddshopt … derxandros
@sparky77
The orignal download location for the drivers seems to be offline. I found a possible new location at
http://www.cartft.com/support/drivers/T … k26.tar.gz
@senderj
These icons were created using my script MakeEmIcons.sh which is explained here http://wiki.eeeuser.com/howto:customizeeasymodeicons
For how to customize the easy mode, check out http://wiki.eeeuser.com/howto:customizeeasymode
I used emeditor to create the new entry.
Offline