Error Message is: selected device is not a touchscreen I underst

u2bpavankumar
Hello,

I am developing on Mini2440 board and I have compiled qt for embedded linux
(qt-everywhere-opensource-src-4.6.2) and tslib successfully and set the
environment on Mini2440 with following.

export TSLIB_TSEVENTTYPE=INPUT

export TSLIB_CONSOLEDEVICE=none

export TSLIB_FBDEVICE=/dev/fb0

export TSLIB_TSDEVICE=/usr/input/ts

export TSLIB_CALIBFILE=/usr/etc/pointercal

export TSLIB_CONFFILE=/usr/etc/ts.conf

export TSLIB_PLUGINDIR=/usr/lib/ts

export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib

export QTDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm

export QWS_MOUSE_PROTO=tslib:/usr/input/ts

When I gave ./myapp -qws it comes on the display. But if I touch the screen
my application immediately closes. When I have tried to run ts_calibrate,
ts_test it gives me an error as

"Error Message is: selected device is not a touchscreen I understand"


In some forum I have seen that I need to change QWS_MOUSE_PROTO &
TSLIB_TSDEVICE. So I have tried with the following

export TSLIB_TSDEVICE=/dev/input/event0
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
export TSLIB_PLUGINDIR=/usr/local/tslib/lib

But still same error.

Please let me know what went wrong.

Thanks in advance

Juergen Beisert
Is there a second event device in your /dev/input/ directory? If yes, try
this instead. I guess the /dev/input/event0 is the keypap driver.
If there is no second event device in your /dev/input/ directory, your
touchscreen driver is not registerd or available in your kernel.

u2bpavankumar
Thanks for your reply

Is there a second event device in your /dev/input/ directory?

Yes. I had "mice" apart from event0 in the above mentioned folder. I have
tried this as well. When I have tried to use this event, the screen of
Mini2440 has completely frozen. It is completely hangup with out responding
for the touches. 

Below is the way how I compiled embedded library qt4.6.2

./configure -release -embedded arm -xplatform qws/linux-arm-g++ -prefix
/usr/local/mytest -qt-mouse-tslib -little-endian -no-webkit -no-qt3support
-no-cups -no-largefile -nomake examples -optimized-qmake -no-openssl
-nomake tools

Please help me out to come out of this problem

davef
There have been some recent postings on actually checking /dev/input to
determine which input the touchscreen is really using.

Does:

cat /dev/input/event0 

give you anything on the terminal when you touch the screen?

u2bpavankumar
Hi davef,

Thanks for your reply. When I gave the following command

cat /dev/input/event0

and touch the screen some random numbers are generated on the terminal.

When I tried to run my example program (hello world) by giving

./hello -qws

the output form is displayed on the screen. When I have tried to touch the
screen,it is becoming blank and on the terminal the message "Illegal
Instruction" is displayed in the terminal and application is exited.

I have tried to run the example program at

usr/local/Trolltech/QtEmbedded-4.6.3-arm/demos/embedded/fluidlauncher 

by giving

./fluidlauncher -qws

but still the same problem here.

Please suggest me some alternative

davef
Sounds like event0 is working properly.

Even after following this tutorial 
http://mini2440vietnam.blogspot.com/2011/04/upgrade-qt462-in-mini2440.html
and making some modifications fluidlauncher would not run for me.

Also, I did not use his environment variable list.  I used:

export TSLIB_TSEVENTTYPE=INPUT 
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0 
export TSLIB_CALIBFILE=/usr/local/tslib/etc/pointercal         
export TSLIB_CONFFILE=/usr/local/tslib/etc/ts.conf  
export TSLIB_PLUGINDIR=/usr/local/tslib/lib/
export TSLIB_TSDEVICE=/dev/input/touchscreen0 (event0 for you) 
export QWS_MOUSE_PROTO=tslib:/dev/input/touchscreen0 (event0 for you)

My tslib stuff is in /usr/local and I copied all the files is the folder ts
into tslib/lib as it seems different QT applications may go looking for
these files in different folders.  This comment may be due to my lack of
understanding.  
             
Try /demos/browser and see if that works.

Dave

u2bpavankumar
I have tried to run demos and the moment I gave

./appname -qws

Then the following message is printed on the terminal

Couldnt load module pthres                                                 
    

No raw modules loaded.                                                     
    
QWSTslibMouseHandlerPrivate: ts_config() failed with error: 'No such file
or di'
Please check your tslib installation!

On touching the screen desktop icons are becoming visible

What went wrong here?

Juergen Beisert
u2bpavankumar,

is the 'ts_calibrate' tool working with your touch settings in the
environment? If not, something is wrong with these settings.

u2bpavankumar
Inside tslib/bin, I have ts_calibrate, ts_print, ts_test etc.,

By giving 

./ts_calibrate

I could do the calibration. But ts_print, ts_test does n't work

davef
ts_test should work.  Haven't tried ts_print.

Did you uncomment the first line of code (the second line) in
/usr/local/tslib/etc/ts.conf  ?

donglipeng
i have the same problem

my experiment is based on fl2440. i have compiled the tslib1.4.tar.gz

i transplant the linux2.6.12.
there is ts0 device in /dev.

davef
Maybe have a look at the way this guy has done tslib . . .

http://cchia-cwp.blogspot.com/2010/03/build-root-file-system.html

