You are not logged in.
nice wiki now going to try a install
a big thankyou
i've been having problems with tkusb or the lack of it. i'm sure i have followed the wiki correct, extracted the touchkit & tkusb.ko to /home/user/
press Ctrl+Alt+T
sudo su
cd /home/user/TouchKit/
cp egalax_drv.so /usr/lib/xorg/modules/input
mknod /dev/tkpanel0 c 180 180
Close terminal window
press Ctrl+Alt+T
sudo su
cd /home/user/
cp tkusb.ko /lib/modules/2.6.21.4-eeepc/kernel/drivers/usb/input
cd /lib/modules/2.6.21.4-eeepc/kernel/drivers/usb/input
mv usbtouchscreen.ko usbtouchscreen.ko_OFF
cp -p /etc/modules /etc/modules_ORIG
kwrite /etc/modules
In kwrite add new line
Add a new line with the single word tkusb at the end of the text and save the file
reboot the machine
Look for a line that starts with usbcore and check that is contains the word tkusb.
If the module is loaded, all is ready to continue.
press Ctrl+Alt+T
lsmod
usbcore 91928 6 usb-storage,libusal,ehci_hcd,uhci_hcd,usbhid
i have no tkusb anyone help were have i gone wronge
if i reopen kwrite /etc/modules the tkusb is there on the bottom line
Last edited by sparky77 (2008-04-27 2:05:10 pm)
Offline
need help with above post
Offline
sparky77 wrote:
...
lsmod
usbcore 91928 6 usb-storage,libusal,ehci_hcd,uhci_hcd,usbhid
i have no tkusb anyone help were have i gone wronge
if i reopen kwrite /etc/modules the tkusb is there on the bottom line
hmmm, tkusb needs to be listed as one of the modules in lsmod, otherwise there's no need to continue
did you add a newline character (ENTER) at the end of the last line. maybe that's needed..
Offline
not sure, did you mean the return button , i will give it a go
# /etc/modules: kernel modules to load at boot time.
#
# This file should contain the names of kernel modules that are
# to be loaded at boot time, one per line. Comments begin with
# a "#", and everything on the line after them are ignored.
snd-hda-intel
sr_mod
autofs4
ac
battery
processor
#fan
button
asus_acpi
fuse
tkusb
Last edited by sparky77 (2008-04-27 3:46:36 pm)
Offline
I meant - so that the file ends in a blank line - but that's only a guess
Offline
did'nt make any difference
Offline
sorry but I have no idea what might be affecting the loading of the module on your machine.
I only followed suggestions by others to use the /etc/modules method.
double check the correct paths of all the files - and check the permissions as well. I don't know if it makes a difference, but I guess they should be owned by user root and group root.
then reboot again and check lsmod.
if that doesn't work, we'll need the help of more experienced linux people. the internals are still very new to me
Offline
thank you for your help i will try tomorrow has the battery now as only 10% left
Offline
sparky77,
You haven't mentioned changing the xorg.conf file. Just in case you really missed this step.
Offline
@senderj: You could be right, although I thought that installing the tkusb.ko module was independant of the xorg config. As I said above - I am not really sure the order of steps as suggested in the wiki is 100% correct. I went though so many cycles of experimentation on my machine that I can't say exactly what has to be done in what order. So part of the wiki was guesswork.
Maybe gfoot, who understands these issues could help out.
Offline
sparky, try inserting the module by hand, using "sudo modprobe tkusb". If nothing is reported on the console but it's still not listed by "lsmod | grep tkusb" then look for any errors in "dmesg", and use "ls -otr /var/log" to get a listing of most logfiles in order of modification - see if anything changed in the last couple of minutes, which might contain error details.
If it inserts fine, or if you're not sure why it didn't work, try running "grep tkusb /lib/modules/2.6.21.4-eeepc/modules.dep" and check there's an entry for it in there - if not, run "sudo depmod" to regenerate modules.dep.
Offline
gfoot wrote:
sparky, try inserting the module by hand, using "sudo modprobe tkusb". If nothing is reported on the console but it's still not listed by "lsmod | grep tkusb" then look for any errors in "dmesg", and use "ls -otr /var/log" to get a listing of most logfiles in order of modification - see if anything changed in the last couple of minutes, which might contain error details.
If it inserts fine, or if you're not sure why it didn't work, try running "grep tkusb /lib/modules/2.6.21.4-eeepc/modules.dep" and check there's an entry for it in there - if not, run "sudo depmod" to regenerate modules.dep.
thank you by following your reply the touchscreen is finally working not sure what command done it because i used all of them.
Offline
Probably the "sudo depmod" at the end, assuming the "grep" didn't find anything.
Offline
Hey folks, got some bugs...
bug 1:
whenever the device enters suspend, the "webcam" port turns off, and I have to "echo 1 > /proc/acpi/asus/camera" to get it back on, and then ctrl+alt+backspse to restart x and get the drivers loaded.
I do not want that usb port getting power on suspend (this port is set to power down on suspend by default, which is the reason why this happens, and which is the reason why this port is a good choice...right?)
Is there a way to
a) have the "webcam" usb port power back on after suspend???
or
b) load the driver without restarting x? (assuming that loading the driver is why I need to restart X after re-enabling the "webcam" port after suspend).
or is it a lost cause to have suspend and a touchscreen working together in perfect harmony?
bug 2:
there are four instances in /dev/ that keep coming back. There are the two you mentioned previously, the mysterious "tkpane0_in & out" plus two more!
touchkit_in
and
touchkit_out
When I rebooted, there was no response from my touchscreen, I looked over everything I had done, to make sure it was in sync with your wiki, and I found them, and deleted them from /dev/ and restarted x, and I'm good. they do come back, they are there right now. How do I get rid of them?
Is there a way to, perhaps have them removed on power-down or suspend?
bug 3:
I put the tkusb.so file in "/etc/modules" originally, and it loaded fine. I moved it, according to your wiki, to "/etc/modules/2.6.21.4-eeepc/kernel/drivers/usb/input" and it stopped loading. I moved it back to "/etc/modules" and it appeared once again in "> lsmod".
This is less of a bug, and more of an irregularity. Why would it not load when in "/ect/modules/2,6.21.4-eeepc/kernel/drivers/usb/input" ? Not a big problem at all since there is an easy work-around, but knowing why is always a good thing.
Any help is greatly appreciated.
Last edited by alienseer23 (2008-04-29 1:04:17 pm)
Offline
gfoot wrote:
Probably the "sudo depmod" at the end, assuming the "grep" didn't find anything.
I've updated the wiki to include the depmod command.
Offline
The device has been tested to work on a Windows machine, tkusb is listed after usbcore, xorg.conf has been edited properly and tkpanel0 is correctly in /dev - but still it doesn't work. "dmesg | grep TouchKit" returns that usbcore has registered a new interface driver TouchKit. I've done the depmod command. I'm not seeing what I'm missing here. Any ideas?
The touchscreen is still external, connected to a usb port so I can keep fiddling with it, but I don't think it's an electrical fault - at least not yet. I'll redo the soldering job when I do install it.
Last edited by Jokoto (2008-05-03 9:36:54 pm)
Offline
Have you disabled the usbtouchscreen module? If you're using tkusb then you should disable the built-in module, otherwise they'll conflict - renaming it seems to be the safest way. In particular, though, make sure it's not listed when you run "lsmod".
Does restarting X using Ctrl-Alt-Backspace make it start working?
Do /dev/tkpanel0_in and /dev/tkpanel0_out exist? I think they're created by the X driver - if they don't exist it might imply the X driver is not loading.
You can check /var/log/Xorg.0.log for errors relating to the egalax module, but it doesn't say much on my system, so don't expect any real confirmations there that it found the touchscreen.
It's also worth looking at the output of:
cat /dev/tkpanel0 | xxd
to see if it's sending data - this is a bit dodgy, but you should at least see some data when you touch the panel.
It's also worth looking at /proc/bus/usb/devices to see if you can find your touchscreen there and check what driver it's using.
Offline
Yes, the original usbtouchscreen.ko has been disabled by renaming it and it is not listed anywhere in lsmod. in /dev/ there's only tkpanel0.
> cat /var/log/Xorg.0.log | grep egalax (II) LoadModule: "egalax" (II) Loading /usr/lib/xorg/modules/input//egalax_drv.so (II) Module egalax: vendor="X.Org Foundation" (**) egalax: always reports core events (**) egalax X device name: egalax (**) egalaxHistroSize=10 (**) egalax associated screen: 0 (**) egalax associated screen: 0 (**) egalaxParameter=/var/lib/egalax.cal (II) XINPUT: Adding extended input device "egalax" (type: egalax)
Grepping /proc/bus/usb/devices for egalax, touch or tkusb returns nothing.
I can't use xxd with tkpanel0 because it returns "No such device" - sounds like how it was with solenostomus at first, but I do have tkusb listed in lsmod.
Edit: Oh boy, now I feel stupid - I just checked the wires again; the controller and screen are still just lying on the table and apparently one of the data lines seems to have been torn off at some point! I had not stressed it with moving it around much, but it probably was a horrible cold solder joint to begin with. My bottle of flux only arrived a couple days ago and I had had to do it without it the first time as I was anxious to test if the kit itself was functioning (on my Windows machine). I'll get back to you when I've had the time to reattach the wire.
Edit 2: typo
Last edited by Jokoto (2008-05-04 11:18:55 am)
Offline
I am happy to report it works. Thank you gfoot and solenostomus!
All that remains is the modification itself... Now that I have flux it should be just a matter of practice and being careful.
Offline
@alienseer23 - I am at a loss as to what's going wrong on your machine.
I would do the following - go through every directory where you changed anything or where any new file appeared and revert it back to the original state. worst case would be the F9 reset.
Make sure the EEE works just as before and is "clean" before you try again.
Now follow the instructions again step by step, and make sure each component is working on its own.
The things that click into place are:
(1) the installed driver file (egalax_drv.so)
(2) the device tkpanel0 in /dev
(3) rename usbtouchscreen.ko
(4) install tkusb.ko (put the file in the right place where it gets picked up by /etc/modules)
(5) the modified xorg.conf with the extra InputDevice section
Check that all of these work ok:
(1) lsusb sees the touchscreen
(2) lsmod lists the tkusb module
(3) webcam port is turned on
Now you should be getting data from the device (use the xxd or cat command).
In between the steps it is a good idea to reboot the machine each time and verify that the change you made did indeed stick.
I don't actually know the ins and outs of Linux myself. I just followed the instructions and hints given by others.
So it's a good idea to check the other threads which are linked from this thread and from the wiki page again and glean more details from that.
as to your specific questions - I don't know how to control the webcam USB port when supend mode is used. I would say, try not to use suspend mode during the installation and the functional tests.
as you know I also got the tkpanel0_in & out files in /dev after some fiddling. I don't know where they come from. gfoot offered some advice on that a couple of posts up. It seems to be something with the X11 system. So I take a guess and say that you made a mistake in your xorg.conf file - make sure the line in the extra InputDevice section reads
Option "Device" "/dev/tkpanel0"
as far as I know the modified tkusb.ko module will only work with that filename - other people using the fido touchscreen and different kernel modules have suggested other /dev - filenames, but I think you need to stick to that using gfoots tkusb module.
I think you were already very close, now its a matter of carefuuly examining every step in detail and make sure they all fall into place.
I hope you get it working.
Offline
alienseer23 wrote:
bug 1:
whenever the device enters suspend, the "webcam" port turns off, and I have to "echo 1 > /proc/acpi/asus/camera" to get it back on, and then ctrl+alt+backspse to restart x and get the drivers loaded.
I do not want that usb port getting power on suspend (this port is set to power down on suspend by default, which is the reason why this happens, and which is the reason why this port is a good choice...right?)
Is there a way to
a) have the "webcam" usb port power back on after suspend???
I'm tempted to turn off suspend, personally... with my Truecrypt setup, the machine just locks up when it tries to resume anyway!
b) load the driver without restarting x? (assuming that loading the driver is why I need to restart X after re-enabling the "webcam" port after suspend).
or is it a lost cause to have suspend and a touchscreen working together in perfect harmony?
I've wondered the same thing. The source code doesn't seem to be available, so I have no real idea what the X driver is doing, or why it fails to see the touchscreen unless the touchscreen driver is properly loaded at the point that X itself starts up. I don't know whether it's possible to dynamically add or remove X modules, but if it is, that would be worth trying too.
bug 2:
there are four instances in /dev/ that keep coming back. There are the two you mentioned previously, the mysterious "tkpane0_in & out" plus two more!
touchkit_in
and
touchkit_out
These are completely normal - they all exist for me, and don't cause me any problems. I think the X driver creates them. It does the same thing even when you're not using tkusb (but then they're in /dev/input/event...)
When I rebooted, there was no response from my touchscreen, I looked over everything I had done, to make sure it was in sync with your wiki, and I found them, and deleted them from /dev/ and restarted x, and I'm good. they do come back, they are there right now. How do I get rid of them?
The reason your touchscreen didn't work on a fresh boot was because the kernel module was not loaded at the point that X started up. It probably loaded later on, but the X driver only works if the kernel module is already loaded. So the touchscreen didn't work in X until you restarted X.
Other people have fixed this by putting the line "tkusb" in /etc/modules, which forces the module to load early in the boot process.
bug 3:
I put the tkusb.so file in "/etc/modules" originally, and it loaded fine. I moved it, according to your wiki, to "/etc/modules/2.6.21.4-eeepc/kernel/drivers/usb/input" and it stopped loading. I moved it back to "/etc/modules" and it appeared once again in "> lsmod".
I think you're confused between where to put the .ko file, and where to list its name to force it to load. The .ko file can go anywhere in /var/lib/modules/2.6.21.4-eeepc, provided you run "sudo depmod" after moving it. Note that this is in /var, not /etc. /etc/modules is just a text file listing modules that should be loaded early in the boot process, and this file should contain a line saying just "tkusb".
I may have misunderstood you here - perhaps /etc was a typo in your post - so please clarify the problem if it's not what I've assumed.
Offline
Thanks for the responses!
I did have a typo, gfoot, "/etc/modules/..." was supposed to be "/lib/modules/..." duh. Sorry about that.
Sol pointed out that using "/dev/tkpanel0" was required in the xorg file, I had been using "usbauto" as par an earlier suggestion, that switch did the trick!
Suspend still messes things up with the "webcam" port, but that's a whole other issue. If I find a solution to the suspend problem, I will be certain to post it here.
Thanks for the awesome work and the help!
Offline
alienseer23 wrote:
Hey folks, got some bugs...
bug 1:
whenever the device enters suspend, the "webcam" port turns off, and I have to "echo 1 > /proc/acpi/asus/camera" to get it back on, and then ctrl+alt+backspse to restart x and get the drivers loaded.
I do not want that usb port getting power on suspend (this port is set to power down on suspend by default, which is the reason why this happens, and which is the reason why this port is a good choice...right?)
Is there a way to
a) have the "webcam" usb port power back on after suspend???
or
b) load the driver without restarting x? (assuming that loading the driver is why I need to restart X after re-enabling the "webcam" port after suspend).
or is it a lost cause to have suspend and a touchscreen working together in perfect harmony?
ok, I found the line that switches off the camera usb at /etc/acpi/suspend2ram.sh
commenting the line leaves the power on ... not so good for battery ya? ... but on resuming, touchscreen is not back.
doing a "sudo cat/dev/tkpanel0" return streams of characters when I touch the touchscreen => driver loaded but ... not linked to mouse/cursor. Maybe it is to do with the xorg.conf file?
Ideas anyone?
alienseer23 wrote:
bug 2:
there are four instances in /dev/ that keep coming back. There are the two you mentioned previously, the mysterious "tkpane0_in & out" plus two more!
touchkit_in
and
touchkit_out
When I rebooted, there was no response from my touchscreen, I looked over everything I had done, to make sure it was in sync with your wiki, and I found them, and deleted them from /dev/ and restarted x, and I'm good. they do come back, they are there right now. How do I get rid of them?
Is there a way to, perhaps have them removed on power-down or suspend?
bug 3:
I put the tkusb.so file in "/etc/modules" originally, and it loaded fine. I moved it, according to your wiki, to "/etc/modules/2.6.21.4-eeepc/kernel/drivers/usb/input" and it stopped loading. I moved it back to "/etc/modules" and it appeared once again in "> lsmod".
This is less of a bug, and more of an irregularity. Why would it not load when in "/ect/modules/2,6.21.4-eeepc/kernel/drivers/usb/input" ? Not a big problem at all since there is an easy work-around, but knowing why is always a good thing.
Any help is greatly appreciated.
Offline
akita16384 wrote:
ok, I found the line that switches off the camera usb at /etc/acpi/suspend2ram.sh
commenting the line leaves the power on ... not so good for battery ya? ... but on resuming, touchscreen is not back.
doing a "sudo cat/dev/tkpanel0" return streams of characters when I touch the touchscreen => driver loaded but ... not linked to mouse/cursor. Maybe it is to do with the xorg.conf file?
Ideas anyone?
Got it! Later in the /etc/acpi/suspend2ram.sh script, the first thing it does after wakeup (The echo -n "mem" > sys/power/state is the "sleep" portion of the script) is to check to see if Skype is running, and to re-enable the webcam if that happens
#enable webcam if Skype is running before standby
if ["$(/binm.pidof skype)" != ""]; then
echo 1 >/proc/acpi/asus/camera
fi
Simply comment out the "if" and "fi" line in the script and the webcam will always be re-enabled upon wakeup, before X re-initializes (though there could be a race condition there, I suppose).
Anyway, that's what ended up working for me. A billion thanks to Akita16384 for pointing me in the right direction!
This should probably also be added to the Wiki page for the Kiddshop driver install.
Offline
No worries Abrannan. ![]()
Ironically, after getting my touchscreen working consistently, I found the ts faulty. I had a faulty left edge that caused it to jump around when clicking or dragging across a half inche region on the left edge. ![]()
I recently stripped out the ts!
... but at least I learnt a bundle about the eeepc and linux! ![]()
Now I have mobile broadband running on my 701 booting fr my SDHC on Ubuntu 8.10! ![]()
Offline