Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
This is all being down on a 64bit REHL 5.4 system.
We have a touch screen that gets misaligned when power or the usb cable is removed and then re-added. Using udevmonitor I tried to to create a rule to ignore the remove:
KERNEL=="usbdev*", SYSFS{manufacturer}=="Elo TouchSystems, Inc.", OPTIONS+="ignore_remove"
KERNEL=="mouse*", SYSFS{manufacturer}=="Elo TouchSystems, Inc.", OPTIONS+="ignore_remove"
KERNEL=="event*", SYSFS{manufacturer}=="Elo TouchSystems, Inc.", OPTIONS+="ignore_remove"
KERNEL=="js*", SYSFS{manufacturer}=="Elo TouchSystems, Inc.", OPTIONS+="ignore_remove"
DRIVER=="usb", SYSFS{manufacturer}=="Elo TouchSystems, Inc.", OPTIONS+="ignore_remove"
The device still gets removed.
I have tried this from another angle however rmmod will not remove the module even with the force flag. Evidently X has a tight grip on it:
lsof |grep elo
X 3007 root 20r CHR 253,0 145633 /dev/input/elo
Any ideas on how to better ignore removal?
If I ever successfully ignore removal will I still be able to talk to the device once power or the cable is re-introduced?
Is there a way to loosen X's grip on the elousb module?
lsusb
Bus 001 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 005 Device 001: ID 0000:0000
Bus 007 Device 001: ID 0000:0000
Bus 008 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 002 Device 004: ID 0424:2504 Standard Microsystems Corp. USB 2.0 Hub
Bus 003 Device 015: ID 04e7:0020 Elo TouchSystems Touchscreen Interface (2700)
Bus 003 Device 001: ID 0000:0000
Bus 006 Device 001: ID 0000:0000
Bus 006 Device 002: ID 046d:c045 Logitech, Inc. Optical Mouse
Bus 006 Device 003: ID 03f9:0100 KeyTronic Corp. Keyboard
udevmonitor
udevmonitor prints the received event from the kernel [UEVENT]
and the event which udev sends out after rule processing [UDEV]
Do I take it that you can power it up initially and get it aligned correctly?
To quote the Kerryman when asked for directions "If I was you I wouldn't start from here at all!" When it goes, you will hardly manage to ignore that. So you have to live with it. If it does, let it power down and flush/kill processes writing to it. Then reconnect.
Do I take it that you can power it up initially and get it aligned correctly?
Yes, it comes up initially fine and I can get it to come back but I have to restart the X session. What happens is X won't let go of the elousb driver. Even when I do a "rmmod --force elousb". When X is shutdown I am able to rmmod the elousb driver and then execute the elo startup script and X and it works great again.
Also it takes no effort to align. The drivers I got from Tyco seem to align with out any effort.
udev ignoring ignore ->Solved, but not as i would have ideally preferred.
I solved the problem by recompiling the RedHat kernel with the USBHID driver as a module. Thus I was able to load the proprietary elousb driver/module first. It now picks up the touchscreen instead of USBHID.
I tried using the evtouch driver and HAL. But there must be something I am missing. I could see the touchscreen being reintroduced and HAL doing what it was suppose to, however I am guessing XINPUT was not picking it up for some reason, because when the touchscreen was reintroduced the screen remained as though the usb cable was removed.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.