u2bpavankumar
Did you uncomment the first line of code (the second line) in
/usr/local/tslib/etc/ts.conf  ?

Yes I did. The line "module_raw input" has been uncommented

u2bpavankumar
Please help me out and let me know where things went wrong!!!

davef
Maybe it is a problem with your Qt installation.  Which tutorial did you
follow in installing QT/embedded?  

I have written up some follow-up notes after my attempt at getting Qt to
run properly, according to the link above.  I can include that AFTER you
tell me how you did it.

Dave

u2bpavankumar
Here are the steps how I have done Qt installation.
I am using qt-everywhere-opensource-src-4.6.2.tar.gz downloaded from qt
website.

1. I have set the path to my tool chain location after installing it as
export PATH=/opt/usr/local/arm/4.3.2/bin:$PATH

2. CC=/opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc CFLAGS="-O0
-msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4t -mtune=arm920t"

3. CXX="opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++ -O0
-msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4t -mtune=arm920t"

4. tar qt-everywhere-opensource-src-4.6.2.tar.gz

5. cd qt-everywhere-opensource-src-4.6.2

6. I have updated the mkspecs/qws/linux-arm-g++/qmake.conf as below

#
# qmake configuration for building with arm-linux-g++
#
include(../../common/g++.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)

# modifications to g++.conf
QMAKE_CC                =
/opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc -msoft-float-
D__GCC_FLOAT_NOT_NEEDED -march=armv4t -mtune=arm920t -O0
QMAKE_CXX               =
/opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++ -msoft-float-
D__GCC_FLOAT_NOT_NEEDED -march=armv4t -mtune=arm920t -O0
QMAKE_LINK              =
/opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++ -msoft-float-
D__GCC_FLOAT_NOT_NEEDED -march=armv4t -mtune=arm920t -O0
QMAKE_LINK_SHLIB        =
/opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++ -msoft-float-
D__GCC_FLOAT_NOT_NEEDED -march=armv4t -mtune=arm920t -O0

# modifications to linux.conf
QMAKE_AR                =
/opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY           =
/opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-objcopy
QMAKE_STRIP             =
/opt/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-strip

QMAKE_INCDIR   +=/root/Desktop/today24-5/mytslib/include
QMAKE_LIBDIR   +=/root/Desktop/today24-5/mytslib/lib



load(qt_config)

(Here QMAKE_INCDIR and QMAKE_LIBDIR are pointing to the location where
tslib is installed in my host)

7. mkspecs/common/g++.conf
QMAKE_CFLAGS_RELEASE  += -O0


8. ./configure -release -embedded arm -xplatform qws/linux-arm-g++ -prefix
/root/Desktop/today24-5/myqtfolder -qt-mouse-tslib -little-endian
-no-webkit -no-qt3support -no-cups -no-largefile -nomake examples
-optimized-qmake -no-openssl -nomake tools

9. make

10. make install

--------------------------------------

This is how I have installed tslib

1 echo "ac_cv_func_malloc_0_nonnull=yes" > arm-linux.autogen

2 export CONFIG_SITE=arm-linux.autogen

3 ./autogen.sh

4 ./configure --build=i386-linux --host=arm-linux --target=arm
--disable-inputapi --prefix=/root/Desktop/today24-5/mytslib

5 make

6 make install


Please let me know if there is anything wrong with these steps

Dave Festing
Attachment: Qt installation.zip (39 KB)
Generally looks pretty good to me.

I am using 4.7.2 and only manged to get it to compile properly ONCE.  Since
then I continue to get a libbootstrap.a error quite early in the process.

However, attached is my updated version of mini2440vietnam's tutorial.
Rename it to <Qt installation.doc

Good luck

u2bpavankumar
Finally I could run my application on the kit from the terminal
successfully by giving

./myapp -qws

on the terminal.

I have followed the same procedure as mentioned above but, this time I have
used qt-everywhere-opensource-src-4.6.3.tar.gz and things worked for me.

Thanku all for your valuable suggestions especially for davef for his quick
response all the time.

Now I have successfully run my app from terminal, I am trying to create
desktop icon and run by single touch. For that I have created the .desktop
file for my app as below

[Translation]
File=QtopiaSettings
Context=Calc
Comment[Desktop Entry/Name]=Use soft hyphen (char U00AD) to indicate
hyphenation
[Desktop Entry]
Exec=Calc
Icon=Calc
Type=Application
Name[]=Calc
CanFastload=0

I have created a folder named Calc (my application name) inside 
opt/Qtopia/apps. Then I have placed the 

my application icon inside /opt/Qtopia/pics/

and my exec file inside /opt/Qtopia/bin/

After that I have restarted the kit. Then I can see the Calc icon (my
application) on the touch screen. But if I click it I could n't run the
app. If I hold the icon I could see the properties of the app.

For other apps on the screen which are available by default, just by single
touch app is running and by holding it for a moment app properties are
displayed.

I have followed http://farm2440.blogspot.com/ for loading the app.

Please let me know what could be the problem.

Thanks in advance

davef
Well lucky you!  I have tried 2 or 3 versions as there have been comments
about variable results in the past.

I have possibly got this wrong, but I thought Qt has to be in it's own
directories and I think if you search through previous Qtopia and QT stuff
you'll find references to the problems some people have had with both on
the platform at the same time.

Dave